From 7a069c607128b5634c5dfd290ed6b581a6a4a89c Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 12 Nov 2021 15:54:40 +0530 Subject: [PATCH 01/28] FROMGIT: usb: gadget: f_fs: Use stream_open() for endpoint files Function fs endpoint file operations are synchronized via an interruptible mutex wait. However we see threads that do ep file operations concurrently are getting blocked for the mutex lock in __fdget_pos(). This is an uninterruptible wait and we see hung task warnings and kernel panic if hung_task_panic systcl is enabled if host does not send/receive the data for long time. The reason for threads getting blocked in __fdget_pos() is due to the file position protection introduced by the commit 9c225f2655e3 ("vfs: atomic f_pos accesses as per POSIX"). Since function fs endpoint files does not have the notion of the file position, switch to the stream mode. This will bypass the file position mutex and threads will be blocked in interruptible state for the function fs mutex. It should not affects user space as we are only changing the task state changes the task state from UNINTERRUPTIBLE to INTERRUPTIBLE while waiting for the USB transfers to be finished. However there is a slight change to the O_NONBLOCK behavior. Earlier threads that are using O_NONBLOCK are also getting blocked inside fdget_pos(). Now they reach to function fs and error code is returned. The non blocking behavior is actually honoured now. Reviewed-by: John Keeping Signed-off-by: Pavankumar Kondeti Link: https://lore.kernel.org/r/1636712682-1226-1-git-send-email-quic_pkondeti@quicinc.com Signed-off-by: Greg Kroah-Hartman (cherry picked from commit c76ef96fc00eb398c8fc836b0eb2f82bcc619dc7 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next) Bug: 206906138 Change-Id: Ifb99336a4da7587c7e71a6c45999a36948194d7a Signed-off-by: Pavankumar Kondeti --- drivers/usb/gadget/function/f_fs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 725e35167837..2113e541457e 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -614,7 +614,7 @@ static int ffs_ep0_open(struct inode *inode, struct file *file) file->private_data = ffs; ffs_data_opened(ffs); - return 0; + return stream_open(inode, file); } static int ffs_ep0_release(struct inode *inode, struct file *file) @@ -1152,7 +1152,7 @@ ffs_epfile_open(struct inode *inode, struct file *file) file->private_data = epfile; ffs_data_opened(epfile->ffs); - return 0; + return stream_open(inode, file); } static int ffs_aio_cancel(struct kiocb *kiocb) From 00d29953bb7d0c30c38bf46c8491ce8cd8b50cee Mon Sep 17 00:00:00 2001 From: zhengding chen Date: Wed, 17 Nov 2021 14:26:01 +0800 Subject: [PATCH 02/28] ANDROID: GKI: Update symbols to symbol list Update symbols to symbol list externed by oem modules. Leaf changes summary: 6 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 3 Added variables 3 Added functions: [A] 'function int __traceiter_android_vh_binder_del_ref(void*, task_struct*, uint32_t)' [A] 'function int __traceiter_android_vh_binder_new_ref(void*, task_struct*, uint32_t, int)' [A] 'function int __traceiter_android_vh_binder_proc_transaction(void*, task_struct*, task_struct*, task_struct*, int, unsigned int, bool)' 3 Added variables: [A] 'tracepoint __tracepoint_android_vh_binder_del_ref' [A] 'tracepoint __tracepoint_android_vh_binder_new_ref' [A] 'tracepoint __tracepoint_android_vh_binder_proc_transaction' Bug: 193384408 Signed-off-by: zhengding chen Change-Id: Ia8b4c3bf3847dd3e61a82bd11765439fcc2bfbf1 --- android/abi_gki_aarch64.xml | 10743 ++++++++++++++++---------------- android/abi_gki_aarch64_oplus | 6 + 2 files changed, 5305 insertions(+), 5444 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index bd43a42bb7b0..dc0b6e34ebff 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -362,9 +362,12 @@ + + + @@ -5767,9 +5770,12 @@ + + + @@ -8634,9 +8640,9 @@ - - - + + + @@ -8649,7 +8655,6 @@ - @@ -8731,7 +8736,6 @@ - @@ -11593,6 +11597,7 @@ + @@ -11999,8 +12004,8 @@ - - + + @@ -12633,7 +12638,23 @@ - + + + + + + + + + + + + + + + + + @@ -13280,6 +13301,7 @@ + @@ -14829,12 +14851,6 @@ - - - - - - @@ -15329,6 +15345,9 @@ + + + @@ -15528,7 +15547,29 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -16883,8 +16924,8 @@ - - + + @@ -18412,7 +18453,6 @@ - @@ -18786,11 +18826,7 @@ - - - - - + @@ -19745,7 +19781,6 @@ - @@ -19943,7 +19978,6 @@ - @@ -20381,14 +20415,6 @@ - - - - - - - - @@ -20739,7 +20765,7 @@ - + @@ -21453,6 +21479,7 @@ + @@ -22193,6 +22220,11 @@ + + + + + @@ -24362,7 +24394,7 @@ - + @@ -24587,6 +24619,7 @@ + @@ -24891,7 +24924,23 @@ - + + + + + + + + + + + + + + + + + @@ -25553,7 +25602,7 @@ - + @@ -25709,7 +25758,7 @@ - + @@ -25930,7 +25979,6 @@ - @@ -26008,7 +26056,7 @@ - + @@ -26065,6 +26113,7 @@ + @@ -26418,6 +26467,7 @@ + @@ -27048,7 +27098,7 @@ - + @@ -27983,7 +28033,6 @@ - @@ -31729,9 +31778,9 @@ - - - + + + @@ -32605,7 +32654,6 @@ - @@ -32860,7 +32908,68 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33365,7 +33474,6 @@ - @@ -33780,6 +33888,7 @@ + @@ -33978,7 +34087,7 @@ - + @@ -37525,7 +37634,6 @@ - @@ -38315,8 +38423,8 @@ - - + + @@ -39288,17 +39396,6 @@ - - - - - - - - - - - @@ -39578,9 +39675,9 @@ - - - + + + @@ -40087,6 +40184,7 @@ + @@ -41044,7 +41142,6 @@ - @@ -43546,15 +43643,7 @@ - - - - - - - - @@ -43891,18 +43980,7 @@ - - - - - - - - - - - - + @@ -43998,12 +44076,12 @@ - - - - - - + + + + + + @@ -44108,7 +44186,6 @@ - @@ -44889,21 +44966,21 @@ - + - + - + - + - + - + @@ -45349,7 +45426,6 @@ - @@ -47000,8 +47076,8 @@ - - + + @@ -47347,7 +47423,35 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47908,7 +48012,14 @@ - + + + + + + + + @@ -48554,11 +48665,6 @@ - - - - - @@ -48964,7 +49070,7 @@ - + @@ -49090,6 +49196,11 @@ + + + + + @@ -49543,56 +49654,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -49933,6 +49995,7 @@ + @@ -50868,7 +50931,7 @@ - + @@ -51713,26 +51776,8 @@ - - - - - - - - - - - - - - - - - - @@ -51991,26 +52036,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -52148,7 +52173,6 @@ - @@ -52199,6 +52223,7 @@ + @@ -52788,7 +52813,23 @@ - + + + + + + + + + + + + + + + + + @@ -53150,7 +53191,6 @@ - @@ -54081,9 +54121,9 @@ - - - + + + @@ -54803,6 +54843,7 @@ + @@ -55387,7 +55428,7 @@ - + @@ -55852,7 +55893,7 @@ - + @@ -56718,26 +56759,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -56946,6 +56967,7 @@ + @@ -58082,7 +58104,6 @@ - @@ -58545,11 +58566,6 @@ - - - - - @@ -59774,44 +59790,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61001,65 +60980,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61836,7 +61757,6 @@ - @@ -62786,7 +62706,17 @@ - + + + + + + + + + + + @@ -63852,7 +63782,7 @@ - + @@ -64346,10 +64276,10 @@ - - - - + + + + @@ -64399,6 +64329,12 @@ + + + + + + @@ -64658,6 +64594,7 @@ + @@ -64981,47 +64918,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -65616,11 +65513,6 @@ - - - - - @@ -66647,11 +66539,6 @@ - - - - - @@ -67112,7 +66999,7 @@ - + @@ -68976,7 +68863,6 @@ - @@ -69173,6 +69059,7 @@ + @@ -70781,14 +70668,7 @@ - - - - - - - - + @@ -70922,14 +70802,6 @@ - - - - - - - - @@ -71618,8 +71490,8 @@ - - + + @@ -71738,7 +71610,6 @@ - @@ -72425,8 +72296,8 @@ - - + + @@ -72498,6 +72369,7 @@ + @@ -72962,38 +72834,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -73104,7 +72945,7 @@ - + @@ -75792,7 +75633,6 @@ - @@ -77200,11 +77040,11 @@ - + - + @@ -78257,12 +78097,12 @@ - - - - - - + + + + + + @@ -79548,6 +79388,7 @@ + @@ -79787,7 +79628,6 @@ - @@ -80513,6 +80353,7 @@ + @@ -81100,6 +80941,7 @@ + @@ -81172,6 +81014,9 @@ + + + @@ -81188,11 +81033,6 @@ - - - - - @@ -81215,7 +81055,6 @@ - @@ -81676,7 +81515,7 @@ - + @@ -81752,14 +81591,6 @@ - - - - - - - - @@ -84838,6 +84669,7 @@ + @@ -85456,7 +85288,7 @@ - + @@ -86137,9 +85969,9 @@ - - - + + + @@ -86608,26 +86440,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -86652,7 +86465,7 @@ - + @@ -86677,6 +86490,7 @@ + @@ -86715,6 +86529,7 @@ + @@ -88127,7 +87942,7 @@ - + @@ -88758,8 +88573,8 @@ - - + + @@ -89828,7 +89643,6 @@ - @@ -89989,6 +89803,14 @@ + + + + + + + + @@ -90423,7 +90245,20 @@ - + + + + + + + + + + + + + + @@ -90980,7 +90815,7 @@ - + @@ -91155,7 +90990,7 @@ - + @@ -91450,6 +91285,7 @@ + @@ -91585,12 +91421,12 @@ - + - + @@ -93156,7 +92992,6 @@ - @@ -93669,17 +93504,6 @@ - - - - - - - - - - - @@ -94442,7 +94266,7 @@ - + @@ -94954,7 +94778,7 @@ - + @@ -95000,7 +94824,7 @@ - + @@ -95438,7 +95262,7 @@ - + @@ -96144,9 +95968,6 @@ - - - @@ -97386,6 +97207,7 @@ + @@ -97661,8 +97483,8 @@ - - + + @@ -97871,8 +97693,8 @@ - - + + @@ -99027,6 +98849,7 @@ + @@ -100002,7 +99825,14 @@ - + + + + + + + + @@ -101485,10 +101315,10 @@ - - - + + + @@ -101512,7 +101342,7 @@ - + @@ -101653,8 +101483,8 @@ - - + + @@ -102254,7 +102084,6 @@ - @@ -102523,6 +102352,7 @@ + @@ -103048,7 +102878,20 @@ - + + + + + + + + + + + + + + @@ -103107,6 +102950,9 @@ + + + @@ -106514,6 +106360,7 @@ + @@ -106528,20 +106375,6 @@ - - - - - - - - - - - - - - @@ -106876,6 +106709,7 @@ + @@ -110800,11 +110634,6 @@ - - - - - @@ -111131,6 +110960,7 @@ + @@ -112886,7 +112716,6 @@ - @@ -112971,7 +112800,6 @@ - @@ -113090,8 +112918,8 @@ - - + + @@ -113628,6 +113456,7 @@ + @@ -115273,6 +115102,19 @@ + + + + + + + + + + + + + @@ -115293,6 +115135,16 @@ + + + + + + + + + + @@ -116806,9 +116658,12 @@ + + + @@ -117237,9 +117092,9 @@ - - - + + + @@ -117250,33 +117105,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -117286,27 +117141,27 @@ - - - + + + - - - + + + - - - + + + - - - + + + @@ -117316,8 +117171,8 @@ - - + + @@ -117336,8 +117191,8 @@ - - + + @@ -117353,57 +117208,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -117414,16 +117269,16 @@ - - + + - - + + @@ -117447,12 +117302,12 @@ - - - - - - + + + + + + @@ -117469,9 +117324,9 @@ - - - + + + @@ -117487,33 +117342,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -117526,22 +117381,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -117620,13 +117475,13 @@ - - - - - - - + + + + + + + @@ -117635,29 +117490,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -117699,11 +117554,11 @@ - - - - - + + + + + @@ -117723,14 +117578,14 @@ - - + + - - - - + + + + @@ -117753,15 +117608,15 @@ - - - - + + + + - - - + + + @@ -117769,11 +117624,11 @@ - - - - - + + + + + @@ -117824,21 +117679,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -117879,18 +117734,18 @@ - - + + - - - + + + - - - + + + @@ -117923,17 +117778,17 @@ - - - - + + + + - - - - - + + + + + @@ -117944,53 +117799,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -117998,9 +117853,9 @@ - - - + + + @@ -118009,49 +117864,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -118061,10 +117916,10 @@ - - - - + + + + @@ -118108,17 +117963,17 @@ - - + + - - + + - - - + + + @@ -118153,10 +118008,10 @@ - - - - + + + + @@ -118188,13 +118043,13 @@ - - - + + + - - + + @@ -118225,8 +118080,8 @@ - - + + @@ -118235,8 +118090,8 @@ - - + + @@ -118258,8 +118113,8 @@ - - + + @@ -118306,8 +118161,8 @@ - - + + @@ -118329,10 +118184,10 @@ - - - - + + + + @@ -118368,9 +118223,9 @@ - - - + + + @@ -118514,16 +118369,16 @@ - - + + - - + + @@ -118572,26 +118427,26 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + @@ -118600,31 +118455,31 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -118642,9 +118497,9 @@ - - - + + + @@ -118692,67 +118547,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -118768,16 +118623,16 @@ - - + + - - - - - - + + + + + + @@ -118798,22 +118653,22 @@ - - + + - - + + - - + + - - + + @@ -118830,23 +118685,23 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -118856,8 +118711,8 @@ - - + + @@ -118870,8 +118725,8 @@ - - + + @@ -118941,9 +118796,9 @@ - - - + + + @@ -118982,11 +118837,11 @@ - - - - - + + + + + @@ -119002,19 +118857,19 @@ - - - + + + - - - + + + - - - + + + @@ -119046,9 +118901,9 @@ - - - + + + @@ -119137,14 +118992,14 @@ - - - + + + - - - + + + @@ -119153,65 +119008,65 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -119220,48 +119075,48 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -119272,8 +119127,8 @@ - - + + @@ -119391,8 +119246,8 @@ - - + + @@ -119494,28 +119349,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -119530,11 +119385,11 @@ - - - - - + + + + + @@ -119546,11 +119401,11 @@ - - - - - + + + + + @@ -119569,8 +119424,8 @@ - - + + @@ -119607,10 +119462,10 @@ - - - - + + + + @@ -119648,22 +119503,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -119690,22 +119545,22 @@ - - + + - - - - + + + + - - - + + + @@ -119766,8 +119621,8 @@ - - + + @@ -119798,18 +119653,18 @@ - - + + - - - + + + - - - + + + @@ -119821,8 +119676,8 @@ - - + + @@ -119838,9 +119693,9 @@ - - - + + + @@ -119873,12 +119728,12 @@ - - + + - - + + @@ -119889,23 +119744,23 @@ - - + + - - - + + + - - - - + + + + @@ -119920,9 +119775,9 @@ - - - + + + @@ -119941,8 +119796,8 @@ - - + + @@ -119962,58 +119817,58 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -120056,12 +119911,12 @@ - - + + - - + + @@ -120090,10 +119945,10 @@ - - - - + + + + @@ -120148,42 +120003,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -120226,10 +120081,10 @@ - - - - + + + + @@ -120237,9 +120092,9 @@ - - - + + + @@ -120249,7 +120104,7 @@ - + @@ -120270,8 +120125,8 @@ - - + + @@ -120292,22 +120147,22 @@ - - + + - - - + + + - - - + + + @@ -120357,11 +120212,11 @@ - - - - - + + + + + @@ -120369,44 +120224,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -120427,8 +120282,8 @@ - - + + @@ -120453,18 +120308,18 @@ - - - + + + - - - + + + @@ -120481,9 +120336,9 @@ - - - + + + @@ -120494,11 +120349,11 @@ - - - - - + + + + + @@ -120508,8 +120363,8 @@ - - + + @@ -120525,18 +120380,18 @@ - - + + - - + + - - - - + + + + @@ -120567,12 +120422,12 @@ - - + + - - + + @@ -120581,7 +120436,7 @@ - + @@ -120612,11 +120467,11 @@ - - - - - + + + + + @@ -120626,25 +120481,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120681,11 +120536,11 @@ - - - - - + + + + + @@ -120695,11 +120550,11 @@ - - - - - + + + + + @@ -120731,9 +120586,9 @@ - - - + + + @@ -120744,8 +120599,8 @@ - - + + @@ -120755,9 +120610,9 @@ - - - + + + @@ -120766,11 +120621,11 @@ - - - - - + + + + + @@ -120783,16 +120638,16 @@ - - + + - - + + - - + + @@ -120803,8 +120658,8 @@ - - + + @@ -120846,49 +120701,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -120910,9 +120765,9 @@ - - - + + + @@ -120925,9 +120780,9 @@ - - - + + + @@ -120949,10 +120804,10 @@ - - - - + + + + @@ -120983,15 +120838,15 @@ - - - - + + + + - - - + + + @@ -121011,8 +120866,8 @@ - - + + @@ -121028,8 +120883,8 @@ - - + + @@ -121037,13 +120892,13 @@ - - + + - - - + + + @@ -121054,9 +120909,9 @@ - - - + + + @@ -121073,16 +120928,16 @@ - - + + - - + + @@ -121107,9 +120962,9 @@ - - - + + + @@ -121199,9 +121054,9 @@ - - - + + + @@ -121214,17 +121069,17 @@ - - - - + + + + - - - - + + + + @@ -121232,10 +121087,10 @@ - - - - + + + + @@ -121243,9 +121098,9 @@ - - - + + + @@ -121266,11 +121121,11 @@ - - - - - + + + + + @@ -121342,20 +121197,20 @@ - - + + - - + + - - + + @@ -121368,8 +121223,8 @@ - - + + @@ -121391,12 +121246,12 @@ - - - - - - + + + + + + @@ -121405,40 +121260,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -121473,28 +121328,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -121516,10 +121371,10 @@ - - - - + + + + @@ -121541,11 +121396,11 @@ - - - - - + + + + + @@ -121568,15 +121423,15 @@ - - - + + + - - - - + + + + @@ -121593,14 +121448,14 @@ - - - + + + - - - + + + @@ -121629,22 +121484,22 @@ - - + + - - + + - - - - + + + + @@ -121667,10 +121522,10 @@ - - - - + + + + @@ -121678,15 +121533,15 @@ - - - - + + + + - - - + + + @@ -121793,11 +121648,11 @@ - - - - - + + + + + @@ -121995,29 +121850,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -122027,10 +121882,10 @@ - - - - + + + + @@ -122069,14 +121924,14 @@ - - - - - - - - + + + + + + + + @@ -122089,9 +121944,9 @@ - - - + + + @@ -122124,8 +121979,8 @@ - - + + @@ -122192,14 +122047,14 @@ - - - + + + - - - + + + @@ -122207,10 +122062,10 @@ - - - - + + + + @@ -122255,15 +122110,15 @@ - - - - + + + + - - - + + + @@ -122362,16 +122217,16 @@ - - - + + + - - - - - + + + + + @@ -122421,46 +122276,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -122555,9 +122410,9 @@ - - - + + + @@ -122579,17 +122434,17 @@ - - + + - - - + + + - - + + @@ -122597,15 +122452,15 @@ - - - + + + - - - - + + + + @@ -122616,34 +122471,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -122655,9 +122510,9 @@ - - - + + + @@ -122665,8 +122520,8 @@ - - + + @@ -122677,15 +122532,15 @@ - + - - - - - - + + + + + + @@ -122697,13 +122552,13 @@ - - - - + + + + - - + + @@ -122723,10 +122578,10 @@ - - - - + + + + @@ -122876,46 +122731,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -123048,8 +122903,8 @@ - - + + @@ -123082,16 +122937,16 @@ - - + + - - + + - - + + @@ -123103,8 +122958,8 @@ - - + + @@ -123115,8 +122970,8 @@ - - + + @@ -123136,9 +122991,9 @@ - - - + + + @@ -123148,62 +123003,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -123221,14 +123076,14 @@ - - - + + + - - - + + + @@ -123263,13 +123118,13 @@ - - - - - - - + + + + + + + @@ -123493,62 +123348,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -123564,15 +123419,15 @@ - - + + - - - - - + + + + + @@ -123583,10 +123438,10 @@ - - - - + + + + @@ -123615,8 +123470,8 @@ - - + + @@ -123624,9 +123479,9 @@ - - - + + + @@ -123663,9 +123518,9 @@ - - - + + + @@ -123674,8 +123529,8 @@ - - + + @@ -123683,19 +123538,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -123703,20 +123558,20 @@ - - + + - - + + - - + + - - + + @@ -123729,17 +123584,17 @@ - - + + - - + + - - - + + + @@ -123786,19 +123641,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -123806,17 +123661,17 @@ - - - + + + - - + + @@ -123834,20 +123689,20 @@ - - + + - - + + - - + + @@ -123860,11 +123715,11 @@ - - - - - + + + + + @@ -123875,33 +123730,33 @@ - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -124185,23 +124040,23 @@ - - + + - - - - + + + + - - - + + + @@ -124217,12 +124072,12 @@ - - - - - - + + + + + + @@ -124274,20 +124129,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -124442,10 +124297,10 @@ - - - - + + + + @@ -124495,9 +124350,9 @@ - - - + + + @@ -124626,19 +124481,19 @@ - - - + + + - - - + + + - - - + + + @@ -124739,8 +124594,8 @@ - - + + @@ -124762,9 +124617,9 @@ - - - + + + @@ -124792,8 +124647,8 @@ - - + + @@ -124808,24 +124663,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -124844,9 +124699,9 @@ - - - + + + @@ -124860,18 +124715,18 @@ - - + + - - - + + + - - - + + + @@ -124892,9 +124747,9 @@ - - - + + + @@ -124925,28 +124780,28 @@ - - + + - - + + - - - + + + - - - - + + + + - - - + + + @@ -124957,83 +124812,83 @@ - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -125089,17 +124944,17 @@ - - + + - - + + - - - + + + @@ -125113,20 +124968,20 @@ - - + + - - + + - - + + @@ -125195,9 +125050,9 @@ - - - + + + @@ -125205,44 +125060,44 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + @@ -125252,12 +125107,12 @@ - - - - - - + + + + + + @@ -125268,9 +125123,9 @@ - - - + + + @@ -125278,18 +125133,18 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -125304,30 +125159,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -125363,8 +125218,8 @@ - - + + @@ -125440,20 +125295,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -125462,19 +125317,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -125501,36 +125356,36 @@ - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125769,8 +125624,8 @@ - - + + @@ -125784,13 +125639,13 @@ - - + + - - - + + + @@ -125829,14 +125684,14 @@ - - - + + + - - - + + + @@ -125844,17 +125699,17 @@ - - - - + + + + - - + + @@ -125869,9 +125724,9 @@ - - - + + + @@ -125885,50 +125740,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -125938,15 +125793,15 @@ - - - + + + - - - - + + + + @@ -125979,27 +125834,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -126013,9 +125868,9 @@ - - - + + + @@ -126024,30 +125879,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -126063,26 +125918,26 @@ - - + + - - - + + + - - + + - - - + + + @@ -126099,8 +125954,8 @@ - - + + @@ -126115,8 +125970,8 @@ - - + + @@ -126164,18 +126019,18 @@ - - - + + + - - + + - - - + + + @@ -126183,13 +126038,13 @@ - - + + - - - + + + @@ -126197,9 +126052,9 @@ - - - + + + @@ -126257,8 +126112,8 @@ - - + + @@ -126267,9 +126122,9 @@ - - - + + + @@ -126282,8 +126137,8 @@ - - + + @@ -126326,12 +126181,12 @@ - - + + - - + + @@ -126368,35 +126223,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -126408,13 +126263,13 @@ - - - + + + - - + + @@ -126457,33 +126312,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -126504,8 +126359,8 @@ - - + + @@ -126530,10 +126385,10 @@ - - - - + + + + @@ -126543,12 +126398,12 @@ - - + + - - + + @@ -126559,17 +126414,17 @@ - - - - - - - + + + + + + + - - + + @@ -126586,8 +126441,8 @@ - - + + @@ -126613,15 +126468,15 @@ - - + + - - - - - + + + + + @@ -126633,8 +126488,8 @@ - - + + @@ -126660,8 +126515,8 @@ - - + + @@ -126671,20 +126526,20 @@ - - + + - + - - - + + + @@ -126698,41 +126553,41 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -126742,13 +126597,13 @@ - - + + - - - + + + @@ -126762,41 +126617,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -126810,8 +126665,8 @@ - - + + @@ -126823,18 +126678,18 @@ - - + + - - - - + + + + @@ -126858,23 +126713,23 @@ - - - + + + - - - + + + - - - + + + - - + + @@ -126887,9 +126742,9 @@ - - - + + + @@ -126897,29 +126752,29 @@ - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -126952,9 +126807,9 @@ - - - + + + @@ -126963,13 +126818,13 @@ - - + + - - - + + + @@ -127066,8 +126921,8 @@ - - + + @@ -127092,13 +126947,13 @@ - - - + + + - - + + @@ -127143,10 +126998,10 @@ - - + + - + @@ -127161,22 +127016,22 @@ - - - + + + - - - + + + - - + + - - + + @@ -127227,38 +127082,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -127269,9 +127124,9 @@ - - - + + + @@ -127286,26 +127141,26 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -127320,28 +127175,28 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127356,28 +127211,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127399,18 +127254,18 @@ - - + + - - + + - - + + @@ -127433,12 +127288,12 @@ - - + + - - + + @@ -127475,9 +127330,9 @@ - - - + + + @@ -127512,81 +127367,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -127711,12 +127566,12 @@ - - + + - - + + @@ -127759,14 +127614,14 @@ - - + + - - - - + + + + @@ -127787,36 +127642,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -127827,39 +127682,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -127885,14 +127740,14 @@ - - + + - - - - + + + + @@ -127909,8 +127764,8 @@ - - + + @@ -128000,14 +127855,14 @@ - - - - - - - - + + + + + + + + @@ -128017,8 +127872,8 @@ - - + + @@ -128042,9 +127897,9 @@ - - - + + + @@ -128064,18 +127919,18 @@ - - - - + + + + - - - + + + @@ -128083,27 +127938,27 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -128113,8 +127968,8 @@ - - + + @@ -128135,8 +127990,8 @@ - - + + @@ -128151,8 +128006,8 @@ - - + + @@ -128185,20 +128040,20 @@ - - + + - - + + - - + + @@ -128235,12 +128090,12 @@ - - + + - - + + @@ -128248,34 +128103,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -128357,9 +128212,9 @@ - - - + + + @@ -128520,41 +128375,41 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -128562,53 +128417,53 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -128643,8 +128498,8 @@ - - + + @@ -128744,13 +128599,13 @@ - - - + + + - - + + @@ -128761,15 +128616,15 @@ - - - - - - - - - + + + + + + + + + @@ -128805,9 +128660,9 @@ - - - + + + @@ -128833,30 +128688,30 @@ - - - + + + - - - - + + + + - - - - + + + + - - - + + + @@ -128869,10 +128724,10 @@ - - - - + + + + @@ -128880,11 +128735,11 @@ - - - - - + + + + + @@ -128907,10 +128762,10 @@ - - - - + + + + @@ -128923,20 +128778,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -128946,9 +128801,9 @@ - - - + + + @@ -129037,14 +128892,14 @@ - - - + + + - - + + @@ -129126,8 +128981,8 @@ - - + + @@ -129137,66 +128992,66 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + @@ -129216,21 +129071,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -129241,23 +129096,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -129266,10 +129121,10 @@ - - - - + + + + @@ -129301,46 +129156,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -129349,31 +129204,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -129382,23 +129237,23 @@ - - - + + + - - - + + + - - - + + + @@ -129406,34 +129261,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -129443,16 +129298,16 @@ - - - - + + + + - - - - + + + + @@ -129468,10 +129323,10 @@ - - - - + + + + @@ -129481,10 +129336,10 @@ - - - - + + + + @@ -129494,37 +129349,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -129535,9 +129390,9 @@ - - - + + + @@ -129551,11 +129406,11 @@ - - - - - + + + + + @@ -129587,11 +129442,11 @@ - - + + - + @@ -129608,15 +129463,15 @@ - - + + - - + + - - + + @@ -129636,8 +129491,8 @@ - - + + @@ -129647,8 +129502,8 @@ - - + + @@ -129660,8 +129515,8 @@ - - + + @@ -129675,18 +129530,18 @@ - - - + + + - - - - + + + + - - + + @@ -129694,10 +129549,10 @@ - - - - + + + + @@ -129710,14 +129565,14 @@ - - - - + + + + - - + + @@ -129753,18 +129608,18 @@ - - - + + + - - - + + + @@ -129775,8 +129630,8 @@ - - + + @@ -129787,29 +129642,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -129828,11 +129683,11 @@ - - - - - + + + + + @@ -129840,8 +129695,8 @@ - - + + @@ -129859,11 +129714,11 @@ - - - - - + + + + + @@ -129891,21 +129746,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -129918,9 +129773,9 @@ - - - + + + @@ -129931,13 +129786,13 @@ - - + + - - - + + + @@ -129945,50 +129800,50 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -130002,8 +129857,8 @@ - - + + @@ -130079,9 +129934,9 @@ - - - + + + @@ -130119,12 +129974,12 @@ - - + + - - - + + + @@ -130134,17 +129989,17 @@ - - - + + + - - - + + + - + @@ -130157,9 +130012,9 @@ - - - + + + @@ -130239,10 +130094,10 @@ - - - - + + + + @@ -130270,13 +130125,13 @@ - - - - - - - + + + + + + + @@ -130463,12 +130318,12 @@ - - + + - - + + @@ -130480,11 +130335,11 @@ - - - - - + + + + + @@ -130525,8 +130380,8 @@ - - + + @@ -130579,8 +130434,8 @@ - - + + @@ -130592,9 +130447,9 @@ - - - + + + @@ -130605,28 +130460,28 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -130637,9 +130492,9 @@ - - - + + + @@ -130700,8 +130555,8 @@ - - + + @@ -130740,9 +130595,9 @@ - - - + + + @@ -130798,8 +130653,8 @@ - - + + @@ -130852,51 +130707,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -130904,18 +130759,18 @@ - - - - + + + + - - + + @@ -130923,14 +130778,14 @@ - - - - + + + + - - - + + + @@ -130966,17 +130821,17 @@ - - + + - - - + + + @@ -130986,9 +130841,9 @@ - - - + + + @@ -131030,12 +130885,12 @@ - - + + - - + + @@ -131049,67 +130904,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -131117,19 +130972,19 @@ - - + + - - + + - - - - - + + + + + @@ -131140,41 +130995,41 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + @@ -131188,16 +131043,16 @@ - - - - + + + + - - - - + + + + @@ -131218,11 +131073,11 @@ - - - - - + + + + + @@ -131239,24 +131094,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -131291,12 +131146,12 @@ - - + + - - + + @@ -131321,18 +131176,18 @@ - - - + + + - - + + - - - + + + @@ -131356,18 +131211,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -131378,19 +131233,19 @@ - - - - + + + + - - + + - - - + + + @@ -131409,14 +131264,14 @@ - - - + + + - - - + + + @@ -131442,9 +131297,9 @@ - - - + + + @@ -131457,22 +131312,22 @@ - - - - + + + + - - + + - - + + @@ -131486,43 +131341,43 @@ - - + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -131535,9 +131390,9 @@ - - - + + + @@ -131570,14 +131425,14 @@ - - - - + + + + - - + + @@ -131588,44 +131443,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -131659,16 +131514,16 @@ - - - - - - + + + + + + - - - + + + @@ -131676,9 +131531,9 @@ - - - + + + @@ -131722,33 +131577,33 @@ - - - + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + @@ -131773,9 +131628,9 @@ - - - + + + @@ -131791,32 +131646,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -131825,9 +131680,9 @@ - - - + + + @@ -131835,74 +131690,74 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -131914,42 +131769,42 @@ - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -131964,8 +131819,8 @@ - - + + @@ -131985,8 +131840,8 @@ - - + + @@ -132000,61 +131855,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -132072,12 +131927,12 @@ - - - - - - + + + + + + @@ -132088,12 +131943,12 @@ - - - - - - + + + + + + @@ -132108,9 +131963,9 @@ - - - + + + @@ -132123,15 +131978,15 @@ - - + + - - - - - + + + + + @@ -132148,10 +132003,10 @@ - - - - + + + + @@ -132171,10 +132026,10 @@ - - - - + + + + @@ -132208,8 +132063,8 @@ - - + + @@ -132220,8 +132075,8 @@ - - + + @@ -132324,33 +132179,33 @@ - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -132376,8 +132231,8 @@ - - + + @@ -132392,16 +132247,16 @@ - - + + - - + + - - + + @@ -132486,19 +132341,19 @@ - - - + + + - - - + + + - - - + + + @@ -132513,8 +132368,8 @@ - - + + @@ -132545,9 +132400,9 @@ - - - + + + @@ -132577,14 +132432,14 @@ - - - + + + - - - + + + @@ -132597,9 +132452,9 @@ - - - + + + @@ -132607,10 +132462,10 @@ - - - - + + + + @@ -132624,12 +132479,12 @@ - - + + - - + + @@ -132650,9 +132505,9 @@ - - - + + + @@ -132664,9 +132519,9 @@ - - - + + + @@ -132714,8 +132569,8 @@ - - + + @@ -132761,9 +132616,9 @@ - - - + + + @@ -132779,10 +132634,10 @@ - - - - + + + + @@ -132803,10 +132658,10 @@ - - - - + + + + @@ -132839,17 +132694,17 @@ - - + + - - - + + + @@ -132863,40 +132718,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -132918,20 +132773,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -132939,21 +132794,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -132964,7 +132819,7 @@ - + @@ -132983,21 +132838,21 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -133031,8 +132886,8 @@ - - + + @@ -133052,9 +132907,9 @@ - - - + + + @@ -133062,23 +132917,23 @@ - - - + + + - - - + + + - - - + + + @@ -133099,37 +132954,37 @@ - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -133143,11 +132998,11 @@ - - - - - + + + + + @@ -133198,10 +133053,10 @@ - - - - + + + + @@ -133260,24 +133115,24 @@ - - + + - - + + - - + + @@ -133287,11 +133142,11 @@ - - - - - + + + + + @@ -133336,14 +133191,14 @@ - - - - + + + + - - - + + + @@ -133575,8 +133430,8 @@ - - + + @@ -133596,29 +133451,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -133630,14 +133485,14 @@ - - - + + + - - - + + + @@ -133650,16 +133505,16 @@ - - - - + + + + - - - - + + + + @@ -133711,12 +133566,12 @@ - - + + - - + + @@ -133763,24 +133618,24 @@ - - + + - - + + - - + + - - + + @@ -133800,13 +133655,13 @@ - - + + - - - + + + @@ -133820,18 +133675,19 @@ - - - - + + + + - - - - + + + + + @@ -133849,8 +133705,8 @@ - - + + @@ -133865,8 +133721,8 @@ - - + + @@ -133900,8 +133756,8 @@ - - + + @@ -133919,10 +133775,10 @@ - - - - + + + + @@ -133935,54 +133791,54 @@ - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -133991,36 +133847,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -134031,12 +133887,12 @@ - - - - - - + + + + + + @@ -134055,9 +133911,9 @@ - - - + + + @@ -134067,8 +133923,8 @@ - - + + @@ -134082,10 +133938,10 @@ - - - - + + + + @@ -134098,13 +133954,13 @@ - - - + + + - - + + @@ -134157,11 +134013,11 @@ - - - - - + + + + + @@ -134177,20 +134033,20 @@ - - + + - - + + - - + + @@ -134198,24 +134054,24 @@ - - + + - - + + - - + + @@ -134275,8 +134131,8 @@ - - + + @@ -134286,21 +134142,21 @@ - - - - - + + + + + - - - - + + + + @@ -134314,19 +134170,19 @@ - - - + + + - - + + - - - - + + + + @@ -134349,48 +134205,48 @@ - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -134399,7 +134255,7 @@ - + @@ -134439,17 +134295,17 @@ - + - + - - + + @@ -134468,8 +134324,8 @@ - - + + @@ -134496,31 +134352,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -134580,8 +134436,8 @@ - - + + @@ -134622,16 +134478,16 @@ - - + + - - + + - - + + @@ -134642,8 +134498,8 @@ - - + + @@ -134666,12 +134522,12 @@ - - + + - - + + @@ -134687,8 +134543,8 @@ - - + + @@ -134807,10 +134663,10 @@ - - - - + + + + @@ -134819,20 +134675,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -134840,14 +134696,14 @@ - - - + + + - - - + + + @@ -134865,8 +134721,8 @@ - - + + @@ -134878,8 +134734,8 @@ - - + + @@ -134916,8 +134772,8 @@ - - + + @@ -134968,22 +134824,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -135073,8 +134929,8 @@ - - + + @@ -135082,22 +134938,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -135110,9 +134966,9 @@ - - - + + + @@ -135120,9 +134976,9 @@ - - - + + + @@ -135170,13 +135026,13 @@ - - - - - - - + + + + + + + @@ -135184,28 +135040,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -135221,20 +135077,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -135250,8 +135106,8 @@ - - + + @@ -135268,8 +135124,8 @@ - - + + @@ -135282,15 +135138,15 @@ - - - + + + - - - - + + + + @@ -135298,39 +135154,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -135338,30 +135194,30 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -135488,8 +135344,8 @@ - - + + @@ -135608,12 +135464,12 @@ - - + + - - + + @@ -135630,9 +135486,9 @@ - - - + + + @@ -135640,9 +135496,9 @@ - - - + + + @@ -135650,9 +135506,9 @@ - - - + + + @@ -135677,12 +135533,12 @@ - - + + - - + + @@ -135700,10 +135556,10 @@ - - - - + + + + @@ -135720,62 +135576,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -135786,7 +135642,7 @@ - + @@ -135820,10 +135676,10 @@ - - - - + + + + @@ -135865,7 +135721,7 @@ - + @@ -135873,34 +135729,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -135911,10 +135767,10 @@ - - - - + + + + @@ -135924,8 +135780,8 @@ - - + + @@ -135936,8 +135792,8 @@ - - + + @@ -135975,8 +135831,8 @@ - - + + @@ -136014,14 +135870,14 @@ - - - - - + + + + + - - + + @@ -136059,11 +135915,11 @@ - - - - - + + + + + @@ -136207,21 +136063,21 @@ - - + + - - - + + + - - + + - - + + @@ -136255,11 +136111,11 @@ - - - - - + + + + + @@ -136274,21 +136130,21 @@ - - + + - - + + - - + + - - - + + + @@ -136304,11 +136160,11 @@ - - - - - + + + + + @@ -136349,21 +136205,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -136384,26 +136240,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -136412,20 +136268,20 @@ - - - + + + - - - + + + - - - + + + @@ -136435,26 +136291,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -136600,9 +136456,9 @@ - - - + + + @@ -136611,9 +136467,9 @@ - - - + + + @@ -136621,21 +136477,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -136643,15 +136499,15 @@ - - - + + + - - - - + + + + @@ -136663,33 +136519,33 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + @@ -136697,28 +136553,28 @@ - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -136729,13 +136585,13 @@ - - - - - - - + + + + + + + @@ -136767,14 +136623,14 @@ - - + + - - - - + + + + @@ -136782,10 +136638,10 @@ - - - - + + + + @@ -136793,10 +136649,10 @@ - - - - + + + + @@ -136819,10 +136675,10 @@ - - - - + + + + @@ -136838,29 +136694,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -136889,13 +136745,13 @@ - - - - - - - + + + + + + + @@ -136914,10 +136770,10 @@ - - - - + + + + @@ -136934,10 +136790,10 @@ - - - - + + + + @@ -136947,30 +136803,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -136987,13 +136843,13 @@ - - + + - - - + + + @@ -137012,39 +136868,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -137067,55 +136923,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -137125,9 +136981,9 @@ - - - + + + @@ -137137,16 +136993,16 @@ - - - - - + + + + + - - - + + + @@ -137181,15 +137037,15 @@ - - - + + + - - - - + + + + @@ -137202,11 +137058,11 @@ - - - - - + + + + + @@ -137216,16 +137072,16 @@ - - - - - + + + + + - - - + + + @@ -137235,8 +137091,8 @@ - - + + @@ -137248,25 +137104,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -137277,9 +137133,9 @@ - - - + + + @@ -137331,9 +137187,9 @@ - - - + + + @@ -137367,22 +137223,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -137461,13 +137317,13 @@ - - + + - - - + + + @@ -137519,8 +137375,8 @@ - - + + @@ -137536,9 +137392,9 @@ - - - + + + @@ -137548,17 +137404,17 @@ - - - - + + + + - - - - - + + + + + @@ -137575,17 +137431,17 @@ - - + + - - - - - - - + + + + + + + @@ -137594,23 +137450,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -137621,12 +137477,12 @@ - - - - - - + + + + + + @@ -137638,8 +137494,8 @@ - - + + @@ -137651,18 +137507,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -137670,12 +137526,12 @@ - - + + - - + + @@ -137713,9 +137569,9 @@ - - - + + + @@ -137727,8 +137583,8 @@ - - + + @@ -137760,45 +137616,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -137843,9 +137699,9 @@ - - - + + + @@ -137876,10 +137732,10 @@ - - - - + + + + @@ -137971,14 +137827,14 @@ - - - - + + + + - - + + @@ -137996,8 +137852,8 @@ - - + + @@ -138242,9 +138098,9 @@ - - - + + + @@ -138333,9 +138189,9 @@ - - - + + + @@ -138356,13 +138212,13 @@ - - - - - - - + + + + + + + @@ -138374,29 +138230,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -138454,9 +138310,9 @@ - - - + + + @@ -138468,17 +138324,17 @@ - - - - - - + + + + + + - - - + + + @@ -138602,9 +138458,9 @@ - - - + + + @@ -138637,30 +138493,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -138683,9 +138539,9 @@ - - - + + + @@ -138703,8 +138559,8 @@ - - + + @@ -138739,10 +138595,10 @@ - - - - + + + + @@ -138751,21 +138607,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -138773,21 +138629,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -138806,12 +138662,12 @@ - - - + + + - - + + @@ -138826,26 +138682,26 @@ - - + + - - + + - - + + - + - + @@ -138857,12 +138713,12 @@ - - + + - - + + @@ -138877,23 +138733,23 @@ - - + + - - + + - - - + + + - + - + @@ -138912,15 +138768,15 @@ - - - + + + - - - - + + + + @@ -138933,20 +138789,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -138968,9 +138824,9 @@ - - - + + + @@ -138979,10 +138835,10 @@ - - - - + + + + @@ -138990,9 +138846,9 @@ - - - + + + @@ -139000,9 +138856,9 @@ - - - + + + @@ -139011,17 +138867,17 @@ - - - - + + + + - + @@ -139033,8 +138889,8 @@ - - + + @@ -139076,8 +138932,8 @@ - - + + @@ -139170,8 +139026,8 @@ - - + + @@ -139180,8 +139036,8 @@ - - + + @@ -139213,19 +139069,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -139237,9 +139093,9 @@ - - - + + + @@ -139258,14 +139114,14 @@ - - - - + + + + - - + + @@ -139293,9 +139149,9 @@ - - - + + + @@ -139313,7 +139169,6 @@ - @@ -139335,19 +139190,19 @@ - - + + - - - - + + + + - - - + + + @@ -139365,8 +139220,8 @@ - - + + @@ -139376,24 +139231,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -139403,32 +139258,32 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -139445,12 +139300,12 @@ - + - - - + + + @@ -139578,10 +139433,10 @@ - - - - + + + + @@ -139589,10 +139444,10 @@ - - - - + + + + @@ -139671,19 +139526,19 @@ - - - + + + - - - + + + - - - + + + @@ -139713,8 +139568,8 @@ - - + + @@ -139732,16 +139587,16 @@ - - + + - - + + @@ -139794,9 +139649,9 @@ - - - + + + @@ -139810,9 +139665,9 @@ - - - + + + @@ -139851,8 +139706,8 @@ - - + + @@ -139898,9 +139753,9 @@ - - - + + + @@ -139991,11 +139846,11 @@ - - - - - + + + + + @@ -140230,9 +140085,9 @@ - - - + + + @@ -140350,15 +140205,15 @@ - - + + - - - - - + + + + + @@ -140392,8 +140247,8 @@ - - + + @@ -140432,17 +140287,17 @@ - - + + - - + + - - - + + + @@ -140453,8 +140308,8 @@ - - + + @@ -140485,12 +140340,12 @@ - - + + - - + + @@ -140513,8 +140368,8 @@ - - + + @@ -140536,8 +140391,8 @@ - - + + @@ -140573,9 +140428,9 @@ - - - + + + @@ -140598,9 +140453,9 @@ - - - + + + @@ -140615,16 +140470,16 @@ - - + + - - + + - - + + @@ -140643,8 +140498,8 @@ - - + + @@ -140659,16 +140514,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -140702,8 +140557,8 @@ - - + + @@ -140718,15 +140573,15 @@ - - - - + + + + - - - + + + @@ -140737,9 +140592,9 @@ - - - + + + @@ -140751,9 +140606,9 @@ - - - + + + @@ -140772,24 +140627,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -140816,8 +140671,8 @@ - - + + @@ -140836,9 +140691,9 @@ - - - + + + @@ -140847,28 +140702,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -140877,14 +140732,14 @@ - - - - + + + + - - + + @@ -140895,9 +140750,9 @@ - - - + + + @@ -140912,8 +140767,8 @@ - - + + @@ -140935,8 +140790,8 @@ - - + + @@ -141038,15 +140893,15 @@ - - - + + + - - - - + + + + @@ -141058,8 +140913,8 @@ - - + + @@ -141125,16 +140980,16 @@ - - + + - - + + @@ -141142,10 +140997,10 @@ - - - - + + + + @@ -141169,38 +141024,38 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - + + @@ -141208,10 +141063,10 @@ - - - - + + + + @@ -141235,9 +141090,9 @@ - - - + + + @@ -141245,8 +141100,8 @@ - - + + @@ -141285,9 +141140,9 @@ - - - + + + @@ -141308,10 +141163,10 @@ - - - - + + + + @@ -141361,9 +141216,9 @@ - - - + + + @@ -141423,21 +141278,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -141613,9 +141468,9 @@ - - - + + + @@ -141629,27 +141484,27 @@ - - + + - - - - + + + + - - - + + + @@ -141663,33 +141518,33 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -141935,15 +141790,15 @@ - - - + + + - - - - + + + + @@ -141994,15 +141849,15 @@ - - - + + + - - - + + + @@ -142015,15 +141870,15 @@ - - - - + + + + - - - + + + @@ -142101,9 +141956,9 @@ - - - + + + @@ -142119,36 +141974,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -142163,9 +142018,9 @@ - - - + + + @@ -142180,14 +142035,14 @@ - - - + + + - - - + + + @@ -142229,15 +142084,15 @@ - - + + - - - - - + + + + + @@ -142245,11 +142100,11 @@ - - - - - + + + + + @@ -142265,8 +142120,8 @@ - - + + @@ -142286,8 +142141,8 @@ - - + + @@ -142330,8 +142185,8 @@ - - + + @@ -142367,8 +142222,8 @@ - - + + @@ -142435,9 +142290,9 @@ - - - + + + @@ -142508,26 +142363,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -142564,21 +142419,21 @@ - - - + + + - - - + + + - - - + + + @@ -142642,15 +142497,15 @@ - - + + - - + + @@ -142661,16 +142516,16 @@ - - - - - + + + + + - - - + + + @@ -142679,11 +142534,11 @@ - - - - - + + + + + @@ -142692,9 +142547,9 @@ - - - + + + @@ -142744,11 +142599,11 @@ - - - - - + + + + + @@ -142758,23 +142613,23 @@ - - - - + + + + - - - + + + - - + + - - + + @@ -142787,12 +142642,12 @@ - - + + - - + + @@ -142800,8 +142655,8 @@ - - + + @@ -142818,8 +142673,8 @@ - - + + @@ -142827,12 +142682,12 @@ - - - + + + - + @@ -142841,9 +142696,9 @@ - - - + + + @@ -142866,17 +142721,17 @@ - - - + + + - - + + @@ -142943,28 +142798,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -142974,17 +142829,17 @@ - - + + - - - - + + + + @@ -142995,26 +142850,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -143025,9 +142880,9 @@ - - - + + + @@ -143059,10 +142914,10 @@ - - - - + + + + @@ -143095,9 +142950,9 @@ - - - + + + @@ -143114,15 +142969,15 @@ - - - - + + + + - - - + + + @@ -143146,12 +143001,12 @@ - - - - - - + + + + + + @@ -143173,13 +143028,13 @@ - - + + - - - + + + @@ -143196,10 +143051,10 @@ - - - - + + + + @@ -143210,47 +143065,47 @@ - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/android/abi_gki_aarch64_oplus b/android/abi_gki_aarch64_oplus index bb62b99da69a..9afce39e651c 100644 --- a/android/abi_gki_aarch64_oplus +++ b/android/abi_gki_aarch64_oplus @@ -2585,6 +2585,9 @@ __traceiter_android_vh_alter_rwsem_list_add __traceiter_android_vh_arch_set_freq_scale __traceiter_android_vh_binder_alloc_new_buf_locked + __traceiter_android_vh_binder_new_ref + __traceiter_android_vh_binder_del_ref + __traceiter_android_vh_binder_proc_transaction __traceiter_android_vh_binder_preset __traceiter_android_vh_binder_priority_skip __traceiter_android_vh_binder_reply @@ -2776,6 +2779,9 @@ __tracepoint_android_vh_alter_rwsem_list_add __tracepoint_android_vh_arch_set_freq_scale __tracepoint_android_vh_binder_alloc_new_buf_locked + __tracepoint_android_vh_binder_new_ref + __tracepoint_android_vh_binder_del_ref + __tracepoint_android_vh_binder_proc_transaction __tracepoint_android_vh_binder_preset __tracepoint_android_vh_binder_priority_skip __tracepoint_android_vh_binder_reply From 53a812c6bbf3d88187f5f31a09b5499afc2930fb Mon Sep 17 00:00:00 2001 From: Tengfei Fan Date: Mon, 22 Nov 2021 09:15:36 +0800 Subject: [PATCH 03/28] ANDROID: sched: add hook point in do_sched_yield() When a task yields, it relinquishes the cpu and scheduler is tasked to find another task. However our vendor scheduler logic implementation could return the same task leading to a loop where the yielded task gets to run back, so add hook point in do_sched_yield() for vendor can do some work before task is scheduled. Bug: 205804537 Change-Id: I6528c3f4b0ee360559ef9c97cb1eb2b2d1357870 Signed-off-by: Tengfei Fan --- android/abi_gki_aarch64.xml | 8 ++++++++ android/abi_gki_aarch64_qcom | 2 ++ drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/sched/core.c | 2 ++ 5 files changed, 17 insertions(+) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index dc0b6e34ebff..13fc6e4a3c82 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -280,6 +280,7 @@ + @@ -5680,6 +5681,7 @@ + @@ -114561,6 +114563,11 @@ + + + + + @@ -116568,6 +116575,7 @@ + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index c2a299356d27..9680a3058076 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -2501,6 +2501,7 @@ __traceiter_android_rvh_cpu_cgroup_online __traceiter_android_rvh_cpufreq_transition __traceiter_android_rvh_dequeue_task + __traceiter_android_rvh_do_sched_yield __traceiter_android_rvh_enqueue_task __traceiter_android_rvh_find_busiest_queue __traceiter_android_rvh_find_lowest_rq @@ -2612,6 +2613,7 @@ __tracepoint_android_rvh_cpu_cgroup_online __tracepoint_android_rvh_cpufreq_transition __tracepoint_android_rvh_dequeue_task + __tracepoint_android_rvh_do_sched_yield __tracepoint_android_rvh_enqueue_task __tracepoint_android_rvh_find_busiest_queue __tracepoint_android_rvh_find_lowest_rq diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 9d2a765b164d..17f42e726b55 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -239,6 +239,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_create_worker); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wait_for_work); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sync_txn_recvd); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 78f57b106e6c..0844244c9aff 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -291,6 +291,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_replace_next_task_fair, bool simple, struct task_struct *prev), TP_ARGS(rq, p, se, repick, simple, prev), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_do_sched_yield, + TP_PROTO(struct rq *rq), + TP_ARGS(rq), 1); + DECLARE_RESTRICTED_HOOK(android_rvh_util_est_update, TP_PROTO(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep, int *ret), TP_ARGS(cfs_rq, p, task_sleep, ret), 1); diff --git a/kernel/sched/core.c b/kernel/sched/core.c index b519f3a561a0..a7b56e61067d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6343,6 +6343,8 @@ static void do_sched_yield(void) schedstat_inc(rq->yld_count); current->sched_class->yield_task(rq); + trace_android_rvh_do_sched_yield(rq); + preempt_disable(); rq_unlock_irq(rq, &rf); sched_preempt_enable_no_resched(); From 903e97a0ca6dd849a250d7fbbcbbb6e343aeb8b5 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 18 Nov 2021 16:09:09 -0800 Subject: [PATCH 04/28] ANDROID: fips140: refactor evaluation testing support It turns out that we have to add more code to the module to support lab evaluation testing, beyond the error injection support we currently have. Therefore, rename CONFIG_CRYPTO_FIPS140_MOD_ERROR_INJECTION to CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING, and move the relevant code into a new file fips140-eval-testing.c which is conditionally compiled. Also rename the "broken_alg" module parameter to "fail_selftest" so that it is similar to "fail_integrity_check" which we'll be adding. Bug: 188620248 Change-Id: I01bcbf7525690e277854ba4ed8dd89e7cd08d98e Signed-off-by: Eric Biggers --- crypto/Kconfig | 12 ++++++------ crypto/Makefile | 3 +++ crypto/fips140-eval-testing.c | 31 +++++++++++++++++++++++++++++++ crypto/fips140-module.c | 12 +++--------- crypto/fips140-module.h | 23 +++++++++++++++++------ crypto/fips140-selftests.c | 6 +----- 6 files changed, 61 insertions(+), 26 deletions(-) create mode 100644 crypto/fips140-eval-testing.c diff --git a/crypto/Kconfig b/crypto/Kconfig index d726b1c3a7f8..fa1617a05578 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -53,14 +53,14 @@ config CRYPTO_FIPS140_MOD meet FIPS 140 and NIAP FPT_TST_EXT.1 requirements. It shouldn't be used if you don't need to meet these requirements. -config CRYPTO_FIPS140_MOD_ERROR_INJECTION - bool "Support injecting failures into the FIPS 140 self-tests" +config CRYPTO_FIPS140_MOD_EVAL_TESTING + bool "Enable evaluation testing features in FIPS 140 module" depends on CRYPTO_FIPS140_MOD help - This option adds a module parameter "broken_alg" to the fips140 module - which can be used to fail the self-tests for a particular algorithm, - causing a kernel panic. This option is for FIPS lab testing only, and - it shouldn't be enabled on production systems. + This option adds some features to the FIPS 140 module which are needed + for lab evaluation testing of the module, e.g. support for injecting + errors and support for a userspace interface to some of the module's + services. This option should not be enabled in production builds. config CRYPTO_ALGAPI tristate diff --git a/crypto/Makefile b/crypto/Makefile index 9ada957d4cbd..f8a3677d2eec 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -239,11 +239,14 @@ fips140-objs := \ fips140-refs.o \ fips140-selftests.o \ crypto-fips.a +fips140-$(CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING) += \ + fips140-eval-testing.o obj-m += fips140.o CFLAGS_fips140-alg-registration.o += $(FIPS140_CFLAGS) CFLAGS_fips140-module.o += $(FIPS140_CFLAGS) CFLAGS_fips140-selftests.o += $(FIPS140_CFLAGS) +CFLAGS_fips140-eval-testing.o += $(FIPS140_CFLAGS) hostprogs-always-y := fips140_gen_hmac HOSTLDLIBS_fips140_gen_hmac := -lcrypto -lelf diff --git a/crypto/fips140-eval-testing.c b/crypto/fips140-eval-testing.c new file mode 100644 index 000000000000..fbcd4cc633d5 --- /dev/null +++ b/crypto/fips140-eval-testing.c @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2021 Google LLC + * + * This file can optionally be built into fips140.ko in order to support certain + * types of testing that the FIPS lab has to do to evaluate the module. It + * should not be included in production builds of the module. + */ + +#include + +#include "fips140-module.h" + +/* + * This option allows deliberately failing the self-tests for a particular + * algorithm. + */ +static char *fips140_fail_selftest; +module_param_named(fail_selftest, fips140_fail_selftest, charp, 0); + +/* Inject a self-test failure (via corrupting the result) if requested. */ +void fips140_inject_selftest_failure(const char *impl, u8 *result) +{ + if (fips140_fail_selftest && strcmp(impl, fips140_fail_selftest) == 0) + result[0] ^= 0xff; +} + +bool fips140_eval_testing_init(void) +{ + return true; +} diff --git a/crypto/fips140-module.c b/crypto/fips140-module.c index 5e42891fbd0d..4ebcf12a8b2a 100644 --- a/crypto/fips140-module.c +++ b/crypto/fips140-module.c @@ -29,15 +29,6 @@ #include "fips140-module.h" #include "internal.h" -/* - * This option allows deliberately failing the self-tests for a particular - * algorithm. This is for FIPS lab testing only. - */ -#ifdef CONFIG_CRYPTO_FIPS140_MOD_ERROR_INJECTION -char *fips140_broken_alg; -module_param_named(broken_alg, fips140_broken_alg, charp, 0); -#endif - /* * FIPS 140-2 prefers the use of HMAC with a public key over a plain hash. */ @@ -545,6 +536,9 @@ fips140_init(void) if (!update_fips140_library_routines()) goto panic; + if (!fips140_eval_testing_init()) + goto panic; + pr_info("module successfully loaded\n"); return 0; diff --git a/crypto/fips140-module.h b/crypto/fips140-module.h index b83547726a0f..92e2ff1ffbca 100644 --- a/crypto/fips140-module.h +++ b/crypto/fips140-module.h @@ -20,16 +20,27 @@ #define FIPS140_MODULE_NAME "Android Kernel Cryptographic Module" #define FIPS140_MODULE_VERSION UTS_RELEASE -#ifdef CONFIG_CRYPTO_FIPS140_MOD_ERROR_INJECTION -extern char *fips140_broken_alg; -#endif +/* fips140-eval-testing.c */ +#ifdef CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING +void fips140_inject_selftest_failure(const char *impl, u8 *result); +bool fips140_eval_testing_init(void); +#else +static inline void fips140_inject_selftest_failure(const char *impl, u8 *result) +{ +} +static inline bool fips140_eval_testing_init(void) +{ + return true; +} +#endif /* !CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING */ +/* fips140-module.c */ extern struct completion fips140_tests_done; extern struct task_struct *fips140_init_thread; - -bool __init __must_check fips140_run_selftests(void); - bool fips140_is_approved_service(const char *name); const char *fips140_module_version(void); +/* fips140-selftests.c */ +bool __init __must_check fips140_run_selftests(void); + #endif /* _CRYPTO_FIPS140_MODULE_H */ diff --git a/crypto/fips140-selftests.c b/crypto/fips140-selftests.c index 0ab388a9f213..56c503cacc41 100644 --- a/crypto/fips140-selftests.c +++ b/crypto/fips140-selftests.c @@ -146,11 +146,7 @@ static int __init __must_check fips_check_result(u8 *result, const u8 *expected_result, size_t result_size, const char *impl, const char *operation) { -#ifdef CONFIG_CRYPTO_FIPS140_MOD_ERROR_INJECTION - /* Inject a failure (via corrupting the result) if requested. */ - if (fips140_broken_alg && strcmp(impl, fips140_broken_alg) == 0) - result[0] ^= 0xff; -#endif + fips140_inject_selftest_failure(impl, result); if (memcmp(result, expected_result, result_size) != 0) { pr_err("wrong result from %s %s\n", impl, operation); return -EBADMSG; From 97fb2104fe2280a53875faed76f76140ccc7923f Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 18 Nov 2021 16:09:10 -0800 Subject: [PATCH 05/28] ANDROID: fips140: add support for injecting integrity error The lab is required to test injecting an integrity error, so add a module parameter fail_integrity_check=1 which does this. This parameter is only supported when CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING=y. Bug: 188620248 Change-Id: I1f3683837706dc1df2755ca5b6e88f21f7956135 Signed-off-by: Eric Biggers --- crypto/fips140-eval-testing.c | 11 +++++++++++ crypto/fips140-module.c | 2 ++ crypto/fips140-module.h | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/crypto/fips140-eval-testing.c b/crypto/fips140-eval-testing.c index fbcd4cc633d5..ef8edd0d1302 100644 --- a/crypto/fips140-eval-testing.c +++ b/crypto/fips140-eval-testing.c @@ -18,6 +18,10 @@ static char *fips140_fail_selftest; module_param_named(fail_selftest, fips140_fail_selftest, charp, 0); +/* This option allows deliberately failing the integrity check. */ +static bool fips140_fail_integrity_check; +module_param_named(fail_integrity_check, fips140_fail_integrity_check, bool, 0); + /* Inject a self-test failure (via corrupting the result) if requested. */ void fips140_inject_selftest_failure(const char *impl, u8 *result) { @@ -25,6 +29,13 @@ void fips140_inject_selftest_failure(const char *impl, u8 *result) result[0] ^= 0xff; } +/* Inject an integrity check failure (via corrupting the text) if requested. */ +void fips140_inject_integrity_failure(u8 *textcopy) +{ + if (fips140_fail_integrity_check) + textcopy[0] ^= 0xff; +} + bool fips140_eval_testing_init(void) { return true; diff --git a/crypto/fips140-module.c b/crypto/fips140-module.c index 4ebcf12a8b2a..cd854fe28845 100644 --- a/crypto/fips140-module.c +++ b/crypto/fips140-module.c @@ -388,6 +388,8 @@ static bool __init check_fips140_module_hmac(void) offset_to_ptr(&fips140_rela_rodata.offset), fips140_rela_rodata.count); + fips140_inject_integrity_failure(textcopy); + tfm = crypto_alloc_shash("hmac(sha256)", 0, 0); if (IS_ERR(tfm)) { pr_err("failed to allocate hmac tfm (%ld)\n", PTR_ERR(tfm)); diff --git a/crypto/fips140-module.h b/crypto/fips140-module.h index 92e2ff1ffbca..a2a63194eb64 100644 --- a/crypto/fips140-module.h +++ b/crypto/fips140-module.h @@ -23,11 +23,15 @@ /* fips140-eval-testing.c */ #ifdef CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING void fips140_inject_selftest_failure(const char *impl, u8 *result); +void fips140_inject_integrity_failure(u8 *textcopy); bool fips140_eval_testing_init(void); #else static inline void fips140_inject_selftest_failure(const char *impl, u8 *result) { } +static inline void fips140_inject_integrity_failure(u8 *textcopy) +{ +} static inline bool fips140_eval_testing_init(void) { return true; From 109f31ac23f5fc4fa3517bfc1cd005eccf93193b Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 18 Nov 2021 16:09:11 -0800 Subject: [PATCH 06/28] ANDROID: fips140: add userspace interface for evaluation testing The FIPS lab is required to test the service indicators and version information services of the module, i.e. the fips140_is_approved_service() and fips140_module_version() functions. There are several ways we could support this: - Implement the tests in the module ourselves. However it's unclear that CMVP would allow this, and we would need the full list of tests, which could change over time depending on what the lab decides to do. - Support the lab writing, building, and loading a custom kernel module (or a custom kernel image) that tests these functions. - Provide a userspace interface to these services, restricted to builds with CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING=y. This would allow writing the tests in userspace, which would be much easier. Implement the last solution, since it's the easier of the two solutions that are "guaranteed" to be allowed. Make the module register a char device which supports some ioctls, one per function that needs to be tested. Also provide some sample userspace code in samples/crypto/. Note: copy_to_user() would break the integrity check, so take some care to exclude it. This is allowed since this is non-production code. Bug: 188620248 Change-Id: Ic256d9c5bd4d0c57ede88a3e3e76e89554909b38 Signed-off-by: Eric Biggers --- crypto/fips140-eval-testing-uapi.h | 30 +++++ crypto/fips140-eval-testing.c | 87 ++++++++++++++ samples/crypto/fips140_lab_test.c | 187 +++++++++++++++++++++++++++++ scripts/module.lds.S | 1 + 4 files changed, 305 insertions(+) create mode 100644 crypto/fips140-eval-testing-uapi.h create mode 100644 samples/crypto/fips140_lab_test.c diff --git a/crypto/fips140-eval-testing-uapi.h b/crypto/fips140-eval-testing-uapi.h new file mode 100644 index 000000000000..04e6cf633594 --- /dev/null +++ b/crypto/fips140-eval-testing-uapi.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef _CRYPTO_FIPS140_EVAL_TESTING_H +#define _CRYPTO_FIPS140_EVAL_TESTING_H + +#include + +/* + * This header defines the ioctls that are available on the fips140 character + * device. These ioctls expose some of the module's services to userspace so + * that they can be tested by the FIPS certification lab; this is a required + * part of getting a FIPS 140 certification. These ioctls do not have any other + * purpose, and they do not need to be present in production builds. + */ + +/* + * Call the fips140_is_approved_service() function. The argument must be the + * service name as a NUL-terminated string. The return value will be 1 if + * fips140_is_approved_service() returned true, or 0 if it returned false. + */ +#define FIPS140_IOCTL_IS_APPROVED_SERVICE _IO('F', 0) + +/* + * Call the fips140_module_version() function. The argument must be a pointer + * to a buffer of size >= 256 chars. The NUL-terminated string returned by + * fips140_module_version() will be written to this buffer. + */ +#define FIPS140_IOCTL_MODULE_VERSION _IOR('F', 1, char[256]) + +#endif /* _CRYPTO_FIPS140_EVAL_TESTING_H */ diff --git a/crypto/fips140-eval-testing.c b/crypto/fips140-eval-testing.c index ef8edd0d1302..ea3cd653983a 100644 --- a/crypto/fips140-eval-testing.c +++ b/crypto/fips140-eval-testing.c @@ -7,9 +7,26 @@ * should not be included in production builds of the module. */ +/* + * We have to redefine inline to mean always_inline, so that _copy_to_user() + * gets inlined. This is needed for it to be placed into the correct section. + * See fips140_copy_to_user(). + * + * We also need to undefine BUILD_FIPS140_KO to allow the use of the code + * patching which copy_to_user() requires. + */ +#undef inline +#define inline inline __attribute__((__always_inline__)) __gnu_inline \ + __inline_maybe_unused notrace +#undef BUILD_FIPS140_KO + +#include +#include #include +#include #include "fips140-module.h" +#include "fips140-eval-testing-uapi.h" /* * This option allows deliberately failing the self-tests for a particular @@ -22,6 +39,9 @@ module_param_named(fail_selftest, fips140_fail_selftest, charp, 0); static bool fips140_fail_integrity_check; module_param_named(fail_integrity_check, fips140_fail_integrity_check, bool, 0); +static dev_t fips140_devnum; +static struct cdev fips140_cdev; + /* Inject a self-test failure (via corrupting the result) if requested. */ void fips140_inject_selftest_failure(const char *impl, u8 *result) { @@ -36,7 +56,74 @@ void fips140_inject_integrity_failure(u8 *textcopy) textcopy[0] ^= 0xff; } +static long fips140_ioctl_is_approved_service(unsigned long arg) +{ + const char *service_name = strndup_user((const char __user *)arg, 256); + long ret; + + if (IS_ERR(service_name)) + return PTR_ERR(service_name); + + ret = fips140_is_approved_service(service_name); + + kfree(service_name); + return ret; +} + +/* + * Code in fips140.ko is covered by an integrity check by default, and this + * check breaks if copy_to_user() is called. This is because copy_to_user() is + * an inline function that relies on code patching. However, since this is + * "evaluation testing" code which isn't included in the production builds of + * fips140.ko, it's acceptable to just exclude it from the integrity check. + */ +static noinline unsigned long __section("text.._fips140_unchecked") +fips140_copy_to_user(void __user *to, const void *from, unsigned long n) +{ + return copy_to_user(to, from, n); +} + +static long fips140_ioctl_module_version(unsigned long arg) +{ + const char *version = fips140_module_version(); + size_t len = strlen(version) + 1; + + if (len > 256) + return -EOVERFLOW; + + if (fips140_copy_to_user((void __user *)arg, version, len)) + return -EFAULT; + + return 0; +} + +static long fips140_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + switch (cmd) { + case FIPS140_IOCTL_IS_APPROVED_SERVICE: + return fips140_ioctl_is_approved_service(arg); + case FIPS140_IOCTL_MODULE_VERSION: + return fips140_ioctl_module_version(arg); + default: + return -ENOTTY; + } +} + +static const struct file_operations fips140_fops = { + .unlocked_ioctl = fips140_ioctl, +}; + bool fips140_eval_testing_init(void) { + if (alloc_chrdev_region(&fips140_devnum, 1, 1, "fips140") != 0) { + pr_err("failed to allocate device number\n"); + return false; + } + cdev_init(&fips140_cdev, &fips140_fops); + if (cdev_add(&fips140_cdev, fips140_devnum, 1) != 0) { + pr_err("failed to add fips140 character device\n"); + return false; + } return true; } diff --git a/samples/crypto/fips140_lab_test.c b/samples/crypto/fips140_lab_test.c new file mode 100644 index 000000000000..dd2324b8f84a --- /dev/null +++ b/samples/crypto/fips140_lab_test.c @@ -0,0 +1,187 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2021 Google LLC + * + * This is a sample program which calls some ioctls on /dev/fips140 and prints + * the results. The purpose of this program is to allow the FIPS certification + * lab to test some services of fips140.ko, which they are required to do. This + * is a sample program only, and it can be modified by the lab as needed. This + * program must be run as root, and it only works if the system has loaded a + * build of fips140.ko with evaluation testing support enabled. + * + * This program can be compiled and run on an Android device as follows: + * + * NDK_DIR=$HOME/android-ndk-r23b # adjust directory path as needed + * $NDK_DIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang \ + * fips140_lab_test.c -O2 -Wall -o fips140_lab_test + * adb push fips140_lab_test /data/local/tmp/ + * adb root + * adb shell /data/local/tmp/fips140_lab_test + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../crypto/fips140-eval-testing-uapi.h" + +static int fips140_dev_fd = -1; + +#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0])) + +static const char *booltostr(bool b) +{ + return b ? "true" : "false"; +} + +static void __attribute__((noreturn)) +do_die(const char *format, va_list va, int err) +{ + fputs("ERROR: ", stderr); + vfprintf(stderr, format, va); + if (err) + fprintf(stderr, ": %s", strerror(err)); + putc('\n', stderr); + exit(1); +} + +static void __attribute__((noreturn, format(printf, 1, 2))) +die_errno(const char *format, ...) +{ + va_list va; + + va_start(va, format); + do_die(format, va, errno); + va_end(va); +} + +static void __attribute__((noreturn, format(printf, 1, 2))) +die(const char *format, ...) +{ + va_list va; + + va_start(va, format); + do_die(format, va, 0); + va_end(va); +} + +static int get_fips140_device_number(void) +{ + FILE *f; + char line[128]; + int number; + char name[32]; + + f = fopen("/proc/devices", "r"); + if (!f) + die_errno("failed to open /proc/devices"); + while (fgets(line, sizeof(line), f)) { + if (sscanf(line, "%d %31s", &number, name) == 2 && + strcmp(name, "fips140") == 0) + return number; + } + fclose(f); + die("fips140 device node is unavailable.\n" +"The fips140 device node is only available when the fips140 module is loaded\n" +"and has been built with evaluation testing support."); +} + +static void create_fips140_node_if_needed(void) +{ + struct stat stbuf; + int major; + + if (stat("/dev/fips140", &stbuf) == 0) + return; + + major = get_fips140_device_number(); + if (mknod("/dev/fips140", S_IFCHR | 0600, makedev(major, 1)) != 0) + die_errno("failed to create fips140 device node"); +} + +static bool fips140_is_approved_service(const char *name) +{ + int ret = ioctl(fips140_dev_fd, FIPS140_IOCTL_IS_APPROVED_SERVICE, name); + + if (ret < 0) + die_errno("FIPS140_IOCTL_IS_APPROVED_SERVICE unexpectedly failed"); + if (ret == 1) + return true; + if (ret == 0) + return false; + die("FIPS140_IOCTL_IS_APPROVED_SERVICE returned unexpected value %d", + ret); +} + +static const char *fips140_module_version(void) +{ + char buf[256]; + char *str; + int ret = ioctl(fips140_dev_fd, FIPS140_IOCTL_MODULE_VERSION, buf); + + if (ret < 0) + die_errno("FIPS140_IOCTL_MODULE_VERSION unexpectedly failed"); + if (ret != 0) + die("FIPS140_IOCTL_MODULE_VERSION returned unexpected value %d", ret); + str = strdup(buf); + if (!str) + die("out of memory"); + return str; +} + +static const char * const services_to_check[] = { + "aes", + "cbc(aes)", + "cbcmac(aes)", + "cmac(aes)", + "ctr(aes)", + "cts(cbc(aes))", + "ecb(aes)", + "essiv(cbc(aes),sha256)", + "gcm(aes)", + "hmac(sha1)", + "hmac(sha224)", + "hmac(sha256)", + "hmac(sha384)", + "hmac(sha512)", + "jitterentropy_rng", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "stdrng", + "xcbc(aes)", + "xts(aes)", +}; + +int main(void) +{ + size_t i; + + if (getuid() != 0) + die("This program requires root. Run 'adb root' first."); + + create_fips140_node_if_needed(); + + fips140_dev_fd = open("/dev/fips140", O_RDONLY); + if (fips140_dev_fd < 0) + die_errno("failed to open /dev/fips140"); + + printf("fips140_module_version() => \"%s\"\n", fips140_module_version()); + for (i = 0; i < ARRAY_SIZE(services_to_check); i++) { + const char *service = services_to_check[i]; + + printf("fips140_is_approved_service(\"%s\") => %s\n", service, + booltostr(fips140_is_approved_service(service))); + } + return 0; +} diff --git a/scripts/module.lds.S b/scripts/module.lds.S index 8b9dcec11d1e..6cca5d88744e 100644 --- a/scripts/module.lds.S +++ b/scripts/module.lds.S @@ -71,6 +71,7 @@ SECTIONS { *(.text..L.cfi.jumptable .text..L.cfi.jumptable.*) __cfi_jt_end = .; *(.text.._end) + *(.text.._fips140_unchecked) } #endif } From f8f6c7332b951a9043c5126fe580c01657879003 Mon Sep 17 00:00:00 2001 From: Liangliang Li Date: Mon, 22 Nov 2021 10:37:56 +0800 Subject: [PATCH 07/28] ANDROID: GKI: Add newly added vendor hook to abi symbol list Leaf changes summary: 2 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable 1 Added function: [A] 'function int __traceiter_android_rvh_binder_transaction(void*, binder_proc*, binder_proc*, binder_thread*, binder_transaction_data*)' 1 Added variable: [A] 'tracepoint __tracepoint_android_rvh_binder_transaction' Bug: 207255096 Change-Id: Ic312438f4e45b46283ac405333d6969862710f09 Signed-off-by: Liangliang Li Signed-off-by: Giuliano Procida --- android/abi_gki_aarch64.xml | 10786 +++++++++++++++++---------------- android/abi_gki_aarch64_vivo | 2 + 2 files changed, 5489 insertions(+), 5299 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 13fc6e4a3c82..30327dce6ff0 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -264,6 +264,7 @@ + @@ -5664,6 +5665,7 @@ + @@ -8642,9 +8644,9 @@ - - - + + + @@ -8657,6 +8659,7 @@ + @@ -8738,6 +8741,7 @@ + @@ -11599,7 +11603,6 @@ - @@ -12006,8 +12009,8 @@ - - + + @@ -12640,23 +12643,7 @@ - - - - - - - - - - - - - - - - - + @@ -13303,7 +13290,6 @@ - @@ -14853,6 +14839,12 @@ + + + + + + @@ -15347,9 +15339,6 @@ - - - @@ -15549,29 +15538,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -16926,8 +16893,8 @@ - - + + @@ -18455,6 +18422,7 @@ + @@ -18828,7 +18796,11 @@ - + + + + + @@ -19783,6 +19755,7 @@ + @@ -19980,6 +19953,7 @@ + @@ -20417,6 +20391,14 @@ + + + + + + + + @@ -20767,7 +20749,7 @@ - + @@ -21481,7 +21463,6 @@ - @@ -22222,11 +22203,6 @@ - - - - - @@ -24396,7 +24372,7 @@ - + @@ -24621,7 +24597,6 @@ - @@ -24926,23 +24901,7 @@ - - - - - - - - - - - - - - - - - + @@ -25604,7 +25563,7 @@ - + @@ -25760,7 +25719,7 @@ - + @@ -25981,6 +25940,7 @@ + @@ -26058,7 +26018,7 @@ - + @@ -26115,7 +26075,6 @@ - @@ -26469,7 +26428,6 @@ - @@ -27100,7 +27058,7 @@ - + @@ -28035,6 +27993,7 @@ + @@ -31780,9 +31739,9 @@ - - - + + + @@ -32656,6 +32615,7 @@ + @@ -32910,68 +32870,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -33476,6 +33375,7 @@ + @@ -33890,7 +33790,6 @@ - @@ -34089,7 +33988,7 @@ - + @@ -37636,6 +37535,7 @@ + @@ -38425,8 +38325,8 @@ - - + + @@ -39398,6 +39298,17 @@ + + + + + + + + + + + @@ -39677,9 +39588,9 @@ - - - + + + @@ -40186,7 +40097,6 @@ - @@ -41144,6 +41054,7 @@ + @@ -43645,7 +43556,15 @@ + + + + + + + + @@ -43982,7 +43901,18 @@ - + + + + + + + + + + + + @@ -44078,12 +44008,12 @@ - - - - - - + + + + + + @@ -44188,6 +44118,7 @@ + @@ -44968,21 +44899,21 @@ - + - + - + - + - + - + @@ -45428,6 +45359,7 @@ + @@ -47078,8 +47010,8 @@ - - + + @@ -47425,35 +47357,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -48014,14 +47918,7 @@ - - - - - - - - + @@ -48667,6 +48564,11 @@ + + + + + @@ -49072,7 +48974,7 @@ - + @@ -49198,11 +49100,6 @@ - - - - - @@ -49656,7 +49553,56 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -49997,7 +49943,6 @@ - @@ -50933,7 +50878,7 @@ - + @@ -51778,8 +51723,26 @@ + + + + + + + + + + + + + + + + + + @@ -52038,6 +52001,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -52175,6 +52158,7 @@ + @@ -52225,7 +52209,6 @@ - @@ -52815,23 +52798,7 @@ - - - - - - - - - - - - - - - - - + @@ -53193,6 +53160,7 @@ + @@ -54123,9 +54091,9 @@ - - - + + + @@ -54845,7 +54813,6 @@ - @@ -55430,7 +55397,7 @@ - + @@ -55895,7 +55862,7 @@ - + @@ -56761,6 +56728,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -56969,7 +56956,6 @@ - @@ -58106,6 +58092,7 @@ + @@ -58568,6 +58555,11 @@ + + + + + @@ -59792,7 +59784,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -60982,7 +61011,65 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -61759,6 +61846,7 @@ + @@ -62708,17 +62796,7 @@ - - - - - - - - - - - + @@ -63784,7 +63862,7 @@ - + @@ -64278,10 +64356,10 @@ - - - - + + + + @@ -64331,12 +64409,6 @@ - - - - - - @@ -64596,7 +64668,6 @@ - @@ -64920,7 +64991,47 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -65515,6 +65626,11 @@ + + + + + @@ -66541,6 +66657,11 @@ + + + + + @@ -67001,7 +67122,7 @@ - + @@ -68865,6 +68986,7 @@ + @@ -69061,7 +69183,6 @@ - @@ -70670,7 +70791,14 @@ - + + + + + + + + @@ -70804,6 +70932,14 @@ + + + + + + + + @@ -71492,8 +71628,8 @@ - - + + @@ -71612,6 +71748,7 @@ + @@ -72298,8 +72435,8 @@ - - + + @@ -72371,7 +72508,6 @@ - @@ -72836,7 +72972,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -72947,7 +73114,7 @@ - + @@ -75635,6 +75802,7 @@ + @@ -77042,11 +77210,11 @@ - + - + @@ -78099,12 +78267,12 @@ - - - - - - + + + + + + @@ -79390,7 +79558,6 @@ - @@ -79630,6 +79797,7 @@ + @@ -80355,7 +80523,6 @@ - @@ -80943,7 +81110,6 @@ - @@ -81016,9 +81182,6 @@ - - - @@ -81035,6 +81198,11 @@ + + + + + @@ -81057,6 +81225,7 @@ + @@ -81517,7 +81686,7 @@ - + @@ -81593,6 +81762,14 @@ + + + + + + + + @@ -84671,7 +84848,6 @@ - @@ -85290,7 +85466,7 @@ - + @@ -85971,9 +86147,9 @@ - - - + + + @@ -86442,7 +86618,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -86467,7 +86662,7 @@ - + @@ -86492,7 +86687,6 @@ - @@ -86531,7 +86725,6 @@ - @@ -87944,7 +88137,7 @@ - + @@ -88575,8 +88768,8 @@ - - + + @@ -89645,6 +89838,7 @@ + @@ -89805,14 +89999,6 @@ - - - - - - - - @@ -90247,20 +90433,7 @@ - - - - - - - - - - - - - - + @@ -90817,7 +90990,7 @@ - + @@ -90992,7 +91165,7 @@ - + @@ -91287,7 +91460,6 @@ - @@ -91423,12 +91595,12 @@ - + - + @@ -92994,6 +93166,7 @@ + @@ -93506,6 +93679,17 @@ + + + + + + + + + + + @@ -94268,7 +94452,7 @@ - + @@ -94780,7 +94964,7 @@ - + @@ -94826,7 +95010,7 @@ - + @@ -95264,7 +95448,7 @@ - + @@ -95970,6 +96154,9 @@ + + + @@ -97209,7 +97396,6 @@ - @@ -97485,8 +97671,8 @@ - - + + @@ -97695,8 +97881,8 @@ - - + + @@ -98851,7 +99037,6 @@ - @@ -99827,14 +100012,7 @@ - - - - - - - - + @@ -101317,10 +101495,10 @@ - - - + + + @@ -101344,7 +101522,7 @@ - + @@ -101485,8 +101663,8 @@ - - + + @@ -102086,6 +102264,7 @@ + @@ -102354,7 +102533,6 @@ - @@ -102880,20 +103058,7 @@ - - - - - - - - - - - - - - + @@ -102952,9 +103117,6 @@ - - - @@ -106362,7 +106524,6 @@ - @@ -106377,6 +106538,20 @@ + + + + + + + + + + + + + + @@ -106711,7 +106886,6 @@ - @@ -110636,6 +110810,11 @@ + + + + + @@ -110962,7 +111141,6 @@ - @@ -112718,6 +112896,7 @@ + @@ -112802,6 +112981,7 @@ + @@ -112920,8 +113100,8 @@ - - + + @@ -113458,7 +113638,6 @@ - @@ -114451,6 +114630,14 @@ + + + + + + + + @@ -115109,31 +115296,31 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - - + + + + + + @@ -115142,14 +115329,14 @@ - - - - - - - - + + + + + + + + @@ -116558,6 +116745,7 @@ + @@ -116666,12 +116854,12 @@ - - - - + + + + - + @@ -117100,9 +117288,9 @@ - - - + + + @@ -117113,33 +117301,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -117149,27 +117337,27 @@ - - - + + + - - - + + + - - - + + + - - - + + + @@ -117179,8 +117367,8 @@ - - + + @@ -117199,8 +117387,8 @@ - - + + @@ -117216,57 +117404,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -117277,16 +117465,16 @@ - - + + - - + + @@ -117310,12 +117498,12 @@ - - - - - - + + + + + + @@ -117332,9 +117520,9 @@ - - - + + + @@ -117350,33 +117538,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -117389,22 +117577,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -117483,13 +117671,13 @@ - - - - - - - + + + + + + + @@ -117498,29 +117686,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -117562,11 +117750,11 @@ - - - - - + + + + + @@ -117586,14 +117774,14 @@ - - + + - - - - + + + + @@ -117616,15 +117804,15 @@ - - - - + + + + - - - + + + @@ -117632,11 +117820,11 @@ - - - - - + + + + + @@ -117687,21 +117875,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -117742,18 +117930,18 @@ - - + + - - - + + + - - - + + + @@ -117786,17 +117974,17 @@ - - - - + + + + - - - - - + + + + + @@ -117807,53 +117995,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -117861,9 +118049,9 @@ - - - + + + @@ -117872,49 +118060,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -117924,10 +118112,10 @@ - - - - + + + + @@ -117971,17 +118159,17 @@ - - + + - - + + - - - + + + @@ -118016,10 +118204,10 @@ - - - - + + + + @@ -118051,13 +118239,13 @@ - - - + + + - - + + @@ -118088,8 +118276,8 @@ - - + + @@ -118098,8 +118286,8 @@ - - + + @@ -118121,8 +118309,8 @@ - - + + @@ -118169,8 +118357,8 @@ - - + + @@ -118192,10 +118380,10 @@ - - - - + + + + @@ -118231,9 +118419,9 @@ - - - + + + @@ -118377,16 +118565,16 @@ - - + + - - + + @@ -118435,26 +118623,26 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + @@ -118463,31 +118651,31 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -118505,9 +118693,9 @@ - - - + + + @@ -118555,67 +118743,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -118631,16 +118819,16 @@ - - + + - - - - - - + + + + + + @@ -118661,22 +118849,22 @@ - - + + - - + + - - + + - - + + @@ -118693,23 +118881,23 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -118719,8 +118907,8 @@ - - + + @@ -118733,8 +118921,8 @@ - - + + @@ -118804,9 +118992,9 @@ - - - + + + @@ -118845,11 +119033,11 @@ - - - - - + + + + + @@ -118865,19 +119053,19 @@ - - - + + + - - - + + + - - - + + + @@ -118909,9 +119097,9 @@ - - - + + + @@ -119000,14 +119188,14 @@ - - - + + + - - - + + + @@ -119016,65 +119204,65 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -119083,48 +119271,48 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -119135,8 +119323,8 @@ - - + + @@ -119254,8 +119442,8 @@ - - + + @@ -119357,28 +119545,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -119393,11 +119581,11 @@ - - - - - + + + + + @@ -119409,11 +119597,11 @@ - - - - - + + + + + @@ -119432,8 +119620,8 @@ - - + + @@ -119470,10 +119658,10 @@ - - - - + + + + @@ -119511,22 +119699,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -119553,22 +119741,22 @@ - - + + - - - - + + + + - - - + + + @@ -119629,8 +119817,8 @@ - - + + @@ -119661,18 +119849,18 @@ - - + + - - - + + + - - - + + + @@ -119684,8 +119872,8 @@ - - + + @@ -119701,9 +119889,9 @@ - - - + + + @@ -119736,12 +119924,12 @@ - - + + - - + + @@ -119752,23 +119940,23 @@ - - + + - - - + + + - - - - + + + + @@ -119783,9 +119971,9 @@ - - - + + + @@ -119804,8 +119992,8 @@ - - + + @@ -119825,58 +120013,58 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -119919,12 +120107,12 @@ - - + + - - + + @@ -119953,10 +120141,10 @@ - - - - + + + + @@ -120011,42 +120199,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -120089,10 +120277,10 @@ - - - - + + + + @@ -120100,9 +120288,9 @@ - - - + + + @@ -120112,7 +120300,7 @@ - + @@ -120133,8 +120321,8 @@ - - + + @@ -120155,22 +120343,22 @@ - - + + - - - + + + - - - + + + @@ -120220,11 +120408,11 @@ - - - - - + + + + + @@ -120232,44 +120420,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -120290,8 +120478,8 @@ - - + + @@ -120316,18 +120504,18 @@ - - - + + + - - - + + + @@ -120344,9 +120532,9 @@ - - - + + + @@ -120357,11 +120545,11 @@ - - - - - + + + + + @@ -120371,8 +120559,8 @@ - - + + @@ -120388,18 +120576,18 @@ - - + + - - + + - - - - + + + + @@ -120430,12 +120618,12 @@ - - + + - - + + @@ -120444,7 +120632,7 @@ - + @@ -120475,11 +120663,11 @@ - - - - - + + + + + @@ -120489,25 +120677,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120544,11 +120732,11 @@ - - - - - + + + + + @@ -120558,11 +120746,11 @@ - - - - - + + + + + @@ -120594,9 +120782,9 @@ - - - + + + @@ -120607,8 +120795,8 @@ - - + + @@ -120618,9 +120806,9 @@ - - - + + + @@ -120629,11 +120817,11 @@ - - - - - + + + + + @@ -120646,16 +120834,16 @@ - - + + - - + + - - + + @@ -120666,8 +120854,8 @@ - - + + @@ -120709,49 +120897,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -120773,9 +120961,9 @@ - - - + + + @@ -120788,9 +120976,9 @@ - - - + + + @@ -120812,10 +121000,10 @@ - - - - + + + + @@ -120846,15 +121034,15 @@ - - - - + + + + - - - + + + @@ -120874,8 +121062,8 @@ - - + + @@ -120891,8 +121079,8 @@ - - + + @@ -120900,13 +121088,13 @@ - - + + - - - + + + @@ -120917,9 +121105,9 @@ - - - + + + @@ -120936,16 +121124,16 @@ - - + + - - + + @@ -120970,9 +121158,9 @@ - - - + + + @@ -121062,9 +121250,9 @@ - - - + + + @@ -121077,17 +121265,17 @@ - - - - + + + + - - - - + + + + @@ -121095,10 +121283,10 @@ - - - - + + + + @@ -121106,9 +121294,9 @@ - - - + + + @@ -121129,11 +121317,11 @@ - - - - - + + + + + @@ -121205,20 +121393,20 @@ - - + + - - + + - - + + @@ -121231,8 +121419,8 @@ - - + + @@ -121254,12 +121442,12 @@ - - - - - - + + + + + + @@ -121268,40 +121456,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -121336,28 +121524,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -121379,10 +121567,10 @@ - - - - + + + + @@ -121404,11 +121592,11 @@ - - - - - + + + + + @@ -121431,15 +121619,15 @@ - - - + + + - - - - + + + + @@ -121456,14 +121644,14 @@ - - - + + + - - - + + + @@ -121492,22 +121680,22 @@ - - + + - - + + - - - - + + + + @@ -121530,10 +121718,10 @@ - - - - + + + + @@ -121541,15 +121729,15 @@ - - - - + + + + - - - + + + @@ -121656,11 +121844,11 @@ - - - - - + + + + + @@ -121858,29 +122046,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -121890,10 +122078,10 @@ - - - - + + + + @@ -121932,14 +122120,14 @@ - - - - - - - - + + + + + + + + @@ -121952,9 +122140,9 @@ - - - + + + @@ -121987,8 +122175,8 @@ - - + + @@ -122055,14 +122243,14 @@ - - - + + + - - - + + + @@ -122070,10 +122258,10 @@ - - - - + + + + @@ -122118,15 +122306,15 @@ - - - - + + + + - - - + + + @@ -122225,16 +122413,16 @@ - - - + + + - - - - - + + + + + @@ -122284,46 +122472,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -122418,9 +122606,9 @@ - - - + + + @@ -122442,17 +122630,17 @@ - - + + - - - + + + - - + + @@ -122460,15 +122648,15 @@ - - - + + + - - - - + + + + @@ -122479,34 +122667,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -122518,9 +122706,9 @@ - - - + + + @@ -122528,8 +122716,8 @@ - - + + @@ -122540,15 +122728,15 @@ - + - - - - - - + + + + + + @@ -122560,13 +122748,13 @@ - - - - + + + + - - + + @@ -122586,10 +122774,10 @@ - - - - + + + + @@ -122739,46 +122927,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -122911,8 +123099,8 @@ - - + + @@ -122945,16 +123133,16 @@ - - + + - - + + - - + + @@ -122966,8 +123154,8 @@ - - + + @@ -122978,8 +123166,8 @@ - - + + @@ -122999,9 +123187,9 @@ - - - + + + @@ -123011,62 +123199,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -123084,14 +123272,14 @@ - - - + + + - - - + + + @@ -123126,13 +123314,13 @@ - - - - - - - + + + + + + + @@ -123356,62 +123544,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -123427,15 +123615,15 @@ - - + + - - - - - + + + + + @@ -123446,10 +123634,10 @@ - - - - + + + + @@ -123478,8 +123666,8 @@ - - + + @@ -123487,9 +123675,9 @@ - - - + + + @@ -123526,9 +123714,9 @@ - - - + + + @@ -123537,8 +123725,8 @@ - - + + @@ -123546,19 +123734,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -123566,20 +123754,20 @@ - - + + - - + + - - + + - - + + @@ -123592,17 +123780,17 @@ - - + + - - + + - - - + + + @@ -123649,19 +123837,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -123669,17 +123857,17 @@ - - - + + + - - + + @@ -123697,20 +123885,20 @@ - - + + - - + + - - + + @@ -123723,11 +123911,11 @@ - - - - - + + + + + @@ -123738,33 +123926,33 @@ - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -124048,23 +124236,23 @@ - - + + - - - - + + + + - - - + + + @@ -124080,12 +124268,12 @@ - - - - - - + + + + + + @@ -124137,20 +124325,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -124305,10 +124493,10 @@ - - - - + + + + @@ -124358,9 +124546,9 @@ - - - + + + @@ -124489,19 +124677,19 @@ - - - + + + - - - + + + - - - + + + @@ -124602,8 +124790,8 @@ - - + + @@ -124625,9 +124813,9 @@ - - - + + + @@ -124655,8 +124843,8 @@ - - + + @@ -124671,24 +124859,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -124707,9 +124895,9 @@ - - - + + + @@ -124723,18 +124911,18 @@ - - + + - - - + + + - - - + + + @@ -124755,9 +124943,9 @@ - - - + + + @@ -124788,28 +124976,28 @@ - - + + - - + + - - - + + + - - - - + + + + - - - + + + @@ -124820,83 +125008,83 @@ - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -124952,17 +125140,17 @@ - - + + - - + + - - - + + + @@ -124976,20 +125164,20 @@ - - + + - - + + - - + + @@ -125058,9 +125246,9 @@ - - - + + + @@ -125068,44 +125256,44 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + @@ -125115,12 +125303,12 @@ - - - - - - + + + + + + @@ -125131,9 +125319,9 @@ - - - + + + @@ -125141,18 +125329,18 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -125167,30 +125355,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -125226,8 +125414,8 @@ - - + + @@ -125303,20 +125491,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -125325,19 +125513,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -125364,36 +125552,36 @@ - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125632,8 +125820,8 @@ - - + + @@ -125647,13 +125835,13 @@ - - + + - - - + + + @@ -125692,14 +125880,14 @@ - - - + + + - - - + + + @@ -125707,17 +125895,17 @@ - - - - + + + + - - + + @@ -125732,9 +125920,9 @@ - - - + + + @@ -125748,50 +125936,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -125801,15 +125989,15 @@ - - - + + + - - - - + + + + @@ -125842,27 +126030,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -125876,9 +126064,9 @@ - - - + + + @@ -125887,30 +126075,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125926,26 +126114,26 @@ - - + + - - - + + + - - + + - - - + + + @@ -125962,8 +126150,8 @@ - - + + @@ -125978,8 +126166,8 @@ - - + + @@ -126027,18 +126215,18 @@ - - - + + + - - + + - - - + + + @@ -126046,13 +126234,13 @@ - - + + - - - + + + @@ -126060,9 +126248,9 @@ - - - + + + @@ -126120,8 +126308,8 @@ - - + + @@ -126130,9 +126318,9 @@ - - - + + + @@ -126145,8 +126333,8 @@ - - + + @@ -126189,12 +126377,12 @@ - - + + - - + + @@ -126231,35 +126419,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -126271,13 +126459,13 @@ - - - + + + - - + + @@ -126320,33 +126508,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -126367,8 +126555,8 @@ - - + + @@ -126393,10 +126581,10 @@ - - - - + + + + @@ -126406,12 +126594,12 @@ - - + + - - + + @@ -126422,17 +126610,17 @@ - - - - - - - + + + + + + + - - + + @@ -126449,8 +126637,8 @@ - - + + @@ -126476,15 +126664,15 @@ - - + + - - - - - + + + + + @@ -126496,8 +126684,8 @@ - - + + @@ -126523,8 +126711,8 @@ - - + + @@ -126534,20 +126722,20 @@ - - + + - + - - - + + + @@ -126561,41 +126749,41 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -126605,13 +126793,13 @@ - - + + - - - + + + @@ -126625,41 +126813,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -126673,8 +126861,8 @@ - - + + @@ -126686,18 +126874,18 @@ - - + + - - - - + + + + @@ -126721,23 +126909,23 @@ - - - + + + - - - + + + - - - + + + - - + + @@ -126750,9 +126938,9 @@ - - - + + + @@ -126760,29 +126948,29 @@ - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -126815,9 +127003,9 @@ - - - + + + @@ -126826,13 +127014,13 @@ - - + + - - - + + + @@ -126929,8 +127117,8 @@ - - + + @@ -126955,13 +127143,13 @@ - - - + + + - - + + @@ -127006,10 +127194,10 @@ - - + + - + @@ -127024,22 +127212,22 @@ - - - + + + - - - + + + - - + + - - + + @@ -127090,38 +127278,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -127132,9 +127320,9 @@ - - - + + + @@ -127149,26 +127337,26 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -127183,28 +127371,28 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127219,28 +127407,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127262,18 +127450,18 @@ - - + + - - + + - - + + @@ -127296,12 +127484,12 @@ - - + + - - + + @@ -127338,9 +127526,9 @@ - - - + + + @@ -127375,81 +127563,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -127574,12 +127762,12 @@ - - + + - - + + @@ -127622,14 +127810,14 @@ - - + + - - - - + + + + @@ -127650,36 +127838,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -127690,39 +127878,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -127748,14 +127936,14 @@ - - + + - - - - + + + + @@ -127772,8 +127960,8 @@ - - + + @@ -127863,14 +128051,14 @@ - - - - - - - - + + + + + + + + @@ -127880,8 +128068,8 @@ - - + + @@ -127905,9 +128093,9 @@ - - - + + + @@ -127927,18 +128115,18 @@ - - - - + + + + - - - + + + @@ -127946,27 +128134,27 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -127976,8 +128164,8 @@ - - + + @@ -127998,8 +128186,8 @@ - - + + @@ -128014,8 +128202,8 @@ - - + + @@ -128048,20 +128236,20 @@ - - + + - - + + - - + + @@ -128098,12 +128286,12 @@ - - + + - - + + @@ -128111,34 +128299,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -128220,9 +128408,9 @@ - - - + + + @@ -128383,41 +128571,41 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -128425,53 +128613,53 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -128506,8 +128694,8 @@ - - + + @@ -128607,13 +128795,13 @@ - - - + + + - - + + @@ -128624,15 +128812,15 @@ - - - - - - - - - + + + + + + + + + @@ -128668,9 +128856,9 @@ - - - + + + @@ -128696,30 +128884,30 @@ - - - + + + - - - - + + + + - - - - + + + + - - - + + + @@ -128732,10 +128920,10 @@ - - - - + + + + @@ -128743,11 +128931,11 @@ - - - - - + + + + + @@ -128770,10 +128958,10 @@ - - - - + + + + @@ -128786,20 +128974,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -128809,9 +128997,9 @@ - - - + + + @@ -128900,14 +129088,14 @@ - - - + + + - - + + @@ -128989,8 +129177,8 @@ - - + + @@ -129000,66 +129188,66 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + @@ -129079,21 +129267,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -129104,23 +129292,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -129129,10 +129317,10 @@ - - - - + + + + @@ -129164,46 +129352,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -129212,31 +129400,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -129245,23 +129433,23 @@ - - - + + + - - - + + + - - - + + + @@ -129269,34 +129457,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -129306,16 +129494,16 @@ - - - - + + + + - - - - + + + + @@ -129331,10 +129519,10 @@ - - - - + + + + @@ -129344,10 +129532,10 @@ - - - - + + + + @@ -129357,37 +129545,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -129398,9 +129586,9 @@ - - - + + + @@ -129414,11 +129602,11 @@ - - - - - + + + + + @@ -129450,11 +129638,11 @@ - - + + - + @@ -129471,15 +129659,15 @@ - - + + - - + + - - + + @@ -129499,8 +129687,8 @@ - - + + @@ -129510,8 +129698,8 @@ - - + + @@ -129523,8 +129711,8 @@ - - + + @@ -129538,18 +129726,18 @@ - - - + + + - - - - + + + + - - + + @@ -129557,10 +129745,10 @@ - - - - + + + + @@ -129573,14 +129761,14 @@ - - - - + + + + - - + + @@ -129616,18 +129804,18 @@ - - - + + + - - - + + + @@ -129638,8 +129826,8 @@ - - + + @@ -129650,29 +129838,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -129691,11 +129879,11 @@ - - - - - + + + + + @@ -129703,8 +129891,8 @@ - - + + @@ -129722,11 +129910,11 @@ - - - - - + + + + + @@ -129754,21 +129942,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -129781,9 +129969,9 @@ - - - + + + @@ -129794,13 +129982,13 @@ - - + + - - - + + + @@ -129808,50 +129996,50 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -129865,8 +130053,8 @@ - - + + @@ -129942,9 +130130,9 @@ - - - + + + @@ -129982,12 +130170,12 @@ - - + + - - - + + + @@ -129997,17 +130185,17 @@ - - - + + + - - - + + + - + @@ -130020,9 +130208,9 @@ - - - + + + @@ -130102,10 +130290,10 @@ - - - - + + + + @@ -130133,13 +130321,13 @@ - - - - - - - + + + + + + + @@ -130326,12 +130514,12 @@ - - + + - - + + @@ -130343,11 +130531,11 @@ - - - - - + + + + + @@ -130388,8 +130576,8 @@ - - + + @@ -130442,8 +130630,8 @@ - - + + @@ -130455,9 +130643,9 @@ - - - + + + @@ -130468,28 +130656,28 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -130500,9 +130688,9 @@ - - - + + + @@ -130563,8 +130751,8 @@ - - + + @@ -130603,9 +130791,9 @@ - - - + + + @@ -130661,8 +130849,8 @@ - - + + @@ -130715,51 +130903,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -130767,18 +130955,18 @@ - - - - + + + + - - + + @@ -130786,14 +130974,14 @@ - - - - + + + + - - - + + + @@ -130829,17 +131017,17 @@ - - + + - - - + + + @@ -130849,9 +131037,9 @@ - - - + + + @@ -130893,12 +131081,12 @@ - - + + - - + + @@ -130912,67 +131100,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -130980,19 +131168,19 @@ - - + + - - + + - - - - - + + + + + @@ -131003,41 +131191,41 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + @@ -131051,16 +131239,16 @@ - - - - + + + + - - - - + + + + @@ -131081,11 +131269,11 @@ - - - - - + + + + + @@ -131102,24 +131290,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -131154,12 +131342,12 @@ - - + + - - + + @@ -131184,18 +131372,18 @@ - - - + + + - - + + - - - + + + @@ -131219,18 +131407,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -131241,19 +131429,19 @@ - - - - + + + + - - + + - - - + + + @@ -131272,14 +131460,14 @@ - - - + + + - - - + + + @@ -131305,9 +131493,9 @@ - - - + + + @@ -131320,22 +131508,22 @@ - - - - + + + + - - + + - - + + @@ -131349,43 +131537,43 @@ - - + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -131398,9 +131586,9 @@ - - - + + + @@ -131433,14 +131621,14 @@ - - - - + + + + - - + + @@ -131451,44 +131639,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -131522,16 +131710,16 @@ - - - - - - + + + + + + - - - + + + @@ -131539,9 +131727,9 @@ - - - + + + @@ -131585,33 +131773,33 @@ - - - + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + @@ -131636,9 +131824,9 @@ - - - + + + @@ -131654,32 +131842,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -131688,9 +131876,9 @@ - - - + + + @@ -131698,74 +131886,74 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -131777,42 +131965,42 @@ - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -131827,8 +132015,8 @@ - - + + @@ -131848,8 +132036,8 @@ - - + + @@ -131863,61 +132051,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -131935,12 +132123,12 @@ - - - - - - + + + + + + @@ -131951,12 +132139,12 @@ - - - - - - + + + + + + @@ -131971,9 +132159,9 @@ - - - + + + @@ -131986,15 +132174,15 @@ - - + + - - - - - + + + + + @@ -132011,10 +132199,10 @@ - - - - + + + + @@ -132034,10 +132222,10 @@ - - - - + + + + @@ -132071,8 +132259,8 @@ - - + + @@ -132083,8 +132271,8 @@ - - + + @@ -132187,33 +132375,33 @@ - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -132239,8 +132427,8 @@ - - + + @@ -132255,16 +132443,16 @@ - - + + - - + + - - + + @@ -132349,19 +132537,19 @@ - - - + + + - - - + + + - - - + + + @@ -132376,8 +132564,8 @@ - - + + @@ -132408,9 +132596,9 @@ - - - + + + @@ -132440,14 +132628,14 @@ - - - + + + - - - + + + @@ -132460,9 +132648,9 @@ - - - + + + @@ -132470,10 +132658,10 @@ - - - - + + + + @@ -132487,12 +132675,12 @@ - - + + - - + + @@ -132513,9 +132701,9 @@ - - - + + + @@ -132527,9 +132715,9 @@ - - - + + + @@ -132577,8 +132765,8 @@ - - + + @@ -132624,9 +132812,9 @@ - - - + + + @@ -132642,10 +132830,10 @@ - - - - + + + + @@ -132666,10 +132854,10 @@ - - - - + + + + @@ -132702,17 +132890,17 @@ - - + + - - - + + + @@ -132726,40 +132914,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -132781,20 +132969,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -132802,21 +132990,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -132827,7 +133015,7 @@ - + @@ -132846,21 +133034,21 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -132894,8 +133082,8 @@ - - + + @@ -132915,9 +133103,9 @@ - - - + + + @@ -132925,23 +133113,23 @@ - - - + + + - - - + + + - - - + + + @@ -132962,37 +133150,37 @@ - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -133006,11 +133194,11 @@ - - - - - + + + + + @@ -133061,10 +133249,10 @@ - - - - + + + + @@ -133123,24 +133311,24 @@ - - + + - - + + - - + + @@ -133150,11 +133338,11 @@ - - - - - + + + + + @@ -133199,14 +133387,14 @@ - - - - + + + + - - - + + + @@ -133438,8 +133626,8 @@ - - + + @@ -133459,29 +133647,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -133493,14 +133681,14 @@ - - - + + + - - - + + + @@ -133513,16 +133701,16 @@ - - - - + + + + - - - - + + + + @@ -133574,12 +133762,12 @@ - - + + - - + + @@ -133626,24 +133814,24 @@ - - + + - - + + - - + + - - + + @@ -133663,13 +133851,13 @@ - - + + - - - + + + @@ -133683,19 +133871,18 @@ - - - - + + + + - - - - + + + + - @@ -133713,8 +133900,8 @@ - - + + @@ -133729,8 +133916,8 @@ - - + + @@ -133764,8 +133951,8 @@ - - + + @@ -133783,10 +133970,10 @@ - - - - + + + + @@ -133799,54 +133986,54 @@ - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -133855,36 +134042,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -133895,12 +134082,12 @@ - - - - - - + + + + + + @@ -133919,9 +134106,9 @@ - - - + + + @@ -133931,8 +134118,8 @@ - - + + @@ -133946,10 +134133,10 @@ - - - - + + + + @@ -133962,13 +134149,13 @@ - - - + + + - - + + @@ -134021,11 +134208,11 @@ - - - - - + + + + + @@ -134041,20 +134228,20 @@ - - + + - - + + - - + + @@ -134062,24 +134249,24 @@ - - + + - - + + - - + + @@ -134139,8 +134326,8 @@ - - + + @@ -134150,21 +134337,21 @@ - - - - - + + + + + - - - - + + + + @@ -134178,19 +134365,19 @@ - - - + + + - - + + - - - - + + + + @@ -134213,48 +134400,48 @@ - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -134263,7 +134450,7 @@ - + @@ -134303,17 +134490,17 @@ - + - + - - + + @@ -134332,8 +134519,8 @@ - - + + @@ -134360,31 +134547,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -134444,8 +134631,8 @@ - - + + @@ -134486,16 +134673,16 @@ - - + + - - + + - - + + @@ -134506,8 +134693,8 @@ - - + + @@ -134530,12 +134717,12 @@ - - + + - - + + @@ -134551,8 +134738,8 @@ - - + + @@ -134671,10 +134858,10 @@ - - - - + + + + @@ -134683,20 +134870,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -134704,14 +134891,14 @@ - - - + + + - - - + + + @@ -134729,8 +134916,8 @@ - - + + @@ -134742,8 +134929,8 @@ - - + + @@ -134780,8 +134967,8 @@ - - + + @@ -134832,22 +135019,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -134937,8 +135124,8 @@ - - + + @@ -134946,22 +135133,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -134974,9 +135161,9 @@ - - - + + + @@ -134984,9 +135171,9 @@ - - - + + + @@ -135034,13 +135221,13 @@ - - - - - - - + + + + + + + @@ -135048,28 +135235,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -135085,20 +135272,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -135114,8 +135301,8 @@ - - + + @@ -135132,8 +135319,8 @@ - - + + @@ -135146,15 +135333,15 @@ - - - + + + - - - - + + + + @@ -135162,39 +135349,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -135202,30 +135389,30 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -135352,8 +135539,8 @@ - - + + @@ -135472,12 +135659,12 @@ - - + + - - + + @@ -135494,9 +135681,9 @@ - - - + + + @@ -135504,9 +135691,9 @@ - - - + + + @@ -135514,9 +135701,9 @@ - - - + + + @@ -135541,12 +135728,12 @@ - - + + - - + + @@ -135564,10 +135751,10 @@ - - - - + + + + @@ -135584,62 +135771,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -135650,7 +135837,7 @@ - + @@ -135684,10 +135871,10 @@ - - - - + + + + @@ -135729,7 +135916,7 @@ - + @@ -135737,34 +135924,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -135775,10 +135962,10 @@ - - - - + + + + @@ -135788,8 +135975,8 @@ - - + + @@ -135800,8 +135987,8 @@ - - + + @@ -135839,8 +136026,8 @@ - - + + @@ -135878,14 +136065,14 @@ - - - - - + + + + + - - + + @@ -135923,11 +136110,11 @@ - - - - - + + + + + @@ -136071,21 +136258,21 @@ - - + + - - - + + + - - + + - - + + @@ -136119,11 +136306,11 @@ - - - - - + + + + + @@ -136138,21 +136325,21 @@ - - + + - - + + - - + + - - - + + + @@ -136168,11 +136355,11 @@ - - - - - + + + + + @@ -136213,21 +136400,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -136248,26 +136435,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -136276,20 +136463,20 @@ - - - + + + - - - + + + - - - + + + @@ -136299,26 +136486,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -136464,9 +136651,9 @@ - - - + + + @@ -136475,9 +136662,9 @@ - - - + + + @@ -136485,21 +136672,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -136507,15 +136694,15 @@ - - - + + + - - - - + + + + @@ -136527,33 +136714,33 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + @@ -136561,28 +136748,28 @@ - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -136593,13 +136780,13 @@ - - - - - - - + + + + + + + @@ -136631,14 +136818,14 @@ - - + + - - - - + + + + @@ -136646,10 +136833,10 @@ - - - - + + + + @@ -136657,10 +136844,10 @@ - - - - + + + + @@ -136683,10 +136870,10 @@ - - - - + + + + @@ -136702,29 +136889,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -136753,13 +136940,13 @@ - - - - - - - + + + + + + + @@ -136778,10 +136965,10 @@ - - - - + + + + @@ -136798,10 +136985,10 @@ - - - - + + + + @@ -136811,30 +136998,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -136851,13 +137038,13 @@ - - + + - - - + + + @@ -136876,39 +137063,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -136931,55 +137118,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -136989,9 +137176,9 @@ - - - + + + @@ -137001,16 +137188,16 @@ - - - - - + + + + + - - - + + + @@ -137045,15 +137232,15 @@ - - - + + + - - - - + + + + @@ -137066,11 +137253,11 @@ - - - - - + + + + + @@ -137080,16 +137267,16 @@ - - - - - + + + + + - - - + + + @@ -137099,8 +137286,8 @@ - - + + @@ -137112,25 +137299,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -137141,9 +137328,9 @@ - - - + + + @@ -137195,9 +137382,9 @@ - - - + + + @@ -137231,22 +137418,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -137325,13 +137512,13 @@ - - + + - - - + + + @@ -137383,8 +137570,8 @@ - - + + @@ -137400,9 +137587,9 @@ - - - + + + @@ -137412,17 +137599,17 @@ - - - - + + + + - - - - - + + + + + @@ -137439,17 +137626,17 @@ - - + + - - - - - - - + + + + + + + @@ -137458,23 +137645,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -137485,12 +137672,12 @@ - - - - - - + + + + + + @@ -137502,8 +137689,8 @@ - - + + @@ -137515,18 +137702,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -137534,12 +137721,12 @@ - - + + - - + + @@ -137577,9 +137764,9 @@ - - - + + + @@ -137591,8 +137778,8 @@ - - + + @@ -137624,45 +137811,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -137707,9 +137894,9 @@ - - - + + + @@ -137740,10 +137927,10 @@ - - - - + + + + @@ -137835,14 +138022,14 @@ - - - - + + + + - - + + @@ -137860,8 +138047,8 @@ - - + + @@ -138106,9 +138293,9 @@ - - - + + + @@ -138197,9 +138384,9 @@ - - - + + + @@ -138220,13 +138407,13 @@ - - - - - - - + + + + + + + @@ -138238,29 +138425,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -138318,9 +138505,9 @@ - - - + + + @@ -138332,17 +138519,17 @@ - - - - - - + + + + + + - - - + + + @@ -138466,9 +138653,9 @@ - - - + + + @@ -138501,30 +138688,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -138547,9 +138734,9 @@ - - - + + + @@ -138567,8 +138754,8 @@ - - + + @@ -138603,10 +138790,10 @@ - - - - + + + + @@ -138615,21 +138802,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -138637,21 +138824,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -138670,12 +138857,12 @@ - - - + + + - - + + @@ -138690,26 +138877,26 @@ - - + + - - + + - - + + - + - + @@ -138721,12 +138908,12 @@ - - + + - - + + @@ -138741,23 +138928,23 @@ - - + + - - + + - - - + + + - + - + @@ -138776,15 +138963,15 @@ - - - + + + - - - - + + + + @@ -138797,20 +138984,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -138832,9 +139019,9 @@ - - - + + + @@ -138843,10 +139030,10 @@ - - - - + + + + @@ -138854,9 +139041,9 @@ - - - + + + @@ -138864,9 +139051,9 @@ - - - + + + @@ -138875,17 +139062,17 @@ - - - - + + + + - + @@ -138897,8 +139084,8 @@ - - + + @@ -138940,8 +139127,8 @@ - - + + @@ -139034,8 +139221,8 @@ - - + + @@ -139044,8 +139231,8 @@ - - + + @@ -139077,19 +139264,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -139101,9 +139288,9 @@ - - - + + + @@ -139122,14 +139309,14 @@ - - - - + + + + - - + + @@ -139157,9 +139344,9 @@ - - - + + + @@ -139177,6 +139364,7 @@ + @@ -139198,19 +139386,19 @@ - - + + - - - - + + + + - - - + + + @@ -139228,8 +139416,8 @@ - - + + @@ -139239,24 +139427,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -139266,32 +139454,32 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -139308,12 +139496,12 @@ - + - - - + + + @@ -139441,10 +139629,10 @@ - - - - + + + + @@ -139452,10 +139640,10 @@ - - - - + + + + @@ -139534,19 +139722,19 @@ - - - + + + - - - + + + - - - + + + @@ -139576,8 +139764,8 @@ - - + + @@ -139595,16 +139783,16 @@ - - + + - - + + @@ -139657,9 +139845,9 @@ - - - + + + @@ -139673,9 +139861,9 @@ - - - + + + @@ -139714,8 +139902,8 @@ - - + + @@ -139761,9 +139949,9 @@ - - - + + + @@ -139854,11 +140042,11 @@ - - - - - + + + + + @@ -140093,9 +140281,9 @@ - - - + + + @@ -140213,15 +140401,15 @@ - - + + - - - - - + + + + + @@ -140255,8 +140443,8 @@ - - + + @@ -140295,17 +140483,17 @@ - - + + - - + + - - - + + + @@ -140316,8 +140504,8 @@ - - + + @@ -140348,12 +140536,12 @@ - - + + - - + + @@ -140376,8 +140564,8 @@ - - + + @@ -140399,8 +140587,8 @@ - - + + @@ -140436,9 +140624,9 @@ - - - + + + @@ -140461,9 +140649,9 @@ - - - + + + @@ -140478,16 +140666,16 @@ - - + + - - + + - - + + @@ -140506,8 +140694,8 @@ - - + + @@ -140522,16 +140710,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -140565,8 +140753,8 @@ - - + + @@ -140581,15 +140769,15 @@ - - - - + + + + - - - + + + @@ -140600,9 +140788,9 @@ - - - + + + @@ -140614,9 +140802,9 @@ - - - + + + @@ -140635,24 +140823,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -140679,8 +140867,8 @@ - - + + @@ -140699,9 +140887,9 @@ - - - + + + @@ -140710,28 +140898,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -140740,14 +140928,14 @@ - - - - + + + + - - + + @@ -140758,9 +140946,9 @@ - - - + + + @@ -140775,8 +140963,8 @@ - - + + @@ -140798,8 +140986,8 @@ - - + + @@ -140901,15 +141089,15 @@ - - - + + + - - - - + + + + @@ -140921,8 +141109,8 @@ - - + + @@ -140988,16 +141176,16 @@ - - + + - - + + @@ -141005,10 +141193,10 @@ - - - - + + + + @@ -141032,38 +141220,38 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - + + @@ -141071,10 +141259,10 @@ - - - - + + + + @@ -141098,9 +141286,9 @@ - - - + + + @@ -141108,8 +141296,8 @@ - - + + @@ -141148,9 +141336,9 @@ - - - + + + @@ -141171,10 +141359,10 @@ - - - - + + + + @@ -141224,9 +141412,9 @@ - - - + + + @@ -141286,21 +141474,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -141476,9 +141664,9 @@ - - - + + + @@ -141492,27 +141680,27 @@ - - + + - - - - + + + + - - - + + + @@ -141526,33 +141714,33 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -141798,15 +141986,15 @@ - - - + + + - - - - + + + + @@ -141857,15 +142045,15 @@ - - - + + + - - - + + + @@ -141878,15 +142066,15 @@ - - - - + + + + - - - + + + @@ -141964,9 +142152,9 @@ - - - + + + @@ -141982,36 +142170,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -142026,9 +142214,9 @@ - - - + + + @@ -142043,14 +142231,14 @@ - - - + + + - - - + + + @@ -142092,15 +142280,15 @@ - - + + - - - - - + + + + + @@ -142108,11 +142296,11 @@ - - - - - + + + + + @@ -142128,8 +142316,8 @@ - - + + @@ -142149,8 +142337,8 @@ - - + + @@ -142193,8 +142381,8 @@ - - + + @@ -142230,8 +142418,8 @@ - - + + @@ -142298,9 +142486,9 @@ - - - + + + @@ -142371,26 +142559,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -142427,21 +142615,21 @@ - - - + + + - - - + + + - - - + + + @@ -142505,15 +142693,15 @@ - - + + - - + + @@ -142524,16 +142712,16 @@ - - - - - + + + + + - - - + + + @@ -142542,11 +142730,11 @@ - - - - - + + + + + @@ -142555,9 +142743,9 @@ - - - + + + @@ -142607,11 +142795,11 @@ - - - - - + + + + + @@ -142621,23 +142809,23 @@ - - - - + + + + - - - + + + - - + + - - + + @@ -142650,12 +142838,12 @@ - - + + - - + + @@ -142663,8 +142851,8 @@ - - + + @@ -142681,8 +142869,8 @@ - - + + @@ -142690,12 +142878,12 @@ - - - + + + - + @@ -142704,9 +142892,9 @@ - - - + + + @@ -142729,17 +142917,17 @@ - - - + + + - - + + @@ -142806,28 +142994,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -142837,17 +143025,17 @@ - - + + - - - - + + + + @@ -142858,26 +143046,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -142888,9 +143076,9 @@ - - - + + + @@ -142922,10 +143110,10 @@ - - - - + + + + @@ -142958,9 +143146,9 @@ - - - + + + @@ -142977,15 +143165,15 @@ - - - - + + + + - - - + + + @@ -143009,12 +143197,12 @@ - - - - - - + + + + + + @@ -143036,13 +143224,13 @@ - - + + - - - + + + @@ -143059,10 +143247,10 @@ - - - - + + + + @@ -143073,47 +143261,47 @@ - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/android/abi_gki_aarch64_vivo b/android/abi_gki_aarch64_vivo index 5ff5cad3dc1c..c3bc87e17c9f 100644 --- a/android/abi_gki_aarch64_vivo +++ b/android/abi_gki_aarch64_vivo @@ -1673,6 +1673,7 @@ trace_event_reg trace_handle_return __traceiter_android_rvh_account_irq + __traceiter_android_rvh_binder_transaction __traceiter_android_rvh_build_perf_domains __traceiter_android_rvh_can_migrate_task __traceiter_android_rvh_check_preempt_wakeup @@ -1772,6 +1773,7 @@ __traceiter_usb_gadget_connect __traceiter_usb_gadget_disconnect __tracepoint_android_rvh_account_irq + __tracepoint_android_rvh_binder_transaction __tracepoint_android_rvh_build_perf_domains __tracepoint_android_rvh_can_migrate_task __tracepoint_android_rvh_check_preempt_wakeup From c3c2bb34ac8f3cf3ec040110380ae0a5fd2ffcd0 Mon Sep 17 00:00:00 2001 From: Chris Goldsworthy Date: Tue, 5 Oct 2021 23:02:29 -0700 Subject: [PATCH 08/28] ANDROID: arm64/mm: Add command line option to make ZONE_DMA32 empty ZONE_DMA32 is enabled by default on android12-5.10, yet it is not needed for all devices, nor is it desirable to have if not needed. For instance, if a partner in GKI 1.0 did not use ZONE_DMA32, memory can be lower for ZONE_NORMAL relative to older targets, such that memory would run out more quickly in ZONE_NORMAL leading kswapd to be invoked unnecessarily. Correspondingly, provide a means of making ZONE_DMA32 empty via the kernel command line when it is compiled in via CONFIG_ZONE_DMA32. Bug: 199917449 Change-Id: I70ec76914b92e518d61a61072f0b3cb41cb28646 Signed-off-by: Chris Goldsworthy --- arch/arm64/mm/init.c | 20 +++++++++++++++++++- arch/x86/mm/init.c | 20 +++++++++++++++++++- include/linux/dma-direct.h | 22 ++++++++++++++++++++++ kernel/dma/direct.c | 6 ++++-- kernel/dma/pool.c | 8 ++++---- 5 files changed, 68 insertions(+), 8 deletions(-) diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 71a12660f747..33d93f800734 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -62,6 +62,12 @@ EXPORT_SYMBOL(memstart_addr); */ phys_addr_t arm64_dma_phys_limit __ro_after_init; +/* + * Provide a run-time mean of disabling ZONE_DMA32 if it is enabled via + * CONFIG_ZONE_DMA32. + */ +static bool disable_dma32 __ro_after_init; + #ifdef CONFIG_KEXEC_CORE /* * reserve_crashkernel() - reserves memory for crash kernel @@ -207,7 +213,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) max_zone_pfns[ZONE_DMA] = PFN_DOWN(arm64_dma_phys_limit); #endif #ifdef CONFIG_ZONE_DMA32 - max_zone_pfns[ZONE_DMA32] = PFN_DOWN(dma32_phys_limit); + max_zone_pfns[ZONE_DMA32] = disable_dma32 ? 0 : PFN_DOWN(dma32_phys_limit); if (!arm64_dma_phys_limit) arm64_dma_phys_limit = dma32_phys_limit; #endif @@ -218,6 +224,18 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) free_area_init(max_zone_pfns); } +static int __init early_disable_dma32(char *buf) +{ + if (!buf) + return -EINVAL; + + if (!strcmp(buf, "on")) + disable_dma32 = true; + + return 0; +} +early_param("disable_dma32", early_disable_dma32); + int pfn_valid(unsigned long pfn) { phys_addr_t addr = pfn << PAGE_SHIFT; diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index c7a47603537f..155c95dc1772 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -102,6 +102,12 @@ static unsigned long min_pfn_mapped; static bool __initdata can_use_brk_pgt = true; +/* + * Provide a run-time mean of disabling ZONE_DMA32 if it is enabled via + * CONFIG_ZONE_DMA32. + */ +static bool disable_dma32 __ro_after_init; + /* * Pages returned are already directly mapped. * @@ -996,7 +1002,7 @@ void __init zone_sizes_init(void) max_zone_pfns[ZONE_DMA] = min(MAX_DMA_PFN, max_low_pfn); #endif #ifdef CONFIG_ZONE_DMA32 - max_zone_pfns[ZONE_DMA32] = min(MAX_DMA32_PFN, max_low_pfn); + max_zone_pfns[ZONE_DMA32] = disable_dma32 ? 0 : min(MAX_DMA32_PFN, max_low_pfn); #endif max_zone_pfns[ZONE_NORMAL] = max_low_pfn; #ifdef CONFIG_HIGHMEM @@ -1006,6 +1012,18 @@ void __init zone_sizes_init(void) free_area_init(max_zone_pfns); } +static int __init early_disable_dma32(char *buf) +{ + if (!buf) + return -EINVAL; + + if (!strcmp(buf, "on")) + disable_dma32 = true; + + return 0; +} +early_param("disable_dma32", early_disable_dma32); + __visible DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state, cpu_tlbstate) = { .loaded_mm = &init_mm, .next_asid = 1, diff --git a/include/linux/dma-direct.h b/include/linux/dma-direct.h index 18aade195884..ed69618cf1fc 100644 --- a/include/linux/dma-direct.h +++ b/include/linux/dma-direct.h @@ -24,6 +24,28 @@ struct bus_dma_region { u64 offset; }; +static inline bool zone_dma32_is_empty(int node) +{ +#ifdef CONFIG_ZONE_DMA32 + pg_data_t *pgdat = NODE_DATA(node); + + return zone_is_empty(&pgdat->node_zones[ZONE_DMA32]); +#else + return true; +#endif +} + +static inline bool zone_dma32_are_empty(void) +{ + int node; + + for_each_node(node) + if (!zone_dma32_is_empty(node)) + return false; + + return true; +} + static inline dma_addr_t translate_phys_to_dma(struct device *dev, phys_addr_t paddr) { diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index b6b106fb36bd..6f58cde1558b 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -61,7 +61,8 @@ static gfp_t dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, *phys_limit = dma_to_phys(dev, dma_limit); if (*phys_limit <= DMA_BIT_MASK(zone_dma_bits)) return GFP_DMA; - if (*phys_limit <= DMA_BIT_MASK(32)) + if (*phys_limit <= DMA_BIT_MASK(32) && + !zone_dma32_is_empty(dev_to_node(dev))) return GFP_DMA32; return 0; } @@ -101,7 +102,8 @@ again: if (IS_ENABLED(CONFIG_ZONE_DMA32) && phys_limit < DMA_BIT_MASK(64) && - !(gfp & (GFP_DMA32 | GFP_DMA))) { + !(gfp & (GFP_DMA32 | GFP_DMA)) && + !zone_dma32_is_empty(node)) { gfp |= GFP_DMA32; goto again; } diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c index d4637f72239b..cebfe3537218 100644 --- a/kernel/dma/pool.c +++ b/kernel/dma/pool.c @@ -74,7 +74,7 @@ static bool cma_in_zone(gfp_t gfp) end = cma_get_base(cma) + size - 1; if (IS_ENABLED(CONFIG_ZONE_DMA) && (gfp & GFP_DMA)) return end <= DMA_BIT_MASK(zone_dma_bits); - if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32)) + if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32) && !zone_dma32_are_empty()) return end <= DMA_BIT_MASK(32); return true; } @@ -156,7 +156,7 @@ static void atomic_pool_work_fn(struct work_struct *work) if (IS_ENABLED(CONFIG_ZONE_DMA)) atomic_pool_resize(atomic_pool_dma, GFP_KERNEL | GFP_DMA); - if (IS_ENABLED(CONFIG_ZONE_DMA32)) + if (IS_ENABLED(CONFIG_ZONE_DMA32) && !zone_dma32_are_empty()) atomic_pool_resize(atomic_pool_dma32, GFP_KERNEL | GFP_DMA32); atomic_pool_resize(atomic_pool_kernel, GFP_KERNEL); @@ -212,7 +212,7 @@ static int __init dma_atomic_pool_init(void) if (!atomic_pool_dma) ret = -ENOMEM; } - if (IS_ENABLED(CONFIG_ZONE_DMA32)) { + if (IS_ENABLED(CONFIG_ZONE_DMA32) && !zone_dma32_are_empty()) { atomic_pool_dma32 = __dma_atomic_pool_init(atomic_pool_size, GFP_KERNEL | GFP_DMA32); if (!atomic_pool_dma32) @@ -227,7 +227,7 @@ postcore_initcall(dma_atomic_pool_init); static inline struct gen_pool *dma_guess_pool(struct gen_pool *prev, gfp_t gfp) { if (prev == NULL) { - if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32)) + if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32) && !zone_dma32_are_empty()) return atomic_pool_dma32; if (IS_ENABLED(CONFIG_ZONE_DMA) && (gfp & GFP_DMA)) return atomic_pool_dma; From bf13278d66c9b439af6e60485821ea78ebfab3b9 Mon Sep 17 00:00:00 2001 From: Neal Liu Date: Fri, 10 Sep 2021 15:36:19 +0800 Subject: [PATCH 09/28] UPSTREAM: usb: ehci: handshake CMD_RUN instead of STS_HALT commit 7f2d73788d9067fd4f677ac5f60ffd25945af7af upstream. For Aspeed, HCHalted status depends on not only Run/Stop but also ASS/PSS status. Handshake CMD_RUN on startup instead. Tested-by: Tao Ren Reviewed-by: Tao Ren Acked-by: Alan Stern Signed-off-by: Neal Liu Link: https://lore.kernel.org/r/20210910073619.26095-1-neal_liu@aspeedtech.com Cc: Joel Stanley Signed-off-by: Greg Kroah-Hartman (cherry picked from commit 94e5305a381658064949e2f427f4a7591f4194aa) Signed-off-by: Greg Kroah-Hartman Change-Id: I14c0553c973837c1eb0f57d4e4a7ec278ed5abb1 --- drivers/usb/host/ehci-hcd.c | 11 ++++++++++- drivers/usb/host/ehci-platform.c | 6 ++++++ drivers/usb/host/ehci.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 6793fd99c1cb..8aff19ff8e8f 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -634,7 +634,16 @@ static int ehci_run (struct usb_hcd *hcd) /* Wait until HC become operational */ ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ msleep(5); - rc = ehci_handshake(ehci, &ehci->regs->status, STS_HALT, 0, 100 * 1000); + + /* For Aspeed, STS_HALT also depends on ASS/PSS status. + * Check CMD_RUN instead. + */ + if (ehci->is_aspeed) + rc = ehci_handshake(ehci, &ehci->regs->command, CMD_RUN, + 1, 100 * 1000); + else + rc = ehci_handshake(ehci, &ehci->regs->status, STS_HALT, + 0, 100 * 1000); up_write(&ehci_cf_port_reset_rwsem); diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index a48dd3fac153..2dcfc67f2ba8 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -294,6 +294,12 @@ static int ehci_platform_probe(struct platform_device *dev) "has-transaction-translator")) hcd->has_tt = 1; + if (of_device_is_compatible(dev->dev.of_node, + "aspeed,ast2500-ehci") || + of_device_is_compatible(dev->dev.of_node, + "aspeed,ast2600-ehci")) + ehci->is_aspeed = 1; + if (soc_device_match(quirk_poll_match)) priv->quirk_poll = true; diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index eabf22a78eae..59fd523c55f3 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -218,6 +218,7 @@ struct ehci_hcd { /* one per controller */ unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */ unsigned need_oc_pp_cycle:1; /* MPC834X port power */ unsigned imx28_write_fix:1; /* For Freescale i.MX28 */ + unsigned is_aspeed:1; /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6) From 376046be3b3b620b8c9b2f2f290563d92c0eda8a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 13 Nov 2021 14:37:26 +0100 Subject: [PATCH 10/28] ANDROID: GKI: fix up abi break in ehci code Commit 94e5305a3816 ("usb: ehci: handshake CMD_RUN instead of STS_HALT") that got added into 5.10.79, added a new bitfield to the struct ehci_hcd structure. This bitfield is only used by the ehci core, and does not change the size of the structure overall at all, so comment it properly so that the CRC of any ehci functions do not change, and update the .xml file with the newly added bitfield: Leaf changes summary: 1 artifact changed Changed leaf types summary: 1 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 'struct ehci_hcd at ehci.h:111:1' changed: type size hasn't changed 1 data member insertion: 'unsigned int is_aspeed', at offset 15 (in bits) at ehci.h:226:1 one impacted interface Bug: 161946584 Fixes: 94e5305a3816 ("usb: ehci: handshake CMD_RUN instead of STS_HALT") Signed-off-by: Greg Kroah-Hartman Change-Id: Id5d3a9324d9a15f8baaf4aefedda786ed6d949c2 --- android/abi_gki_aarch64.xml | 11333 ++++++++++++++++------------------ drivers/usb/host/ehci.h | 6 + 2 files changed, 5500 insertions(+), 5839 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 30327dce6ff0..5482b9ac8140 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -6506,24 +6506,24 @@ - + - + - + - + - + - + - + @@ -8644,9 +8644,9 @@ - - - + + + @@ -8659,7 +8659,6 @@ - @@ -8741,7 +8740,6 @@ - @@ -11603,6 +11601,7 @@ + @@ -12009,8 +12008,8 @@ - - + + @@ -12211,7 +12210,6 @@ - @@ -12643,7 +12641,23 @@ - + + + + + + + + + + + + + + + + + @@ -13290,6 +13304,7 @@ + @@ -14406,7 +14421,6 @@ - @@ -14839,12 +14853,6 @@ - - - - - - @@ -15339,6 +15347,9 @@ + + + @@ -15538,7 +15549,29 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -16893,8 +16926,8 @@ - - + + @@ -18422,7 +18455,6 @@ - @@ -18796,11 +18828,7 @@ - - - - - + @@ -19755,7 +19783,6 @@ - @@ -19953,7 +19980,6 @@ - @@ -20391,14 +20417,6 @@ - - - - - - - - @@ -20749,7 +20767,7 @@ - + @@ -21225,11 +21243,6 @@ - - - - - @@ -21463,6 +21476,7 @@ + @@ -22203,6 +22217,11 @@ + + + + + @@ -22483,42 +22502,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -23163,17 +23182,6 @@ - - - - - - - - - - - @@ -24372,7 +24380,7 @@ - + @@ -24597,8 +24605,8 @@ + - @@ -24901,7 +24909,23 @@ - + + + + + + + + + + + + + + + + + @@ -25563,7 +25587,7 @@ - + @@ -25719,7 +25743,7 @@ - + @@ -25940,7 +25964,6 @@ - @@ -26018,7 +26041,7 @@ - + @@ -26075,6 +26098,7 @@ + @@ -26428,6 +26452,7 @@ + @@ -27058,7 +27083,7 @@ - + @@ -27993,7 +28018,6 @@ - @@ -31739,9 +31763,9 @@ - - - + + + @@ -32440,32 +32464,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -32615,7 +32614,6 @@ - @@ -32870,7 +32868,68 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33375,7 +33434,6 @@ - @@ -33447,48 +33505,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -33790,6 +33848,7 @@ + @@ -33988,7 +34047,7 @@ - + @@ -34281,57 +34340,57 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -34798,9 +34857,6 @@ - - - @@ -36391,33 +36447,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -37535,7 +37591,6 @@ - @@ -38325,8 +38380,8 @@ - - + + @@ -39298,17 +39353,6 @@ - - - - - - - - - - - @@ -39588,9 +39632,9 @@ - - - + + + @@ -40097,6 +40141,7 @@ + @@ -41054,7 +41099,6 @@ - @@ -43320,11 +43364,7 @@ - - - - - + @@ -43556,15 +43596,7 @@ - - - - - - - - @@ -43901,18 +43933,7 @@ - - - - - - - - - - - - + @@ -44008,12 +44029,12 @@ - - - - - - + + + + + + @@ -44118,7 +44139,6 @@ - @@ -44788,9 +44808,6 @@ - - - @@ -44899,21 +44916,21 @@ - + - + - + - + - + - + @@ -45359,7 +45376,6 @@ - @@ -47010,8 +47026,8 @@ - - + + @@ -47038,32 +47054,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -47357,7 +47347,35 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47918,7 +47936,14 @@ - + + + + + + + + @@ -48521,7 +48546,6 @@ - @@ -48564,11 +48588,6 @@ - - - - - @@ -48974,7 +48993,7 @@ - + @@ -49100,6 +49119,11 @@ + + + + + @@ -49553,56 +49577,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -49943,6 +49918,7 @@ + @@ -50878,7 +50854,7 @@ - + @@ -51723,26 +51699,8 @@ - - - - - - - - - - - - - - - - - - @@ -51979,11 +51937,6 @@ - - - - - @@ -52001,26 +51954,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -52158,7 +52091,6 @@ - @@ -52209,6 +52141,7 @@ + @@ -52798,7 +52731,23 @@ - + + + + + + + + + + + + + + + + + @@ -53160,7 +53109,6 @@ - @@ -54091,9 +54039,9 @@ - - - + + + @@ -54813,6 +54761,7 @@ + @@ -55397,7 +55346,7 @@ - + @@ -55862,7 +55811,7 @@ - + @@ -56728,26 +56677,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -56956,6 +56885,7 @@ + @@ -58092,7 +58022,6 @@ - @@ -58555,11 +58484,6 @@ - - - - - @@ -59784,44 +59708,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61011,65 +60898,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61846,7 +61675,6 @@ - @@ -62796,7 +62624,17 @@ - + + + + + + + + + + + @@ -63842,14 +63680,6 @@ - - - - - - - - @@ -63862,7 +63692,7 @@ - + @@ -64356,10 +64186,10 @@ - - - - + + + + @@ -64409,6 +64239,12 @@ + + + + + + @@ -64668,6 +64504,7 @@ + @@ -64991,47 +64828,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -65626,11 +65423,6 @@ - - - - - @@ -66231,11 +66023,6 @@ - - - - - @@ -66657,11 +66444,6 @@ - - - - - @@ -67122,7 +66904,7 @@ - + @@ -68986,7 +68768,6 @@ - @@ -69183,6 +68964,7 @@ + @@ -70251,7 +70033,6 @@ - @@ -70922,24 +70703,12 @@ - - - - - + - - - - - - - - @@ -71628,8 +71397,8 @@ - - + + @@ -71748,7 +71517,6 @@ - @@ -72435,8 +72203,8 @@ - - + + @@ -72508,6 +72276,7 @@ + @@ -72823,32 +72592,35 @@ + + + - + - + - + - + - + - + - + - + - + @@ -72972,38 +72744,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -73114,7 +72855,7 @@ - + @@ -75522,51 +75263,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -75646,11 +75387,6 @@ - - - - - @@ -75802,7 +75538,6 @@ - @@ -77210,11 +76945,11 @@ - + - + @@ -78267,12 +78002,12 @@ - - - - - - + + + + + + @@ -79507,7 +79242,6 @@ - @@ -79558,6 +79292,7 @@ + @@ -79797,7 +79532,6 @@ - @@ -80074,7 +79808,6 @@ - @@ -80523,6 +80256,7 @@ + @@ -81110,6 +80844,7 @@ + @@ -81182,6 +80917,9 @@ + + + @@ -81198,11 +80936,6 @@ - - - - - @@ -81225,7 +80958,6 @@ - @@ -81686,7 +81418,7 @@ - + @@ -81762,14 +81494,6 @@ - - - - - - - - @@ -81924,12 +81648,6 @@ - - - - - - @@ -83736,7 +83454,6 @@ - @@ -84848,6 +84565,7 @@ + @@ -85466,7 +85184,7 @@ - + @@ -86147,9 +85865,9 @@ - - - + + + @@ -86264,53 +85982,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86618,26 +86289,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -86662,7 +86314,7 @@ - + @@ -86687,6 +86339,7 @@ + @@ -86725,6 +86378,7 @@ + @@ -87812,7 +87466,6 @@ - @@ -88137,7 +87790,7 @@ - + @@ -88768,8 +88421,8 @@ - - + + @@ -88999,7 +88652,6 @@ - @@ -89838,7 +89490,6 @@ - @@ -89999,6 +89650,14 @@ + + + + + + + + @@ -90433,7 +90092,20 @@ - + + + + + + + + + + + + + + @@ -90990,7 +90662,7 @@ - + @@ -91165,7 +90837,7 @@ - + @@ -91460,6 +91132,7 @@ + @@ -91595,12 +91268,12 @@ - + - + @@ -92860,17 +92533,6 @@ - - - - - - - - - - - @@ -93166,7 +92828,6 @@ - @@ -93679,17 +93340,6 @@ - - - - - - - - - - - @@ -94452,7 +94102,7 @@ - + @@ -94964,7 +94614,7 @@ - + @@ -95010,7 +94660,7 @@ - + @@ -95448,7 +95098,7 @@ - + @@ -96154,9 +95804,6 @@ - - - @@ -97396,6 +97043,7 @@ + @@ -97671,8 +97319,8 @@ - - + + @@ -97881,8 +97529,8 @@ - - + + @@ -99037,6 +98685,7 @@ + @@ -99957,33 +99606,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -100012,7 +99661,14 @@ - + + + + + + + + @@ -101495,10 +101151,10 @@ - - - + + + @@ -101522,7 +101178,7 @@ - + @@ -101663,8 +101319,8 @@ - - + + @@ -102264,7 +101920,6 @@ - @@ -102533,6 +102188,7 @@ + @@ -103058,7 +102714,20 @@ - + + + + + + + + + + + + + + @@ -103117,6 +102786,9 @@ + + + @@ -106524,6 +106196,7 @@ + @@ -106538,20 +106211,6 @@ - - - - - - - - - - - - - - @@ -106886,6 +106545,7 @@ + @@ -106998,15 +106658,15 @@ - + - + - + - + @@ -110810,11 +110470,6 @@ - - - - - @@ -111141,6 +110796,7 @@ + @@ -111352,18 +111008,18 @@ - + - + - + - + - + @@ -112896,7 +112552,6 @@ - @@ -112981,7 +112636,6 @@ - @@ -113100,8 +112754,8 @@ - - + + @@ -113638,6 +113292,7 @@ + @@ -114618,18 +114273,18 @@ - + + + + + + + - - - - - - @@ -114714,10 +114369,10 @@ - - - - + + + + @@ -114727,11 +114382,11 @@ - - - - - + + + + + @@ -114751,9 +114406,9 @@ - - - + + + @@ -114763,10 +114418,10 @@ - - - - + + + + @@ -114776,11 +114431,11 @@ - - - - - + + + + + @@ -114815,10 +114470,10 @@ - - - - + + + + @@ -114831,14 +114486,14 @@ - - - + + + - - - + + + @@ -114905,9 +114560,9 @@ - - - + + + @@ -115058,10 +114713,10 @@ - - - - + + + + @@ -115185,12 +114840,12 @@ - - - - - - + + + + + + @@ -115221,11 +114876,11 @@ - - - - - + + + + + @@ -115619,15 +115274,15 @@ - - - - + + + + - - - + + + @@ -115916,10 +115571,10 @@ - - - - + + + + @@ -115997,17 +115652,17 @@ - - - - - + + + + + - - - - + + + + @@ -116100,11 +115755,11 @@ - - - - - + + + + + @@ -116741,8 +116396,8 @@ - - + + @@ -116757,9 +116412,9 @@ - + - + @@ -116767,18 +116422,18 @@ - + - + - + - - + + @@ -116788,7 +116443,7 @@ - + @@ -116813,7 +116468,7 @@ - + @@ -116839,12 +116494,12 @@ - + - + @@ -116894,7 +116549,7 @@ - + @@ -116904,8 +116559,8 @@ - - + + @@ -116926,7 +116581,7 @@ - + @@ -116954,7 +116609,7 @@ - + @@ -116976,9 +116631,9 @@ - + - + @@ -116995,7 +116650,7 @@ - + @@ -117288,9 +116943,9 @@ - - - + + + @@ -117301,33 +116956,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -117337,27 +116992,27 @@ - - - + + + - - - + + + - - - + + + - - - + + + @@ -117367,8 +117022,8 @@ - - + + @@ -117387,8 +117042,8 @@ - - + + @@ -117404,57 +117059,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -117465,16 +117120,16 @@ - - + + - - + + @@ -117498,12 +117153,12 @@ - - - - - - + + + + + + @@ -117520,9 +117175,9 @@ - - - + + + @@ -117538,33 +117193,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -117577,22 +117232,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -117671,13 +117326,13 @@ - - - - - - - + + + + + + + @@ -117686,29 +117341,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -117750,11 +117405,11 @@ - - - - - + + + + + @@ -117774,14 +117429,14 @@ - - + + - - - - + + + + @@ -117804,15 +117459,15 @@ - - - - + + + + - - - + + + @@ -117820,11 +117475,11 @@ - - - - - + + + + + @@ -117875,21 +117530,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -117930,18 +117585,18 @@ - - + + - - - + + + - - - + + + @@ -117974,17 +117629,17 @@ - - - - + + + + - - - - - + + + + + @@ -117995,53 +117650,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -118049,9 +117704,9 @@ - - - + + + @@ -118060,49 +117715,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -118112,10 +117767,10 @@ - - - - + + + + @@ -118159,17 +117814,17 @@ - - + + - - + + - - - + + + @@ -118204,10 +117859,10 @@ - - - - + + + + @@ -118239,13 +117894,13 @@ - - - + + + - - + + @@ -118276,8 +117931,8 @@ - - + + @@ -118286,8 +117941,8 @@ - - + + @@ -118309,8 +117964,8 @@ - - + + @@ -118357,8 +118012,8 @@ - - + + @@ -118380,10 +118035,10 @@ - - - - + + + + @@ -118419,9 +118074,9 @@ - - - + + + @@ -118565,16 +118220,16 @@ - - + + - - + + @@ -118623,26 +118278,26 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + @@ -118651,31 +118306,31 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -118693,9 +118348,9 @@ - - - + + + @@ -118743,67 +118398,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -118819,16 +118474,16 @@ - - + + - - - - - - + + + + + + @@ -118849,22 +118504,22 @@ - - + + - - + + - - + + - - + + @@ -118881,23 +118536,23 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -118907,8 +118562,8 @@ - - + + @@ -118921,8 +118576,8 @@ - - + + @@ -118992,9 +118647,9 @@ - - - + + + @@ -119033,11 +118688,11 @@ - - - - - + + + + + @@ -119053,19 +118708,19 @@ - - - + + + - - - + + + - - - + + + @@ -119097,9 +118752,9 @@ - - - + + + @@ -119188,14 +118843,14 @@ - - - + + + - - - + + + @@ -119204,65 +118859,65 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -119271,48 +118926,48 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -119323,8 +118978,8 @@ - - + + @@ -119442,8 +119097,8 @@ - - + + @@ -119545,28 +119200,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -119581,11 +119236,11 @@ - - - - - + + + + + @@ -119597,11 +119252,11 @@ - - - - - + + + + + @@ -119620,8 +119275,8 @@ - - + + @@ -119658,10 +119313,10 @@ - - - - + + + + @@ -119699,22 +119354,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -119741,22 +119396,22 @@ - - + + - - - - + + + + - - - + + + @@ -119817,8 +119472,8 @@ - - + + @@ -119849,18 +119504,18 @@ - - + + - - - + + + - - - + + + @@ -119872,8 +119527,8 @@ - - + + @@ -119889,9 +119544,9 @@ - - - + + + @@ -119924,12 +119579,12 @@ - - + + - - + + @@ -119940,23 +119595,23 @@ - - + + - - - + + + - - - - + + + + @@ -119971,9 +119626,9 @@ - - - + + + @@ -119992,8 +119647,8 @@ - - + + @@ -120013,58 +119668,58 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -120107,12 +119762,12 @@ - - + + - - + + @@ -120141,10 +119796,10 @@ - - - - + + + + @@ -120199,42 +119854,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -120277,10 +119932,10 @@ - - - - + + + + @@ -120288,9 +119943,9 @@ - - - + + + @@ -120300,7 +119955,7 @@ - + @@ -120321,8 +119976,8 @@ - - + + @@ -120343,22 +119998,22 @@ - - + + - - - + + + - - - + + + @@ -120408,11 +120063,11 @@ - - - - - + + + + + @@ -120420,44 +120075,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -120478,8 +120133,8 @@ - - + + @@ -120504,18 +120159,18 @@ - - - + + + - - - + + + @@ -120532,9 +120187,9 @@ - - - + + + @@ -120545,11 +120200,11 @@ - - - - - + + + + + @@ -120559,8 +120214,8 @@ - - + + @@ -120576,18 +120231,18 @@ - - + + - - + + - - - - + + + + @@ -120618,12 +120273,12 @@ - - + + - - + + @@ -120632,7 +120287,7 @@ - + @@ -120663,11 +120318,11 @@ - - - - - + + + + + @@ -120677,25 +120332,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120732,11 +120387,11 @@ - - - - - + + + + + @@ -120746,11 +120401,11 @@ - - - - - + + + + + @@ -120782,9 +120437,9 @@ - - - + + + @@ -120795,8 +120450,8 @@ - - + + @@ -120806,9 +120461,9 @@ - - - + + + @@ -120817,11 +120472,11 @@ - - - - - + + + + + @@ -120834,16 +120489,16 @@ - - + + - - + + - - + + @@ -120854,8 +120509,8 @@ - - + + @@ -120897,49 +120552,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -120961,9 +120616,9 @@ - - - + + + @@ -120976,9 +120631,9 @@ - - - + + + @@ -121000,10 +120655,10 @@ - - - - + + + + @@ -121034,15 +120689,15 @@ - - - - + + + + - - - + + + @@ -121062,8 +120717,8 @@ - - + + @@ -121079,8 +120734,8 @@ - - + + @@ -121088,13 +120743,13 @@ - - + + - - - + + + @@ -121105,9 +120760,9 @@ - - - + + + @@ -121124,16 +120779,16 @@ - - + + - - + + @@ -121158,9 +120813,9 @@ - - - + + + @@ -121250,9 +120905,9 @@ - - - + + + @@ -121265,17 +120920,17 @@ - - - - + + + + - - - - + + + + @@ -121283,10 +120938,10 @@ - - - - + + + + @@ -121294,9 +120949,9 @@ - - - + + + @@ -121317,11 +120972,11 @@ - - - - - + + + + + @@ -121393,20 +121048,20 @@ - - + + - - + + - - + + @@ -121419,8 +121074,8 @@ - - + + @@ -121442,12 +121097,12 @@ - - - - - - + + + + + + @@ -121456,40 +121111,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -121524,28 +121179,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -121567,10 +121222,10 @@ - - - - + + + + @@ -121592,11 +121247,11 @@ - - - - - + + + + + @@ -121619,15 +121274,15 @@ - - - + + + - - - - + + + + @@ -121644,14 +121299,14 @@ - - - + + + - - - + + + @@ -121680,22 +121335,22 @@ - - + + - - + + - - - - + + + + @@ -121718,10 +121373,10 @@ - - - - + + + + @@ -121729,15 +121384,15 @@ - - - - + + + + - - - + + + @@ -121844,11 +121499,11 @@ - - - - - + + + + + @@ -122046,29 +121701,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -122078,10 +121733,10 @@ - - - - + + + + @@ -122120,14 +121775,14 @@ - - - - - - - - + + + + + + + + @@ -122140,9 +121795,9 @@ - - - + + + @@ -122175,8 +121830,8 @@ - - + + @@ -122243,14 +121898,14 @@ - - - + + + - - - + + + @@ -122258,10 +121913,10 @@ - - - - + + + + @@ -122306,15 +121961,15 @@ - - - - + + + + - - - + + + @@ -122413,16 +122068,16 @@ - - - + + + - - - - - + + + + + @@ -122472,46 +122127,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -122606,9 +122261,9 @@ - - - + + + @@ -122630,17 +122285,17 @@ - - + + - - - + + + - - + + @@ -122648,15 +122303,15 @@ - - - + + + - - - - + + + + @@ -122667,34 +122322,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -122706,9 +122361,9 @@ - - - + + + @@ -122716,8 +122371,8 @@ - - + + @@ -122728,15 +122383,15 @@ - + - - - - - - + + + + + + @@ -122748,13 +122403,13 @@ - - - - + + + + - - + + @@ -122774,10 +122429,10 @@ - - - - + + + + @@ -122927,46 +122582,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -123099,8 +122754,8 @@ - - + + @@ -123133,16 +122788,16 @@ - - + + - - + + - - + + @@ -123154,8 +122809,8 @@ - - + + @@ -123166,8 +122821,8 @@ - - + + @@ -123187,9 +122842,9 @@ - - - + + + @@ -123199,62 +122854,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -123272,14 +122927,14 @@ - - - + + + - - - + + + @@ -123314,13 +122969,13 @@ - - - - - - - + + + + + + + @@ -123544,62 +123199,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -123615,15 +123270,15 @@ - - + + - - - - - + + + + + @@ -123634,10 +123289,10 @@ - - - - + + + + @@ -123666,8 +123321,8 @@ - - + + @@ -123675,9 +123330,9 @@ - - - + + + @@ -123714,9 +123369,9 @@ - - - + + + @@ -123725,8 +123380,8 @@ - - + + @@ -123734,19 +123389,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -123754,20 +123409,20 @@ - - + + - - + + - - + + - - + + @@ -123780,17 +123435,17 @@ - - + + - - + + - - - + + + @@ -123837,19 +123492,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -123857,17 +123512,17 @@ - - - + + + - - + + @@ -123885,20 +123540,20 @@ - - + + - - + + - - + + @@ -123911,11 +123566,11 @@ - - - - - + + + + + @@ -123926,33 +123581,33 @@ - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -124236,23 +123891,23 @@ - - + + - - - - + + + + - - - + + + @@ -124268,12 +123923,12 @@ - - - - - - + + + + + + @@ -124325,20 +123980,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -124493,10 +124148,10 @@ - - - - + + + + @@ -124546,9 +124201,9 @@ - - - + + + @@ -124677,19 +124332,19 @@ - - - + + + - - - + + + - - - + + + @@ -124790,8 +124445,8 @@ - - + + @@ -124813,9 +124468,9 @@ - - - + + + @@ -124843,8 +124498,8 @@ - - + + @@ -124859,24 +124514,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -124895,9 +124550,9 @@ - - - + + + @@ -124911,18 +124566,18 @@ - - + + - - - + + + - - - + + + @@ -124943,9 +124598,9 @@ - - - + + + @@ -124976,28 +124631,28 @@ - - + + - - + + - - - + + + - - - - + + + + - - - + + + @@ -125008,83 +124663,83 @@ - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -125140,17 +124795,17 @@ - - + + - - + + - - - + + + @@ -125164,20 +124819,20 @@ - - + + - - + + - - + + @@ -125246,9 +124901,9 @@ - - - + + + @@ -125256,44 +124911,44 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + @@ -125303,12 +124958,12 @@ - - - - - - + + + + + + @@ -125319,9 +124974,9 @@ - - - + + + @@ -125329,18 +124984,18 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -125355,30 +125010,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -125414,8 +125069,8 @@ - - + + @@ -125491,20 +125146,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -125513,19 +125168,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -125552,36 +125207,36 @@ - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125758,13 +125413,13 @@ - - - + + + - - + + @@ -125820,8 +125475,8 @@ - - + + @@ -125835,13 +125490,13 @@ - - + + - - - + + + @@ -125880,14 +125535,14 @@ - - - + + + - - - + + + @@ -125895,17 +125550,17 @@ - - - - + + + + - - + + @@ -125920,9 +125575,9 @@ - - - + + + @@ -125936,50 +125591,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -125989,15 +125644,15 @@ - - - + + + - - - - + + + + @@ -126030,27 +125685,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -126064,9 +125719,9 @@ - - - + + + @@ -126075,30 +125730,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -126114,26 +125769,26 @@ - - + + - - - + + + - - + + - - - + + + @@ -126150,8 +125805,8 @@ - - + + @@ -126166,8 +125821,8 @@ - - + + @@ -126215,18 +125870,18 @@ - - - + + + - - + + - - - + + + @@ -126234,13 +125889,13 @@ - - + + - - - + + + @@ -126248,9 +125903,9 @@ - - - + + + @@ -126308,8 +125963,8 @@ - - + + @@ -126318,9 +125973,9 @@ - - - + + + @@ -126333,8 +125988,8 @@ - - + + @@ -126377,12 +126032,12 @@ - - + + - - + + @@ -126419,35 +126074,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -126459,13 +126114,13 @@ - - - + + + - - + + @@ -126508,33 +126163,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -126555,8 +126210,8 @@ - - + + @@ -126581,10 +126236,10 @@ - - - - + + + + @@ -126594,12 +126249,12 @@ - - + + - - + + @@ -126610,17 +126265,17 @@ - - - - - - - + + + + + + + - - + + @@ -126637,8 +126292,8 @@ - - + + @@ -126664,15 +126319,15 @@ - - + + - - - - - + + + + + @@ -126684,8 +126339,8 @@ - - + + @@ -126711,8 +126366,8 @@ - - + + @@ -126722,20 +126377,20 @@ - - + + - + - - - + + + @@ -126749,41 +126404,41 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -126793,13 +126448,13 @@ - - + + - - - + + + @@ -126813,41 +126468,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -126861,8 +126516,8 @@ - - + + @@ -126874,18 +126529,18 @@ - - + + - - - - + + + + @@ -126909,23 +126564,23 @@ - - - + + + - - - + + + - - - + + + - - + + @@ -126938,9 +126593,9 @@ - - - + + + @@ -126948,29 +126603,29 @@ - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -127003,9 +126658,9 @@ - - - + + + @@ -127014,13 +126669,13 @@ - - + + - - - + + + @@ -127117,8 +126772,8 @@ - - + + @@ -127143,13 +126798,13 @@ - - - + + + - - + + @@ -127194,10 +126849,10 @@ - - + + - + @@ -127212,22 +126867,22 @@ - - - + + + - - - + + + - - + + - - + + @@ -127278,38 +126933,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -127320,9 +126975,9 @@ - - - + + + @@ -127337,26 +126992,26 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -127371,28 +127026,28 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127407,28 +127062,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127450,18 +127105,18 @@ - - + + - - + + - - + + @@ -127484,12 +127139,12 @@ - - + + - - + + @@ -127526,9 +127181,9 @@ - - - + + + @@ -127563,81 +127218,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -127762,12 +127417,12 @@ - - + + - - + + @@ -127810,14 +127465,14 @@ - - + + - - - - + + + + @@ -127838,36 +127493,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -127878,39 +127533,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -127936,14 +127591,14 @@ - - + + - - - - + + + + @@ -127960,8 +127615,8 @@ - - + + @@ -128051,14 +127706,14 @@ - - - - - - - - + + + + + + + + @@ -128068,8 +127723,8 @@ - - + + @@ -128093,9 +127748,9 @@ - - - + + + @@ -128115,18 +127770,18 @@ - - - - + + + + - - - + + + @@ -128134,27 +127789,27 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -128164,8 +127819,8 @@ - - + + @@ -128186,8 +127841,8 @@ - - + + @@ -128202,8 +127857,8 @@ - - + + @@ -128236,20 +127891,20 @@ - - + + - - + + - - + + @@ -128286,12 +127941,12 @@ - - + + - - + + @@ -128299,34 +127954,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -128335,8 +127990,8 @@ - - + + @@ -128408,9 +128063,9 @@ - - - + + + @@ -128571,41 +128226,41 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -128613,53 +128268,53 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -128694,8 +128349,8 @@ - - + + @@ -128795,13 +128450,13 @@ - - - + + + - - + + @@ -128812,15 +128467,15 @@ - - - - - - - - - + + + + + + + + + @@ -128856,9 +128511,9 @@ - - - + + + @@ -128884,30 +128539,30 @@ - - - + + + - - - - + + + + - - - - + + + + - - - + + + @@ -128920,10 +128575,10 @@ - - - - + + + + @@ -128931,11 +128586,11 @@ - - - - - + + + + + @@ -128958,10 +128613,10 @@ - - - - + + + + @@ -128974,20 +128629,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -128997,9 +128652,9 @@ - - - + + + @@ -129088,14 +128743,14 @@ - - - + + + - - + + @@ -129177,8 +128832,8 @@ - - + + @@ -129188,66 +128843,66 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + @@ -129267,21 +128922,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -129292,23 +128947,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -129317,10 +128972,10 @@ - - - - + + + + @@ -129352,46 +129007,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -129400,31 +129055,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -129433,23 +129088,23 @@ - - - + + + - - - + + + - - - + + + @@ -129457,34 +129112,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -129494,16 +129149,16 @@ - - - - + + + + - - - - + + + + @@ -129519,10 +129174,10 @@ - - - - + + + + @@ -129532,10 +129187,10 @@ - - - - + + + + @@ -129545,37 +129200,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -129586,9 +129241,9 @@ - - - + + + @@ -129602,11 +129257,11 @@ - - - - - + + + + + @@ -129638,11 +129293,11 @@ - - + + - + @@ -129659,15 +129314,15 @@ - - + + - - + + - - + + @@ -129687,8 +129342,8 @@ - - + + @@ -129698,8 +129353,8 @@ - - + + @@ -129711,8 +129366,8 @@ - - + + @@ -129726,18 +129381,18 @@ - - - + + + - - - - + + + + - - + + @@ -129745,10 +129400,10 @@ - - - - + + + + @@ -129761,14 +129416,14 @@ - - - - + + + + - - + + @@ -129804,18 +129459,18 @@ - - - + + + - - - + + + @@ -129826,8 +129481,8 @@ - - + + @@ -129838,29 +129493,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -129879,11 +129534,11 @@ - - - - - + + + + + @@ -129891,8 +129546,8 @@ - - + + @@ -129910,11 +129565,11 @@ - - - - - + + + + + @@ -129942,21 +129597,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -129969,9 +129624,9 @@ - - - + + + @@ -129982,13 +129637,13 @@ - - + + - - - + + + @@ -129996,50 +129651,50 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -130053,8 +129708,8 @@ - - + + @@ -130130,9 +129785,9 @@ - - - + + + @@ -130170,12 +129825,12 @@ - - + + - - - + + + @@ -130185,17 +129840,17 @@ - - - + + + - - - + + + - + @@ -130208,9 +129863,9 @@ - - - + + + @@ -130290,10 +129945,10 @@ - - - - + + + + @@ -130321,13 +129976,13 @@ - - - - - - - + + + + + + + @@ -130514,12 +130169,12 @@ - - + + - - + + @@ -130531,11 +130186,11 @@ - - - - - + + + + + @@ -130576,8 +130231,8 @@ - - + + @@ -130630,8 +130285,8 @@ - - + + @@ -130643,9 +130298,9 @@ - - - + + + @@ -130656,28 +130311,28 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -130688,9 +130343,9 @@ - - - + + + @@ -130751,8 +130406,8 @@ - - + + @@ -130791,9 +130446,9 @@ - - - + + + @@ -130849,8 +130504,8 @@ - - + + @@ -130903,51 +130558,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -130955,18 +130610,18 @@ - - - - + + + + - - + + @@ -130974,14 +130629,14 @@ - - - - + + + + - - - + + + @@ -131017,17 +130672,17 @@ - - + + - - - + + + @@ -131037,9 +130692,9 @@ - - - + + + @@ -131081,12 +130736,12 @@ - - + + - - + + @@ -131100,67 +130755,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -131168,19 +130823,19 @@ - - + + - - + + - - - - - + + + + + @@ -131191,41 +130846,41 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + @@ -131239,16 +130894,16 @@ - - - - + + + + - - - - + + + + @@ -131269,11 +130924,11 @@ - - - - - + + + + + @@ -131290,24 +130945,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -131342,12 +130997,12 @@ - - + + - - + + @@ -131372,18 +131027,18 @@ - - - + + + - - + + - - - + + + @@ -131407,18 +131062,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -131429,19 +131084,19 @@ - - - - + + + + - - + + - - - + + + @@ -131460,14 +131115,14 @@ - - - + + + - - - + + + @@ -131493,9 +131148,9 @@ - - - + + + @@ -131508,22 +131163,22 @@ - - - - + + + + - - + + - - + + @@ -131537,43 +131192,43 @@ - - + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -131586,9 +131241,9 @@ - - - + + + @@ -131621,14 +131276,14 @@ - - - - + + + + - - + + @@ -131639,44 +131294,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -131710,16 +131365,16 @@ - - - - - - + + + + + + - - - + + + @@ -131727,9 +131382,9 @@ - - - + + + @@ -131773,33 +131428,33 @@ - - - + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + @@ -131824,9 +131479,9 @@ - - - + + + @@ -131842,32 +131497,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -131876,9 +131531,9 @@ - - - + + + @@ -131886,74 +131541,74 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -131965,42 +131620,42 @@ - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -132015,8 +131670,8 @@ - - + + @@ -132036,8 +131691,8 @@ - - + + @@ -132051,61 +131706,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -132123,12 +131778,12 @@ - - - - - - + + + + + + @@ -132139,12 +131794,12 @@ - - - - - - + + + + + + @@ -132159,9 +131814,9 @@ - - - + + + @@ -132174,15 +131829,15 @@ - - + + - - - - - + + + + + @@ -132199,10 +131854,10 @@ - - - - + + + + @@ -132222,10 +131877,10 @@ - - - - + + + + @@ -132259,8 +131914,8 @@ - - + + @@ -132271,8 +131926,8 @@ - - + + @@ -132375,33 +132030,33 @@ - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -132427,8 +132082,8 @@ - - + + @@ -132443,16 +132098,16 @@ - - + + - - + + - - + + @@ -132537,19 +132192,19 @@ - - - + + + - - - + + + - - - + + + @@ -132564,8 +132219,8 @@ - - + + @@ -132596,9 +132251,9 @@ - - - + + + @@ -132628,14 +132283,14 @@ - - - + + + - - - + + + @@ -132648,9 +132303,9 @@ - - - + + + @@ -132658,10 +132313,10 @@ - - - - + + + + @@ -132675,12 +132330,12 @@ - - + + - - + + @@ -132701,9 +132356,9 @@ - - - + + + @@ -132715,9 +132370,9 @@ - - - + + + @@ -132765,8 +132420,8 @@ - - + + @@ -132812,9 +132467,9 @@ - - - + + + @@ -132830,10 +132485,10 @@ - - - - + + + + @@ -132854,10 +132509,10 @@ - - - - + + + + @@ -132890,17 +132545,17 @@ - - + + - - - + + + @@ -132914,40 +132569,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -132969,20 +132624,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -132990,21 +132645,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -133015,7 +132670,7 @@ - + @@ -133034,25 +132689,25 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + @@ -133082,8 +132737,8 @@ - - + + @@ -133103,9 +132758,9 @@ - - - + + + @@ -133113,23 +132768,23 @@ - - - + + + - - - + + + - - - + + + @@ -133150,37 +132805,37 @@ - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -133194,11 +132849,11 @@ - - - - - + + + + + @@ -133249,10 +132904,10 @@ - - - - + + + + @@ -133311,24 +132966,24 @@ - - + + - - + + - - + + @@ -133338,11 +132993,11 @@ - - - - - + + + + + @@ -133387,14 +133042,14 @@ - - - - + + + + - - - + + + @@ -133626,8 +133281,8 @@ - - + + @@ -133647,29 +133302,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -133681,14 +133336,14 @@ - - - + + + - - - + + + @@ -133701,16 +133356,16 @@ - - - - + + + + - - - - + + + + @@ -133762,12 +133417,12 @@ - - + + - - + + @@ -133814,24 +133469,24 @@ - - + + - - + + - - + + - - + + @@ -133851,13 +133506,13 @@ - - + + - - - + + + @@ -133871,18 +133526,19 @@ - - - - + + + + - - - - + + + + + @@ -133900,8 +133556,8 @@ - - + + @@ -133916,8 +133572,8 @@ - - + + @@ -133951,8 +133607,8 @@ - - + + @@ -133970,10 +133626,10 @@ - - - - + + + + @@ -133986,54 +133642,54 @@ - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -134042,36 +133698,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -134082,12 +133738,12 @@ - - - - - - + + + + + + @@ -134106,9 +133762,9 @@ - - - + + + @@ -134118,8 +133774,8 @@ - - + + @@ -134133,10 +133789,10 @@ - - - - + + + + @@ -134149,13 +133805,13 @@ - - - + + + - - + + @@ -134208,11 +133864,11 @@ - - - - - + + + + + @@ -134228,20 +133884,20 @@ - - + + - - + + - - + + @@ -134249,24 +133905,24 @@ - - + + - - + + - - + + @@ -134326,8 +133982,8 @@ - - + + @@ -134337,21 +133993,21 @@ - - - - - + + + + + - - - - + + + + @@ -134365,19 +134021,19 @@ - - - + + + - - + + - - - - + + + + @@ -134400,48 +134056,48 @@ - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -134450,7 +134106,7 @@ - + @@ -134490,17 +134146,17 @@ - + - + - - + + @@ -134519,8 +134175,8 @@ - - + + @@ -134547,31 +134203,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -134631,8 +134287,8 @@ - - + + @@ -134673,16 +134329,16 @@ - - + + - - + + - - + + @@ -134693,8 +134349,8 @@ - - + + @@ -134717,12 +134373,12 @@ - - + + - - + + @@ -134738,8 +134394,8 @@ - - + + @@ -134858,10 +134514,10 @@ - - - - + + + + @@ -134870,20 +134526,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -134891,14 +134547,14 @@ - - - + + + - - - + + + @@ -134916,8 +134572,8 @@ - - + + @@ -134929,8 +134585,8 @@ - - + + @@ -134967,8 +134623,8 @@ - - + + @@ -135019,22 +134675,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -135124,8 +134780,8 @@ - - + + @@ -135133,22 +134789,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -135161,9 +134817,9 @@ - - - + + + @@ -135171,9 +134827,9 @@ - - - + + + @@ -135221,13 +134877,13 @@ - - - - - - - + + + + + + + @@ -135235,28 +134891,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -135272,20 +134928,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -135301,8 +134957,8 @@ - - + + @@ -135319,8 +134975,8 @@ - - + + @@ -135333,15 +134989,15 @@ - - - + + + - - - - + + + + @@ -135349,39 +135005,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -135389,33 +135045,33 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + - + @@ -135539,8 +135195,8 @@ - - + + @@ -135659,12 +135315,12 @@ - - + + - - + + @@ -135681,9 +135337,9 @@ - - - + + + @@ -135691,9 +135347,9 @@ - - - + + + @@ -135701,9 +135357,9 @@ - - - + + + @@ -135728,12 +135384,12 @@ - - + + - - + + @@ -135751,10 +135407,10 @@ - - - - + + + + @@ -135771,62 +135427,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -135837,7 +135493,7 @@ - + @@ -135871,14 +135527,14 @@ - - - - + + + + - - + + @@ -135916,7 +135572,7 @@ - + @@ -135924,34 +135580,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -135962,10 +135618,10 @@ - - - - + + + + @@ -135975,8 +135631,8 @@ - - + + @@ -135987,8 +135643,8 @@ - - + + @@ -136026,8 +135682,8 @@ - - + + @@ -136065,14 +135721,14 @@ - - - - - + + + + + - - + + @@ -136110,11 +135766,11 @@ - - - - - + + + + + @@ -136258,21 +135914,21 @@ - - + + - - - + + + - - + + - - + + @@ -136306,11 +135962,11 @@ - - - - - + + + + + @@ -136325,21 +135981,21 @@ - - + + - - + + - - + + - - - + + + @@ -136355,11 +136011,11 @@ - - - - - + + + + + @@ -136400,21 +136056,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -136435,26 +136091,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -136463,20 +136119,20 @@ - - - + + + - - - + + + - - - + + + @@ -136486,26 +136142,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -136651,9 +136307,9 @@ - - - + + + @@ -136662,9 +136318,9 @@ - - - + + + @@ -136672,21 +136328,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -136694,15 +136350,15 @@ - - - + + + - - - - + + + + @@ -136714,33 +136370,33 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + @@ -136748,28 +136404,28 @@ - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -136780,13 +136436,13 @@ - - - - - - - + + + + + + + @@ -136818,14 +136474,14 @@ - - + + - - - - + + + + @@ -136833,10 +136489,10 @@ - - - - + + + + @@ -136844,10 +136500,10 @@ - - - - + + + + @@ -136870,10 +136526,10 @@ - - - - + + + + @@ -136889,29 +136545,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -136940,13 +136596,13 @@ - - - - - - - + + + + + + + @@ -136965,10 +136621,10 @@ - - - - + + + + @@ -136985,10 +136641,10 @@ - - - - + + + + @@ -136998,30 +136654,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -137038,13 +136694,13 @@ - - + + - - - + + + @@ -137063,39 +136719,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -137118,55 +136774,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -137176,9 +136832,9 @@ - - - + + + @@ -137188,16 +136844,16 @@ - - - - - + + + + + - - - + + + @@ -137232,15 +136888,15 @@ - - - + + + - - - - + + + + @@ -137253,11 +136909,11 @@ - - - - - + + + + + @@ -137267,16 +136923,16 @@ - - - - - + + + + + - - - + + + @@ -137286,8 +136942,8 @@ - - + + @@ -137299,25 +136955,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -137328,9 +136984,9 @@ - - - + + + @@ -137382,9 +137038,9 @@ - - - + + + @@ -137418,22 +137074,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -137512,13 +137168,13 @@ - - + + - - - + + + @@ -137570,8 +137226,8 @@ - - + + @@ -137587,9 +137243,9 @@ - - - + + + @@ -137599,17 +137255,17 @@ - - - - + + + + - - - - - + + + + + @@ -137626,17 +137282,17 @@ - - + + - - - - - - - + + + + + + + @@ -137645,23 +137301,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -137672,12 +137328,12 @@ - - - - - - + + + + + + @@ -137689,8 +137345,8 @@ - - + + @@ -137702,18 +137358,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -137721,12 +137377,12 @@ - - + + - - + + @@ -137764,9 +137420,9 @@ - - - + + + @@ -137778,8 +137434,8 @@ - - + + @@ -137811,45 +137467,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -137894,9 +137550,9 @@ - - - + + + @@ -137927,10 +137583,10 @@ - - - - + + + + @@ -138022,14 +137678,14 @@ - - - - + + + + - - + + @@ -138047,8 +137703,8 @@ - - + + @@ -138293,9 +137949,9 @@ - - - + + + @@ -138384,9 +138040,9 @@ - - - + + + @@ -138407,13 +138063,13 @@ - - - - - - - + + + + + + + @@ -138425,29 +138081,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -138505,9 +138161,9 @@ - - - + + + @@ -138519,17 +138175,17 @@ - - - - - - + + + + + + - - - + + + @@ -138653,9 +138309,9 @@ - - - + + + @@ -138688,30 +138344,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -138734,9 +138390,9 @@ - - - + + + @@ -138754,8 +138410,8 @@ - - + + @@ -138790,10 +138446,10 @@ - - - - + + + + @@ -138802,21 +138458,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -138824,21 +138480,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -138857,12 +138513,12 @@ - - - + + + - - + + @@ -138877,26 +138533,26 @@ - - + + - - + + - - + + - + - + @@ -138908,12 +138564,12 @@ - - + + - - + + @@ -138928,23 +138584,23 @@ - - + + - - + + - - - + + + - + - + @@ -138963,15 +138619,15 @@ - - - + + + - - - - + + + + @@ -138984,20 +138640,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -139019,9 +138675,9 @@ - - - + + + @@ -139030,10 +138686,10 @@ - - - - + + + + @@ -139041,9 +138697,9 @@ - - - + + + @@ -139051,9 +138707,9 @@ - - - + + + @@ -139062,17 +138718,17 @@ - - - - + + + + - + @@ -139084,11 +138740,11 @@ - - + + - + @@ -139127,8 +138783,8 @@ - - + + @@ -139221,8 +138877,8 @@ - - + + @@ -139231,8 +138887,8 @@ - - + + @@ -139264,19 +138920,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -139288,9 +138944,9 @@ - - - + + + @@ -139309,14 +138965,14 @@ - - - - + + + + - - + + @@ -139344,9 +139000,9 @@ - - - + + + @@ -139364,7 +139020,6 @@ - @@ -139386,19 +139041,19 @@ - - + + - - - - + + + + - - - + + + @@ -139416,8 +139071,8 @@ - - + + @@ -139427,24 +139082,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -139454,32 +139109,32 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -139496,12 +139151,12 @@ - + - - - + + + @@ -139629,10 +139284,10 @@ - - - - + + + + @@ -139640,10 +139295,10 @@ - - - - + + + + @@ -139722,19 +139377,19 @@ - - - + + + - - - + + + - - - + + + @@ -139764,8 +139419,8 @@ - - + + @@ -139783,16 +139438,16 @@ - - + + - - + + @@ -139845,9 +139500,9 @@ - - - + + + @@ -139861,9 +139516,9 @@ - - - + + + @@ -139902,8 +139557,8 @@ - - + + @@ -139949,9 +139604,9 @@ - - - + + + @@ -140042,11 +139697,11 @@ - - - - - + + + + + @@ -140281,9 +139936,9 @@ - - - + + + @@ -140401,15 +140056,15 @@ - - + + - - - - - + + + + + @@ -140443,8 +140098,8 @@ - - + + @@ -140483,17 +140138,17 @@ - - + + - - + + - - - + + + @@ -140504,8 +140159,8 @@ - - + + @@ -140536,12 +140191,12 @@ - - + + - - + + @@ -140564,8 +140219,8 @@ - - + + @@ -140587,8 +140242,8 @@ - - + + @@ -140624,9 +140279,9 @@ - - - + + + @@ -140649,9 +140304,9 @@ - - - + + + @@ -140666,16 +140321,16 @@ - - + + - - + + - - + + @@ -140694,8 +140349,8 @@ - - + + @@ -140710,16 +140365,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -140753,8 +140408,8 @@ - - + + @@ -140769,15 +140424,15 @@ - - - - + + + + - - - + + + @@ -140788,9 +140443,9 @@ - - - + + + @@ -140802,9 +140457,9 @@ - - - + + + @@ -140823,24 +140478,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -140867,8 +140522,8 @@ - - + + @@ -140887,9 +140542,9 @@ - - - + + + @@ -140898,28 +140553,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -140928,14 +140583,14 @@ - - - - + + + + - - + + @@ -140946,9 +140601,9 @@ - - - + + + @@ -140963,8 +140618,8 @@ - - + + @@ -140986,8 +140641,8 @@ - - + + @@ -141089,15 +140744,15 @@ - - - + + + - - - - + + + + @@ -141109,8 +140764,8 @@ - - + + @@ -141176,16 +140831,16 @@ - - + + - - + + @@ -141193,10 +140848,10 @@ - - - - + + + + @@ -141220,38 +140875,38 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - + + @@ -141259,10 +140914,10 @@ - - - - + + + + @@ -141286,9 +140941,9 @@ - - - + + + @@ -141296,8 +140951,8 @@ - - + + @@ -141336,9 +140991,9 @@ - - - + + + @@ -141359,10 +141014,10 @@ - - - - + + + + @@ -141412,9 +141067,9 @@ - - - + + + @@ -141474,21 +141129,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -141664,9 +141319,9 @@ - - - + + + @@ -141680,27 +141335,27 @@ - - + + - - - - + + + + - - - + + + @@ -141714,33 +141369,33 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -141986,15 +141641,15 @@ - - - + + + - - - - + + + + @@ -142045,15 +141700,15 @@ - - - + + + - - - + + + @@ -142066,15 +141721,15 @@ - - - - + + + + - - - + + + @@ -142152,9 +141807,9 @@ - - - + + + @@ -142170,36 +141825,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -142214,9 +141869,9 @@ - - - + + + @@ -142231,14 +141886,14 @@ - - - + + + - - - + + + @@ -142280,15 +141935,15 @@ - - + + - - - - - + + + + + @@ -142296,11 +141951,11 @@ - - - - - + + + + + @@ -142316,8 +141971,8 @@ - - + + @@ -142337,8 +141992,8 @@ - - + + @@ -142381,8 +142036,8 @@ - - + + @@ -142418,8 +142073,8 @@ - - + + @@ -142486,9 +142141,9 @@ - - - + + + @@ -142559,26 +142214,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -142615,21 +142270,21 @@ - - - + + + - - - + + + - - - + + + @@ -142693,15 +142348,15 @@ - - + + - - + + @@ -142712,16 +142367,16 @@ - - - - - + + + + + - - - + + + @@ -142730,11 +142385,11 @@ - - - - - + + + + + @@ -142743,9 +142398,9 @@ - - - + + + @@ -142795,11 +142450,11 @@ - - - - - + + + + + @@ -142809,23 +142464,23 @@ - - - - + + + + - - - + + + - - + + - - + + @@ -142838,12 +142493,12 @@ - - + + - - + + @@ -142851,8 +142506,8 @@ - - + + @@ -142869,8 +142524,8 @@ - - + + @@ -142878,12 +142533,12 @@ - - - + + + - + @@ -142892,9 +142547,9 @@ - - - + + + @@ -142917,17 +142572,17 @@ - - - + + + - - + + @@ -142994,28 +142649,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -143025,17 +142680,17 @@ - - + + - - - - + + + + @@ -143046,26 +142701,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -143076,9 +142731,9 @@ - - - + + + @@ -143110,10 +142765,10 @@ - - - - + + + + @@ -143146,9 +142801,9 @@ - - - + + + @@ -143165,15 +142820,15 @@ - - - - + + + + - - - + + + @@ -143197,12 +142852,12 @@ - - - - - - + + + + + + @@ -143224,13 +142879,13 @@ - - + + - - - + + + @@ -143247,10 +142902,10 @@ - - - - + + + + @@ -143261,47 +142916,47 @@ - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 59fd523c55f3..55e517248af7 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -218,7 +218,13 @@ struct ehci_hcd { /* one per controller */ unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */ unsigned need_oc_pp_cycle:1; /* MPC834X port power */ unsigned imx28_write_fix:1; /* For Freescale i.MX28 */ + /* + * __GENKSYMS__ test is an abi workaround for commit + * 7f2d73788d90 ("usb: ehci: handshake CMD_RUN * instead of STS_HALT") + */ +#ifndef __GENKSYMS__ unsigned is_aspeed:1; +#endif /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6) From 575a552ac7c6be1013294c5781f22a250b10f494 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Thu, 25 Nov 2021 11:52:14 +0000 Subject: [PATCH 11/28] ANDROID: usb: gadget: f_accessory: Mitgate handling of non-existent USB request Prevents mishandling USB requests that are no longer present. Bug: 161010552 Fixes: 483cb5629ea78 ("ANDROID: usb: gadget: f_accessory: Add Android Accessory function") Signed-off-by: Lee Jones Change-Id: I8ff24d6d49214c3bd10a1b5d5e72814ec2a91c61 --- drivers/usb/gadget/function/f_accessory.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/f_accessory.c b/drivers/usb/gadget/function/f_accessory.c index f41214c15285..66a603f3327d 100644 --- a/drivers/usb/gadget/function/f_accessory.c +++ b/drivers/usb/gadget/function/f_accessory.c @@ -678,8 +678,11 @@ fail: pr_err("acc_bind() could not allocate requests\n"); while ((req = req_get(dev, &dev->tx_idle))) acc_request_free(req, dev->ep_in); - for (i = 0; i < RX_REQ_MAX; i++) + for (i = 0; i < RX_REQ_MAX; i++) { acc_request_free(dev->rx_req[i], dev->ep_out); + dev->rx_req[i] = NULL; + } + return -1; } @@ -711,6 +714,12 @@ static ssize_t acc_read(struct file *fp, char __user *buf, goto done; } + if (!dev->rx_req[0]) { + pr_warn("acc_read: USB request already handled/freed"); + r = -EINVAL; + goto done; + } + /* * Calculate the data length by considering termination character. * Then compansite the difference of rounding up to @@ -1187,8 +1196,10 @@ acc_function_unbind(struct usb_configuration *c, struct usb_function *f) while ((req = req_get(dev, &dev->tx_idle))) acc_request_free(req, dev->ep_in); - for (i = 0; i < RX_REQ_MAX; i++) + for (i = 0; i < RX_REQ_MAX; i++) { acc_request_free(dev->rx_req[i], dev->ep_out); + dev->rx_req[i] = NULL; + } acc_hid_unbind(dev); } From 1407b7e1241f95e8da7091cba5282e5fe6af2540 Mon Sep 17 00:00:00 2001 From: Jindong Yue Date: Fri, 26 Nov 2021 19:55:22 +0800 Subject: [PATCH 12/28] ANDROID: ABI: Update symbol list for IMX Add below symbols: regmap-i3c.ko: dev_to_i3cdev, i3c_device_match_id st_lsm6dsx_spi.ko: spi_get_device_id micrel.ko: genphy_restart_aneg, phy_modify_mmd snd-soc-rpmsg-pcm512x.ko: snd_interval_ranges, snd_pcm_hw_constraint_ratnums snd-soc-imx-pcm512x-rpmsg.ko: snd_soc_limit_volume goodix.ko: touchscreen_parse_properties, touchscreen_report_pos Leaf changes summary: 10 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 10 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 10 Added functions: [A] 'function i3c_device* dev_to_i3cdev(device*)' [A] 'function int genphy_restart_aneg(phy_device*)' [A] 'function const i3c_device_id* i3c_device_match_id(i3c_device*, const i3c_device_id*)' [A] 'function int phy_modify_mmd(phy_device*, int, unsigned int, unsigned short int, unsigned short int)' [A] 'function int snd_interval_ranges(snd_interval*, unsigned int, const snd_interval*, unsigned int)' [A] 'function int snd_pcm_hw_constraint_ratnums(snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t, const snd_pcm_hw_constraint_ratnums*)' [A] 'function int snd_soc_limit_volume(snd_soc_card*, const char*, int)' [A] 'function const spi_device_id* spi_get_device_id(const spi_device*)' [A] 'function void touchscreen_parse_properties(input_dev*, bool, touchscreen_properties*)' [A] 'function void touchscreen_report_pos(input_dev*, const touchscreen_properties*, unsigned int, unsigned int, bool)' Bug: 194108974 Signed-off-by: Jindong Yue Change-Id: I824286c114b9a90b779e712b844b7db93d4b57a0 --- android/abi_gki_aarch64.xml | 11003 ++++++++++++++++++---------------- android/abi_gki_aarch64_imx | 468 +- 2 files changed, 6074 insertions(+), 5397 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 5482b9ac8140..a9acb98e0004 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1388,6 +1388,7 @@ + @@ -2391,6 +2392,7 @@ + @@ -2598,6 +2600,7 @@ + @@ -3681,6 +3684,7 @@ + @@ -4528,6 +4532,7 @@ + @@ -4546,6 +4551,7 @@ + @@ -4642,6 +4648,7 @@ + @@ -4707,6 +4714,7 @@ + @@ -4883,6 +4891,8 @@ + + @@ -8290,6 +8300,7 @@ + @@ -8644,9 +8655,9 @@ - - - + + + @@ -8659,6 +8670,7 @@ + @@ -8740,6 +8752,7 @@ + @@ -11601,7 +11614,6 @@ - @@ -12008,8 +12020,8 @@ - - + + @@ -12210,6 +12222,7 @@ + @@ -12641,23 +12654,7 @@ - - - - - - - - - - - - - - - - - + @@ -13304,7 +13301,6 @@ - @@ -14421,6 +14417,7 @@ + @@ -14853,6 +14850,12 @@ + + + + + + @@ -15347,9 +15350,6 @@ - - - @@ -15549,29 +15549,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -16926,8 +16904,8 @@ - - + + @@ -17206,6 +17184,7 @@ + @@ -17589,6 +17568,7 @@ + @@ -18455,6 +18435,7 @@ + @@ -18690,6 +18671,23 @@ + + + + + + + + + + + + + + + + + @@ -18828,7 +18826,11 @@ - + + + + + @@ -19783,6 +19785,7 @@ + @@ -19980,6 +19983,7 @@ + @@ -20417,6 +20421,14 @@ + + + + + + + + @@ -20767,7 +20779,7 @@ - + @@ -21243,6 +21255,11 @@ + + + + + @@ -21476,7 +21493,6 @@ - @@ -22217,11 +22233,6 @@ - - - - - @@ -23182,6 +23193,17 @@ + + + + + + + + + + + @@ -24380,7 +24402,7 @@ - + @@ -24605,8 +24627,8 @@ - + @@ -24909,23 +24931,7 @@ - - - - - - - - - - - - - - - - - + @@ -25587,7 +25593,7 @@ - + @@ -25743,7 +25749,7 @@ - + @@ -25964,6 +25970,7 @@ + @@ -26041,7 +26048,7 @@ - + @@ -26098,7 +26105,6 @@ - @@ -26452,7 +26458,6 @@ - @@ -27083,7 +27088,7 @@ - + @@ -28018,6 +28023,7 @@ + @@ -31763,9 +31769,9 @@ - - - + + + @@ -32464,7 +32470,32 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -32614,6 +32645,7 @@ + @@ -32868,68 +32900,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -33434,6 +33405,7 @@ + @@ -33848,7 +33820,6 @@ - @@ -34047,7 +34018,7 @@ - + @@ -34857,6 +34828,9 @@ + + + @@ -35566,6 +35540,7 @@ + @@ -37591,6 +37566,7 @@ + @@ -38380,8 +38356,8 @@ - - + + @@ -39353,6 +39329,17 @@ + + + + + + + + + + + @@ -39512,6 +39499,7 @@ + @@ -39632,9 +39620,9 @@ - - - + + + @@ -40141,7 +40129,6 @@ - @@ -41099,6 +41086,7 @@ + @@ -43364,7 +43352,11 @@ - + + + + + @@ -43596,7 +43588,15 @@ + + + + + + + + @@ -43933,7 +43933,18 @@ - + + + + + + + + + + + + @@ -44029,12 +44040,12 @@ - - - - - - + + + + + + @@ -44139,6 +44150,7 @@ + @@ -44808,6 +44820,9 @@ + + + @@ -44916,21 +44931,21 @@ - + - + - + - + - + - + @@ -45376,6 +45391,7 @@ + @@ -47026,8 +47042,8 @@ - - + + @@ -47054,6 +47070,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47347,35 +47389,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -47936,14 +47950,7 @@ - - - - - - - - + @@ -48546,6 +48553,7 @@ + @@ -48588,6 +48596,11 @@ + + + + + @@ -48993,7 +49006,7 @@ - + @@ -49119,11 +49132,6 @@ - - - - - @@ -49577,7 +49585,56 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -49918,7 +49975,6 @@ - @@ -50854,7 +50910,7 @@ - + @@ -51699,8 +51755,26 @@ + + + + + + + + + + + + + + + + + + @@ -51937,6 +52011,11 @@ + + + + + @@ -51954,6 +52033,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -52091,6 +52190,7 @@ + @@ -52141,7 +52241,6 @@ - @@ -52153,6 +52252,20 @@ + + + + + + + + + + + + + + @@ -52731,23 +52844,7 @@ - - - - - - - - - - - - - - - - - + @@ -53109,6 +53206,7 @@ + @@ -54039,9 +54137,9 @@ - - - + + + @@ -54761,7 +54859,6 @@ - @@ -55346,7 +55443,7 @@ - + @@ -55811,7 +55908,7 @@ - + @@ -56677,6 +56774,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -56885,7 +57002,6 @@ - @@ -58022,6 +58138,7 @@ + @@ -58484,6 +58601,11 @@ + + + + + @@ -59708,7 +59830,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -60898,7 +61057,65 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -61675,6 +61892,7 @@ + @@ -62624,17 +62842,7 @@ - - - - - - - - - - - + @@ -63680,6 +63888,14 @@ + + + + + + + + @@ -63692,7 +63908,7 @@ - + @@ -64186,10 +64402,10 @@ - - - - + + + + @@ -64239,12 +64455,6 @@ - - - - - - @@ -64504,7 +64714,6 @@ - @@ -64828,7 +65037,47 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -64973,6 +65222,7 @@ + @@ -65423,6 +65673,11 @@ + + + + + @@ -66023,6 +66278,11 @@ + + + + + @@ -66444,6 +66704,11 @@ + + + + + @@ -66720,6 +66985,7 @@ + @@ -66904,7 +67170,7 @@ - + @@ -67743,6 +68009,7 @@ + @@ -68768,6 +69035,7 @@ + @@ -68964,7 +69232,6 @@ - @@ -70033,6 +70300,7 @@ + @@ -70703,12 +70971,24 @@ - + + + + + + + + + + + + + @@ -71397,8 +71677,8 @@ - - + + @@ -71517,6 +71797,7 @@ + @@ -72203,8 +72484,8 @@ - - + + @@ -72276,7 +72557,6 @@ - @@ -72744,7 +73024,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -72855,7 +73166,7 @@ - + @@ -75387,6 +75698,11 @@ + + + + + @@ -75538,6 +75854,7 @@ + @@ -76945,11 +77262,11 @@ - + - + @@ -78002,12 +78319,12 @@ - - - - - - + + + + + + @@ -79242,6 +79559,7 @@ + @@ -79292,7 +79610,6 @@ - @@ -79532,6 +79849,7 @@ + @@ -79808,6 +80126,7 @@ + @@ -80256,7 +80575,6 @@ - @@ -80844,7 +81162,6 @@ - @@ -80917,9 +81234,6 @@ - - - @@ -80936,6 +81250,11 @@ + + + + + @@ -80958,6 +81277,7 @@ + @@ -81418,7 +81738,7 @@ - + @@ -81494,6 +81814,14 @@ + + + + + + + + @@ -81648,6 +81976,12 @@ + + + + + + @@ -83454,6 +83788,7 @@ + @@ -84565,7 +84900,6 @@ - @@ -85184,7 +85518,7 @@ - + @@ -85865,9 +86199,9 @@ - - - + + + @@ -85982,6 +86316,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -86289,7 +86670,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -86314,7 +86714,7 @@ - + @@ -86339,7 +86739,6 @@ - @@ -86378,7 +86777,6 @@ - @@ -87466,6 +87864,7 @@ + @@ -87790,7 +88189,7 @@ - + @@ -88421,8 +88820,8 @@ - - + + @@ -88652,6 +89051,7 @@ + @@ -89490,6 +89890,7 @@ + @@ -89650,14 +90051,6 @@ - - - - - - - - @@ -90092,20 +90485,7 @@ - - - - - - - - - - - - - - + @@ -90662,7 +91042,7 @@ - + @@ -90837,7 +91217,7 @@ - + @@ -91132,7 +91512,6 @@ - @@ -91268,12 +91647,12 @@ - + - + @@ -92533,6 +92912,17 @@ + + + + + + + + + + + @@ -92828,6 +93218,7 @@ + @@ -93340,6 +93731,17 @@ + + + + + + + + + + + @@ -94102,7 +94504,7 @@ - + @@ -94614,7 +95016,7 @@ - + @@ -94660,7 +95062,7 @@ - + @@ -95098,7 +95500,7 @@ - + @@ -95804,6 +96206,9 @@ + + + @@ -97043,7 +97448,6 @@ - @@ -97319,8 +97723,8 @@ - - + + @@ -97529,8 +97933,8 @@ - - + + @@ -97741,6 +98145,7 @@ + @@ -98685,7 +99090,6 @@ - @@ -99661,14 +100065,7 @@ - - - - - - - - + @@ -101151,10 +101548,10 @@ - - - + + + @@ -101178,7 +101575,7 @@ - + @@ -101319,8 +101716,8 @@ - - + + @@ -101920,6 +102317,7 @@ + @@ -102188,7 +102586,6 @@ - @@ -102519,6 +102916,14 @@ + + + + + + + + @@ -102714,20 +103119,7 @@ - - - - - - - - - - - - - - + @@ -102786,9 +103178,6 @@ - - - @@ -106196,7 +106585,6 @@ - @@ -106211,6 +106599,20 @@ + + + + + + + + + + + + + + @@ -106545,7 +106947,6 @@ - @@ -110470,6 +110871,11 @@ + + + + + @@ -110796,7 +111202,6 @@ - @@ -112552,6 +112957,7 @@ + @@ -112636,6 +113042,7 @@ + @@ -112754,8 +113161,8 @@ - - + + @@ -113292,7 +113699,6 @@ - @@ -116943,9 +117349,9 @@ - - - + + + @@ -116956,33 +117362,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -116992,27 +117398,27 @@ - - - + + + - - - + + + - - - + + + - - - + + + @@ -117022,8 +117428,8 @@ - - + + @@ -117042,8 +117448,8 @@ - - + + @@ -117059,57 +117465,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -117120,16 +117526,16 @@ - - + + - - + + @@ -117153,12 +117559,12 @@ - - - - - - + + + + + + @@ -117175,9 +117581,9 @@ - - - + + + @@ -117193,33 +117599,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -117232,22 +117638,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -117326,13 +117732,13 @@ - - - - - - - + + + + + + + @@ -117341,29 +117747,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -117405,11 +117811,11 @@ - - - - - + + + + + @@ -117429,14 +117835,14 @@ - - + + - - - - + + + + @@ -117459,15 +117865,15 @@ - - - - + + + + - - - + + + @@ -117475,11 +117881,11 @@ - - - - - + + + + + @@ -117530,21 +117936,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -117585,18 +117991,18 @@ - - + + - - - + + + - - - + + + @@ -117629,17 +118035,17 @@ - - - - + + + + - - - - - + + + + + @@ -117650,53 +118056,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -117704,9 +118110,9 @@ - - - + + + @@ -117715,49 +118121,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -117767,10 +118173,10 @@ - - - - + + + + @@ -117814,17 +118220,17 @@ - - + + - - + + - - - + + + @@ -117859,10 +118265,10 @@ - - - - + + + + @@ -117894,13 +118300,13 @@ - - - + + + - - + + @@ -117931,8 +118337,8 @@ - - + + @@ -117941,8 +118347,8 @@ - - + + @@ -117964,8 +118370,8 @@ - - + + @@ -118012,8 +118418,8 @@ - - + + @@ -118035,10 +118441,10 @@ - - - - + + + + @@ -118074,9 +118480,9 @@ - - - + + + @@ -118220,16 +118626,16 @@ - - + + - - + + @@ -118278,26 +118684,26 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + @@ -118306,31 +118712,31 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -118348,9 +118754,9 @@ - - - + + + @@ -118398,67 +118804,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -118474,16 +118880,16 @@ - - + + - - - - - - + + + + + + @@ -118504,22 +118910,22 @@ - - + + - - + + - - + + - - + + @@ -118536,23 +118942,23 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -118562,8 +118968,8 @@ - - + + @@ -118576,8 +118982,8 @@ - - + + @@ -118647,9 +119053,9 @@ - - - + + + @@ -118688,11 +119094,11 @@ - - - - - + + + + + @@ -118708,19 +119114,19 @@ - - - + + + - - - + + + - - - + + + @@ -118752,9 +119158,9 @@ - - - + + + @@ -118843,14 +119249,14 @@ - - - + + + - - - + + + @@ -118859,65 +119265,65 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -118926,48 +119332,48 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -118978,8 +119384,8 @@ - - + + @@ -119097,8 +119503,8 @@ - - + + @@ -119200,28 +119606,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -119236,11 +119642,11 @@ - - - - - + + + + + @@ -119252,11 +119658,11 @@ - - - - - + + + + + @@ -119275,8 +119681,8 @@ - - + + @@ -119313,10 +119719,10 @@ - - - - + + + + @@ -119354,22 +119760,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -119396,22 +119802,22 @@ - - + + - - - - + + + + - - - + + + @@ -119472,8 +119878,8 @@ - - + + @@ -119504,18 +119910,18 @@ - - + + - - - + + + - - - + + + @@ -119527,8 +119933,8 @@ - - + + @@ -119544,9 +119950,9 @@ - - - + + + @@ -119579,12 +119985,12 @@ - - + + - - + + @@ -119595,23 +120001,23 @@ - - + + - - - + + + - - - - + + + + @@ -119626,9 +120032,9 @@ - - - + + + @@ -119647,8 +120053,8 @@ - - + + @@ -119668,58 +120074,58 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -119762,12 +120168,12 @@ - - + + - - + + @@ -119796,10 +120202,10 @@ - - - - + + + + @@ -119854,42 +120260,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -119932,10 +120338,10 @@ - - - - + + + + @@ -119943,9 +120349,9 @@ - - - + + + @@ -119955,7 +120361,7 @@ - + @@ -119976,8 +120382,8 @@ - - + + @@ -119998,22 +120404,22 @@ - - + + - - - + + + - - - + + + @@ -120063,11 +120469,11 @@ - - - - - + + + + + @@ -120075,44 +120481,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -120133,8 +120539,8 @@ - - + + @@ -120159,18 +120565,18 @@ - - - + + + - - - + + + @@ -120187,9 +120593,9 @@ - - - + + + @@ -120200,11 +120606,11 @@ - - - - - + + + + + @@ -120214,8 +120620,8 @@ - - + + @@ -120231,18 +120637,18 @@ - - + + - - + + - - - - + + + + @@ -120273,12 +120679,12 @@ - - + + - - + + @@ -120287,7 +120693,7 @@ - + @@ -120318,11 +120724,11 @@ - - - - - + + + + + @@ -120332,25 +120738,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120387,11 +120793,11 @@ - - - - - + + + + + @@ -120401,11 +120807,11 @@ - - - - - + + + + + @@ -120437,9 +120843,9 @@ - - - + + + @@ -120450,8 +120856,8 @@ - - + + @@ -120461,9 +120867,9 @@ - - - + + + @@ -120472,11 +120878,11 @@ - - - - - + + + + + @@ -120489,16 +120895,16 @@ - - + + - - + + - - + + @@ -120509,8 +120915,8 @@ - - + + @@ -120552,49 +120958,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -120616,9 +121022,9 @@ - - - + + + @@ -120631,9 +121037,9 @@ - - - + + + @@ -120655,10 +121061,10 @@ - - - - + + + + @@ -120689,15 +121095,15 @@ - - - - + + + + - - - + + + @@ -120717,8 +121123,8 @@ - - + + @@ -120734,8 +121140,8 @@ - - + + @@ -120743,13 +121149,13 @@ - - + + - - - + + + @@ -120760,9 +121166,9 @@ - - - + + + @@ -120779,16 +121185,16 @@ - - + + - - + + @@ -120813,9 +121219,9 @@ - - - + + + @@ -120905,9 +121311,9 @@ - - - + + + @@ -120920,17 +121326,17 @@ - - - - + + + + - - - - + + + + @@ -120938,10 +121344,10 @@ - - - - + + + + @@ -120949,12 +121355,16 @@ - - - + + + + + + + @@ -120972,11 +121382,11 @@ - - - - - + + + + + @@ -121048,20 +121458,20 @@ - - + + - - + + - - + + @@ -121074,8 +121484,8 @@ - - + + @@ -121097,12 +121507,12 @@ - - - - - - + + + + + + @@ -121111,40 +121521,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -121179,28 +121589,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -121222,10 +121632,10 @@ - - - - + + + + @@ -121247,11 +121657,11 @@ - - - - - + + + + + @@ -121274,15 +121684,15 @@ - - - + + + - - - - + + + + @@ -121299,14 +121709,14 @@ - - - + + + - - - + + + @@ -121335,22 +121745,22 @@ - - + + - - + + - - - - + + + + @@ -121373,10 +121783,10 @@ - - - - + + + + @@ -121384,15 +121794,15 @@ - - - - + + + + - - - + + + @@ -121499,11 +121909,11 @@ - - - - - + + + + + @@ -121701,29 +122111,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -121733,10 +122143,10 @@ - - - - + + + + @@ -121775,14 +122185,14 @@ - - - - - - - - + + + + + + + + @@ -121795,9 +122205,9 @@ - - - + + + @@ -121830,8 +122240,8 @@ - - + + @@ -121898,14 +122308,14 @@ - - - + + + - - - + + + @@ -121913,10 +122323,10 @@ - - - - + + + + @@ -121961,15 +122371,15 @@ - - - - + + + + - - - + + + @@ -122068,16 +122478,16 @@ - - - + + + - - - - - + + + + + @@ -122127,46 +122537,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -122261,9 +122671,9 @@ - - - + + + @@ -122285,17 +122695,17 @@ - - + + - - - + + + - - + + @@ -122303,15 +122713,15 @@ - - - + + + - - - - + + + + @@ -122322,34 +122732,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -122361,9 +122771,9 @@ - - - + + + @@ -122371,8 +122781,8 @@ - - + + @@ -122383,15 +122793,15 @@ - + - - - - - - + + + + + + @@ -122403,13 +122813,13 @@ - - - - + + + + - - + + @@ -122429,10 +122839,10 @@ - - - - + + + + @@ -122582,46 +122992,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -122754,8 +123164,8 @@ - - + + @@ -122788,16 +123198,16 @@ - - + + - - + + - - + + @@ -122809,8 +123219,8 @@ - - + + @@ -122821,8 +123231,8 @@ - - + + @@ -122842,9 +123252,9 @@ - - - + + + @@ -122854,62 +123264,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -122927,14 +123337,14 @@ - - - + + + - - - + + + @@ -122969,13 +123379,13 @@ - - - - - - - + + + + + + + @@ -123199,62 +123609,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -123270,15 +123680,15 @@ - - + + - - - - - + + + + + @@ -123289,10 +123699,10 @@ - - - - + + + + @@ -123321,8 +123731,8 @@ - - + + @@ -123330,9 +123740,9 @@ - - - + + + @@ -123369,9 +123779,9 @@ - - - + + + @@ -123380,8 +123790,8 @@ - - + + @@ -123389,19 +123799,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -123409,20 +123819,20 @@ - - + + - - + + - - + + - - + + @@ -123435,17 +123845,17 @@ - - + + - - + + - - - + + + @@ -123492,19 +123902,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -123512,17 +123922,17 @@ - - - + + + - - + + @@ -123540,20 +123950,20 @@ - - + + - - + + - - + + @@ -123566,11 +123976,11 @@ - - - - - + + + + + @@ -123581,33 +123991,33 @@ - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -123891,23 +124301,23 @@ - - + + - - - - + + + + - - - + + + @@ -123923,12 +124333,12 @@ - - - - - - + + + + + + @@ -123980,20 +124390,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -124148,10 +124558,10 @@ - - - - + + + + @@ -124201,9 +124611,9 @@ - - - + + + @@ -124332,19 +124742,19 @@ - - - + + + - - - + + + - - - + + + @@ -124445,8 +124855,8 @@ - - + + @@ -124468,9 +124878,9 @@ - - - + + + @@ -124498,8 +124908,8 @@ - - + + @@ -124514,24 +124924,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -124550,9 +124960,9 @@ - - - + + + @@ -124566,18 +124976,18 @@ - - + + - - - + + + - - - + + + @@ -124598,9 +125008,9 @@ - - - + + + @@ -124631,28 +125041,28 @@ - - + + - - + + - - - + + + - - - - + + + + - - - + + + @@ -124663,83 +125073,83 @@ - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -124795,17 +125205,17 @@ - - + + - - + + - - - + + + @@ -124819,20 +125229,20 @@ - - + + - - + + - - + + @@ -124901,9 +125311,9 @@ - - - + + + @@ -124911,44 +125321,44 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + @@ -124958,12 +125368,12 @@ - - - - - - + + + + + + @@ -124974,9 +125384,9 @@ - - - + + + @@ -124984,18 +125394,18 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -125010,30 +125420,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -125069,8 +125479,8 @@ - - + + @@ -125146,20 +125556,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -125168,19 +125578,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -125207,36 +125617,36 @@ - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125475,8 +125885,8 @@ - - + + @@ -125490,13 +125900,13 @@ - - + + - - - + + + @@ -125535,14 +125945,14 @@ - - - + + + - - - + + + @@ -125550,17 +125960,17 @@ - - - - + + + + - - + + @@ -125575,9 +125985,9 @@ - - - + + + @@ -125591,50 +126001,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -125644,15 +126054,15 @@ - - - + + + - - - - + + + + @@ -125685,27 +126095,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -125719,9 +126129,9 @@ - - - + + + @@ -125730,30 +126140,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125769,26 +126179,26 @@ - - + + - - - + + + - - + + - - - + + + @@ -125805,8 +126215,8 @@ - - + + @@ -125821,8 +126231,8 @@ - - + + @@ -125870,18 +126280,18 @@ - - - + + + - - + + - - - + + + @@ -125889,13 +126299,13 @@ - - + + - - - + + + @@ -125903,9 +126313,9 @@ - - - + + + @@ -125963,8 +126373,8 @@ - - + + @@ -125973,9 +126383,9 @@ - - - + + + @@ -125988,8 +126398,8 @@ - - + + @@ -126032,12 +126442,12 @@ - - + + - - + + @@ -126074,35 +126484,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -126114,13 +126524,13 @@ - - - + + + - - + + @@ -126163,33 +126573,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -126210,8 +126620,8 @@ - - + + @@ -126236,10 +126646,10 @@ - - - - + + + + @@ -126249,12 +126659,12 @@ - - + + - - + + @@ -126265,17 +126675,17 @@ - - - - - - - + + + + + + + - - + + @@ -126292,8 +126702,12 @@ - - + + + + + + @@ -126319,15 +126733,15 @@ - - + + - - - - - + + + + + @@ -126339,8 +126753,8 @@ - - + + @@ -126366,8 +126780,8 @@ - - + + @@ -126377,20 +126791,20 @@ - - + + - + - - - + + + @@ -126404,41 +126818,41 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -126448,13 +126862,13 @@ - - + + - - - + + + @@ -126468,41 +126882,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -126516,8 +126930,8 @@ - - + + @@ -126529,18 +126943,18 @@ - - + + - - - - + + + + @@ -126564,23 +126978,23 @@ - - - + + + - - - + + + - - - + + + - - + + @@ -126593,9 +127007,9 @@ - - - + + + @@ -126603,29 +127017,29 @@ - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -126658,9 +127072,9 @@ - - - + + + @@ -126669,13 +127083,13 @@ - - + + - - - + + + @@ -126772,8 +127186,8 @@ - - + + @@ -126798,13 +127212,13 @@ - - - + + + - - + + @@ -126849,10 +127263,10 @@ - - + + - + @@ -126867,22 +127281,22 @@ - - - + + + - - - + + + - - + + - - + + @@ -126933,38 +127347,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -126975,9 +127389,9 @@ - - - + + + @@ -126992,26 +127406,26 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -127026,28 +127440,28 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127062,28 +127476,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127105,18 +127519,18 @@ - - + + - - + + - - + + @@ -127139,12 +127553,12 @@ - - + + - - + + @@ -127181,9 +127595,9 @@ - - - + + + @@ -127218,81 +127632,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -127326,6 +127740,11 @@ + + + + + @@ -127417,12 +127836,12 @@ - - + + - - + + @@ -127465,14 +127884,14 @@ - - + + - - - - + + + + @@ -127493,36 +127912,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -127533,39 +127952,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -127591,14 +128010,14 @@ - - + + - - - - + + + + @@ -127615,8 +128034,8 @@ - - + + @@ -127706,14 +128125,14 @@ - - - - - - - - + + + + + + + + @@ -127723,8 +128142,8 @@ - - + + @@ -127748,9 +128167,9 @@ - - - + + + @@ -127770,18 +128189,18 @@ - - - - + + + + - - - + + + @@ -127789,27 +128208,27 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -127819,8 +128238,8 @@ - - + + @@ -127841,8 +128260,8 @@ - - + + @@ -127857,8 +128276,8 @@ - - + + @@ -127891,20 +128310,20 @@ - - + + - - + + - - + + @@ -127941,12 +128360,12 @@ - - + + - - + + @@ -127954,34 +128373,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -128063,9 +128482,9 @@ - - - + + + @@ -128226,41 +128645,41 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -128268,53 +128687,53 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -128349,8 +128768,8 @@ - - + + @@ -128450,13 +128869,13 @@ - - - + + + - - + + @@ -128467,15 +128886,15 @@ - - - - - - - - - + + + + + + + + + @@ -128511,9 +128930,9 @@ - - - + + + @@ -128539,30 +128958,30 @@ - - - + + + - - - - + + + + - - - - + + + + - - - + + + @@ -128575,10 +128994,10 @@ - - - - + + + + @@ -128586,11 +129005,11 @@ - - - - - + + + + + @@ -128613,10 +129032,10 @@ - - - - + + + + @@ -128629,20 +129048,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -128652,9 +129071,9 @@ - - - + + + @@ -128743,14 +129162,14 @@ - - - + + + - - + + @@ -128832,8 +129251,8 @@ - - + + @@ -128843,66 +129262,66 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + @@ -128922,21 +129341,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -128947,23 +129366,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -128972,10 +129391,10 @@ - - - - + + + + @@ -129007,46 +129426,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -129055,31 +129474,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -129088,23 +129507,23 @@ - - - + + + - - - + + + - - - + + + @@ -129112,34 +129531,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -129149,16 +129568,16 @@ - - - - + + + + - - - - + + + + @@ -129174,10 +129593,10 @@ - - - - + + + + @@ -129187,10 +129606,10 @@ - - - - + + + + @@ -129200,37 +129619,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -129241,9 +129660,9 @@ - - - + + + @@ -129257,11 +129676,11 @@ - - - - - + + + + + @@ -129293,11 +129712,11 @@ - - + + - + @@ -129314,15 +129733,15 @@ - - + + - - + + - - + + @@ -129342,8 +129761,8 @@ - - + + @@ -129353,8 +129772,8 @@ - - + + @@ -129366,8 +129785,8 @@ - - + + @@ -129381,18 +129800,18 @@ - - - + + + - - - - + + + + - - + + @@ -129400,10 +129819,10 @@ - - - - + + + + @@ -129416,14 +129835,14 @@ - - - - + + + + - - + + @@ -129459,18 +129878,18 @@ - - - + + + - - - + + + @@ -129481,8 +129900,8 @@ - - + + @@ -129493,29 +129912,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -129534,11 +129953,11 @@ - - - - - + + + + + @@ -129546,8 +129965,8 @@ - - + + @@ -129565,11 +129984,11 @@ - - - - - + + + + + @@ -129597,21 +130016,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -129624,9 +130043,9 @@ - - - + + + @@ -129637,13 +130056,13 @@ - - + + - - - + + + @@ -129651,50 +130070,50 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -129708,8 +130127,8 @@ - - + + @@ -129785,9 +130204,9 @@ - - - + + + @@ -129825,12 +130244,12 @@ - - + + - - - + + + @@ -129840,17 +130259,17 @@ - - - + + + - - - + + + - + @@ -129863,9 +130282,9 @@ - - - + + + @@ -129945,10 +130364,10 @@ - - - - + + + + @@ -129976,13 +130395,13 @@ - - - - - - - + + + + + + + @@ -130169,12 +130588,12 @@ - - + + - - + + @@ -130186,11 +130605,11 @@ - - - - - + + + + + @@ -130231,8 +130650,8 @@ - - + + @@ -130285,8 +130704,8 @@ - - + + @@ -130298,9 +130717,9 @@ - - - + + + @@ -130311,28 +130730,28 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -130343,9 +130762,9 @@ - - - + + + @@ -130406,8 +130825,8 @@ - - + + @@ -130446,9 +130865,9 @@ - - - + + + @@ -130504,8 +130923,8 @@ - - + + @@ -130558,51 +130977,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -130610,18 +131029,18 @@ - - - - + + + + - - + + @@ -130629,14 +131048,14 @@ - - - - + + + + - - - + + + @@ -130672,17 +131091,17 @@ - - + + - - - + + + @@ -130692,9 +131111,9 @@ - - - + + + @@ -130736,12 +131155,12 @@ - - + + - - + + @@ -130755,67 +131174,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -130823,19 +131242,19 @@ - - + + - - + + - - - - - + + + + + @@ -130846,41 +131265,41 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + @@ -130894,16 +131313,16 @@ - - - - + + + + - - - - + + + + @@ -130924,11 +131343,11 @@ - - - - - + + + + + @@ -130945,24 +131364,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -130997,12 +131416,12 @@ - - + + - - + + @@ -131027,18 +131446,18 @@ - - - + + + - - + + - - - + + + @@ -131062,18 +131481,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -131084,19 +131503,19 @@ - - - - + + + + - - + + - - - + + + @@ -131115,14 +131534,14 @@ - - - + + + - - - + + + @@ -131148,9 +131567,9 @@ - - - + + + @@ -131163,22 +131582,22 @@ - - - - + + + + - - + + - - + + @@ -131192,43 +131611,43 @@ - - + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -131241,9 +131660,9 @@ - - - + + + @@ -131276,14 +131695,14 @@ - - - - + + + + - - + + @@ -131294,44 +131713,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -131365,16 +131784,16 @@ - - - - - - + + + + + + - - - + + + @@ -131382,9 +131801,9 @@ - - - + + + @@ -131428,33 +131847,33 @@ - - - + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + @@ -131479,9 +131898,9 @@ - - - + + + @@ -131497,32 +131916,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -131531,9 +131950,9 @@ - - - + + + @@ -131541,74 +131960,74 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -131620,42 +132039,42 @@ - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -131670,8 +132089,8 @@ - - + + @@ -131691,8 +132110,8 @@ - - + + @@ -131706,61 +132125,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -131778,12 +132197,12 @@ - - - - - - + + + + + + @@ -131794,12 +132213,12 @@ - - - - - - + + + + + + @@ -131814,9 +132233,9 @@ - - - + + + @@ -131829,15 +132248,15 @@ - - + + - - - - - + + + + + @@ -131854,10 +132273,10 @@ - - - - + + + + @@ -131877,10 +132296,10 @@ - - - - + + + + @@ -131914,8 +132333,8 @@ - - + + @@ -131926,8 +132345,8 @@ - - + + @@ -132030,33 +132449,33 @@ - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -132082,8 +132501,8 @@ - - + + @@ -132098,16 +132517,16 @@ - - + + - - + + - - + + @@ -132192,19 +132611,19 @@ - - - + + + - - - + + + - - - + + + @@ -132219,8 +132638,8 @@ - - + + @@ -132251,9 +132670,9 @@ - - - + + + @@ -132283,14 +132702,14 @@ - - - + + + - - - + + + @@ -132303,9 +132722,9 @@ - - - + + + @@ -132313,10 +132732,10 @@ - - - - + + + + @@ -132330,12 +132749,12 @@ - - + + - - + + @@ -132356,9 +132775,9 @@ - - - + + + @@ -132370,9 +132789,9 @@ - - - + + + @@ -132420,8 +132839,8 @@ - - + + @@ -132467,9 +132886,9 @@ - - - + + + @@ -132485,10 +132904,10 @@ - - - - + + + + @@ -132509,10 +132928,10 @@ - - - - + + + + @@ -132545,17 +132964,17 @@ - - + + - - - + + + @@ -132569,40 +132988,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -132624,20 +133043,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -132645,21 +133064,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -132670,7 +133089,7 @@ - + @@ -132689,21 +133108,21 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -132737,8 +133156,8 @@ - - + + @@ -132758,9 +133177,9 @@ - - - + + + @@ -132768,23 +133187,23 @@ - - - + + + - - - + + + - - - + + + @@ -132805,37 +133224,37 @@ - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -132849,11 +133268,11 @@ - - - - - + + + + + @@ -132863,6 +133282,14 @@ + + + + + + + + @@ -132904,10 +133331,10 @@ - - - - + + + + @@ -132966,24 +133393,24 @@ - - + + - - + + - - + + @@ -132993,11 +133420,11 @@ - - - - - + + + + + @@ -133042,14 +133469,14 @@ - - - - + + + + - - - + + + @@ -133281,8 +133708,8 @@ - - + + @@ -133302,29 +133729,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -133336,14 +133763,14 @@ - - - + + + - - - + + + @@ -133356,16 +133783,16 @@ - - - - + + + + - - - - + + + + @@ -133417,12 +133844,12 @@ - - + + - - + + @@ -133469,24 +133896,24 @@ - - + + - - + + - - + + - - + + @@ -133506,13 +133933,13 @@ - - + + - - - + + + @@ -133526,19 +133953,18 @@ - - - - + + + + - - - - + + + + - @@ -133556,8 +133982,8 @@ - - + + @@ -133572,8 +133998,8 @@ - - + + @@ -133607,8 +134033,8 @@ - - + + @@ -133626,10 +134052,10 @@ - - - - + + + + @@ -133642,54 +134068,54 @@ - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -133698,36 +134124,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -133738,12 +134164,12 @@ - - - - - - + + + + + + @@ -133762,9 +134188,9 @@ - - - + + + @@ -133774,8 +134200,8 @@ - - + + @@ -133789,10 +134215,10 @@ - - - - + + + + @@ -133805,13 +134231,13 @@ - - - + + + - - + + @@ -133864,11 +134290,11 @@ - - - - - + + + + + @@ -133884,20 +134310,20 @@ - - + + - - + + - - + + @@ -133905,24 +134331,24 @@ - - + + - - + + - - + + @@ -133982,8 +134408,8 @@ - - + + @@ -133993,21 +134419,21 @@ - - - - - + + + + + - - - - + + + + @@ -134021,19 +134447,19 @@ - - - + + + - - + + - - - - + + + + @@ -134056,48 +134482,48 @@ - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -134106,7 +134532,7 @@ - + @@ -134146,17 +134572,17 @@ - + - + - - + + @@ -134175,8 +134601,8 @@ - - + + @@ -134203,31 +134629,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -134287,8 +134713,8 @@ - - + + @@ -134329,16 +134755,16 @@ - - + + - - + + - - + + @@ -134349,8 +134775,8 @@ - - + + @@ -134373,12 +134799,12 @@ - - + + - - + + @@ -134394,8 +134820,8 @@ - - + + @@ -134514,10 +134940,10 @@ - - - - + + + + @@ -134526,20 +134952,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -134547,14 +134973,14 @@ - - - + + + - - - + + + @@ -134572,8 +134998,8 @@ - - + + @@ -134585,8 +135011,8 @@ - - + + @@ -134623,8 +135049,8 @@ - - + + @@ -134675,22 +135101,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -134780,8 +135206,8 @@ - - + + @@ -134789,22 +135215,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -134817,9 +135243,9 @@ - - - + + + @@ -134827,9 +135253,9 @@ - - - + + + @@ -134877,13 +135303,13 @@ - - - - - - - + + + + + + + @@ -134891,28 +135317,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -134928,20 +135354,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -134957,8 +135383,8 @@ - - + + @@ -134975,8 +135401,8 @@ - - + + @@ -134989,15 +135415,15 @@ - - - + + + - - - - + + + + @@ -135005,39 +135431,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -135045,30 +135471,30 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -135195,8 +135621,8 @@ - - + + @@ -135315,12 +135741,12 @@ - - + + - - + + @@ -135337,9 +135763,9 @@ - - - + + + @@ -135347,9 +135773,9 @@ - - - + + + @@ -135357,9 +135783,9 @@ - - - + + + @@ -135384,12 +135810,12 @@ - - + + - - + + @@ -135407,10 +135833,10 @@ - - - - + + + + @@ -135427,62 +135853,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -135493,7 +135919,7 @@ - + @@ -135527,10 +135953,10 @@ - - - - + + + + @@ -135572,7 +135998,7 @@ - + @@ -135580,34 +136006,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -135618,10 +136044,10 @@ - - - - + + + + @@ -135631,8 +136057,8 @@ - - + + @@ -135643,8 +136069,8 @@ - - + + @@ -135682,8 +136108,8 @@ - - + + @@ -135721,14 +136147,14 @@ - - - - - + + + + + - - + + @@ -135766,11 +136192,11 @@ - - - - - + + + + + @@ -135914,21 +136340,21 @@ - - + + - - - + + + - - + + - - + + @@ -135962,11 +136388,11 @@ - - - - - + + + + + @@ -135981,21 +136407,21 @@ - - + + - - + + - - + + - - - + + + @@ -136011,11 +136437,11 @@ - - - - - + + + + + @@ -136056,21 +136482,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -136091,26 +136517,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -136119,20 +136545,20 @@ - - - + + + - - - + + + - - - + + + @@ -136142,26 +136568,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -136307,9 +136733,9 @@ - - - + + + @@ -136318,9 +136744,9 @@ - - - + + + @@ -136328,21 +136754,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -136350,15 +136776,15 @@ - - - + + + - - - - + + + + @@ -136370,33 +136796,33 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + @@ -136404,28 +136830,28 @@ - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -136436,13 +136862,13 @@ - - - - - - - + + + + + + + @@ -136474,14 +136900,14 @@ - - + + - - - - + + + + @@ -136489,10 +136915,10 @@ - - - - + + + + @@ -136500,10 +136926,10 @@ - - - - + + + + @@ -136526,10 +136952,10 @@ - - - - + + + + @@ -136545,29 +136971,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -136596,13 +137022,13 @@ - - - - - - - + + + + + + + @@ -136621,10 +137047,10 @@ - - - - + + + + @@ -136641,10 +137067,10 @@ - - - - + + + + @@ -136654,30 +137080,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -136694,13 +137120,13 @@ - - + + - - - + + + @@ -136719,39 +137145,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -136774,55 +137200,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -136832,9 +137258,9 @@ - - - + + + @@ -136844,16 +137270,16 @@ - - - - - + + + + + - - - + + + @@ -136888,15 +137314,15 @@ - - - + + + - - - - + + + + @@ -136909,11 +137335,11 @@ - - - - - + + + + + @@ -136923,16 +137349,16 @@ - - - - - + + + + + - - - + + + @@ -136942,8 +137368,8 @@ - - + + @@ -136955,25 +137381,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -136984,9 +137410,9 @@ - - - + + + @@ -137038,9 +137464,9 @@ - - - + + + @@ -137074,22 +137500,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -137168,13 +137594,20 @@ - - + + - - - + + + + + + + + + + @@ -137226,8 +137659,8 @@ - - + + @@ -137243,9 +137676,9 @@ - - - + + + @@ -137255,17 +137688,17 @@ - - - - + + + + - - - - - + + + + + @@ -137275,6 +137708,13 @@ + + + + + + + @@ -137282,17 +137722,17 @@ - - + + - - - - - - - + + + + + + + @@ -137301,23 +137741,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -137328,12 +137768,12 @@ - - - - - - + + + + + + @@ -137345,8 +137785,8 @@ - - + + @@ -137358,18 +137798,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -137377,12 +137817,12 @@ - - + + - - + + @@ -137420,9 +137860,9 @@ - - - + + + @@ -137434,8 +137874,8 @@ - - + + @@ -137467,45 +137907,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -137550,9 +137990,9 @@ - - - + + + @@ -137583,10 +138023,10 @@ - - - - + + + + @@ -137678,14 +138118,14 @@ - - - - + + + + - - + + @@ -137703,8 +138143,8 @@ - - + + @@ -137808,6 +138248,12 @@ + + + + + + @@ -137949,9 +138395,9 @@ - - - + + + @@ -138040,9 +138486,9 @@ - - - + + + @@ -138063,13 +138509,13 @@ - - - - - - - + + + + + + + @@ -138081,29 +138527,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -138149,6 +138595,10 @@ + + + + @@ -138161,9 +138611,9 @@ - - - + + + @@ -138175,17 +138625,17 @@ - - - - - - + + + + + + - - - + + + @@ -138309,9 +138759,9 @@ - - - + + + @@ -138344,30 +138794,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -138390,9 +138840,9 @@ - - - + + + @@ -138410,8 +138860,8 @@ - - + + @@ -138446,10 +138896,10 @@ - - - - + + + + @@ -138458,21 +138908,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -138480,21 +138930,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -138513,12 +138963,12 @@ - - - + + + - - + + @@ -138533,26 +138983,26 @@ - - + + - - + + - - + + - + - + @@ -138564,12 +139014,12 @@ - - + + - - + + @@ -138584,23 +139034,23 @@ - - + + - - + + - - - + + + - + - + @@ -138619,15 +139069,15 @@ - - - + + + - - - - + + + + @@ -138640,20 +139090,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -138675,9 +139125,9 @@ - - - + + + @@ -138686,10 +139136,10 @@ - - - - + + + + @@ -138697,9 +139147,9 @@ - - - + + + @@ -138707,9 +139157,9 @@ - - - + + + @@ -138718,17 +139168,17 @@ - - - - + + + + - + @@ -138740,8 +139190,8 @@ - - + + @@ -138783,8 +139233,8 @@ - - + + @@ -138877,8 +139327,8 @@ - - + + @@ -138887,8 +139337,8 @@ - - + + @@ -138920,19 +139370,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -138944,9 +139394,9 @@ - - - + + + @@ -138965,14 +139415,14 @@ - - - - + + + + - - + + @@ -139000,9 +139450,9 @@ - - - + + + @@ -139020,9 +139470,24 @@ + + + + + + + + + + + + + + + @@ -139041,19 +139506,19 @@ - - + + - - - - + + + + - - - + + + @@ -139071,8 +139536,8 @@ - - + + @@ -139082,24 +139547,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -139109,32 +139574,32 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -139151,12 +139616,12 @@ - + - - - + + + @@ -139284,10 +139749,10 @@ - - - - + + + + @@ -139295,10 +139760,10 @@ - - - - + + + + @@ -139377,19 +139842,19 @@ - - - + + + - - - + + + - - - + + + @@ -139419,8 +139884,8 @@ - - + + @@ -139438,16 +139903,16 @@ - - + + - - + + @@ -139500,9 +139965,9 @@ - - - + + + @@ -139516,9 +139981,9 @@ - - - + + + @@ -139557,8 +140022,8 @@ - - + + @@ -139604,9 +140069,9 @@ - - - + + + @@ -139697,11 +140162,11 @@ - - - - - + + + + + @@ -139936,9 +140401,9 @@ - - - + + + @@ -140056,15 +140521,15 @@ - - + + - - - - - + + + + + @@ -140098,8 +140563,8 @@ - - + + @@ -140138,17 +140603,17 @@ - - + + - - + + - - - + + + @@ -140159,8 +140624,8 @@ - - + + @@ -140191,12 +140656,12 @@ - - + + - - + + @@ -140219,8 +140684,8 @@ - - + + @@ -140242,8 +140707,8 @@ - - + + @@ -140279,9 +140744,9 @@ - - - + + + @@ -140304,9 +140769,9 @@ - - - + + + @@ -140321,16 +140786,16 @@ - - + + - - + + - - + + @@ -140349,8 +140814,8 @@ - - + + @@ -140365,16 +140830,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -140408,8 +140873,8 @@ - - + + @@ -140424,15 +140889,15 @@ - - - - + + + + - - - + + + @@ -140443,9 +140908,9 @@ - - - + + + @@ -140457,9 +140922,9 @@ - - - + + + @@ -140478,24 +140943,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -140522,8 +140987,8 @@ - - + + @@ -140542,9 +141007,9 @@ - - - + + + @@ -140553,28 +141018,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -140583,14 +141048,14 @@ - - - - + + + + - - + + @@ -140601,9 +141066,9 @@ - - - + + + @@ -140618,8 +141083,8 @@ - - + + @@ -140641,8 +141106,8 @@ - - + + @@ -140744,15 +141209,15 @@ - - - + + + - - - - + + + + @@ -140764,8 +141229,8 @@ - - + + @@ -140831,16 +141296,16 @@ - - + + - - + + @@ -140848,10 +141313,10 @@ - - - - + + + + @@ -140875,38 +141340,38 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - + + @@ -140914,10 +141379,10 @@ - - - - + + + + @@ -140941,9 +141406,9 @@ - - - + + + @@ -140951,8 +141416,8 @@ - - + + @@ -140991,9 +141456,9 @@ - - - + + + @@ -141014,10 +141479,10 @@ - - - - + + + + @@ -141067,9 +141532,9 @@ - - - + + + @@ -141129,21 +141594,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -141319,9 +141784,9 @@ - - - + + + @@ -141335,27 +141800,27 @@ - - + + - - - - + + + + - - - + + + @@ -141369,33 +141834,33 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -141641,15 +142106,15 @@ - - - + + + - - - - + + + + @@ -141700,15 +142165,15 @@ - - - + + + - - - + + + @@ -141721,15 +142186,15 @@ - - - - + + + + - - - + + + @@ -141807,9 +142272,9 @@ - - - + + + @@ -141825,36 +142290,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -141869,9 +142334,9 @@ - - - + + + @@ -141886,14 +142351,14 @@ - - - + + + - - - + + + @@ -141935,15 +142400,15 @@ - - + + - - - - - + + + + + @@ -141951,11 +142416,11 @@ - - - - - + + + + + @@ -141971,8 +142436,8 @@ - - + + @@ -141992,8 +142457,8 @@ - - + + @@ -142036,8 +142501,8 @@ - - + + @@ -142073,8 +142538,8 @@ - - + + @@ -142141,9 +142606,9 @@ - - - + + + @@ -142214,26 +142679,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -142270,21 +142735,21 @@ - - - + + + - - - + + + - - - + + + @@ -142348,15 +142813,15 @@ - - + + - - + + @@ -142367,16 +142832,16 @@ - - - - - + + + + + - - - + + + @@ -142385,11 +142850,11 @@ - - - - - + + + + + @@ -142398,9 +142863,9 @@ - - - + + + @@ -142450,11 +142915,11 @@ - - - - - + + + + + @@ -142464,23 +142929,23 @@ - - - - + + + + - - - + + + - - + + - - + + @@ -142493,12 +142958,12 @@ - - + + - - + + @@ -142506,8 +142971,8 @@ - - + + @@ -142524,8 +142989,8 @@ - - + + @@ -142533,12 +142998,12 @@ - - - + + + - + @@ -142547,9 +143012,9 @@ - - - + + + @@ -142572,17 +143037,17 @@ - - - + + + - - + + @@ -142649,28 +143114,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -142680,17 +143145,17 @@ - - + + - - - - + + + + @@ -142701,26 +143166,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -142731,9 +143196,9 @@ - - - + + + @@ -142765,10 +143230,10 @@ - - - - + + + + @@ -142801,9 +143266,9 @@ - - - + + + @@ -142820,15 +143285,15 @@ - - - - + + + + - - - + + + @@ -142852,12 +143317,12 @@ - - - - - - + + + + + + @@ -142879,13 +143344,13 @@ - - + + - - - + + + @@ -142902,10 +143367,10 @@ - - - - + + + + @@ -142916,47 +143381,47 @@ - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/android/abi_gki_aarch64_imx b/android/abi_gki_aarch64_imx index 13ac690aa640..3c6bb1b282f5 100644 --- a/android/abi_gki_aarch64_imx +++ b/android/abi_gki_aarch64_imx @@ -18,6 +18,8 @@ atomic_notifier_chain_register atomic_notifier_chain_unregister bcmp + bdput + __bitmap_and bpf_trace_run1 bpf_trace_run2 bpf_trace_run3 @@ -66,6 +68,7 @@ clk_set_rate clk_unprepare complete + complete_all completion_done component_add component_bind_all @@ -90,6 +93,11 @@ __cpu_online_mask __cpu_possible_mask crc32_le + crypto_destroy_tfm + crypto_register_alg + crypto_register_scomp + crypto_unregister_alg + crypto_unregister_scomp _ctype debugfs_create_dir debugfs_create_file @@ -130,6 +138,8 @@ devm_clk_bulk_get devm_clk_get devm_clk_get_optional + __devm_drm_dev_alloc + devm_drm_panel_bridge_add devm_extcon_dev_allocate devm_extcon_dev_register devm_free_irq @@ -139,6 +149,7 @@ devm_gpiod_get_index devm_gpiod_get_optional devm_gpio_request_one + devm_input_allocate_device devm_ioremap devm_ioremap_resource devm_kasprintf @@ -166,20 +177,26 @@ devm_spi_register_controller devm_thermal_zone_of_sensor_register devm_usb_get_phy_by_phandle + devm_watchdog_register_device dev_pm_domain_attach_by_id dev_pm_domain_attach_by_name dev_pm_domain_detach dev_pm_set_wake_irq + devres_add + devres_alloc_node + devres_free dev_set_name _dev_warn disable_irq disable_irq_nosync dma_alloc_attrs + dma_async_device_register dma_async_device_unregister dma_async_tx_descriptor_init dma_buf_attach dma_buf_detach dma_buf_export + dma_buf_fd dma_buf_get dma_buf_map_attachment dma_buf_put @@ -209,8 +226,11 @@ dma_sync_single_for_device dma_unmap_page_attrs dma_unmap_sg_attrs + do_SAK down_interruptible + down_read down_trylock + down_write driver_unregister drm_add_edid_modes drm_atomic_get_crtc_state @@ -230,17 +250,22 @@ drm_atomic_helper_connector_duplicate_state drm_atomic_helper_connector_reset __drm_atomic_helper_crtc_destroy_state + drm_atomic_helper_crtc_destroy_state __drm_atomic_helper_crtc_duplicate_state + drm_atomic_helper_crtc_duplicate_state + drm_atomic_helper_crtc_reset drm_atomic_helper_disable_plane drm_atomic_helper_page_flip drm_atomic_helper_plane_destroy_state drm_atomic_helper_plane_duplicate_state drm_atomic_helper_plane_reset drm_atomic_helper_set_config + drm_atomic_helper_shutdown drm_atomic_helper_update_plane drm_atomic_helper_wait_for_vblanks drm_bridge_add drm_bridge_attach + drm_bridge_connector_init drm_bridge_hpd_notify drm_bridge_remove drm_compat_ioctl @@ -294,6 +319,9 @@ drm_helper_hpd_irq_event drm_helper_probe_single_connector_modes drm_ioctl + drm_irq_install + drm_irq_uninstall + drm_kms_helper_hotplug_event drm_kms_helper_poll_fini drm_kms_helper_poll_init drm_match_cea_mode @@ -320,6 +348,7 @@ drm_panel_add drm_panel_disable drm_panel_init + drm_panel_of_backlight drm_panel_remove drm_panel_unprepare drm_plane_cleanup @@ -338,6 +367,7 @@ eth_validate_addr event_triggers_call extcon_set_state_sync + failure_tracking find_next_bit finish_wait flush_work @@ -357,12 +387,20 @@ gcd generic_handle_irq __genphy_config_aneg + genphy_read_abilities + genphy_read_mmd_unsupported + genphy_read_status + genphy_resume genphy_soft_reset + genphy_suspend + genphy_write_mmd_unsupported gen_pool_free_owner get_cpu_device get_device get_random_bytes gic_nonsecure_priorities + gpiochip_generic_free + gpiochip_generic_request gpiochip_get_data gpiod_direction_output gpiod_direction_output_raw @@ -377,6 +415,7 @@ gpio_request gpio_to_desc handle_level_irq + handle_sysrq hdmi_audio_infoframe_init hdmi_audio_infoframe_pack hdmi_avi_infoframe_pack @@ -385,8 +424,12 @@ i2c_add_adapter i2c_del_adapter i2c_del_driver + i2c_generic_scl_recovery i2c_new_dummy_device + i2c_put_adapter + i2c_recover_bus i2c_register_driver + i2c_smbus_read_byte_data i2c_transfer i2c_transfer_buffer_flags i2c_unregister_device @@ -398,27 +441,39 @@ idr_find idr_for_each idr_get_next + idr_preload idr_remove init_net __init_swait_queue_head init_timer_key init_wait_entry __init_waitqueue_head + input_allocate_device input_event + input_mt_init_slots + input_mt_report_slot_state input_register_device + input_set_abs_params input_set_capability + input_unregister_device iomem_resource __ioremap iounmap + irq_domain_add_legacy irq_domain_remove + irq_domain_simple_ops irq_find_mapping + irq_get_irq_data irq_modify_status irq_of_parse_and_map irq_set_chained_handler_and_data + irq_set_chip_and_handler_name + irq_set_chip_data irq_set_irq_wake is_vmalloc_addr jiffies jiffies_to_msecs + jiffies_to_usecs kasan_flag_enabled kasprintf kfree @@ -428,22 +483,37 @@ __kmalloc kmalloc_caches kmalloc_order_trace + kmem_cache_alloc kmem_cache_alloc_trace + kmem_cache_create + kmem_cache_destroy + kmem_cache_free kmemdup + kobject_create_and_add kobject_put kobject_uevent_env + kstrdup + kstrtoint + kstrtou16 + kstrtouint + kstrtoull kthread_create_on_node + kthread_should_stop + kthread_stop ktime_get ktime_get_mono_fast_ns ktime_get_real_ts64 ktime_get_with_offset + kvfree kvfree_call_rcu + kvmalloc_node __list_add_valid __list_del_entry_valid __local_bh_enable_ip __log_post_read_mmio __log_read_mmio __log_write_mmio + lzo1x_decompress_safe mbox_free_channel mbox_request_channel_byname mbox_send_message @@ -466,6 +536,10 @@ memstart_addr mipi_dsi_attach mipi_dsi_create_packet + mipi_dsi_dcs_enter_sleep_mode + mipi_dsi_dcs_exit_sleep_mode + mipi_dsi_dcs_set_display_off + mipi_dsi_dcs_set_display_on mipi_dsi_detach mipi_dsi_device_register_full mipi_dsi_device_unregister @@ -560,12 +634,16 @@ of_property_count_elems_of_size of_property_match_string of_property_read_string + of_property_read_string_helper of_property_read_u32_index of_property_read_variable_u32_array + of_pwm_xlate_with_flags of_reserved_mem_lookup of_reset_control_array_get of_thermal_get_trip_points of_usb_get_phy_mode + oops_in_progress + __page_pinner_migration_failed param_array_ops param_ops_bool param_ops_charp @@ -583,9 +661,13 @@ phy_drivers_unregister phy_exit phy_init + phy_init_hw phy_modify phy_power_off phy_power_on + phy_read_mmd + phy_write_mmd + pinctrl_dev_get_drvdata pinctrl_lookup_state pinctrl_pm_select_default_state pinctrl_pm_select_sleep_state @@ -608,8 +690,10 @@ pm_genpd_init pm_genpd_remove __pm_relax + pm_runtime_allow __pm_runtime_disable pm_runtime_enable + pm_runtime_forbid pm_runtime_force_resume pm_runtime_force_suspend __pm_runtime_idle @@ -629,7 +713,10 @@ pskb_expand_head __pskb_pull_tail put_device + __put_page __put_task_struct + pwmchip_add + pwmchip_remove queue_delayed_work_on queue_work_on ___ratelimit @@ -637,6 +724,7 @@ _raw_spin_lock_bh _raw_spin_lock_irq _raw_spin_lock_irqsave + _raw_spin_trylock _raw_spin_unlock _raw_spin_unlock_bh _raw_spin_unlock_irq @@ -657,6 +745,7 @@ register_netdev register_netdevice register_netdevice_notifier + register_reboot_notifier __register_rpmsg_driver register_virtio_driver regmap_attach_dev @@ -681,13 +770,16 @@ release_firmware __release_region remap_pfn_range + remove_proc_entry remove_wait_queue request_firmware request_firmware_nowait + __request_module __request_region request_threaded_irq reset_control_assert reset_control_deassert + round_jiffies_relative rpmsg_send rpmsg_sendto rproc_add @@ -702,11 +794,16 @@ rproc_free rproc_mem_entry_init rproc_vq_interrupt + rtc_time64_to_tm + rtc_tm_to_time64 + rtc_update_irq rtnl_is_locked rtnl_lock rtnl_unlock schedule schedule_timeout + scmi_driver_register + scmi_driver_unregister scnprintf seq_lseek seq_printf @@ -720,6 +817,7 @@ sg_next __sg_page_iter_next __sg_page_iter_start + simple_strtoul single_open single_release skb_copy_bits @@ -741,6 +839,7 @@ snd_pcm_hw_constraint_integer snd_pcm_hw_constraint_list snd_pcm_hw_constraint_step + snd_pcm_hw_rule_add snd_pcm_period_elapsed snd_soc_add_component_controls snd_soc_card_jack_new @@ -758,6 +857,7 @@ snd_soc_dapm_put_volsw snd_soc_dpcm_get_substream snd_soc_get_enum_double + snd_soc_get_pcm_runtime snd_soc_get_volsw snd_soc_info_enum_double snd_soc_info_volsw @@ -772,7 +872,9 @@ snd_soc_set_runtime_hwparams snprintf soc_device_match + sort __spi_alloc_controller + __spi_register_driver sprintf sscanf __stack_chk_fail @@ -798,9 +900,12 @@ syscon_regmap_lookup_by_compatible syscon_regmap_lookup_by_phandle sysfs_create_file_ns + sysfs_create_files sysfs_create_group sysfs_remove_file_ns sysfs_remove_group + sysrq_mask + system_freezable_wq system_wq tasklet_init tasklet_kill @@ -820,6 +925,24 @@ trace_raw_output_prep trace_seq_printf try_module_get + tty_flip_buffer_push + __tty_insert_flip_char + tty_insert_flip_string_fixed_flag + uart_add_one_port + uart_console_device + uart_console_write + uart_get_baud_rate + uart_get_rs485_mode + uart_parse_options + uart_register_driver + uart_remove_one_port + uart_resume_port + uart_set_options + uart_suspend_port + uart_try_toggle_sysrq + uart_unregister_driver + uart_update_timeout + uart_write_wakeup __udelay __unregister_chrdev unregister_chrdev_region @@ -831,6 +954,10 @@ unregister_rpmsg_driver unregister_virtio_driver up + up_read + up_write + usb_add_phy_dev + usb_remove_phy usleep_range v4l2_async_notifier_add_fwnode_subdev v4l2_async_notifier_add_subdev @@ -905,6 +1032,11 @@ vb2_reqbufs vb2_streamoff vb2_streamon + vchan_dma_desc_free_list + vchan_find_desc + vchan_init + vchan_tx_desc_free + vchan_tx_submit vfree video_devdata video_device_alloc @@ -925,18 +1057,19 @@ vmap vsnprintf vunmap + wait_for_completion_interruptible wait_for_completion_interruptible_timeout wait_for_completion_timeout __wake_up wake_up_process __warn_printk + watchdog_init_timeout # required by adv7511.ko cec_s_phys_addr cec_s_phys_addr_from_edid cec_transmit_done_ts drm_get_connector_status_name - drm_kms_helper_hotplug_event hdmi_avi_infoframe_init i2c_new_ancillary_device regmap_register_patch @@ -948,16 +1081,11 @@ genphy_read_lpa genphy_update_link mdio_device_reset - phy_init_hw phy_modify_changed - phy_read_mmd phy_resolve_aneg_pause - phy_write_mmd # required by busfreq-imx8mq.ko - jiffies_to_usecs register_pm_notifier - register_reboot_notifier # required by cdns_mhdp_drmcore.ko drm_connector_attach_content_protection_property @@ -1079,8 +1207,8 @@ pcim_enable_device pci_try_set_mwi -# required by clk-blk-ctrl.ko - pm_runtime_forbid +# required by clk-imx8ulp.ko + devm_of_clk_add_hw_provider # required by cma_heap.ko cma_alloc @@ -1148,7 +1276,6 @@ drm_scdc_set_high_tmds_clock_ratio drm_scdc_set_scrambling drm_scdc_write - i2c_put_adapter of_get_i2c_adapter_by_node # required by dw_hdmi-imx.ko @@ -1201,8 +1328,9 @@ tso_count_descs tso_start -# required by fsl-imx-ldb.ko - devm_drm_panel_bridge_add +# required by fsl-edma-v3.ko + dma_get_slave_channel + of_dma_controller_free # required by fsl_imx8_ddr_perf.ko bitmap_print_to_pagebuf @@ -1213,12 +1341,18 @@ perf_pmu_register perf_pmu_unregister +# required by fsl_lpuart.ko + add_timer + console_suspend_enabled + tty_kref_put + tty_port_tty_get + tty_termios_baud_rate + # required by galcore.ko anon_inode_getfd cache_line_size dev_pm_opp_add dev_pm_opp_remove - dma_buf_fd dma_fence_array_ops dma_fence_context_alloc dma_fence_default_wait @@ -1228,22 +1362,18 @@ dma_fence_signal_locked dma_fence_wait_timeout down - down_read - down_write driver_create_file driver_remove_file drm_gem_handle_create drm_gem_object_lookup drm_gem_object_release drm_gem_private_object_init - failure_tracking fd_install find_vma find_vpid get_unused_fd_flags get_user_pages hrtimer_resolution - idr_preload iommu_attach_device iommu_domain_alloc iommu_domain_free @@ -1251,30 +1381,35 @@ iommu_set_fault_handler iommu_unmap kstrtoint_from_user - kthread_stop ktime_get_ts64 mutex_trylock - __page_pinner_migration_failed param_ops_ullong pid_task platform_bus_type - __put_page reset_control_reset schedule_hrtimeout sync_file_create sync_file_get_fence __task_pid_nr_ns _totalram_pages - up_read - up_write vm_mmap vm_munmap vm_zone_stat # required by gmsl-max9286.ko - i2c_smbus_read_byte_data i2c_smbus_write_byte_data +# required by goodix.ko + gpiod_direction_input + input_alloc_absinfo + input_mt_sync_frame + touchscreen_parse_properties + touchscreen_report_pos + wait_for_completion + +# required by gpio-imx-rpmsg.ko + __irq_alloc_descs + # required by gpio-ir-recv.ko devm_rc_allocate_device devm_rc_register_device @@ -1285,12 +1420,8 @@ __devm_irq_alloc_descs devm_irq_alloc_generic_chip devm_irq_setup_generic_chip - gpiochip_generic_free - gpiochip_generic_request gpiochip_lock_as_irq gpiochip_unlock_as_irq - irq_domain_add_legacy - irq_domain_simple_ops irq_gc_ack_set_bit irq_gc_mask_clr_bit irq_gc_mask_set_bit @@ -1298,7 +1429,12 @@ register_syscore_ops # required by gpio-pca953x.ko + __bitmap_complement + __bitmap_or __bitmap_replace + __bitmap_xor + handle_nested_irq + handle_simple_irq regcache_sync_region # required by gpio-regulator.ko @@ -1315,12 +1451,28 @@ typec_switch_register typec_switch_unregister +# required by gpio-vf610.ko + handle_edge_irq + pinctrl_gpio_direction_input + pinctrl_gpio_direction_output + +# required by hwmon.ko + devres_release + kobject_uevent + kstrtoll + strpbrk + sysfs_notify + thermal_zone_device_update + +# required by i2c-imx-lpi2c.ko + i2c_get_dma_safe_msg_buf + i2c_put_dma_safe_msg_buf + pinctrl_pm_select_idle_state + # required by i2c-imx.ko clk_notifier_register clk_notifier_unregister i2c_add_numbered_adapter - i2c_generic_scl_recovery - i2c_recover_bus # required by imx-cpufreq-dt.ko clk_bulk_get @@ -1329,19 +1481,21 @@ dev_pm_opp_set_supported_hw nvmem_cell_read_u32 +# required by imx-dcnano-drm.ko + drm_crtc_vblank_helper_get_vblank_timestamp + drm_crtc_vblank_put + of_graph_parse_endpoint + # required by imx-dcss.ko devm_clk_put - __devm_drm_dev_alloc devm_iounmap drm_atomic_get_connector_state drm_atomic_helper_check_modeset drm_atomic_helper_check_planes drm_atomic_helper_disable_planes_on_crtc - drm_atomic_helper_shutdown drm_atomic_normalize_zpos drm_bridge_connector_disable_hpd drm_bridge_connector_enable_hpd - drm_bridge_connector_init drm_gem_cma_free_object drm_gem_cma_prime_get_sg_table drm_gem_cma_prime_vmap @@ -1353,7 +1507,6 @@ drm_plane_create_color_properties drm_plane_create_rotation_property drm_property_create_range - pm_runtime_allow # required by imx-lcdif-crtc.ko drm_property_destroy @@ -1379,19 +1532,11 @@ wakeup_source_unregister # required by imx-sdma.ko - dma_async_device_register gen_pool_dma_alloc krealloc of_gen_pool_get - vchan_dma_desc_free_list - vchan_find_desc - vchan_init - vchan_tx_desc_free - vchan_tx_submit # required by imx.ko - do_SAK - handle_sysrq hrtimer_init hrtimer_start_range_ns hrtimer_try_to_cancel @@ -1400,38 +1545,15 @@ mctrl_gpio_get mctrl_gpio_init mctrl_gpio_set - oops_in_progress rational_best_approximation - _raw_spin_trylock - sysrq_mask - tty_flip_buffer_push - __tty_insert_flip_char - tty_insert_flip_string_fixed_flag tty_termios_encode_baud_rate - uart_add_one_port - uart_console_device - uart_console_write - uart_get_baud_rate uart_get_divisor - uart_get_rs485_mode uart_handle_cts_change uart_handle_dcd_change - uart_parse_options - uart_register_driver - uart_remove_one_port - uart_resume_port - uart_set_options - uart_suspend_port - uart_try_toggle_sysrq - uart_unregister_driver - uart_update_timeout - uart_write_wakeup # required by imx2_wdt.ko _dev_crit - devm_watchdog_register_device __platform_driver_probe - watchdog_init_timeout watchdog_set_restart_priority # required by imx8-isi-cap.ko @@ -1479,15 +1601,12 @@ # required by imxdrm.ko component_match_add_release +# required by input-polldev.ko + devres_destroy + # required by irq-imx-irqsteer.ko __irq_domain_add irq_domain_xlate_onecell - irq_set_chip_and_handler_name - irq_set_chip_data - -# required by it6161.ko - kstrtoint - sysfs_create_files # required by leds-gpio.ko device_get_child_node_count @@ -1497,6 +1616,15 @@ gpiod_cansleep gpiod_set_value +# required by lpa_ctrl.ko + sysfs_create_groups + +# required by lzo-rle.ko + lzorle1x_1_compress + +# required by lzo.ko + lzo1x_1_compress + # required by mac80211.ko __alloc_percpu_gfp arc4_crypt @@ -1510,7 +1638,6 @@ crypto_alloc_aead crypto_alloc_shash crypto_alloc_skcipher - crypto_destroy_tfm __crypto_memneq crypto_shash_digest crypto_shash_finup @@ -1533,8 +1660,6 @@ kernel_param_unlock kfree_skb_list ktime_get_seconds - kvfree - kvmalloc_node netdev_set_default_ethtool_ops netif_receive_skb_list prandom_bytes @@ -1547,7 +1672,6 @@ rht_bucket_nested rht_bucket_nested_insert round_jiffies - round_jiffies_relative round_jiffies_up skb_checksum_help skb_clone @@ -1559,10 +1683,13 @@ __skb_get_hash __skb_gso_segment skb_queue_head - system_freezable_wq unregister_netdevice_many __usecs_to_jiffies +# required by micrel.ko + genphy_restart_aneg + phy_modify_mmd + # required by moal.ko default_wake_function hex_dump_to_buffer @@ -1575,7 +1702,6 @@ iw_handler_get_thrspy iw_handler_set_spy iw_handler_set_thrspy - kthread_should_stop ktime_get_raw_ts64 mmc_hw_reset mmc_set_data_timeout @@ -1605,7 +1731,6 @@ pm_wakeup_ws_event proc_create_data proc_mkdir - remove_proc_entry request_firmware_direct sdio_claim_host sdio_claim_irq @@ -1625,7 +1750,6 @@ sdio_writeb sdio_writesb skb_realloc_headroom - sort strcat strchr strim @@ -1636,12 +1760,32 @@ wakeup_source_remove wireless_send_event +# required by mpl3115.ko + i2c_smbus_read_i2c_block_data + i2c_smbus_write_i2c_block_data + +# required by mtd.ko + bdi_alloc + bdi_put + bdi_register + deactivate_locked_super + fixed_size_llseek + generic_shutdown_super + lockref_get + logfc + lookup_bdev + __module_get + nvmem_register + nvmem_unregister + of_prop_next_string + proc_create_single_data + sget_fc + sysfs_remove_files + unregister_reboot_notifier + # required by mux-core.ko class_find_device device_match_of_node - devres_add - devres_alloc_node - devres_free down_killable # required by mux-mmio.ko @@ -1683,15 +1827,10 @@ # required by mxsfb.ko devm_drm_panel_bridge_add_typed drm_atomic_add_affected_planes - drm_atomic_helper_crtc_destroy_state - drm_atomic_helper_crtc_duplicate_state - drm_atomic_helper_crtc_reset drm_connector_list_iter_begin drm_connector_list_iter_end drm_connector_list_iter_next drm_get_format_info - drm_irq_install - drm_irq_uninstall # required by nvmem-imx-ocotp.ko devm_nvmem_register @@ -1705,6 +1844,10 @@ phy_mipi_dphy_get_default_config phy_validate +# required by ofpart.ko + of_n_addr_cells + of_n_size_cells + # required by ov5640.ko v4l2_ctrl_auto_cluster v4l2_ctrl_new_std_menu_items @@ -1719,23 +1862,22 @@ # required by panel-raydium-rm67191.ko devm_backlight_device_register - mipi_dsi_dcs_enter_sleep_mode - mipi_dsi_dcs_exit_sleep_mode mipi_dsi_dcs_get_display_brightness mipi_dsi_dcs_set_display_brightness - mipi_dsi_dcs_set_display_off - mipi_dsi_dcs_set_display_on mipi_dsi_dcs_set_pixel_format mipi_dsi_dcs_set_tear_on mipi_dsi_dcs_set_tear_scanline mipi_dsi_dcs_soft_reset mipi_dsi_generic_write +# required by panel-raydium-rm68200.ko + mipi_dsi_dcs_write + mipi_dsi_dcs_write_buffer + # required by panel-simple.ko drm_bus_flags_from_videomode drm_connector_set_panel_orientation drm_mode_create - drm_panel_of_backlight of_drm_get_panel_orientation of_find_i2c_adapter_by_node of_get_display_timing @@ -1787,13 +1929,10 @@ # required by phy-generic.ko regulator_set_current_limit - usb_add_phy_dev - usb_remove_phy # required by pinctrl-imx.ko devm_pinctrl_register_and_init pinconf_generic_parse_dt_config - pinctrl_dev_get_drvdata pinctrl_enable pinctrl_force_default pinctrl_force_sleep @@ -1824,11 +1963,6 @@ posix_clock_register posix_clock_unregister -# required by pwm-imx27.ko - of_pwm_xlate_with_flags - pwmchip_add - pwmchip_remove - # required by pwm_bl.ko backlight_device_register backlight_device_unregister @@ -1844,17 +1978,20 @@ mmc_pwrseq_register mmc_pwrseq_unregister +# required by pxp_device.ko + dma_get_sgtable_attrs + +# required by pxp_dma_v3.ko + freezing_slow_path + __refrigerator + set_freezable + system_freezing_cnt + # required by qoriq_thermal.ko of_thermal_get_ntrips thermal_zone_of_sensor_unregister # required by realtek.ko - genphy_read_abilities - genphy_read_mmd_unsupported - genphy_read_status - genphy_resume - genphy_suspend - genphy_write_mmd_unsupported __mdiobus_read __mdiobus_write __phy_modify @@ -1865,9 +2002,16 @@ phy_select_page phy_write_paged +# required by regmap-i3c.ko + dev_to_i3cdev + i3c_device_do_priv_xfers + # required by reset-dispmix.ko __regmap_init_mmio_clk +# required by rpmsg_life_cycle.ko + remove_cpu + # required by rpmsg_raw.ko compat_ptr_ioctl _copy_from_iter_full @@ -1876,12 +2020,15 @@ rpmsg_poll rpmsg_trysendto +# required by rtc-imx-rpmsg.ko + devm_rtc_device_register + # required by rtc-snvs.ko devm_rtc_allocate_device __rtc_register_device - rtc_time64_to_tm - rtc_tm_to_time64 - rtc_update_irq + +# required by scmi_pm_domain.ko + of_genpd_add_provider_onecell # required by sdhci-esdhc-imx.ko mmc_gpiod_request_cd @@ -1948,19 +2095,13 @@ snd_soc_info_xr_sx # required by snd-soc-fsl-micfil.ko - kobject_create_and_add - kstrtoull snd_soc_get_volsw_sx snd_soc_info_volsw_sx snd_soc_put_volsw_sx -# required by snd-soc-fsl-sai.ko - kstrtouint - # required by snd-soc-fsl-spdif.ko regcache_cache_bypass snd_soc_add_dai_controls - snd_soc_get_pcm_runtime # required by snd-soc-hdmi-codec.ko snd_ctl_add @@ -1971,7 +2112,6 @@ # required by snd-soc-imx-ak5558.ko snd_interval_refine - snd_pcm_hw_rule_add # required by snd-soc-imx-audmux.ko default_llseek @@ -1981,6 +2121,12 @@ # required by snd-soc-imx-cdnhdmi.ko snd_soc_component_set_jack +# required by snd-soc-imx-pcm512x-rpmsg.ko + i2c_get_adapter + i2c_smbus_read_byte + snd_soc_dai_set_bclk_ratio + snd_soc_limit_volume + # required by snd-soc-imx-rpmsg.ko of_reserved_mem_device_init_by_idx snd_soc_get_dai_name @@ -1990,9 +2136,15 @@ snd_soc_dapm_get_enum_double snd_soc_dapm_put_enum_double +# required by snd-soc-rpmsg-pcm512x.ko + devm_regulator_register_notifier + snd_ctl_boolean_stereo_info + snd_interval_ranges + snd_pcm_hw_constraint_ratnums + snd_soc_params_to_frame_size + # required by snd-soc-simple-card-utils.ko devm_kvasprintf - of_property_read_string_helper snd_soc_dapm_get_pin_switch snd_soc_dapm_info_pin_switch snd_soc_dapm_put_pin_switch @@ -2007,8 +2159,10 @@ snd_soc_of_parse_node_prefix snd_soc_of_parse_tdm_slot +# required by snd-soc-tpa6130a2.ko + devm_gpio_request + # required by snvs_pwrkey.ko - devm_input_allocate_device pm_relax # required by soc-imx8m.ko @@ -2022,22 +2176,24 @@ # required by spi-imx.ko sg_last - wait_for_completion_interruptible # required by spidev.ko find_next_zero_bit - __spi_register_driver spi_setup spi_sync stream_open +# required by st_lsm6dsx_i3c.ko + i3c_device_match_id + i3c_driver_register_with_owner + i3c_driver_unregister + +# required by st_lsm6dsx_spi.ko + __devm_regmap_init_spi + spi_get_device_id + # required by synaptics_dsx_i2c.ko - input_allocate_device input_free_device - input_mt_init_slots - input_mt_report_slot_state - input_set_abs_params - input_unregister_device # required by system_heap.ko dmabuf_page_pool_alloc @@ -2071,9 +2227,6 @@ # required by trusty-log.ko panic_notifier_list -# required by trusty-test.ko - simple_strtoul - # required by trusty-virtio.ko register_virtio_device unregister_virtio_device @@ -2090,7 +2243,6 @@ of_device_modalias of_device_request_module of_device_uevent_modalias - __request_module # required by v4l2-fwnode.ko fwnode_device_is_available @@ -2118,7 +2270,67 @@ vb2_prepare_buf # required by vvcam-video.ko - complete_all media_entity_remove_links v4l2_async_notifier_add_devname_subdev v4l2_ctrl_poll + +# required by zram.ko + __alloc_disk_node + bdget_disk + bio_endio + blk_alloc_queue + blk_cleanup_queue + blk_queue_flag_clear + blk_queue_flag_set + blk_queue_io_min + blk_queue_io_opt + blk_queue_logical_block_size + blk_queue_max_discard_sectors + blk_queue_max_write_zeroes_sectors + blk_queue_physical_block_size + crypto_alloc_base + crypto_comp_compress + crypto_comp_decompress + crypto_has_alg + del_gendisk + device_add_disk + disk_end_io_acct + disk_start_io_acct + flush_dcache_page + free_pages + fsync_bdev + __get_free_pages + __init_rwsem + memparse + memset64 + __num_online_cpus + page_endio + put_disk + register_blkdev + revalidate_disk_size + __sysfs_match_string + sysfs_streq + unregister_blkdev + vzalloc + +# required by zsmalloc.ko + alloc_anon_inode + __ClearPageMovable + contig_page_data + dec_zone_page_state + inc_zone_page_state + init_pseudo + iput + kern_mount + kern_unmount + kill_anon_super + __lock_page + page_mapping + _raw_read_lock + _raw_read_unlock + _raw_write_lock + _raw_write_unlock + register_shrinker + __SetPageMovable + unlock_page + unregister_shrinker From bb18be4257f8a9b8b54f70f2d7abd7b7b43dd73f Mon Sep 17 00:00:00 2001 From: Jindong Yue Date: Fri, 26 Nov 2021 20:15:19 +0800 Subject: [PATCH 13/28] ANDROID: ABI: Add several iio related symbols Add several iio related symbols required by st_lsm6dsx.ko Leaf changes summary: 5 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 5 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 5 Added functions: [A] 'function int iio_device_claim_direct_mode(iio_dev*)' [A] 'function void iio_device_release_direct_mode(iio_dev*)' [A] 'function int iio_push_event(iio_dev*, u64, s64)' [A] 'function int iio_read_mount_matrix(device*, const char*, iio_mount_matrix*)' [A] 'function ssize_t iio_show_mount_matrix(iio_dev*, uintptr_t, const iio_chan_spec*, char*)' Bug: 194108974 Signed-off-by: Jindong Yue Change-Id: I7f7b78d510f120497f597463e69ce35cb7203417 --- android/abi_gki_aarch64.xml | 41 +++++++++++++++++++++++++++++++++++++ android/abi_gki_aarch64_imx | 20 ++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index a9acb98e0004..ae660185094b 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2667,14 +2667,19 @@ + + + + + @@ -21362,6 +21367,11 @@ + + + + + @@ -26249,6 +26259,9 @@ + + + @@ -99177,6 +99190,7 @@ + @@ -128076,10 +128090,18 @@ + + + + + + + + @@ -128093,6 +128115,12 @@ + + + + + + @@ -128115,6 +128143,19 @@ + + + + + + + + + + + + + diff --git a/android/abi_gki_aarch64_imx b/android/abi_gki_aarch64_imx index 3c6bb1b282f5..4e2fb222d0d1 100644 --- a/android/abi_gki_aarch64_imx +++ b/android/abi_gki_aarch64_imx @@ -1608,6 +1608,14 @@ __irq_domain_add irq_domain_xlate_onecell +# required by kfifo_buf.ko + iio_buffer_init + iio_buffer_put + __kfifo_alloc + __kfifo_free + __kfifo_in + __kfifo_to_user + # required by leds-gpio.ko device_get_child_node_count device_get_next_child_node @@ -2183,6 +2191,18 @@ spi_sync stream_open +# required by st_lsm6dsx.ko + devm_iio_device_alloc + __devm_iio_device_register + iio_device_attach_buffer + iio_device_claim_direct_mode + iio_device_release_direct_mode + iio_get_time_ns + iio_push_event + iio_push_to_buffers + iio_read_mount_matrix + iio_show_mount_matrix + # required by st_lsm6dsx_i3c.ko i3c_device_match_id i3c_driver_register_with_owner From e5dfa8913863cea5f86f3ada24f28fd56a77336c Mon Sep 17 00:00:00 2001 From: Jindong Yue Date: Mon, 22 Nov 2021 15:12:45 +0800 Subject: [PATCH 14/28] ANDROID: gki_defconfig: enable CONFIG_SPI_MEM Enable SPI memory extension to provide high-level interface to send memory-like commands, which are used by vendor SPI controllers, like spi-nxp-fspi. Bug: 207737303 Signed-off-by: Jindong Yue Change-Id: I9ea58edc1407bead42970c4cc74c5d4a93c99d13 --- arch/arm64/configs/gki_defconfig | 1 + arch/x86/configs/gki_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 3ae364535af6..56d405007e96 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -386,6 +386,7 @@ CONFIG_HW_RANDOM=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I3C=y CONFIG_SPI=y +CONFIG_SPI_MEM=y CONFIG_SPMI=y # CONFIG_SPMI_MSM_PMIC_ARB is not set # CONFIG_PINCTRL_SUN8I_H3_R is not set diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 7c344566df2a..4d8779a43c7b 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -351,6 +351,7 @@ CONFIG_HPET=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I3C=y CONFIG_SPI=y +CONFIG_SPI_MEM=y CONFIG_GPIOLIB=y CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_HWMON is not set From be30f0ce338a2736de0847396d38cfba4330a72a Mon Sep 17 00:00:00 2001 From: Pratyush Yadav Date: Thu, 4 Feb 2021 19:42:17 +0530 Subject: [PATCH 15/28] UPSTREAM: spi: spi-mem: add spi_mem_dtr_supports_op() spi_mem_default_supports_op() rejects DTR ops by default to ensure that the controller drivers that haven't been updated with DTR support continue to reject them. It also makes sure that controllers that don't support DTR mode at all (which is most of them at the moment) also reject them. This means that controller drivers that want to support DTR mode can't use spi_mem_default_supports_op(). Driver authors have to roll their own supports_op() function and mimic the buswidth checks. See spi-cadence-quadspi.c for example. Or even worse, driver authors might skip it completely or get it wrong. Add spi_mem_dtr_supports_op(). It provides a basic sanity check for DTR ops and performs the buswidth requirement check. Move the logic for checking buswidth in spi_mem_default_supports_op() to a separate function so the logic is not repeated twice. Signed-off-by: Pratyush Yadav Reviewed-by: Miquel Raynal Link: https://lore.kernel.org/r/20210204141218.32229-1-p.yadav@ti.com Signed-off-by: Mark Brown Bug: 207737303 (cherry picked from commit 539cf68cd51bfcd2987ce1c44e628e9da69de7c8) Change-Id: Iaa3951c2e3f51f265b9bea583a3c8bd4fed80bb7 Signed-off-by: Jindong Yue --- drivers/spi/spi-mem.c | 22 +++++++++++++++++++--- include/linux/spi/spi-mem.h | 9 +++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c index 4682f49dc733..2c584c15bbf8 100644 --- a/drivers/spi/spi-mem.c +++ b/drivers/spi/spi-mem.c @@ -137,8 +137,8 @@ static int spi_check_buswidth_req(struct spi_mem *mem, u8 buswidth, bool tx) return -ENOTSUPP; } -bool spi_mem_default_supports_op(struct spi_mem *mem, - const struct spi_mem_op *op) +static bool spi_mem_check_buswidth(struct spi_mem *mem, + const struct spi_mem_op *op) { if (spi_check_buswidth_req(mem, op->cmd.buswidth, true)) return false; @@ -156,13 +156,29 @@ bool spi_mem_default_supports_op(struct spi_mem *mem, op->data.dir == SPI_MEM_DATA_OUT)) return false; + return true; +} + +bool spi_mem_dtr_supports_op(struct spi_mem *mem, + const struct spi_mem_op *op) +{ + if (op->cmd.nbytes != 2) + return false; + + return spi_mem_check_buswidth(mem, op); +} +EXPORT_SYMBOL_GPL(spi_mem_dtr_supports_op); + +bool spi_mem_default_supports_op(struct spi_mem *mem, + const struct spi_mem_op *op) +{ if (op->cmd.dtr || op->addr.dtr || op->dummy.dtr || op->data.dtr) return false; if (op->cmd.nbytes != 1) return false; - return true; + return spi_mem_check_buswidth(mem, op); } EXPORT_SYMBOL_GPL(spi_mem_default_supports_op); diff --git a/include/linux/spi/spi-mem.h b/include/linux/spi/spi-mem.h index 159463cc659c..2b65c9edc34e 100644 --- a/include/linux/spi/spi-mem.h +++ b/include/linux/spi/spi-mem.h @@ -311,6 +311,9 @@ void spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr, bool spi_mem_default_supports_op(struct spi_mem *mem, const struct spi_mem_op *op); +bool spi_mem_dtr_supports_op(struct spi_mem *mem, + const struct spi_mem_op *op); + #else static inline int spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr, @@ -334,6 +337,12 @@ bool spi_mem_default_supports_op(struct spi_mem *mem, return false; } +static inline +bool spi_mem_dtr_supports_op(struct spi_mem *mem, + const struct spi_mem_op *op) +{ + return false; +} #endif /* CONFIG_SPI_MEM */ int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op); From 851990cc99ff27e674f07d42d149affa6f855e2f Mon Sep 17 00:00:00 2001 From: Jindong Yue Date: Fri, 26 Nov 2021 20:38:56 +0800 Subject: [PATCH 16/28] ANDROID: ABI: Add several spi_mem related symbols Add several spi_mem related symbols required by spi-nxp-fspi.ko and spi-nor.ko Leaf changes summary: 11 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 11 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 11 Added functions: [A] 'function spi_mem_dirmap_desc* devm_spi_mem_dirmap_create(device*, spi_mem*, const spi_mem_dirmap_info*)' [A] 'function int spi_mem_adjust_op_size(spi_mem*, spi_mem_op*)' [A] 'function bool spi_mem_default_supports_op(spi_mem*, const spi_mem_op*)' [A] 'function ssize_t spi_mem_dirmap_read(spi_mem_dirmap_desc*, u64, size_t, void*)' [A] 'function ssize_t spi_mem_dirmap_write(spi_mem_dirmap_desc*, u64, size_t, void*)' [A] 'function int spi_mem_driver_register_with_owner(spi_mem_driver*, module*)' [A] 'function void spi_mem_driver_unregister(spi_mem_driver*)' [A] 'function bool spi_mem_dtr_supports_op(spi_mem*, const spi_mem_op*)' [A] 'function int spi_mem_exec_op(spi_mem*, const spi_mem_op*)' [A] 'function const char* spi_mem_get_name(spi_mem*)' [A] 'function bool spi_mem_supports_op(spi_mem*, const spi_mem_op*)' Bug: 207737303 Signed-off-by: Jindong Yue Change-Id: I6637737f5076cb87fe2180680fd5a3e507b10bc6 --- android/abi_gki_aarch64.xml | 108 ++++++++++++++++++++++++++++++++---- android/abi_gki_aarch64_imx | 15 +++++ 2 files changed, 112 insertions(+), 11 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index ae660185094b..7f55218a4f27 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1591,6 +1591,7 @@ + @@ -4721,6 +4722,16 @@ + + + + + + + + + + @@ -15709,6 +15720,7 @@ + @@ -17385,6 +17397,7 @@ + @@ -22640,6 +22653,20 @@ + + + + + + + + + + + + + + @@ -50149,6 +50176,10 @@ + + + + @@ -61064,6 +61095,10 @@ + + + + @@ -67070,17 +67105,7 @@ - - - - - - - - - - - + @@ -71348,6 +71373,7 @@ + @@ -71995,6 +72021,7 @@ + @@ -73290,6 +73317,7 @@ + @@ -122504,6 +122532,12 @@ + + + + + + @@ -138644,6 +138678,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/abi_gki_aarch64_imx b/android/abi_gki_aarch64_imx index 4e2fb222d0d1..d9b45b8fc993 100644 --- a/android/abi_gki_aarch64_imx +++ b/android/abi_gki_aarch64_imx @@ -874,6 +874,7 @@ soc_device_match sort __spi_alloc_controller + spi_mem_default_supports_op __spi_register_driver sprintf sscanf @@ -2185,6 +2186,20 @@ # required by spi-imx.ko sg_last +# required by spi-nor.ko + devm_spi_mem_dirmap_create + spi_mem_adjust_op_size + spi_mem_dirmap_read + spi_mem_dirmap_write + spi_mem_driver_register_with_owner + spi_mem_driver_unregister + spi_mem_exec_op + spi_mem_get_name + spi_mem_supports_op + +# required by spi-nxp-fspi.ko + spi_mem_dtr_supports_op + # required by spidev.ko find_next_zero_bit spi_setup From 3ed40fb65a6cae44273a43e7239b0e208ca42651 Mon Sep 17 00:00:00 2001 From: xieliujie Date: Thu, 25 Nov 2021 10:04:33 +0800 Subject: [PATCH 17/28] ANDROID: dma-buf: heaps: fix dma-buf heap pool pages stat this critical region should be protected by pool->mutex. Bug: 207658347 Fixes: e7dac4c3231c ("ANDROID: dma-buf: heaps: Add a shrinker controlled page pool") Signed-off-by: liuhailong Signed-off-by: xieliujie Change-Id: I6f129926c96176258a965964c24602fc647db61e --- drivers/dma-buf/heaps/page_pool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma-buf/heaps/page_pool.c b/drivers/dma-buf/heaps/page_pool.c index 7c34a1ba48bb..b79e737bac95 100644 --- a/drivers/dma-buf/heaps/page_pool.c +++ b/drivers/dma-buf/heaps/page_pool.c @@ -44,9 +44,9 @@ static void dmabuf_page_pool_add(struct dmabuf_page_pool *pool, struct page *pag mutex_lock(&pool->mutex); list_add_tail(&page->lru, &pool->items[index]); pool->count[index]++; - mutex_unlock(&pool->mutex); mod_node_page_state(page_pgdat(page), NR_KERNEL_MISC_RECLAIMABLE, 1 << pool->order); + mutex_unlock(&pool->mutex); } static struct page *dmabuf_page_pool_remove(struct dmabuf_page_pool *pool, int index) From cbd64e25c2d6e695b532ccf455bd2d699cff482f Mon Sep 17 00:00:00 2001 From: Mark Rutland Date: Tue, 23 Nov 2021 11:40:47 +0000 Subject: [PATCH 18/28] FROMGIT: sched/scs: Reset task stack state in bringup_cpu() To hot unplug a CPU, the idle task on that CPU calls a few layers of C code before finally leaving the kernel. When KASAN is in use, poisoned shadow is left around for each of the active stack frames, and when shadow call stacks are in use. When shadow call stacks (SCS) are in use the task's saved SCS SP is left pointing at an arbitrary point within the task's shadow call stack. When a CPU is offlined than onlined back into the kernel, this stale state can adversely affect execution. Stale KASAN shadow can alias new stackframes and result in bogus KASAN warnings. A stale SCS SP is effectively a memory leak, and prevents a portion of the shadow call stack being used. Across a number of hotplug cycles the idle task's entire shadow call stack can become unusable. We previously fixed the KASAN issue in commit: e1b77c92981a5222 ("sched/kasan: remove stale KASAN poison after hotplug") ... by removing any stale KASAN stack poison immediately prior to onlining a CPU. Subsequently in commit: f1a0a376ca0c4ef1 ("sched/core: Initialize the idle task with preemption disabled") ... the refactoring left the KASAN and SCS cleanup in one-time idle thread initialization code rather than something invoked prior to each CPU being onlined, breaking both as above. We fixed SCS (but not KASAN) in commit: 63acd42c0d4942f7 ("sched/scs: Reset the shadow stack when idle_task_exit") ... but as this runs in the context of the idle task being offlined it's potentially fragile. To fix these consistently and more robustly, reset the SCS SP and KASAN shadow of a CPU's idle task immediately before we online that CPU in bringup_cpu(). This ensures the idle task always has a consistent state when it is running, and removes the need to so so when exiting an idle task. Whenever any thread is created, dup_task_struct() will give the task a stack which is free of KASAN shadow, and initialize the task's SCS SP, so there's no need to specially initialize either for idle thread within init_idle(), as this was only necessary to handle hotplug cycles. I've tested this on arm64 with: * gcc 11.1.0, defconfig +KASAN_INLINE, KASAN_STACK * clang 12.0.0, defconfig +KASAN_INLINE, KASAN_STACK, SHADOW_CALL_STACK ... offlining and onlining CPUS with: | while true; do | for C in /sys/devices/system/cpu/cpu*/online; do | echo 0 > $C; | echo 1 > $C; | done | done Fixes: f1a0a376ca0c4ef1 ("sched/core: Initialize the idle task with preemption disabled") Reported-by: Qian Cai Signed-off-by: Mark Rutland Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Valentin Schneider Tested-by: Qian Cai Link: https://lore.kernel.org/lkml/20211115113310.35693-1-mark.rutland@arm.com/ Bug: 207346964 (cherry picked from commit dce1ca0525bfdc8a69a9343bc714fbc19a2f04b3 https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/urgent) Signed-off-by: Yee Lee Change-Id: Ia2db6477afddcc01fae00c6eb925fb3ec2791130 --- kernel/cpu.c | 7 +++++++ kernel/sched/core.c | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/kernel/cpu.c b/kernel/cpu.c index 41c73436e745..739597d16bf6 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -558,6 +559,12 @@ static int bringup_cpu(unsigned int cpu) struct task_struct *idle = idle_thread_get(cpu); int ret; + /* + * Reset stale stack state from the last time this CPU was online. + */ + scs_task_reset(idle); + kasan_unpoison_task_stack(idle); + /* * Some architectures have to walk the irq descriptors to * setup the vector space for the cpu which comes online. diff --git a/kernel/sched/core.c b/kernel/sched/core.c index a7b56e61067d..8c48658e8642 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6775,9 +6775,6 @@ void __init init_idle(struct task_struct *idle, int cpu) idle->se.exec_start = sched_clock(); idle->flags |= PF_IDLE; - scs_task_reset(idle); - kasan_unpoison_task_stack(idle); - #ifdef CONFIG_SMP /* * Its possible that init_idle() gets called multiple times on a task, @@ -6933,7 +6930,6 @@ void idle_task_exit(void) finish_arch_post_lock_switch(); } - scs_task_reset(current); /* finish_cpu(), as ran on the BP, will clean up the active_mm state */ } From 143ac63130f0a9d8d4b5017715eb60518b34bbfb Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Mon, 29 Nov 2021 10:21:30 -0800 Subject: [PATCH 19/28] ANDROID: fips140: support "evaluation testing" builds via build.sh Allow the following command to be run to make a build of fips140.ko that has CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING enabled: BUILD_CONFIG=common/build.config.gki.aarch64.fips140_eval_testing ./build/build.sh Bug: 188620248 Change-Id: I0e0be487974c6ad40f3135fc5fec6aa107aab78c Signed-off-by: Eric Biggers --- arch/arm64/configs/fips140_gki_eval_testing.fragment | 1 + build.config.gki.aarch64.fips140_eval_testing | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 arch/arm64/configs/fips140_gki_eval_testing.fragment create mode 100644 build.config.gki.aarch64.fips140_eval_testing diff --git a/arch/arm64/configs/fips140_gki_eval_testing.fragment b/arch/arm64/configs/fips140_gki_eval_testing.fragment new file mode 100644 index 000000000000..d8b16022a6dd --- /dev/null +++ b/arch/arm64/configs/fips140_gki_eval_testing.fragment @@ -0,0 +1 @@ +CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING=y diff --git a/build.config.gki.aarch64.fips140_eval_testing b/build.config.gki.aarch64.fips140_eval_testing new file mode 100644 index 000000000000..66df5fe1bb4f --- /dev/null +++ b/build.config.gki.aarch64.fips140_eval_testing @@ -0,0 +1,3 @@ +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki.aarch64.fips140 + +PRE_DEFCONFIG_CMDS+=" cat ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/fips140_gki_eval_testing.fragment >> ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG};" From 504b13fb83b91280ebf561a0121cac7a917f4496 Mon Sep 17 00:00:00 2001 From: Albert Wang Date: Tue, 9 Nov 2021 17:26:42 +0800 Subject: [PATCH 20/28] UPSTREAM: usb: dwc3: gadget: Fix null pointer exception [ Upstream commit 26288448120b28af1dfd85a6fa6b6d55a16c7f2f ] In the endpoint interrupt functions dwc3_gadget_endpoint_transfer_in_progress() and dwc3_gadget_endpoint_trbs_complete() will dereference the endpoint descriptor. But it could be cleared in __dwc3_gadget_ep_disable() when accessory disconnected. So we need to check whether it is null or not before dereferencing it. Bug: 202829886 Bug: 204052921 Fixes: f09ddcfcb8c5 ("usb: dwc3: gadget: Prevent EP queuing while stopping transfers") Cc: stable Reviewed-by: Jack Pham Signed-off-by: Albert Wang Link: https://lore.kernel.org/r/20211109092642.3507692-1-albertccwang@google.com Signed-off-by: Greg Kroah-Hartman Change-Id: I767f61f3c8840b7854a467ab6bf18c26c89757c2 Signed-off-by: Albert Wang --- drivers/usb/dwc3/gadget.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 224a4a34509a..c4ebfb1cff0d 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -3264,6 +3264,9 @@ static bool dwc3_gadget_endpoint_trbs_complete(struct dwc3_ep *dep, struct dwc3 *dwc = dep->dwc; bool no_started_trb = true; + if (!dep->endpoint.desc) + return no_started_trb; + dwc3_gadget_ep_cleanup_completed_requests(dep, event, status); if (dep->flags & DWC3_EP_END_TRANSFER_PENDING) @@ -3311,6 +3314,9 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep, { int status = 0; + if (!dep->endpoint.desc) + return; + if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) dwc3_gadget_endpoint_frame_from_event(dep, event); From 028f7128c4fbb75ba113824f8600ca9a7097a0ed Mon Sep 17 00:00:00 2001 From: Yue Hu Date: Mon, 19 Apr 2021 18:26:23 +0800 Subject: [PATCH 21/28] UPSTREAM: erofs: remove the occupied parameter from z_erofs_pagevec_enqueue() No any behavior to variable occupied in z_erofs_attach_page() which is only caller to z_erofs_pagevec_enqueue(). Link: https://lore.kernel.org/r/20210419102623.2015-1-zbestahu@gmail.com Signed-off-by: Yue Hu Reviewed-by: Gao Xiang Signed-off-by: Gao Xiang Bug: 206904737 Change-Id: I37f5496d89befe7550b63024b1ead4ce531a22a8 (cherry picked from commit 7dea3de7d384f4c8156e8bd93112ba6db1eb276c) Signed-off-by: Huang Jianan --- fs/erofs/zdata.c | 4 +--- fs/erofs/zpvec.h | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index a17bae1e7ad6..89e29288d602 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -380,7 +380,6 @@ static int z_erofs_attach_page(struct z_erofs_collector *clt, enum z_erofs_page_type type) { int ret; - bool occupied; /* give priority for inplaceio */ if (clt->mode >= COLLECT_PRIMARY && @@ -388,8 +387,7 @@ static int z_erofs_attach_page(struct z_erofs_collector *clt, z_erofs_try_inplace_io(clt, page)) return 0; - ret = z_erofs_pagevec_enqueue(&clt->vector, - page, type, &occupied); + ret = z_erofs_pagevec_enqueue(&clt->vector, page, type); clt->cl->vcnt += (unsigned int)ret; return ret ? 0 : -EAGAIN; diff --git a/fs/erofs/zpvec.h b/fs/erofs/zpvec.h index 1d67cbd38704..95a620739e6a 100644 --- a/fs/erofs/zpvec.h +++ b/fs/erofs/zpvec.h @@ -107,10 +107,8 @@ static inline void z_erofs_pagevec_ctor_init(struct z_erofs_pagevec_ctor *ctor, static inline bool z_erofs_pagevec_enqueue(struct z_erofs_pagevec_ctor *ctor, struct page *page, - enum z_erofs_page_type type, - bool *occupied) + enum z_erofs_page_type type) { - *occupied = false; if (!ctor->next && type) if (ctor->index + 1 == ctor->nr) return false; @@ -125,7 +123,6 @@ static inline bool z_erofs_pagevec_enqueue(struct z_erofs_pagevec_ctor *ctor, /* should remind that collector->next never equal to 1, 2 */ if (type == (uintptr_t)ctor->next) { ctor->next = page; - *occupied = true; } ctor->pages[ctor->index++] = tagptr_fold(erofs_vtptr_t, page, type); return true; From b943d328889d25cdb1aa397880c079b7d55a0901 Mon Sep 17 00:00:00 2001 From: Gao Xiang Date: Thu, 4 Nov 2021 02:20:06 +0800 Subject: [PATCH 22/28] UPSTREAM: erofs: fix unsafe pagevec reuse of hooked pclusters There are pclusters in runtime marked with Z_EROFS_PCLUSTER_TAIL before actual I/O submission. Thus, the decompression chain can be extended if the following pcluster chain hooks such tail pcluster. As the related comment mentioned, if some page is made of a hooked pcluster and another followed pcluster, it can be reused for in-place I/O (since I/O should be submitted anyway): _______________________________________________________________ | tail (partial) page | head (partial) page | |_____PRIMARY_HOOKED___|____________PRIMARY_FOLLOWED____________| However, it's by no means safe to reuse as pagevec since if such PRIMARY_HOOKED pclusters finally move into bypass chain without I/O submission. It's somewhat hard to reproduce with LZ4 and I just found it (general protection fault) by ro_fsstressing a LZMA image for long time. I'm going to actively clean up related code together with multi-page folio adaption in the next few months. Let's address it directly for easier backporting for now. Call trace for reference: z_erofs_decompress_pcluster+0x10a/0x8a0 [erofs] z_erofs_decompress_queue.isra.36+0x3c/0x60 [erofs] z_erofs_runqueue+0x5f3/0x840 [erofs] z_erofs_readahead+0x1e8/0x320 [erofs] read_pages+0x91/0x270 page_cache_ra_unbounded+0x18b/0x240 filemap_get_pages+0x10a/0x5f0 filemap_read+0xa9/0x330 new_sync_read+0x11b/0x1a0 vfs_read+0xf1/0x190 Link: https://lore.kernel.org/r/20211103182006.4040-1-xiang@kernel.org Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support") Cc: # 4.19+ Reviewed-by: Chao Yu Signed-off-by: Gao Xiang Bug: 206904737 Change-Id: Ib34644bf29f3f6dc0369cc51869c8b259f8d0f0a (cherry picked from commit 86432a6dca9bed79111990851df5756d3eb5f57c) Signed-off-by: Huang Jianan --- fs/erofs/zdata.c | 13 +++++++------ fs/erofs/zpvec.h | 13 ++++++++++--- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index 89e29288d602..59ee18377a5c 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -376,8 +376,8 @@ static bool z_erofs_try_inplace_io(struct z_erofs_collector *clt, /* callers must be with collection lock held */ static int z_erofs_attach_page(struct z_erofs_collector *clt, - struct page *page, - enum z_erofs_page_type type) + struct page *page, enum z_erofs_page_type type, + bool pvec_safereuse) { int ret; @@ -387,9 +387,9 @@ static int z_erofs_attach_page(struct z_erofs_collector *clt, z_erofs_try_inplace_io(clt, page)) return 0; - ret = z_erofs_pagevec_enqueue(&clt->vector, page, type); + ret = z_erofs_pagevec_enqueue(&clt->vector, page, type, + pvec_safereuse); clt->cl->vcnt += (unsigned int)ret; - return ret ? 0 : -EAGAIN; } @@ -735,7 +735,8 @@ hitted: tight &= (clt->mode >= COLLECT_PRIMARY_FOLLOWED); retry: - err = z_erofs_attach_page(clt, page, page_type); + err = z_erofs_attach_page(clt, page, page_type, + clt->mode >= COLLECT_PRIMARY_FOLLOWED); /* should allocate an additional short-lived page for pagevec */ if (err == -EAGAIN) { struct page *const newpage = @@ -743,7 +744,7 @@ retry: set_page_private(newpage, Z_EROFS_SHORTLIVED_PAGE); err = z_erofs_attach_page(clt, newpage, - Z_EROFS_PAGE_TYPE_EXCLUSIVE); + Z_EROFS_PAGE_TYPE_EXCLUSIVE, true); if (!err) goto retry; } diff --git a/fs/erofs/zpvec.h b/fs/erofs/zpvec.h index 95a620739e6a..52898176ef31 100644 --- a/fs/erofs/zpvec.h +++ b/fs/erofs/zpvec.h @@ -107,11 +107,18 @@ static inline void z_erofs_pagevec_ctor_init(struct z_erofs_pagevec_ctor *ctor, static inline bool z_erofs_pagevec_enqueue(struct z_erofs_pagevec_ctor *ctor, struct page *page, - enum z_erofs_page_type type) + enum z_erofs_page_type type, + bool pvec_safereuse) { - if (!ctor->next && type) - if (ctor->index + 1 == ctor->nr) + if (!ctor->next) { + /* some pages cannot be reused as pvec safely without I/O */ + if (type == Z_EROFS_PAGE_TYPE_EXCLUSIVE && !pvec_safereuse) + type = Z_EROFS_VLE_PAGE_TYPE_TAIL_SHARED; + + if (type != Z_EROFS_PAGE_TYPE_EXCLUSIVE && + ctor->index + 1 == ctor->nr) return false; + } if (ctor->index >= ctor->nr) z_erofs_pagevec_ctor_pagedown(ctor, false); From f0a7e5394bd1776b115217b2e8bc04011933f27a Mon Sep 17 00:00:00 2001 From: Dean Chiang Date: Mon, 29 Nov 2021 14:13:58 +0800 Subject: [PATCH 23/28] ANDROID: Update symbol list for mtk 1. Generated with: BUILD_CONFIG=common/build.config.gki.aarch64 build/build_abi.sh --update Leaf changes summary: 4 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 4 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 4 Added functions: [A] 'function int kill_pid(pid*, int, int)' [A] 'function bool kthread_freezable_should_stop(bool*)' [A] 'function int trace_set_clr_event(const char*, const char*, int)' [A] 'function int vsscanf(const char*, const char*, va_list)' Bug: 208150815 Signed-off-by: Dean Chiang Change-Id: I6bcb80693292d7a158bffef92e345f85afac924e --- android/abi_gki_aarch64.xml | 10761 +++++++++++++++++----------------- android/abi_gki_aarch64_mtk | 4 + 2 files changed, 5314 insertions(+), 5451 deletions(-) mode change 100644 => 100755 android/abi_gki_aarch64_mtk diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 7f55218a4f27..71f780167c73 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2909,6 +2909,7 @@ + @@ -2976,6 +2977,7 @@ + @@ -4929,6 +4931,7 @@ + @@ -5586,6 +5589,7 @@ + @@ -8671,9 +8675,9 @@ - - - + + + @@ -8686,7 +8690,6 @@ - @@ -8768,7 +8771,6 @@ - @@ -11630,6 +11632,7 @@ + @@ -12036,8 +12039,8 @@ - - + + @@ -12670,7 +12673,23 @@ - + + + + + + + + + + + + + + + + + @@ -13317,6 +13336,7 @@ + @@ -14866,12 +14886,6 @@ - - - - - - @@ -15366,6 +15380,9 @@ + + + @@ -15565,7 +15582,29 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -16921,8 +16960,8 @@ - - + + @@ -18453,7 +18492,6 @@ - @@ -18844,11 +18882,7 @@ - - - - - + @@ -19803,7 +19837,6 @@ - @@ -20001,7 +20034,6 @@ - @@ -20439,14 +20471,6 @@ - - - - - - - - @@ -20797,7 +20821,7 @@ - + @@ -21516,6 +21540,7 @@ + @@ -22256,6 +22281,11 @@ + + + + + @@ -24439,7 +24469,7 @@ - + @@ -24664,6 +24694,7 @@ + @@ -24968,7 +24999,23 @@ - + + + + + + + + + + + + + + + + + @@ -25630,7 +25677,7 @@ - + @@ -25786,7 +25833,7 @@ - + @@ -26007,7 +26054,6 @@ - @@ -26085,7 +26131,7 @@ - + @@ -26142,6 +26188,7 @@ + @@ -26498,6 +26545,7 @@ + @@ -27128,7 +27176,7 @@ - + @@ -28063,7 +28111,6 @@ - @@ -31809,9 +31856,9 @@ - - - + + + @@ -32685,7 +32732,6 @@ - @@ -32940,7 +32986,68 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33445,7 +33552,6 @@ - @@ -33860,6 +33966,7 @@ + @@ -34058,7 +34165,7 @@ - + @@ -37606,7 +37713,6 @@ - @@ -38396,8 +38502,8 @@ - - + + @@ -39369,17 +39475,6 @@ - - - - - - - - - - - @@ -39660,9 +39755,9 @@ - - - + + + @@ -40169,6 +40264,7 @@ + @@ -41126,7 +41222,6 @@ - @@ -43628,15 +43723,7 @@ - - - - - - - - @@ -43973,18 +44060,7 @@ - - - - - - - - - - - - + @@ -44080,12 +44156,12 @@ - - - - - - + + + + + + @@ -44190,7 +44266,6 @@ - @@ -44971,21 +45046,21 @@ - + - + - + - + - + - + @@ -45431,7 +45506,6 @@ - @@ -47082,8 +47156,8 @@ - - + + @@ -47429,7 +47503,35 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47990,7 +48092,14 @@ - + + + + + + + + @@ -48636,11 +48745,6 @@ - - - - - @@ -49046,7 +49150,7 @@ - + @@ -49172,6 +49276,11 @@ + + + + + @@ -49625,56 +49734,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -50015,6 +50075,7 @@ + @@ -50954,7 +51015,7 @@ - + @@ -51799,26 +51860,8 @@ - - - - - - - - - - - - - - - - - - @@ -52077,26 +52120,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -52234,7 +52257,6 @@ - @@ -52285,6 +52307,7 @@ + @@ -52888,7 +52911,23 @@ - + + + + + + + + + + + + + + + + + @@ -53250,7 +53289,6 @@ - @@ -54181,9 +54219,9 @@ - - - + + + @@ -54903,6 +54941,7 @@ + @@ -55487,7 +55526,7 @@ - + @@ -55952,7 +55991,7 @@ - + @@ -56818,26 +56857,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -57046,6 +57065,7 @@ + @@ -58182,7 +58202,6 @@ - @@ -58645,11 +58664,6 @@ - - - - - @@ -59874,44 +59888,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61105,65 +61082,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61940,7 +61859,6 @@ - @@ -62890,7 +62808,17 @@ - + + + + + + + + + + + @@ -63956,7 +63884,7 @@ - + @@ -64450,10 +64378,10 @@ - - - - + + + + @@ -64503,6 +64431,12 @@ + + + + + + @@ -64762,6 +64696,7 @@ + @@ -65085,47 +65020,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -65721,11 +65616,6 @@ - - - - - @@ -66752,11 +66642,6 @@ - - - - - @@ -67105,7 +66990,17 @@ - + + + + + + + + + + + @@ -67208,7 +67103,7 @@ - + @@ -69073,7 +68968,6 @@ - @@ -69270,6 +69164,7 @@ + @@ -70878,14 +70773,7 @@ - - - - - - - - + @@ -71019,14 +70907,6 @@ - - - - - - - - @@ -71716,8 +71596,8 @@ - - + + @@ -71836,7 +71716,6 @@ - @@ -72524,8 +72403,8 @@ - - + + @@ -72597,6 +72476,7 @@ + @@ -73064,38 +72944,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -73206,7 +73055,7 @@ - + @@ -75895,7 +75744,6 @@ - @@ -77303,11 +77151,11 @@ - + - + @@ -78360,12 +78208,12 @@ - - - - - - + + + + + + @@ -79651,6 +79499,7 @@ + @@ -79890,7 +79739,6 @@ - @@ -80616,6 +80464,7 @@ + @@ -81203,6 +81052,7 @@ + @@ -81275,6 +81125,9 @@ + + + @@ -81291,11 +81144,6 @@ - - - - - @@ -81318,7 +81166,6 @@ - @@ -81779,7 +81626,7 @@ - + @@ -81855,14 +81702,6 @@ - - - - - - - - @@ -84941,6 +84780,7 @@ + @@ -85559,7 +85399,7 @@ - + @@ -86240,9 +86080,9 @@ - - - + + + @@ -86711,26 +86551,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -86755,7 +86576,7 @@ - + @@ -86780,6 +86601,7 @@ + @@ -86818,6 +86640,7 @@ + @@ -88230,7 +88053,7 @@ - + @@ -88861,8 +88684,8 @@ - - + + @@ -89931,7 +89754,6 @@ - @@ -90092,6 +89914,14 @@ + + + + + + + + @@ -90526,7 +90356,20 @@ - + + + + + + + + + + + + + + @@ -91083,7 +90926,7 @@ - + @@ -91258,7 +91101,7 @@ - + @@ -91553,6 +91396,7 @@ + @@ -91688,12 +91532,12 @@ - + - + @@ -93259,7 +93103,6 @@ - @@ -93772,17 +93615,6 @@ - - - - - - - - - - - @@ -94545,7 +94377,7 @@ - + @@ -95057,7 +94889,7 @@ - + @@ -95103,7 +94935,7 @@ - + @@ -95541,7 +95373,7 @@ - + @@ -96247,9 +96079,6 @@ - - - @@ -97489,6 +97318,7 @@ + @@ -97764,8 +97594,8 @@ - - + + @@ -97974,8 +97804,8 @@ - - + + @@ -99131,6 +98961,7 @@ + @@ -100107,7 +99938,14 @@ - + + + + + + + + @@ -101590,10 +101428,10 @@ - - - + + + @@ -101617,7 +101455,7 @@ - + @@ -101758,8 +101596,8 @@ - - + + @@ -102359,7 +102197,6 @@ - @@ -102628,6 +102465,7 @@ + @@ -103161,7 +102999,20 @@ - + + + + + + + + + + + + + + @@ -103220,6 +103071,9 @@ + + + @@ -106627,6 +106481,7 @@ + @@ -106641,20 +106496,6 @@ - - - - - - - - - - - - - - @@ -106989,6 +106830,7 @@ + @@ -110913,11 +110755,6 @@ - - - - - @@ -111244,6 +111081,7 @@ + @@ -112999,7 +112837,6 @@ - @@ -113084,7 +112921,6 @@ - @@ -113203,8 +113039,8 @@ - - + + @@ -113741,6 +113577,7 @@ + @@ -117391,9 +117228,9 @@ - - - + + + @@ -117404,33 +117241,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + @@ -117440,27 +117277,27 @@ - - - + + + - - - + + + - - - + + + - - - + + + @@ -117470,8 +117307,8 @@ - - + + @@ -117490,8 +117327,8 @@ - - + + @@ -117507,57 +117344,57 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + @@ -117568,16 +117405,16 @@ - - + + - - + + @@ -117601,12 +117438,12 @@ - - - - - - + + + + + + @@ -117623,9 +117460,9 @@ - - - + + + @@ -117641,33 +117478,33 @@ - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + @@ -117680,22 +117517,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -117774,13 +117611,13 @@ - - - - - - - + + + + + + + @@ -117789,29 +117626,29 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -117853,11 +117690,11 @@ - - - - - + + + + + @@ -117877,14 +117714,14 @@ - - + + - - - - + + + + @@ -117907,15 +117744,15 @@ - - - - + + + + - - - + + + @@ -117923,11 +117760,11 @@ - - - - - + + + + + @@ -117978,21 +117815,21 @@ - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -118033,18 +117870,18 @@ - - + + - - - + + + - - - + + + @@ -118077,17 +117914,17 @@ - - - - + + + + - - - - - + + + + + @@ -118098,53 +117935,53 @@ - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - + + + + + @@ -118152,9 +117989,9 @@ - - - + + + @@ -118163,49 +118000,49 @@ - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -118215,10 +118052,10 @@ - - - - + + + + @@ -118262,17 +118099,17 @@ - - + + - - + + - - - + + + @@ -118307,10 +118144,10 @@ - - - - + + + + @@ -118342,13 +118179,13 @@ - - - + + + - - + + @@ -118379,8 +118216,8 @@ - - + + @@ -118389,8 +118226,8 @@ - - + + @@ -118412,8 +118249,8 @@ - - + + @@ -118460,8 +118297,8 @@ - - + + @@ -118483,10 +118320,10 @@ - - - - + + + + @@ -118522,9 +118359,9 @@ - - - + + + @@ -118668,16 +118505,16 @@ - - + + - - + + @@ -118726,26 +118563,26 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + @@ -118754,31 +118591,31 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -118796,9 +118633,9 @@ - - - + + + @@ -118846,67 +118683,67 @@ - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -118922,16 +118759,16 @@ - - + + - - - - - - + + + + + + @@ -118952,22 +118789,22 @@ - - + + - - + + - - + + - - + + @@ -118984,23 +118821,23 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -119010,8 +118847,8 @@ - - + + @@ -119024,8 +118861,8 @@ - - + + @@ -119095,9 +118932,9 @@ - - - + + + @@ -119136,11 +118973,11 @@ - - - - - + + + + + @@ -119156,19 +118993,19 @@ - - - + + + - - - + + + - - - + + + @@ -119200,9 +119037,9 @@ - - - + + + @@ -119291,14 +119128,14 @@ - - - + + + - - - + + + @@ -119307,65 +119144,65 @@ - - - + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -119374,48 +119211,48 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -119426,8 +119263,8 @@ - - + + @@ -119545,8 +119382,8 @@ - - + + @@ -119648,28 +119485,28 @@ - - - + + + - - + + - - - - - + + + + + @@ -119684,11 +119521,11 @@ - - - - - + + + + + @@ -119700,11 +119537,11 @@ - - - - - + + + + + @@ -119723,8 +119560,8 @@ - - + + @@ -119761,10 +119598,10 @@ - - - - + + + + @@ -119802,22 +119639,22 @@ - - + + - - - - + + + + - - + + - - + + @@ -119844,22 +119681,22 @@ - - + + - - - - + + + + - - - + + + @@ -119920,8 +119757,8 @@ - - + + @@ -119952,18 +119789,18 @@ - - + + - - - + + + - - - + + + @@ -119975,8 +119812,8 @@ - - + + @@ -119992,9 +119829,9 @@ - - - + + + @@ -120027,12 +119864,12 @@ - - + + - - + + @@ -120043,23 +119880,23 @@ - - + + - - - + + + - - - - + + + + @@ -120074,9 +119911,9 @@ - - - + + + @@ -120095,8 +119932,8 @@ - - + + @@ -120116,58 +119953,58 @@ - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + @@ -120210,12 +120047,12 @@ - - + + - - + + @@ -120244,10 +120081,10 @@ - - - - + + + + @@ -120302,42 +120139,42 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + @@ -120380,10 +120217,10 @@ - - - - + + + + @@ -120391,9 +120228,9 @@ - - - + + + @@ -120403,7 +120240,7 @@ - + @@ -120424,8 +120261,8 @@ - - + + @@ -120446,22 +120283,22 @@ - - + + - - - + + + - - - + + + @@ -120511,11 +120348,11 @@ - - - - - + + + + + @@ -120523,44 +120360,44 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -120581,8 +120418,8 @@ - - + + @@ -120607,18 +120444,18 @@ - - - + + + - - - + + + @@ -120635,9 +120472,9 @@ - - - + + + @@ -120648,11 +120485,11 @@ - - - - - + + + + + @@ -120662,8 +120499,8 @@ - - + + @@ -120679,18 +120516,18 @@ - - + + - - + + - - - - + + + + @@ -120721,12 +120558,12 @@ - - + + - - + + @@ -120735,7 +120572,7 @@ - + @@ -120766,11 +120603,11 @@ - - - - - + + + + + @@ -120780,25 +120617,25 @@ - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -120835,11 +120672,11 @@ - - - - - + + + + + @@ -120849,11 +120686,11 @@ - - - - - + + + + + @@ -120885,9 +120722,9 @@ - - - + + + @@ -120898,8 +120735,8 @@ - - + + @@ -120909,9 +120746,9 @@ - - - + + + @@ -120920,11 +120757,11 @@ - - - - - + + + + + @@ -120937,16 +120774,16 @@ - - + + - - + + - - + + @@ -120957,8 +120794,8 @@ - - + + @@ -121000,49 +120837,49 @@ - - + + - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -121064,9 +120901,9 @@ - - - + + + @@ -121079,9 +120916,9 @@ - - - + + + @@ -121103,10 +120940,10 @@ - - - - + + + + @@ -121137,15 +120974,15 @@ - - - - + + + + - - - + + + @@ -121165,8 +121002,8 @@ - - + + @@ -121182,8 +121019,8 @@ - - + + @@ -121191,13 +121028,13 @@ - - + + - - - + + + @@ -121208,9 +121045,9 @@ - - - + + + @@ -121227,16 +121064,16 @@ - - + + - - + + @@ -121261,9 +121098,9 @@ - - - + + + @@ -121353,9 +121190,9 @@ - - - + + + @@ -121368,17 +121205,17 @@ - - - - + + + + - - - - + + + + @@ -121386,10 +121223,10 @@ - - - - + + + + @@ -121397,9 +121234,9 @@ - - - + + + @@ -121424,11 +121261,11 @@ - - - - - + + + + + @@ -121500,20 +121337,20 @@ - - + + - - + + - - + + @@ -121526,8 +121363,8 @@ - - + + @@ -121549,12 +121386,12 @@ - - - - - - + + + + + + @@ -121563,40 +121400,40 @@ - - - + + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -121631,28 +121468,28 @@ - - - + + + - - + + - - - - + + + + - - - + + + @@ -121674,10 +121511,10 @@ - - - - + + + + @@ -121699,11 +121536,11 @@ - - - - - + + + + + @@ -121726,15 +121563,15 @@ - - - + + + - - - - + + + + @@ -121751,14 +121588,14 @@ - - - + + + - - - + + + @@ -121787,22 +121624,22 @@ - - + + - - + + - - - - + + + + @@ -121825,10 +121662,10 @@ - - - - + + + + @@ -121836,15 +121673,15 @@ - - - - + + + + - - - + + + @@ -121951,11 +121788,11 @@ - - - - - + + + + + @@ -122153,29 +121990,29 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -122185,10 +122022,10 @@ - - - - + + + + @@ -122227,14 +122064,14 @@ - - - - - - - - + + + + + + + + @@ -122247,9 +122084,9 @@ - - - + + + @@ -122282,8 +122119,8 @@ - - + + @@ -122350,14 +122187,14 @@ - - - + + + - - - + + + @@ -122365,10 +122202,10 @@ - - - - + + + + @@ -122413,15 +122250,15 @@ - - - - + + + + - - - + + + @@ -122520,16 +122357,16 @@ - - - + + + - - - - - + + + + + @@ -122585,46 +122422,46 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - + + @@ -122719,9 +122556,9 @@ - - - + + + @@ -122743,17 +122580,17 @@ - - + + - - - + + + - - + + @@ -122761,15 +122598,15 @@ - - - + + + - - - - + + + + @@ -122780,34 +122617,34 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + @@ -122819,9 +122656,9 @@ - - - + + + @@ -122829,8 +122666,8 @@ - - + + @@ -122841,15 +122678,15 @@ - + - - - - - - + + + + + + @@ -122861,13 +122698,13 @@ - - - - + + + + - - + + @@ -122887,10 +122724,10 @@ - - - - + + + + @@ -123040,46 +122877,46 @@ - - - + + + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -123212,8 +123049,8 @@ - - + + @@ -123246,16 +123083,16 @@ - - + + - - + + - - + + @@ -123267,8 +123104,8 @@ - - + + @@ -123279,8 +123116,8 @@ - - + + @@ -123300,9 +123137,9 @@ - - - + + + @@ -123312,62 +123149,62 @@ - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -123385,14 +123222,14 @@ - - - + + + - - - + + + @@ -123427,13 +123264,13 @@ - - - - - - - + + + + + + + @@ -123657,62 +123494,62 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + @@ -123728,15 +123565,15 @@ - - + + - - - - - + + + + + @@ -123747,10 +123584,10 @@ - - - - + + + + @@ -123779,8 +123616,8 @@ - - + + @@ -123788,9 +123625,9 @@ - - - + + + @@ -123827,9 +123664,9 @@ - - - + + + @@ -123838,8 +123675,8 @@ - - + + @@ -123847,19 +123684,19 @@ - - - - - + + + + + - - - - - - + + + + + + @@ -123867,20 +123704,20 @@ - - + + - - + + - - + + - - + + @@ -123893,17 +123730,17 @@ - - + + - - + + - - - + + + @@ -123950,19 +123787,19 @@ - - - - - - - + + + + + + + - - - + + + @@ -123970,17 +123807,17 @@ - - - + + + - - + + @@ -123998,20 +123835,20 @@ - - + + - - + + - - + + @@ -124024,11 +123861,11 @@ - - - - - + + + + + @@ -124039,33 +123876,33 @@ - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -124349,23 +124186,23 @@ - - + + - - - - + + + + - - - + + + @@ -124381,12 +124218,12 @@ - - - - - - + + + + + + @@ -124438,20 +124275,20 @@ - - + + - - - - + + + + - - - - + + + + @@ -124606,10 +124443,10 @@ - - - - + + + + @@ -124659,9 +124496,9 @@ - - - + + + @@ -124790,19 +124627,19 @@ - - - + + + - - - + + + - - - + + + @@ -124903,8 +124740,8 @@ - - + + @@ -124926,9 +124763,9 @@ - - - + + + @@ -124956,8 +124793,8 @@ - - + + @@ -124972,24 +124809,24 @@ - - + + - - - + + + - - - - + + + + - - - + + + @@ -125008,9 +124845,9 @@ - - - + + + @@ -125024,18 +124861,18 @@ - - + + - - - + + + - - - + + + @@ -125056,9 +124893,9 @@ - - - + + + @@ -125089,28 +124926,28 @@ - - + + - - + + - - - + + + - - - - + + + + - - - + + + @@ -125121,83 +124958,83 @@ - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + @@ -125253,17 +125090,17 @@ - - + + - - + + - - - + + + @@ -125277,20 +125114,20 @@ - - + + - - + + - - + + @@ -125359,9 +125196,9 @@ - - - + + + @@ -125369,44 +125206,44 @@ - - + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + @@ -125416,12 +125253,12 @@ - - - - - - + + + + + + @@ -125432,9 +125269,9 @@ - - - + + + @@ -125442,18 +125279,18 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -125468,30 +125305,30 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + @@ -125527,8 +125364,8 @@ - - + + @@ -125604,20 +125441,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + @@ -125626,19 +125463,19 @@ - - - + + + - - - - + + + + - - - + + + @@ -125665,36 +125502,36 @@ - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -125933,8 +125770,8 @@ - - + + @@ -125948,13 +125785,13 @@ - - + + - - - + + + @@ -125993,14 +125830,14 @@ - - - + + + - - - + + + @@ -126008,17 +125845,17 @@ - - - - + + + + - - + + @@ -126033,9 +125870,9 @@ - - - + + + @@ -126049,50 +125886,50 @@ - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - + + @@ -126102,15 +125939,15 @@ - - - + + + - - - - + + + + @@ -126143,27 +125980,27 @@ - - - - + + + + - - - - - + + + + + - - - + + + - - + + @@ -126177,9 +126014,9 @@ - - - + + + @@ -126188,30 +126025,30 @@ - - - + + + - - + + - - - + + + - - - - + + + + - - - - + + + + @@ -126227,26 +126064,26 @@ - - + + - - - + + + - - + + - - - + + + @@ -126263,8 +126100,8 @@ - - + + @@ -126279,8 +126116,8 @@ - - + + @@ -126328,18 +126165,18 @@ - - - + + + - - + + - - - + + + @@ -126347,13 +126184,13 @@ - - + + - - - + + + @@ -126361,9 +126198,9 @@ - - - + + + @@ -126421,8 +126258,8 @@ - - + + @@ -126431,9 +126268,9 @@ - - - + + + @@ -126446,8 +126283,8 @@ - - + + @@ -126490,12 +126327,12 @@ - - + + - - + + @@ -126532,35 +126369,35 @@ - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + @@ -126572,13 +126409,13 @@ - - - + + + - - + + @@ -126621,33 +126458,33 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -126668,8 +126505,8 @@ - - + + @@ -126694,10 +126531,10 @@ - - - - + + + + @@ -126707,12 +126544,12 @@ - - + + - - + + @@ -126723,17 +126560,17 @@ - - - - - - - + + + + + + + - - + + @@ -126750,8 +126587,8 @@ - - + + @@ -126781,15 +126618,15 @@ - - + + - - - - - + + + + + @@ -126801,8 +126638,8 @@ - - + + @@ -126828,8 +126665,8 @@ - - + + @@ -126839,20 +126676,20 @@ - - + + - + - - - + + + @@ -126866,41 +126703,41 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -126910,13 +126747,13 @@ - - + + - - - + + + @@ -126930,41 +126767,41 @@ - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -126978,8 +126815,8 @@ - - + + @@ -126991,18 +126828,18 @@ - - + + - - - - + + + + @@ -127026,23 +126863,23 @@ - - - + + + - - - + + + - - - + + + - - + + @@ -127055,9 +126892,9 @@ - - - + + + @@ -127065,29 +126902,29 @@ - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + @@ -127120,9 +126957,9 @@ - - - + + + @@ -127131,13 +126968,13 @@ - - + + - - - + + + @@ -127234,8 +127071,8 @@ - - + + @@ -127260,13 +127097,13 @@ - - - + + + - - + + @@ -127311,10 +127148,10 @@ - - + + - + @@ -127329,22 +127166,22 @@ - - - + + + - - - + + + - - + + - - + + @@ -127395,38 +127232,38 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + @@ -127437,9 +127274,9 @@ - - - + + + @@ -127454,26 +127291,26 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -127488,28 +127325,28 @@ - - + + - - - + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127524,28 +127361,28 @@ - - - - - + + + + + - - + + - - - - - + + + + + - - - - + + + + @@ -127567,18 +127404,18 @@ - - + + - - + + - - + + @@ -127601,12 +127438,12 @@ - - + + - - + + @@ -127643,9 +127480,9 @@ - - - + + + @@ -127680,81 +127517,81 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -127884,12 +127721,12 @@ - - + + - - + + @@ -127932,14 +127769,14 @@ - - + + - - - - + + + + @@ -127960,36 +127797,36 @@ - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + @@ -128000,39 +127837,39 @@ - - + + - - - + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - + + + + @@ -128058,14 +127895,14 @@ - - + + - - - - + + + + @@ -128082,8 +127919,8 @@ - - + + @@ -128200,14 +128037,14 @@ - - - - - - - - + + + + + + + + @@ -128217,8 +128054,8 @@ - - + + @@ -128242,9 +128079,9 @@ - - - + + + @@ -128264,18 +128101,18 @@ - - - - + + + + - - - + + + @@ -128283,27 +128120,27 @@ - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -128313,8 +128150,8 @@ - - + + @@ -128335,8 +128172,8 @@ - - + + @@ -128351,8 +128188,8 @@ - - + + @@ -128385,20 +128222,20 @@ - - + + - - + + - - + + @@ -128435,12 +128272,12 @@ - - + + - - + + @@ -128448,34 +128285,34 @@ - - + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -128557,9 +128394,9 @@ - - - + + + @@ -128720,41 +128557,41 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -128762,53 +128599,53 @@ - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + @@ -128843,8 +128680,8 @@ - - + + @@ -128944,13 +128781,13 @@ - - - + + + - - + + @@ -128961,15 +128798,15 @@ - - - - - - - - - + + + + + + + + + @@ -129005,9 +128842,9 @@ - - - + + + @@ -129033,30 +128870,30 @@ - - - + + + - - - - + + + + - - - - + + + + - - - + + + @@ -129069,10 +128906,10 @@ - - - - + + + + @@ -129080,11 +128917,11 @@ - - - - - + + + + + @@ -129107,10 +128944,10 @@ - - - - + + + + @@ -129123,20 +128960,20 @@ - - - + + + - - - - + + + + - + - - + + @@ -129146,9 +128983,9 @@ - - - + + + @@ -129237,14 +129074,14 @@ - - - + + + - - + + @@ -129326,8 +129163,8 @@ - - + + @@ -129337,72 +129174,78 @@ - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - + - - - - + + + + + + + + + + @@ -129416,21 +129259,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -129441,23 +129284,23 @@ - - - - - - - - + + + + + + + + - - + + - - - + + + @@ -129466,10 +129309,10 @@ - - - - + + + + @@ -129501,46 +129344,46 @@ - - - - + + + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + @@ -129549,31 +129392,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -129582,23 +129425,23 @@ - - - + + + - - - + + + - - - + + + @@ -129606,34 +129449,34 @@ - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -129643,16 +129486,16 @@ - - - - + + + + - - - - + + + + @@ -129668,10 +129511,10 @@ - - - - + + + + @@ -129681,10 +129524,10 @@ - - - - + + + + @@ -129694,37 +129537,37 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -129735,9 +129578,9 @@ - - - + + + @@ -129751,11 +129594,11 @@ - - - - - + + + + + @@ -129781,17 +129624,21 @@ + + + + - - + + - + @@ -129808,15 +129655,15 @@ - - + + - - + + - - + + @@ -129836,8 +129683,8 @@ - - + + @@ -129847,8 +129694,8 @@ - - + + @@ -129860,8 +129707,8 @@ - - + + @@ -129875,18 +129722,18 @@ - - - + + + - - - - + + + + - - + + @@ -129894,10 +129741,10 @@ - - - - + + + + @@ -129910,14 +129757,14 @@ - - - - + + + + - - + + @@ -129953,18 +129800,18 @@ - - - + + + - - - + + + @@ -129975,8 +129822,8 @@ - - + + @@ -129987,29 +129834,29 @@ - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -130028,11 +129875,11 @@ - - - - - + + + + + @@ -130040,8 +129887,8 @@ - - + + @@ -130059,11 +129906,11 @@ - - - - - + + + + + @@ -130091,21 +129938,21 @@ - - - + + + - - - - + + + + - - - - + + + + @@ -130118,9 +129965,9 @@ - - - + + + @@ -130131,13 +129978,13 @@ - - + + - - - + + + @@ -130145,50 +129992,50 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -130202,8 +130049,8 @@ - - + + @@ -130279,9 +130126,9 @@ - - - + + + @@ -130319,12 +130166,12 @@ - - + + - - - + + + @@ -130334,17 +130181,17 @@ - - - + + + - - - + + + - + @@ -130357,9 +130204,9 @@ - - - + + + @@ -130439,10 +130286,10 @@ - - - - + + + + @@ -130470,13 +130317,13 @@ - - - - - - - + + + + + + + @@ -130663,12 +130510,12 @@ - - + + - - + + @@ -130680,11 +130527,11 @@ - - - - - + + + + + @@ -130725,8 +130572,8 @@ - - + + @@ -130779,8 +130626,8 @@ - - + + @@ -130792,9 +130639,9 @@ - - - + + + @@ -130805,28 +130652,28 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + @@ -130837,9 +130684,9 @@ - - - + + + @@ -130900,8 +130747,8 @@ - - + + @@ -130940,9 +130787,9 @@ - - - + + + @@ -130998,8 +130845,8 @@ - - + + @@ -131052,51 +130899,51 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + @@ -131104,18 +130951,18 @@ - - - - + + + + - - + + @@ -131123,14 +130970,14 @@ - - - - + + + + - - - + + + @@ -131166,17 +131013,17 @@ - - + + - - - + + + @@ -131186,9 +131033,9 @@ - - - + + + @@ -131230,12 +131077,12 @@ - - + + - - + + @@ -131249,67 +131096,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + @@ -131317,19 +131164,19 @@ - - + + - - + + - - - - - + + + + + @@ -131340,41 +131187,41 @@ - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + @@ -131388,16 +131235,16 @@ - - - - + + + + - - - - + + + + @@ -131418,11 +131265,11 @@ - - - - - + + + + + @@ -131439,24 +131286,24 @@ - - - - + + + + - - - - - + + + + + - - - - - + + + + + @@ -131491,12 +131338,12 @@ - - + + - - + + @@ -131521,18 +131368,18 @@ - - - + + + - - + + - - - + + + @@ -131556,18 +131403,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -131578,19 +131425,19 @@ - - - - + + + + - - + + - - - + + + @@ -131609,14 +131456,14 @@ - - - + + + - - - + + + @@ -131642,9 +131489,9 @@ - - - + + + @@ -131657,22 +131504,22 @@ - - - - + + + + - - + + - - + + @@ -131686,43 +131533,43 @@ - - + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - - + + + + + @@ -131735,9 +131582,9 @@ - - - + + + @@ -131770,14 +131617,14 @@ - - - - + + + + - - + + @@ -131788,44 +131635,44 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -131859,16 +131706,16 @@ - - - - - - + + + + + + - - - + + + @@ -131876,9 +131723,9 @@ - - - + + + @@ -131922,33 +131769,33 @@ - - - + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + @@ -131973,9 +131820,9 @@ - - - + + + @@ -131991,32 +131838,32 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -132025,9 +131872,9 @@ - - - + + + @@ -132035,74 +131882,74 @@ - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + @@ -132114,42 +131961,42 @@ - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + @@ -132164,8 +132011,8 @@ - - + + @@ -132185,8 +132032,8 @@ - - + + @@ -132200,61 +132047,61 @@ - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + @@ -132272,12 +132119,12 @@ - - - - - - + + + + + + @@ -132288,12 +132135,12 @@ - - - - - - + + + + + + @@ -132308,9 +132155,9 @@ - - - + + + @@ -132323,15 +132170,15 @@ - - + + - - - - - + + + + + @@ -132348,10 +132195,10 @@ - - - - + + + + @@ -132371,10 +132218,10 @@ - - - - + + + + @@ -132408,8 +132255,8 @@ - - + + @@ -132420,8 +132267,8 @@ - - + + @@ -132524,33 +132371,33 @@ - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + @@ -132576,8 +132423,8 @@ - - + + @@ -132592,16 +132439,16 @@ - - + + - - + + - - + + @@ -132686,19 +132533,19 @@ - - - + + + - - - + + + - - - + + + @@ -132713,8 +132560,8 @@ - - + + @@ -132745,9 +132592,9 @@ - - - + + + @@ -132777,14 +132624,14 @@ - - - + + + - - - + + + @@ -132797,9 +132644,9 @@ - - - + + + @@ -132807,10 +132654,10 @@ - - - - + + + + @@ -132824,12 +132671,12 @@ - - + + - - + + @@ -132850,9 +132697,9 @@ - - - + + + @@ -132864,9 +132711,9 @@ - - - + + + @@ -132914,8 +132761,8 @@ - - + + @@ -132961,9 +132808,9 @@ - - - + + + @@ -132979,10 +132826,10 @@ - - - - + + + + @@ -133003,10 +132850,10 @@ - - - - + + + + @@ -133039,17 +132886,17 @@ - - + + - - - + + + @@ -133063,40 +132910,40 @@ - - + + - - + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + + @@ -133118,20 +132965,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -133139,21 +132986,21 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -133164,7 +133011,7 @@ - + @@ -133183,21 +133030,21 @@ - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -133231,8 +133078,8 @@ - - + + @@ -133252,9 +133099,9 @@ - - - + + + @@ -133262,23 +133109,23 @@ - - - + + + - - - + + + - - - + + + @@ -133299,37 +133146,37 @@ - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + @@ -133343,11 +133190,11 @@ - - - - - + + + + + @@ -133357,12 +133204,12 @@ - - - - - - + + + + + + @@ -133406,10 +133253,10 @@ - - - - + + + + @@ -133468,24 +133315,24 @@ - - + + - - + + - - + + @@ -133495,11 +133342,11 @@ - - - - - + + + + + @@ -133544,14 +133391,14 @@ - - - - + + + + - - - + + + @@ -133783,8 +133630,8 @@ - - + + @@ -133804,29 +133651,29 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -133838,14 +133685,14 @@ - - - + + + - - - + + + @@ -133858,16 +133705,16 @@ - - - - + + + + - - - - + + + + @@ -133919,12 +133766,12 @@ - - + + - - + + @@ -133971,24 +133818,24 @@ - - + + - - + + - - + + - - + + @@ -134008,13 +133855,13 @@ - - + + - - - + + + @@ -134028,18 +133875,19 @@ - - - - + + + + - - - - + + + + + @@ -134057,8 +133905,8 @@ - - + + @@ -134073,8 +133921,8 @@ - - + + @@ -134108,8 +133956,8 @@ - - + + @@ -134127,10 +133975,10 @@ - - - - + + + + @@ -134143,54 +133991,54 @@ - - + + - - - + + + - - + + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -134199,36 +134047,36 @@ - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -134239,12 +134087,12 @@ - - - - - - + + + + + + @@ -134263,9 +134111,9 @@ - - - + + + @@ -134275,8 +134123,8 @@ - - + + @@ -134290,10 +134138,10 @@ - - - - + + + + @@ -134306,13 +134154,13 @@ - - - + + + - - + + @@ -134365,11 +134213,11 @@ - - - - - + + + + + @@ -134385,20 +134233,20 @@ - - + + - - + + - - + + @@ -134406,24 +134254,24 @@ - - + + - - + + - - + + @@ -134483,8 +134331,8 @@ - - + + @@ -134494,21 +134342,21 @@ - - - - - + + + + + - - - - + + + + @@ -134522,19 +134370,19 @@ - - - + + + - - + + - - - - + + + + @@ -134557,48 +134405,48 @@ - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + @@ -134607,7 +134455,7 @@ - + @@ -134647,17 +134495,17 @@ - + - + - - + + @@ -134676,8 +134524,8 @@ - - + + @@ -134704,31 +134552,31 @@ - - + + - - - - + + + + - - - + + + - - - + + + @@ -134788,8 +134636,8 @@ - - + + @@ -134830,16 +134678,16 @@ - - + + - - + + - - + + @@ -134850,8 +134698,8 @@ - - + + @@ -134874,12 +134722,12 @@ - - + + - - + + @@ -134895,8 +134743,8 @@ - - + + @@ -135015,10 +134863,10 @@ - - - - + + + + @@ -135027,20 +134875,20 @@ - - - - - - - - + + + + + + + + - - - - + + + + @@ -135048,14 +134896,14 @@ - - - + + + - - - + + + @@ -135073,8 +134921,8 @@ - - + + @@ -135086,8 +134934,8 @@ - - + + @@ -135124,8 +134972,8 @@ - - + + @@ -135176,22 +135024,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -135281,8 +135129,8 @@ - - + + @@ -135290,22 +135138,22 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -135318,9 +135166,9 @@ - - - + + + @@ -135328,9 +135176,9 @@ - - - + + + @@ -135378,13 +135226,13 @@ - - - - - - - + + + + + + + @@ -135392,28 +135240,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -135429,20 +135277,20 @@ - - - - - - + + + + + + - - - + + + - - + + @@ -135458,8 +135306,8 @@ - - + + @@ -135476,8 +135324,8 @@ - - + + @@ -135490,15 +135338,15 @@ - - - + + + - - - - + + + + @@ -135506,39 +135354,39 @@ - - - + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + @@ -135546,30 +135394,30 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -135696,8 +135544,8 @@ - - + + @@ -135816,12 +135664,12 @@ - - + + - - + + @@ -135838,9 +135686,9 @@ - - - + + + @@ -135848,9 +135696,9 @@ - - - + + + @@ -135858,9 +135706,9 @@ - - - + + + @@ -135885,12 +135733,12 @@ - - + + - - + + @@ -135908,10 +135756,10 @@ - - - - + + + + @@ -135928,62 +135776,62 @@ - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + @@ -135994,7 +135842,7 @@ - + @@ -136028,10 +135876,10 @@ - - - - + + + + @@ -136073,7 +135921,7 @@ - + @@ -136081,34 +135929,34 @@ - - + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -136119,10 +135967,10 @@ - - - - + + + + @@ -136132,8 +135980,8 @@ - - + + @@ -136144,8 +135992,8 @@ - - + + @@ -136183,8 +136031,8 @@ - - + + @@ -136222,14 +136070,14 @@ - - - - - + + + + + - - + + @@ -136267,11 +136115,11 @@ - - - - - + + + + + @@ -136415,21 +136263,21 @@ - - + + - - - + + + - - + + - - + + @@ -136463,11 +136311,11 @@ - - - - - + + + + + @@ -136482,21 +136330,21 @@ - - + + - - + + - - + + - - - + + + @@ -136512,11 +136360,11 @@ - - - - - + + + + + @@ -136557,21 +136405,21 @@ - - - - + + + + - - - - + + + + - - - + + + @@ -136592,26 +136440,26 @@ - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + @@ -136620,20 +136468,20 @@ - - - + + + - - - + + + - - - + + + @@ -136643,26 +136491,26 @@ - - - + + + - - - + + + - - - - + + + + - - - - + + + + @@ -136808,9 +136656,9 @@ - - - + + + @@ -136819,9 +136667,9 @@ - - - + + + @@ -136829,21 +136677,21 @@ - - + + - - - - + + + + - - + + - - + + @@ -136851,15 +136699,15 @@ - - - + + + - - - - + + + + @@ -136871,33 +136719,33 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + @@ -136905,28 +136753,28 @@ - - - + + + - - - - - + + + + + - - + + - - - + + + - - + + @@ -136937,13 +136785,13 @@ - - - - - - - + + + + + + + @@ -136975,14 +136823,14 @@ - - + + - - - - + + + + @@ -136990,10 +136838,10 @@ - - - - + + + + @@ -137001,10 +136849,10 @@ - - - - + + + + @@ -137027,10 +136875,10 @@ - - - - + + + + @@ -137046,29 +136894,29 @@ - + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -137097,13 +136945,13 @@ - - - - - - - + + + + + + + @@ -137122,10 +136970,10 @@ - - - - + + + + @@ -137142,10 +136990,10 @@ - - - - + + + + @@ -137155,30 +137003,30 @@ - - - + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + @@ -137195,13 +137043,13 @@ - - + + - - - + + + @@ -137220,39 +137068,39 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + + @@ -137275,55 +137123,55 @@ - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + @@ -137333,9 +137181,9 @@ - - - + + + @@ -137345,16 +137193,16 @@ - - - - - + + + + + - - - + + + @@ -137389,15 +137237,15 @@ - - - + + + - - - - + + + + @@ -137410,11 +137258,11 @@ - - - - - + + + + + @@ -137424,16 +137272,16 @@ - - - - - + + + + + - - - + + + @@ -137443,8 +137291,8 @@ - - + + @@ -137456,25 +137304,25 @@ - - + + - - + + - - - - - - - + + + + + + + - - + + @@ -137485,9 +137333,9 @@ - - - + + + @@ -137539,9 +137387,9 @@ - - - + + + @@ -137575,22 +137423,22 @@ - - - - - + + + + + - - - - - + + + + + - - + + @@ -137669,8 +137517,8 @@ - - + + @@ -137680,9 +137528,9 @@ - - - + + + @@ -137734,8 +137582,8 @@ - - + + @@ -137751,9 +137599,9 @@ - - - + + + @@ -137763,17 +137611,17 @@ - - - - + + + + - - - - - + + + + + @@ -137797,17 +137645,17 @@ - - + + - - - - - - - + + + + + + + @@ -137816,23 +137664,23 @@ - - + + - - - - + + + + - - - + + + - - + + @@ -137843,12 +137691,12 @@ - - - - - - + + + + + + @@ -137860,8 +137708,8 @@ - - + + @@ -137873,18 +137721,18 @@ - - - - - - + + + + + + - - - - + + + + @@ -137892,12 +137740,12 @@ - - + + - - + + @@ -137935,9 +137783,9 @@ - - - + + + @@ -137949,8 +137797,8 @@ - - + + @@ -137982,45 +137830,45 @@ - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + @@ -138065,9 +137913,9 @@ - - - + + + @@ -138098,10 +137946,10 @@ - - - - + + + + @@ -138193,14 +138041,14 @@ - - - - + + + + - - + + @@ -138218,8 +138066,8 @@ - - + + @@ -138470,9 +138318,9 @@ - - - + + + @@ -138561,9 +138409,9 @@ - - - + + + @@ -138584,13 +138432,13 @@ - - - - - - - + + + + + + + @@ -138602,29 +138450,29 @@ - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -138738,9 +138586,9 @@ - - - + + + @@ -138752,17 +138600,17 @@ - - - - - - + + + + + + - - - + + + @@ -138886,9 +138734,9 @@ - - - + + + @@ -138921,30 +138769,30 @@ - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + @@ -138967,9 +138815,9 @@ - - - + + + @@ -138987,8 +138835,8 @@ - - + + @@ -139023,10 +138871,10 @@ - - - - + + + + @@ -139035,21 +138883,21 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -139057,21 +138905,21 @@ - - - - + + + + - - - - - + + + + + - - - + + + @@ -139090,12 +138938,12 @@ - - - + + + - - + + @@ -139110,26 +138958,26 @@ - - + + - - + + - - + + - + - + @@ -139141,12 +138989,12 @@ - - + + - - + + @@ -139161,23 +139009,23 @@ - - + + - - + + - - - + + + - + - + @@ -139196,15 +139044,15 @@ - - - + + + - - - - + + + + @@ -139217,20 +139065,20 @@ - - - + + + - - - - + + + + - - - + + + @@ -139252,9 +139100,9 @@ - - - + + + @@ -139263,10 +139111,10 @@ - - - - + + + + @@ -139274,9 +139122,9 @@ - - - + + + @@ -139284,9 +139132,9 @@ - - - + + + @@ -139295,17 +139143,17 @@ - - - - + + + + - + @@ -139317,8 +139165,8 @@ - - + + @@ -139360,8 +139208,8 @@ - - + + @@ -139454,8 +139302,8 @@ - - + + @@ -139464,8 +139312,8 @@ - - + + @@ -139497,19 +139345,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -139521,9 +139369,9 @@ - - - + + + @@ -139542,14 +139390,14 @@ - - - - + + + + - - + + @@ -139577,9 +139425,9 @@ - - - + + + @@ -139597,7 +139445,6 @@ - @@ -139633,19 +139480,19 @@ - - + + - - - - + + + + - - - + + + @@ -139663,8 +139510,8 @@ - - + + @@ -139674,24 +139521,24 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -139701,32 +139548,38 @@ - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + + + + + + + @@ -139743,12 +139596,12 @@ - + - - - + + + @@ -139876,10 +139729,10 @@ - - - - + + + + @@ -139887,10 +139740,10 @@ - - - - + + + + @@ -139969,19 +139822,19 @@ - - - + + + - - - + + + - - - + + + @@ -140011,8 +139864,8 @@ - - + + @@ -140030,16 +139883,16 @@ - - + + - - + + @@ -140092,9 +139945,9 @@ - - - + + + @@ -140108,9 +139961,9 @@ - - - + + + @@ -140149,8 +140002,8 @@ - - + + @@ -140196,9 +140049,9 @@ - - - + + + @@ -140289,11 +140142,11 @@ - - - - - + + + + + @@ -140528,9 +140381,9 @@ - - - + + + @@ -140648,15 +140501,15 @@ - - + + - - - - - + + + + + @@ -140690,8 +140543,8 @@ - - + + @@ -140730,17 +140583,17 @@ - - + + - - + + - - - + + + @@ -140751,8 +140604,8 @@ - - + + @@ -140783,12 +140636,12 @@ - - + + - - + + @@ -140811,8 +140664,8 @@ - - + + @@ -140834,8 +140687,8 @@ - - + + @@ -140871,9 +140724,9 @@ - - - + + + @@ -140896,9 +140749,9 @@ - - - + + + @@ -140913,16 +140766,16 @@ - - + + - - + + - - + + @@ -140941,8 +140794,8 @@ - - + + @@ -140957,16 +140810,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -141000,8 +140853,8 @@ - - + + @@ -141016,15 +140869,15 @@ - - - - + + + + - - - + + + @@ -141035,9 +140888,9 @@ - - - + + + @@ -141049,9 +140902,9 @@ - - - + + + @@ -141070,24 +140923,24 @@ - - - + + + - - - - + + + + - - - + + + @@ -141114,8 +140967,8 @@ - - + + @@ -141134,9 +140987,9 @@ - - - + + + @@ -141145,28 +140998,28 @@ - - - - + + + + - - + + - - + + - - - + + + - - - + + + @@ -141175,14 +141028,14 @@ - - - - + + + + - - + + @@ -141193,9 +141046,9 @@ - - - + + + @@ -141210,8 +141063,8 @@ - - + + @@ -141233,8 +141086,8 @@ - - + + @@ -141336,15 +141189,15 @@ - - - + + + - - - - + + + + @@ -141356,8 +141209,8 @@ - - + + @@ -141423,16 +141276,16 @@ - - + + - - + + @@ -141440,10 +141293,10 @@ - - - - + + + + @@ -141467,38 +141320,38 @@ - - + + - - + + - - - + + + - - - + + + - - + + - - + + @@ -141506,10 +141359,10 @@ - - - - + + + + @@ -141533,9 +141386,9 @@ - - - + + + @@ -141543,8 +141396,8 @@ - - + + @@ -141583,9 +141436,9 @@ - - - + + + @@ -141606,10 +141459,10 @@ - - - - + + + + @@ -141659,9 +141512,9 @@ - - - + + + @@ -141721,21 +141574,21 @@ - - - + + + - - - - - - + + + + + + - - + + @@ -141911,9 +141764,9 @@ - - - + + + @@ -141927,27 +141780,27 @@ - - + + - - - - + + + + - - - + + + @@ -141961,33 +141814,33 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - - + + + @@ -142233,15 +142086,15 @@ - - - + + + - - - - + + + + @@ -142292,15 +142145,15 @@ - - - + + + - - - + + + @@ -142313,15 +142166,15 @@ - - - - + + + + - - - + + + @@ -142399,9 +142252,9 @@ - - - + + + @@ -142417,36 +142270,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + @@ -142461,9 +142314,9 @@ - - - + + + @@ -142478,14 +142331,14 @@ - - - + + + - - - + + + @@ -142527,15 +142380,15 @@ - - + + - - - - - + + + + + @@ -142543,11 +142396,11 @@ - - - - - + + + + + @@ -142563,8 +142416,8 @@ - - + + @@ -142584,8 +142437,8 @@ - - + + @@ -142628,8 +142481,8 @@ - - + + @@ -142665,8 +142518,8 @@ - - + + @@ -142733,9 +142586,9 @@ - - - + + + @@ -142806,26 +142659,26 @@ - - - - - - - + + + + + + + - - + + - - - + + + @@ -142862,21 +142715,21 @@ - - - + + + - - - + + + - - - + + + @@ -142940,15 +142793,15 @@ - - + + - - + + @@ -142959,16 +142812,16 @@ - - - - - + + + + + - - - + + + @@ -142977,11 +142830,11 @@ - - - - - + + + + + @@ -142990,9 +142843,9 @@ - - - + + + @@ -143042,11 +142895,11 @@ - - - - - + + + + + @@ -143056,23 +142909,23 @@ - - - - + + + + - - - + + + - - + + - - + + @@ -143085,12 +142938,18 @@ - - + + + + + + + + - - + + @@ -143098,8 +142957,8 @@ - - + + @@ -143116,8 +142975,8 @@ - - + + @@ -143125,12 +142984,12 @@ - - - + + + - + @@ -143139,9 +142998,9 @@ - - - + + + @@ -143164,17 +143023,17 @@ - - - + + + - - + + @@ -143241,28 +143100,28 @@ - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + @@ -143272,17 +143131,17 @@ - - + + - - - - + + + + @@ -143293,26 +143152,26 @@ - - - - + + + + - - - - + + + + - - + + - - - - + + + + @@ -143323,9 +143182,9 @@ - - - + + + @@ -143357,10 +143216,10 @@ - - - - + + + + @@ -143393,9 +143252,9 @@ - - - + + + @@ -143412,15 +143271,15 @@ - - - - + + + + - - - + + + @@ -143444,12 +143303,12 @@ - - - - - - + + + + + + @@ -143471,13 +143330,13 @@ - - + + - - - + + + @@ -143494,10 +143353,10 @@ - - - - + + + + @@ -143508,47 +143367,47 @@ - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/android/abi_gki_aarch64_mtk b/android/abi_gki_aarch64_mtk old mode 100644 new mode 100755 index 43ed832528e8..f49b88bc41c0 --- a/android/abi_gki_aarch64_mtk +++ b/android/abi_gki_aarch64_mtk @@ -975,6 +975,7 @@ kfree_skb kfree_skb_list kill_anon_super + kill_pid kimage_vaddr kimage_voffset __kmalloc @@ -1022,6 +1023,7 @@ kthread_destroy_worker kthread_flush_work kthread_flush_worker + kthread_freezable_should_stop __kthread_init_worker kthread_queue_delayed_work kthread_queue_work @@ -2056,6 +2058,7 @@ trace_raw_output_prep trace_seq_printf trace_seq_putc + trace_set_clr_event tracing_off try_wait_for_completion tty_flip_buffer_push @@ -2370,6 +2373,7 @@ vscnprintf vsnprintf vsprintf + vsscanf vunmap vzalloc wait_for_completion From 3c54070823074c74d676f8525218a43ac91d9c02 Mon Sep 17 00:00:00 2001 From: Jing-Ting Wu Date: Mon, 29 Nov 2021 13:07:19 +0800 Subject: [PATCH 24/28] UPSTREAM: sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() Nothing protects the access to the per_cpu variable sd_llc_id. When testing the same CPU (i.e. this_cpu == that_cpu), a race condition exists with update_top_cache_domain(). One scenario being: CPU1 CPU2 ================================================================== per_cpu(sd_llc_id, CPUX) => 0 partition_sched_domains_locked() detach_destroy_domains() cpus_share_cache(CPUX, CPUX) update_top_cache_domain(CPUX) per_cpu(sd_llc_id, CPUX) => 0 per_cpu(sd_llc_id, CPUX) = CPUX per_cpu(sd_llc_id, CPUX) => CPUX return false ttwu_queue_cond() wouldn't catch smp_processor_id() == cpu and the result is a warning triggered from ttwu_queue_wakelist(). Avoid a such race in cpus_share_cache() by always returning true when this_cpu == that_cpu. Fixes: 518cd6234178 ("sched: Only queue remote wakeups when crossing cache boundaries") Reported-by: Jing-Ting Wu Signed-off-by: Vincent Donnefort Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Valentin Schneider Reviewed-by: Vincent Guittot Link: https://lore.kernel.org/r/20211104175120.857087-1-vincent.donnefort@arm.com Bug: 204726704 Change-Id: Ib6e59187b6d7d7dcabae84e3541d5fbe0dfc400a (cherry picked from commit 42dc938a590c96eeb429e1830123fef2366d9c80) Signed-off-by: Jing-Ting Wu --- kernel/sched/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 8c48658e8642..6d7e7881813c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2843,6 +2843,9 @@ EXPORT_SYMBOL_GPL(wake_up_if_idle); bool cpus_share_cache(int this_cpu, int that_cpu) { + if (this_cpu == that_cpu) + return true; + return per_cpu(sd_llc_id, this_cpu) == per_cpu(sd_llc_id, that_cpu); } From 898e7ec950c168e37ce8c27f6ca1d2cdea66b078 Mon Sep 17 00:00:00 2001 From: Maria Yu Date: Wed, 24 Nov 2021 15:30:05 +0800 Subject: [PATCH 25/28] ANDROID: init_task: Init android vendor and oem data Without initialization, it will be random data and hard for vendor hook to decide. Bug: 207739506 Change-Id: I278772d87eea38c03a40d4f0bef20ac8644e2ecd Signed-off-by: Maria Yu --- init/init_task.c | 2 ++ kernel/fork.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/init/init_task.c b/init/init_task.c index 8b08c2e19cbb..fba7fbed71dc 100644 --- a/init/init_task.c +++ b/init/init_task.c @@ -213,6 +213,8 @@ struct task_struct init_task #ifdef CONFIG_SECCOMP_FILTER .seccomp = { .filter_count = ATOMIC_INIT(0) }, #endif + .android_vendor_data1 = {0, }, + .android_oem_data1 = {0, }, }; EXPORT_SYMBOL(init_task); diff --git a/kernel/fork.c b/kernel/fork.c index c1771f539901..45f79721ebd5 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -978,6 +978,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) #ifdef CONFIG_MEMCG tsk->active_memcg = NULL; #endif + memset(&tsk->android_vendor_data1, 0, sizeof(tsk->android_vendor_data1)); + memset(&tsk->android_oem_data1, 0, sizeof(tsk->android_oem_data1)); trace_android_vh_dup_task_struct(tsk, orig); return tsk; From ca9ee53cea1f18edf318a01a19653ae3847474a9 Mon Sep 17 00:00:00 2001 From: Huang Jianan Date: Thu, 18 Nov 2021 21:58:44 +0800 Subject: [PATCH 26/28] UPSTREAM: erofs: fix deadlock when shrink erofs slab We observed the following deadlock in the stress test under low memory scenario: Thread A Thread B - erofs_shrink_scan - erofs_try_to_release_workgroup - erofs_workgroup_try_to_freeze -- A - z_erofs_do_read_page - z_erofs_collection_begin - z_erofs_register_collection - erofs_insert_workgroup - xa_lock(&sbi->managed_pslots) -- B - erofs_workgroup_get - erofs_wait_on_workgroup_freezed -- A - xa_erase - xa_lock(&sbi->managed_pslots) -- B To fix this, it needs to hold xa_lock before freezing the workgroup since xarray will be touched then. So let's hold the lock before accessing each workgroup, just like what we did with the radix tree before. [ Gao Xiang: Jianhua Hao also reports this issue at https://lore.kernel.org/r/b10b85df30694bac8aadfe43537c897a@xiaomi.com ] Link: https://lore.kernel.org/r/20211118135844.3559-1-huangjianan@oppo.com Fixes: 64094a04414f ("erofs: convert workstn to XArray") Reviewed-by: Chao Yu Reviewed-by: Gao Xiang Signed-off-by: Huang Jianan Reported-by: Jianhua Hao Signed-off-by: Gao Xiang Signed-off-by: haojianhua1 Change-Id: Icdfb520c073de8773d44cff64fd5f7a8499cdc85 Signed-off-by: haojianhua1 Bug:208318427 (cherry picked from commit 57bbeacdbee72a54eb97d56b876cf9c94059fc34) Signed-off-by: Gao Xiang Change-Id: Ie282b4362898fa8e0c829b8c2454887e953a2610 Signed-off-by: haojianhua1 --- fs/erofs/utils.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/erofs/utils.c b/fs/erofs/utils.c index 6758c5b19f7c..9d9c2c73bebd 100644 --- a/fs/erofs/utils.c +++ b/fs/erofs/utils.c @@ -142,7 +142,7 @@ static bool erofs_try_to_release_workgroup(struct erofs_sb_info *sbi, * however in order to avoid some race conditions, add a * DBG_BUGON to observe this in advance. */ - DBG_BUGON(xa_erase(&sbi->managed_pslots, grp->index) != grp); + DBG_BUGON(__xa_erase(&sbi->managed_pslots, grp->index) != grp); /* last refcount should be connected with its managed pslot. */ erofs_workgroup_unfreeze(grp, 0); @@ -157,15 +157,19 @@ static unsigned long erofs_shrink_workstation(struct erofs_sb_info *sbi, unsigned int freed = 0; unsigned long index; + xa_lock(&sbi->managed_pslots); xa_for_each(&sbi->managed_pslots, index, grp) { /* try to shrink each valid workgroup */ if (!erofs_try_to_release_workgroup(sbi, grp)) continue; + xa_unlock(&sbi->managed_pslots); ++freed; if (!--nr_shrink) - break; + return freed; + xa_lock(&sbi->managed_pslots); } + xa_unlock(&sbi->managed_pslots); return freed; } From c27d7f71b50154fb84b0b527d7d83fb725b65951 Mon Sep 17 00:00:00 2001 From: Pat Tjin Date: Wed, 1 Dec 2021 08:49:30 -0800 Subject: [PATCH 27/28] ANDROID: GKI: Fix file mode on mtk abi file Remove executable bit on abi_gki_aarch64_mtk file. This file was added in 55d7c4eca691, the mode of abi_gki_aarch64.xml was fixed in eb02ea0e, this patch fixes the other file that from the 55d7c4eca691 patch. Bug: 149040612 Fixes: 55d7c4eca691 ("ANDROID: Update symbol list for mtk") Signed-off-by: Pat Tjin Change-Id: I3800136eb7d7f54a89508660ae40e662ee5ac571 --- android/abi_gki_aarch64_mtk | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 android/abi_gki_aarch64_mtk diff --git a/android/abi_gki_aarch64_mtk b/android/abi_gki_aarch64_mtk old mode 100755 new mode 100644 From 32432740cdec38674c3134c678b3b269f48d1ed8 Mon Sep 17 00:00:00 2001 From: Donnie Pollitz Date: Wed, 24 Nov 2021 21:20:09 +0100 Subject: [PATCH 28/28] ANDROID: GKI: Add symbols abi for USB IP kernel modules. Leaf changes summary: 4 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable 3 Added functions: [A] 'function int kernel_sock_shutdown(socket*, sock_shutdown_cmd)' [A] 'function int sock_recvmsg(socket*, msghdr*, int)' [A] 'function socket* sockfd_lookup(int, int*)' 1 Added variable: [A] 'device platform_bus' Bug: 207100354 Test: Manually, Emulator boots up. Signed-off-by: Donnie Pollitz Change-Id: Iba6b282d4a21d641b992867d0519d1da9edd5cec --- android/abi_gki_aarch64.xml | 233 ++++++++++++++----------- android/abi_gki_aarch64_virtual_device | 8 + 2 files changed, 138 insertions(+), 103 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 71f780167c73..37986a0c2b77 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2893,6 +2893,7 @@ + @@ -4709,11 +4710,13 @@ + + @@ -6177,6 +6180,7 @@ + @@ -32385,6 +32389,12 @@ + + + + + + @@ -113317,49 +113327,49 @@ - - - - + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - + + + + @@ -114103,7 +114113,7 @@ - + @@ -117456,8 +117466,8 @@ - - + + @@ -117767,8 +117777,8 @@ - - + + @@ -119692,16 +119702,16 @@ - - + + - + - + @@ -119729,10 +119739,10 @@ - + - + @@ -119925,7 +119935,7 @@ - + @@ -119983,10 +119993,10 @@ - + - + @@ -120757,11 +120767,11 @@ - - - - - + + + + + @@ -125640,10 +125650,10 @@ - - - - + + + + @@ -126743,12 +126753,12 @@ - - + + - - + + @@ -128321,8 +128331,8 @@ - - + + @@ -129107,7 +129117,7 @@ - + @@ -129157,6 +129167,11 @@ + + + + + @@ -129424,7 +129439,7 @@ - + @@ -130845,8 +130860,8 @@ - - + + @@ -132375,8 +132390,8 @@ - - + + @@ -133629,6 +133644,7 @@ + @@ -134003,10 +134019,10 @@ - + - + @@ -135156,8 +135172,8 @@ - - + + @@ -135264,8 +135280,8 @@ - - + + @@ -135420,7 +135436,7 @@ - + @@ -135847,43 +135863,43 @@ - - + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + @@ -135921,7 +135937,7 @@ - + @@ -136699,9 +136715,9 @@ - - - + + + @@ -138455,6 +138471,12 @@ + + + + + + @@ -138479,6 +138501,11 @@ + + + + + @@ -139169,7 +139196,7 @@ - + @@ -139180,8 +139207,8 @@ - - + + @@ -143007,8 +143034,8 @@ - - + + diff --git a/android/abi_gki_aarch64_virtual_device b/android/abi_gki_aarch64_virtual_device index 3b7e4f52cab4..692983348396 100644 --- a/android/abi_gki_aarch64_virtual_device +++ b/android/abi_gki_aarch64_virtual_device @@ -1105,6 +1105,9 @@ anon_inode_getfile compat_ptr_ioctl +# required by usbip-core.ko + sock_recvmsg + # required by vcan.ko sock_efree @@ -1124,6 +1127,11 @@ devm_gpiochip_add_data_with_key devm_mfd_add_devices +# required by vhci-hcd.ko + kernel_sock_shutdown + platform_bus + sockfd_lookup + # required by virt_wifi.ko __module_get netdev_upper_dev_link