From 143ac63130f0a9d8d4b5017715eb60518b34bbfb Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Mon, 29 Nov 2021 10:21:30 -0800 Subject: [PATCH 1/6] 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 2/6] 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 3/6] 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 4/6] 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 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe, 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 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe, 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 5/6] 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 6/6] 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); }