diff --git a/abi_gki_aarch64.xml b/abi_gki_aarch64.xml index 45f9269679e5..6ff67dc573d8 100644 --- a/abi_gki_aarch64.xml +++ b/abi_gki_aarch64.xml @@ -19875,15 +19875,159 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19894,7 +20038,42 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19905,10 +20084,10 @@ - + - + @@ -19922,7 +20101,23 @@ - + + + + + + + + + + + + + + + + + @@ -19933,24 +20128,24 @@ - + - + - + - + - + - + @@ -19962,7 +20157,7 @@ - + @@ -19974,7 +20169,7 @@ - + @@ -19982,78 +20177,72 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20065,205 +20254,207 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + - - - - - + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - + - - + + - - - + + + - - + + - + - + - - + + - + - - + + - + - + - + - - - + + + - - + + - - + + - - + + - - - + + + - - - + + + - - - - + + + + - + - + - - - + + + - - + + @@ -20272,23 +20463,23 @@ - - + + - + - - + + - + @@ -20308,13 +20499,13 @@ - + - + - + @@ -20326,7 +20517,7 @@ - + @@ -20334,59 +20525,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20398,16 +20589,16 @@ - - + + - + - + - + @@ -20427,229 +20618,229 @@ - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + - - + + - - + + - - - + + + - - + + - - + + - + - + - + - + - - + + - - + + - + - + - + @@ -20658,95 +20849,106 @@ - + - - + + - + - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20755,7 +20957,7 @@ - + @@ -20769,26 +20971,26 @@ - + - + - + - + - + @@ -20820,45 +21022,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20873,49 +21075,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20924,14 +21126,14 @@ - + - + - + - + @@ -20949,41 +21151,41 @@ - + - + - + - - + + - + - + - + - + - + @@ -20992,36 +21194,36 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -21030,7 +21232,7 @@ - + @@ -21041,19 +21243,19 @@ - + - + - + - + @@ -21061,29 +21263,29 @@ - + - + - + - + - + - + - + - + - + @@ -21095,15 +21297,15 @@ - + - + - + - + @@ -21115,7 +21317,7 @@ - + @@ -21123,24 +21325,24 @@ - + - + - + - + - + - + - + @@ -21154,151 +21356,151 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + - - + + - - - + + + - - + + - + + + + + + + + + + + + + + - - - + - - + + + + + + - - - - - - - - - - - - - - - - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + @@ -21311,7 +21513,7 @@ - + @@ -21322,7 +21524,7 @@ - + @@ -21332,7 +21534,7 @@ - + @@ -21341,21 +21543,21 @@ - + - + - + - + - + - + @@ -21370,7 +21572,7 @@ - + @@ -21378,13 +21580,13 @@ - + - + - + @@ -21395,7 +21597,7 @@ - + @@ -21412,13 +21614,13 @@ - + - + - + @@ -21433,15 +21635,15 @@ - + - + - + @@ -21450,14 +21652,14 @@ - - - - - - - - + + + + + + + + @@ -21476,12 +21678,12 @@ - + - + @@ -21509,13 +21711,13 @@ - + - + @@ -21568,22 +21770,22 @@ - + - - + + - - - + + + - + @@ -21601,8 +21803,8 @@ - - + + @@ -21624,7 +21826,7 @@ - + @@ -21642,12 +21844,12 @@ - + - - + + @@ -21670,28 +21872,28 @@ - + - + - + - + - + - + - - + + @@ -21708,7 +21910,7 @@ - + @@ -21723,10 +21925,10 @@ - + - + @@ -21737,13 +21939,13 @@ - + - + - + @@ -21752,32 +21954,32 @@ - + - + - + - + - + - + - + - + @@ -21794,115 +21996,115 @@ - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - - + + - - + + @@ -22009,24 +22211,24 @@ - + - + - + - + - + - + @@ -22044,48 +22246,48 @@ - - - - - - + + + + + + - + - + - - + + - - + + - - + + - - + + - - + + - + @@ -22114,13 +22316,13 @@ - + - + - + @@ -22132,26 +22334,26 @@ - - - - + + + + - + - + - + - + @@ -22160,13 +22362,13 @@ - + - + - + @@ -22184,10 +22386,10 @@ - + - + @@ -22226,7 +22428,7 @@ - + @@ -22250,112 +22452,112 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -22364,9 +22566,9 @@ - + - + @@ -22378,7 +22580,7 @@ - + @@ -22392,10 +22594,10 @@ - + - + @@ -22403,12 +22605,12 @@ - + - + - + @@ -22420,117 +22622,117 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -22541,64 +22743,64 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -22607,15 +22809,15 @@ - + - + - + - + @@ -22624,10 +22826,10 @@ - + - + @@ -22651,7 +22853,7 @@ - + @@ -22663,19 +22865,19 @@ - + - + - + - + - + @@ -22720,22 +22922,22 @@ - + - + - + - + - + @@ -22746,30 +22948,30 @@ - + - + - + - + - + - + - + - + @@ -22781,7 +22983,7 @@ - + @@ -22792,13 +22994,13 @@ - + - + @@ -22806,18 +23008,18 @@ - + - + - + @@ -22826,7 +23028,7 @@ - + @@ -22841,32 +23043,32 @@ - + - + - + - + - + - + - + - + - + @@ -22875,13 +23077,13 @@ - + - + - + @@ -22923,13 +23125,13 @@ - + - + - + @@ -22938,7 +23140,7 @@ - + @@ -22950,77 +23152,77 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -23028,9 +23230,9 @@ - + - + @@ -23039,7 +23241,7 @@ - + @@ -23066,9 +23268,9 @@ - + - + @@ -23080,27 +23282,27 @@ - + - + - + - + - + - + - + @@ -23111,227 +23313,227 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - - + + - - + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + + + - - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - + - + - - + + - + @@ -23339,69 +23541,69 @@ - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - - + + @@ -23418,29 +23620,29 @@ - + - + - - - + + + - - + + - + - - + + @@ -23448,22 +23650,22 @@ - + - + - + - + @@ -23472,7 +23674,7 @@ - + @@ -23484,7 +23686,7 @@ - + @@ -23496,7 +23698,7 @@ - + @@ -23504,28 +23706,28 @@ - + - + - + - + - + - + - + - + - + @@ -23534,7 +23736,7 @@ - + @@ -23543,7 +23745,7 @@ - + @@ -23560,52 +23762,52 @@ - - - - - - - + + + + + + + - + - + - + - + - + - - + + - - + + - - + + - + @@ -23618,30 +23820,30 @@ - - + + - - - - - + + + + + - + - + - + - + @@ -23653,7 +23855,7 @@ - + @@ -23661,7 +23863,7 @@ - + @@ -23670,10 +23872,10 @@ - + - + @@ -23694,7 +23896,7 @@ - + @@ -23702,7 +23904,7 @@ - + @@ -23713,13 +23915,13 @@ - + - + - + @@ -23755,24 +23957,24 @@ - + - + - + - + - + - + @@ -23784,7 +23986,7 @@ - + @@ -23792,109 +23994,109 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -23902,23 +24104,23 @@ - + - + - + - + - + @@ -23941,21 +24143,21 @@ - + - + - + - + - + @@ -23991,16 +24193,16 @@ - + - + - + - + @@ -24045,10 +24247,10 @@ - - + + - + @@ -24057,16 +24259,16 @@ - + - + - + @@ -24087,7 +24289,7 @@ - + @@ -24098,18 +24300,18 @@ - + - + - + - + @@ -24118,43 +24320,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -24163,69 +24365,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -24243,10 +24445,10 @@ - + - + @@ -24255,279 +24457,279 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + + + - - - - - + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - + + - - + + + + - + - + + + - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -24538,7 +24740,7 @@ - + @@ -24550,9 +24752,9 @@ - + - + @@ -24591,18 +24793,18 @@ - + - + - + @@ -24617,50 +24819,50 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -24669,24 +24871,24 @@ - + - + - + - + - + - + @@ -24695,7 +24897,7 @@ - + @@ -24703,36 +24905,36 @@ - + - + - + - + - + - + - + - + - + - + @@ -24743,7 +24945,7 @@ - + @@ -24766,19 +24968,19 @@ - + - + - + @@ -24823,11 +25025,11 @@ - + - - + + @@ -24838,9 +25040,9 @@ - + - + @@ -24858,9 +25060,9 @@ - + - + @@ -24872,9 +25074,9 @@ - + - + @@ -24892,27 +25094,27 @@ - + - + - + - + - + - + - + @@ -24921,26 +25123,26 @@ - + - + - + - + - + - + - + @@ -24952,24 +25154,24 @@ - + - + - + - + - + - + @@ -24990,120 +25192,120 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - - + + + @@ -25112,118 +25314,118 @@ - + - - + + - - + + - + - - - + + + - + - - + + - - - + + + - - + + - - + + - + - - + + - - + + - - - + + + - + - + - + - + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + @@ -25235,79 +25437,79 @@ - - + + - - - + + + - + - - + + - + - + - + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - + - - + + - + - + @@ -25321,79 +25523,118 @@ - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -25456,13 +25697,13 @@ - + - + - + @@ -25471,7 +25712,7 @@ - + @@ -25482,7 +25723,7 @@ - + @@ -25490,24 +25731,24 @@ - + - + - + - - + + - + - + - + @@ -25557,7 +25798,7 @@ - + @@ -25568,32 +25809,32 @@ - + - + - + - + - + - + - + - + - + - + @@ -25613,18 +25854,18 @@ - + - + - + - + - + @@ -25635,7 +25876,7 @@ - + @@ -25644,7 +25885,7 @@ - + @@ -25667,7 +25908,7 @@ - + @@ -25681,37 +25922,37 @@ - + - - + + - - + + - - + + - + - + - + - + @@ -25721,22 +25962,22 @@ - - - + + + - + - - + + @@ -25759,7 +26000,7 @@ - + @@ -25768,134 +26009,134 @@ - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -25922,7 +26163,7 @@ - + @@ -25934,25 +26175,25 @@ - + - + - + - + - + - + @@ -25960,7 +26201,7 @@ - + @@ -25983,21 +26224,21 @@ - + - + - + - + @@ -26005,82 +26246,82 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - - + + - + - - - - + + + + - - - + + + - + - - + + - + - + @@ -26090,148 +26331,148 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - - + + + - - + + - - - - - - - + + - - + + + + + + + - + - + - + - + @@ -26246,7 +26487,7 @@ - + @@ -26257,7 +26498,7 @@ - + @@ -26287,7 +26528,7 @@ - + @@ -26295,13 +26536,13 @@ - + - + @@ -26310,27 +26551,27 @@ - + - + - + - + - + - + - + @@ -26339,7 +26580,7 @@ - + @@ -26350,7 +26591,7 @@ - + @@ -26368,7 +26609,7 @@ - + @@ -26377,71 +26618,71 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -26462,21 +26703,21 @@ - + - + - + - + - + @@ -26487,12 +26728,12 @@ - + - + - + @@ -26501,218 +26742,218 @@ - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - + - - + + - - + + - - + + @@ -26733,7 +26974,7 @@ - + @@ -26743,83 +26984,83 @@ - - - - - + + + + + - - + + - + - + - + - + - - + + - + - + - + - - + + - + - + - - - + + + - + @@ -26827,7 +27068,7 @@ - + @@ -26835,7 +27076,7 @@ - + @@ -26846,30 +27087,30 @@ - - - - + + + + - - + + - - + + - - + + - + - + @@ -27027,12 +27268,12 @@ - + - + - + @@ -27045,7 +27286,7 @@ - + @@ -27056,7 +27297,7 @@ - + @@ -27067,7 +27308,7 @@ - + @@ -27075,13 +27316,13 @@ - + - + @@ -27095,15 +27336,15 @@ - + - + - + @@ -27114,7 +27355,7 @@ - + @@ -27123,22 +27364,22 @@ - - + + - + - - + + - + @@ -27150,12 +27391,12 @@ - - + + - + @@ -27175,99 +27416,99 @@ - + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - + + - + - + - + - + - + - + - + - + @@ -27297,73 +27538,73 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -27372,7 +27613,7 @@ - + @@ -27435,49 +27676,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -27491,22 +27732,22 @@ - + - + - + - + @@ -27554,7 +27795,7 @@ - + @@ -27572,16 +27813,16 @@ - + - + - + @@ -27590,27 +27831,27 @@ - + - + - + - + - + - + - + @@ -27637,13 +27878,13 @@ - + - + @@ -27685,7 +27926,7 @@ - + @@ -27709,169 +27950,169 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -27898,7 +28139,7 @@ - + @@ -27907,26 +28148,26 @@ - + - + - + - + - + - + - + @@ -27938,59 +28179,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28014,10 +28255,10 @@ - + - + @@ -28025,32 +28266,32 @@ - + - + - + - + - + - + - + @@ -28062,16 +28303,16 @@ - + - + - + @@ -28082,7 +28323,7 @@ - + @@ -28103,7 +28344,7 @@ - + @@ -28111,18 +28352,18 @@ - + - + - + - + - + @@ -28136,7 +28377,7 @@ - + @@ -28153,19 +28394,19 @@ - + - + - + - + - + @@ -28208,7 +28449,7 @@ - + @@ -28216,7 +28457,7 @@ - + @@ -28318,13 +28559,13 @@ - + - + @@ -28333,42 +28574,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -28395,9 +28636,9 @@ - + - + @@ -28406,41 +28647,41 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -28449,18 +28690,18 @@ - + - + - + - + @@ -28469,16 +28710,16 @@ - + - + - + - + @@ -28493,10 +28734,10 @@ - + - + @@ -28505,22 +28746,22 @@ - + - + - + - + - + @@ -28532,7 +28773,7 @@ - + @@ -28547,12 +28788,12 @@ - + - + - + @@ -28561,16 +28802,16 @@ - + - + - + @@ -28579,110 +28820,110 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28712,7 +28953,7 @@ - + @@ -28724,50 +28965,50 @@ - + - + - + - + - + - + - + - - + + - + - + - + - + @@ -28782,7 +29023,7 @@ - + @@ -28796,12 +29037,12 @@ - + - + - + @@ -28810,17 +29051,17 @@ - + - + - - - + + + @@ -28837,109 +29078,109 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28978,22 +29219,22 @@ - + - + - + - + - + - + @@ -29008,68 +29249,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -29083,7 +29324,7 @@ - + @@ -29098,7 +29339,7 @@ - + @@ -29106,12 +29347,12 @@ - + - + - + @@ -29120,21 +29361,21 @@ - + - + - + - + - + @@ -29154,7 +29395,7 @@ - + @@ -29174,34 +29415,34 @@ - + - + - + - + - + - + - + - + @@ -29213,7 +29454,7 @@ - + @@ -29231,13 +29472,13 @@ - + - + @@ -29263,16 +29504,16 @@ - + - + - + - + @@ -29323,10 +29564,10 @@ - + - + @@ -29337,7 +29578,7 @@ - + @@ -29381,27 +29622,27 @@ - + - + - + - + - + - + - + - + @@ -29467,7 +29708,7 @@ - + @@ -29493,7 +29734,7 @@ - + @@ -29537,7 +29778,7 @@ - + @@ -29566,13 +29807,13 @@ - + - + - + @@ -29580,90 +29821,90 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -29683,7 +29924,7 @@ - + @@ -29703,7 +29944,7 @@ - + @@ -29729,10 +29970,10 @@ - + - + @@ -29746,13 +29987,13 @@ - + - + - + @@ -29760,7 +30001,7 @@ - + @@ -29774,7 +30015,7 @@ - + @@ -29782,15 +30023,15 @@ - + - + - + @@ -29798,19 +30039,19 @@ - + - + - + @@ -29821,7 +30062,7 @@ - + @@ -29857,13 +30098,13 @@ - + - + @@ -29872,9 +30113,9 @@ - + - + @@ -29889,7 +30130,7 @@ - + @@ -29897,10 +30138,10 @@ - + - + @@ -29908,77 +30149,77 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -29996,7 +30237,7 @@ - + @@ -30005,18 +30246,18 @@ - + - + - + - + @@ -30034,45 +30275,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -30086,116 +30327,116 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -30219,7 +30460,7 @@ - + @@ -30230,7 +30471,7 @@ - + @@ -30244,37 +30485,37 @@ - - + + - + - + - + - + - + - + - + - + - + - + @@ -30312,43 +30553,43 @@ - + - + - + - + - + - + - + - + - + @@ -30378,33 +30619,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -30415,10 +30656,10 @@ - + - + @@ -30426,21 +30667,21 @@ - + - + - + - + - + - + @@ -30451,39 +30692,39 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -30503,12 +30744,12 @@ - + - + @@ -30517,20 +30758,20 @@ - + - + - + - + - + @@ -30547,881 +30788,881 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - + + - - - + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + - - + + + - - - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + - - - + + + + - + + + + + + - - - + + + + + - - + + + + + + + - - - + + + + + - - - - - - + + + + + + - - + + + + + - + + + - - - - + + + - - - + - - - - - - - + - - + + + + + + - - + + - - - - + + + - - - + - - + + + + - - + + + - - + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - + + - + - + - + - + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + - - + - - - + - - - + + + - - + + - + - + - - + + - - + - - + + - - + + - - + - - + - - + + - + + + - - + + + - - + + - - + - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + @@ -31437,96 +31678,96 @@ - + - + - + - + - - + + - + - + - + - + - + - - + + - - + + - + - - + + - + - + - + - + - + - + - + - + @@ -31537,7 +31778,7 @@ - + @@ -31582,16 +31823,16 @@ - + - + - + - + @@ -31603,10 +31844,10 @@ - + - + @@ -31621,19 +31862,19 @@ - + - + - + - + - + @@ -31663,16 +31904,16 @@ - + - + - + @@ -31686,7 +31927,7 @@ - + @@ -31703,24 +31944,24 @@ - + - + - + - + - + - + - + @@ -31735,13 +31976,13 @@ - + - + - + @@ -31752,16 +31993,16 @@ - + - + - + - + @@ -31769,7 +32010,7 @@ - + @@ -31777,32 +32018,32 @@ - + - + - + - + - + - + - + - + - + @@ -31816,7 +32057,7 @@ - + @@ -31824,10 +32065,10 @@ - + - + @@ -31844,16 +32085,16 @@ - + - + - + @@ -31873,7 +32114,7 @@ - + @@ -31881,7 +32122,7 @@ - + @@ -31901,12 +32142,12 @@ - + - + - + @@ -31915,7 +32156,7 @@ - + @@ -31935,7 +32176,7 @@ - + @@ -31946,10 +32187,10 @@ - + - + @@ -31958,30 +32199,30 @@ - + - + - + - + - + - + - + - + @@ -31993,7 +32234,7 @@ - + @@ -32002,7 +32243,7 @@ - + @@ -32013,9 +32254,9 @@ - + - + @@ -32030,89 +32271,89 @@ - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + @@ -32121,104 +32362,104 @@ - + - + - + - - + + - - - + + + - - - - + + + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - + + @@ -32226,15 +32467,15 @@ - + - + - + @@ -32243,22 +32484,22 @@ - + - + - + - + - + - + @@ -32288,7 +32529,7 @@ - + @@ -32300,7 +32541,7 @@ - + @@ -32315,14 +32556,14 @@ - + - + @@ -32330,15 +32571,15 @@ - + - + - + @@ -32353,7 +32594,7 @@ - + @@ -32367,150 +32608,150 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - + - - + + - + - + - + - - + + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - + @@ -32521,20 +32762,20 @@ - + - + - - + + @@ -32545,7 +32786,7 @@ - + @@ -32556,7 +32797,7 @@ - + @@ -32568,7 +32809,7 @@ - + @@ -32582,10 +32823,10 @@ - + - + @@ -32593,34 +32834,34 @@ - + - + - + - + - + - + - - + + - + - + @@ -32628,21 +32869,21 @@ - + - + - + - + - + - + @@ -32662,7 +32903,7 @@ - + @@ -32682,7 +32923,7 @@ - + @@ -32699,9 +32940,9 @@ - + - + @@ -32713,199 +32954,199 @@ - - - - - - - - - - + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + - + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - - + + - + - - + + - - + + - - - + + + - - + + - - + + - + - + @@ -32913,182 +33154,182 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - - - - + + + + - - + + - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - + @@ -33114,22 +33355,22 @@ - + - + - + - + @@ -33137,20 +33378,20 @@ - + - + - + - + - + @@ -33171,13 +33412,13 @@ - + - + - + @@ -33192,16 +33433,16 @@ - + - + - + @@ -33213,7 +33454,7 @@ - + @@ -33225,7 +33466,7 @@ - + @@ -33239,7 +33480,7 @@ - + @@ -33254,13 +33495,13 @@ - + - + @@ -33284,19 +33525,19 @@ - + - + - + - + @@ -33389,50 +33630,50 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -33473,16 +33714,16 @@ - + - + - + - + @@ -33527,7 +33768,7 @@ - + @@ -33547,8 +33788,8 @@ - - + + @@ -33556,113 +33797,113 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -33676,12 +33917,12 @@ - + - + - + @@ -33690,26 +33931,26 @@ - + - + - + - + - + - + @@ -33718,169 +33959,169 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + - - + + - + @@ -33889,13 +34130,13 @@ - + - + - + @@ -33922,9 +34163,9 @@ - + - + @@ -33939,44 +34180,44 @@ - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + @@ -33986,21 +34227,21 @@ - + - - - + + + - - + + - + @@ -34011,13 +34252,13 @@ - + - + @@ -34044,10 +34285,10 @@ - + - + @@ -34077,7 +34318,7 @@ - + @@ -34089,36 +34330,36 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -34126,10 +34367,10 @@ - + - + @@ -34137,82 +34378,82 @@ - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + @@ -34220,23 +34461,23 @@ - + - + - - + + - + - + @@ -34265,63 +34506,63 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -34345,7 +34586,7 @@ - + @@ -34354,7 +34595,7 @@ - + @@ -34366,21 +34607,21 @@ - + - + - + - + - + - + @@ -34434,9 +34675,9 @@ - + - + @@ -34448,10 +34689,10 @@ - + - + @@ -34460,12 +34701,12 @@ - + - + - + @@ -34486,15 +34727,15 @@ - + - + - + @@ -34505,19 +34746,19 @@ - + - + - + - + @@ -34541,13 +34782,13 @@ - + - + - + @@ -34565,7 +34806,7 @@ - + @@ -34595,7 +34836,7 @@ - + @@ -34634,10 +34875,10 @@ - + - + @@ -34645,10 +34886,10 @@ - + - + @@ -34675,7 +34916,7 @@ - + @@ -34684,161 +34925,161 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -34852,7 +35093,7 @@ - + @@ -34860,13 +35101,13 @@ - + - + @@ -34904,7 +35145,7 @@ - + @@ -34936,7 +35177,7 @@ - + @@ -34960,7 +35201,7 @@ - + @@ -34977,15 +35218,15 @@ - + - + - + - + @@ -34999,391 +35240,391 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - + - + - + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - + @@ -35391,10 +35632,10 @@ - + - + @@ -35403,7 +35644,7 @@ - + @@ -35411,183 +35652,183 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + - + - + - + @@ -35641,7 +35882,7 @@ - + @@ -35650,19 +35891,19 @@ - + - + - + - + - + @@ -35671,7 +35912,7 @@ - + @@ -35682,55 +35923,55 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -35763,13 +36004,13 @@ - + - + - + @@ -35778,10 +36019,10 @@ - + - + @@ -35796,7 +36037,7 @@ - + @@ -35823,28 +36064,28 @@ - + - + - + - + - + @@ -35855,10 +36096,10 @@ - + - + @@ -35875,18 +36116,18 @@ - + - + - + - + - + @@ -35895,16 +36136,16 @@ - + - + - + @@ -35915,7 +36156,7 @@ - + @@ -35950,27 +36191,27 @@ - + - + - + - + - + - + @@ -35985,91 +36226,91 @@ - + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -36078,16 +36319,16 @@ - + - + - + - + @@ -36102,10 +36343,10 @@ - + - + @@ -36126,27 +36367,27 @@ - + - + - + - + - + - + @@ -36155,7 +36396,7 @@ - + @@ -36164,7 +36405,7 @@ - + @@ -36178,10 +36419,10 @@ - + - + @@ -36190,16 +36431,16 @@ - + - + - + - + @@ -36223,85 +36464,85 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -36312,13 +36553,13 @@ - - + + - + @@ -36328,46 +36569,46 @@ - + - + - + - + - + - + - + - + - + - + - - + + @@ -36378,24 +36619,24 @@ - - - + + + - + - + - + @@ -36418,15 +36659,15 @@ - + - + - + @@ -36434,7 +36675,7 @@ - + @@ -36442,7 +36683,7 @@ - + @@ -36463,10 +36704,10 @@ - + - + @@ -36480,9 +36721,9 @@ - + - + @@ -36491,10 +36732,10 @@ - + - + @@ -36515,7 +36756,7 @@ - + @@ -36527,27 +36768,27 @@ - + - + - + - + - + - + @@ -36556,10 +36797,10 @@ - + - + @@ -36567,23 +36808,23 @@ - + - + - + - + - + - + @@ -36594,89 +36835,89 @@ - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -36687,313 +36928,313 @@ - + - - + + - - + + - + - + - - + + - + - - + + - + - + - - - + + + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - - - - - + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - + + - + - + - + - - - - - - + + + + + + - + - + - + @@ -37005,13 +37246,13 @@ - + - + @@ -37020,19 +37261,19 @@ - + - + - + - + @@ -37086,37 +37327,37 @@ - + - + - + - + - + - + - + - + - + @@ -37139,13 +37380,13 @@ - + - + - + @@ -37202,13 +37443,13 @@ - + - + - + @@ -37225,8 +37466,8 @@ - - + + @@ -37240,7 +37481,7 @@ - + @@ -37251,140 +37492,140 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -37395,52 +37636,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -37452,40 +37693,40 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -37493,42 +37734,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -37536,7 +37777,7 @@ - + @@ -37548,48 +37789,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -37610,12 +37851,12 @@ - + - + - + @@ -37692,15 +37933,15 @@ - + - + - + @@ -37717,15 +37958,15 @@ - + - + - + - + @@ -37733,13 +37974,13 @@ - + - + @@ -37765,21 +38006,21 @@ - + - + - + - + @@ -37790,15 +38031,15 @@ - + - + - + - + @@ -37807,13 +38048,13 @@ - + - + @@ -37824,7 +38065,7 @@ - + @@ -37833,397 +38074,397 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + - - + + + - - - + + + + - - - + + - - - + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + - - - + + + - - - - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - + - + - + - + - + @@ -38234,10 +38475,10 @@ - + - + @@ -38246,7 +38487,7 @@ - + @@ -38255,37 +38496,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -38378,22 +38619,22 @@ - + - + - + - + - + @@ -38402,7 +38643,7 @@ - + @@ -38414,7 +38655,7 @@ - + @@ -38424,9 +38665,9 @@ - + - + @@ -38447,7 +38688,7 @@ - + @@ -38488,13 +38729,13 @@ - + - + - + @@ -38509,20 +38750,20 @@ - + - + - + - + - + @@ -38531,7 +38772,7 @@ - + @@ -38546,7 +38787,7 @@ - + @@ -38560,7 +38801,7 @@ - + @@ -38572,7 +38813,7 @@ - + @@ -38586,10 +38827,10 @@ - + - + @@ -38597,13 +38838,13 @@ - + - + @@ -38611,7 +38852,7 @@ - + @@ -38626,13 +38867,13 @@ - + - + - + @@ -38647,27 +38888,27 @@ - + - + - + - + - + - + - + - + @@ -38675,13 +38916,13 @@ - + - + @@ -38695,7 +38936,7 @@ - + @@ -38709,7 +38950,7 @@ - + @@ -38718,10 +38959,10 @@ - + - + @@ -38738,16 +38979,16 @@ - + - + - + - + @@ -38764,7 +39005,7 @@ - + @@ -38775,21 +39016,21 @@ - + - + - + - + - + @@ -38798,7 +39039,7 @@ - + @@ -38806,7 +39047,7 @@ - + @@ -38824,7 +39065,7 @@ - + @@ -38850,24 +39091,24 @@ - + - + - + - + - + @@ -38903,9 +39144,9 @@ - + - + @@ -38914,13 +39155,13 @@ - + - + @@ -38949,14 +39190,14 @@ - + - + @@ -38964,16 +39205,16 @@ - + - + - + @@ -38981,7 +39222,7 @@ - + @@ -38995,40 +39236,40 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - + - - + + @@ -39036,13 +39277,13 @@ - + - + @@ -39069,48 +39310,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -39145,7 +39386,7 @@ - + @@ -39163,7 +39404,7 @@ - + @@ -39183,12 +39424,12 @@ - + - + - + @@ -39200,33 +39441,33 @@ - + - + - + - + - + - + - + - + - + @@ -39241,7 +39482,7 @@ - + @@ -39249,59 +39490,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -39310,159 +39551,159 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - + - - + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - - - - + + + + + - - + + - + - - + + - - - + + + - - + + - - - + + + - - - + + + - + @@ -39471,7 +39712,7 @@ - + @@ -39491,10 +39732,10 @@ - - + + - + @@ -39509,10 +39750,10 @@ - + - + @@ -39530,21 +39771,21 @@ - + - + - + - + @@ -39619,8 +39860,8 @@ - - + + @@ -39632,8 +39873,8 @@ - - + + @@ -39647,55 +39888,55 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -39710,8 +39951,8 @@ - - + + @@ -39738,11 +39979,11 @@ - + - + @@ -39750,13 +39991,13 @@ - + - + @@ -39774,7 +40015,7 @@ - + @@ -39785,10 +40026,10 @@ - - - - + + + + @@ -39824,11 +40065,11 @@ - + - + @@ -39839,16 +40080,16 @@ - - - - - + + + + + - - + + @@ -39860,17 +40101,17 @@ - + - + - + @@ -39901,23 +40142,23 @@ - + - + - + - + @@ -39925,10 +40166,10 @@ - + - + @@ -39972,7 +40213,7 @@ - + @@ -39980,9 +40221,9 @@ - - - + + + @@ -39999,7 +40240,7 @@ - + @@ -40092,7 +40333,7 @@ - + @@ -40103,7 +40344,7 @@ - + @@ -40118,7 +40359,7 @@ - + @@ -40129,36 +40370,36 @@ - - - + + + - - + + - + - + - + - - - + + + - + - + @@ -40179,13 +40420,13 @@ - + - + @@ -40209,10 +40450,10 @@ - + - + @@ -40221,18 +40462,18 @@ - + - + - + - + - + @@ -40241,15 +40482,15 @@ - + - + - + @@ -40258,7 +40499,7 @@ - + @@ -40268,7 +40509,7 @@ - + @@ -40276,13 +40517,13 @@ - + - + @@ -40293,13 +40534,13 @@ - + - + - + @@ -40313,19 +40554,19 @@ - + - + - + - + @@ -40335,23 +40576,23 @@ - + - + - + - + - + - + @@ -40365,7 +40606,7 @@ - + @@ -40385,175 +40626,175 @@ - - + + - + - + - - - - - - - - - - - - - - - - - + + + + + - - - - + + + + + + + + + + - - + - - - + + + + + + + + + + - - + + - + - + - + - + - - - + + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + @@ -40600,7 +40841,7 @@ - + @@ -40762,7 +41003,7 @@ - + @@ -40770,40 +41011,40 @@ - + - + - - + + - + - + - + - + - + @@ -40871,17 +41112,17 @@ - - - + + + - + - + @@ -40889,7 +41130,7 @@ - + @@ -40904,16 +41145,16 @@ - + - + - + - + @@ -40928,42 +41169,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -40976,7 +41217,7 @@ - + @@ -40984,26 +41225,26 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -41038,65 +41279,65 @@ - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - + - - + + - - - + + + - - + + - - + + @@ -41112,9 +41353,9 @@ - + - + @@ -41134,8 +41375,8 @@ - - + + @@ -41149,15 +41390,15 @@ - - - + + + - + @@ -41168,7 +41409,7 @@ - + @@ -41187,17 +41428,17 @@ - - + + - + - + @@ -41209,12 +41450,12 @@ - + - + @@ -41240,24 +41481,24 @@ - + - - - - + + + + - + - + @@ -41274,7 +41515,7 @@ - + @@ -41282,11 +41523,11 @@ - + - + - + @@ -41299,7 +41540,7 @@ - + @@ -41310,7 +41551,7 @@ - + @@ -41321,7 +41562,7 @@ - + @@ -41329,7 +41570,7 @@ - + @@ -41339,18 +41580,18 @@ - + - + - + @@ -41359,15 +41600,15 @@ - + - + - + @@ -41378,7 +41619,7 @@ - + @@ -41386,143 +41627,143 @@ - - - - - - + + + + + + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -41563,11 +41804,11 @@ - + - + @@ -41579,13 +41820,13 @@ - + - + @@ -41599,8 +41840,8 @@ - - + + @@ -41641,227 +41882,231 @@ - - + + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - - + + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + - + - + - + - + - + - + - + - + - + - + @@ -41890,7 +42135,7 @@ - + @@ -41902,7 +42147,7 @@ - + @@ -41950,10 +42195,10 @@ - + - + @@ -41977,7 +42222,7 @@ - + @@ -42016,7 +42261,7 @@ - + @@ -42043,21 +42288,21 @@ - + - + - + - + - + @@ -42065,7 +42310,7 @@ - + @@ -42082,15 +42327,15 @@ - + - + - + @@ -42098,12 +42343,12 @@ - + - + @@ -42120,8 +42365,8 @@ - - + + @@ -42129,7 +42374,7 @@ - + @@ -42153,7 +42398,7 @@ - + @@ -42161,7 +42406,7 @@ - + @@ -42319,7 +42564,7 @@ - + @@ -42351,7 +42596,7 @@ - + @@ -42387,15 +42632,15 @@ - + - + - + - + @@ -42413,7 +42658,7 @@ - + @@ -42424,10 +42669,10 @@ - + - + @@ -42436,19 +42681,19 @@ - + - + - + - + @@ -42466,19 +42711,19 @@ - + - + - + - + - + @@ -42489,7 +42734,7 @@ - + @@ -42497,13 +42742,13 @@ - + - + - + @@ -42514,23 +42759,23 @@ - + - + - + - + - + @@ -42541,20 +42786,20 @@ - + - + - + - + - + @@ -42563,7 +42808,7 @@ - + @@ -42574,15 +42819,15 @@ - + - + - + - + @@ -42690,10 +42935,10 @@ - + - + @@ -42702,9 +42947,9 @@ - + - + @@ -42713,7 +42958,7 @@ - + @@ -42722,7 +42967,7 @@ - + @@ -42748,7 +42993,7 @@ - + @@ -42756,7 +43001,7 @@ - + @@ -42767,28 +43012,28 @@ - + - + - + - - - + + + - + @@ -42797,13 +43042,13 @@ - - + + - + @@ -42826,16 +43071,16 @@ - + - + - + - + @@ -42864,22 +43109,22 @@ - + - + - + - + - + @@ -42902,7 +43147,7 @@ - + @@ -42916,7 +43161,7 @@ - + @@ -42925,50 +43170,50 @@ - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -42983,34 +43228,34 @@ - + - + - + - + - + - + - + @@ -43022,16 +43267,16 @@ - + - + - + - + @@ -43045,7 +43290,7 @@ - + @@ -43054,16 +43299,16 @@ - + - + - + - + @@ -43078,25 +43323,25 @@ - + - + - + - + @@ -43104,13 +43349,13 @@ - + - + - + @@ -43139,13 +43384,13 @@ - + - + @@ -43154,9 +43399,9 @@ - + - + @@ -43168,54 +43413,54 @@ - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + @@ -43223,18 +43468,18 @@ - + - + - + - + @@ -43242,18 +43487,18 @@ - + - + - + - + @@ -43261,42 +43506,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -43305,74 +43550,74 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -43384,7 +43629,7 @@ - + @@ -43417,10 +43662,10 @@ - + - + @@ -43435,7 +43680,7 @@ - + @@ -43444,25 +43689,25 @@ - + - + - + - + - + - + - + @@ -43477,7 +43722,7 @@ - + @@ -43489,10 +43734,10 @@ - + - + @@ -43501,10 +43746,10 @@ - + - + @@ -43512,7 +43757,7 @@ - + @@ -43526,7 +43771,7 @@ - + @@ -43553,7 +43798,7 @@ - + @@ -43579,15 +43824,15 @@ - + - + - + - + @@ -43595,48 +43840,48 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -43651,7 +43896,7 @@ - + @@ -43662,7 +43907,7 @@ - + @@ -43673,10 +43918,10 @@ - + - + @@ -43684,27 +43929,27 @@ - + - + - + - + - + - + - + - + @@ -43719,15 +43964,15 @@ - + - + - + - + @@ -43736,10 +43981,10 @@ - + - + @@ -43747,12 +43992,12 @@ - + - + - + @@ -43785,7 +44030,7 @@ - + @@ -43794,7 +44039,7 @@ - + @@ -43806,30 +44051,30 @@ - + - + - + - + - + - + - + @@ -43838,13 +44083,13 @@ - + - + - + @@ -43871,10 +44116,10 @@ - + - + @@ -43883,7 +44128,7 @@ - + @@ -43916,27 +44161,27 @@ - + - + - + - + - + - + - + @@ -43947,15 +44192,15 @@ - + - + - + @@ -43963,48 +44208,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -44012,8 +44257,8 @@ - - + + @@ -44036,33 +44281,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -44071,13 +44316,13 @@ - + - + @@ -44128,7 +44373,7 @@ - + @@ -44137,10 +44382,10 @@ - + - + @@ -44155,13 +44400,13 @@ - + - + @@ -44176,7 +44421,7 @@ - + @@ -44203,7 +44448,7 @@ - + @@ -44218,13 +44463,13 @@ - + - + @@ -44248,10 +44493,10 @@ - + - + @@ -44268,19 +44513,19 @@ - + - + - + - + - + @@ -44288,10 +44533,10 @@ - + - + @@ -44300,7 +44545,7 @@ - + @@ -44315,22 +44560,22 @@ - + - + - + - + - + @@ -44354,7 +44599,7 @@ - + @@ -44366,22 +44611,22 @@ - + - - + + - + - + @@ -44389,7 +44634,7 @@ - + @@ -44397,20 +44642,20 @@ - + - - - + + + - + - + @@ -44425,15 +44670,15 @@ - + - + - + @@ -44442,7 +44687,7 @@ - + @@ -44457,108 +44702,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + @@ -44575,7 +44820,7 @@ - + @@ -44602,7 +44847,7 @@ - + @@ -44635,10 +44880,10 @@ - - + + - + @@ -44662,10 +44907,10 @@ - + - + @@ -44689,13 +44934,13 @@ - + - + @@ -44716,7 +44961,7 @@ - + @@ -44731,10 +44976,10 @@ - + - + @@ -44742,7 +44987,7 @@ - + @@ -44751,7 +44996,7 @@ - + @@ -44762,7 +45007,7 @@ - + @@ -44775,7 +45020,7 @@ - + @@ -44792,9 +45037,9 @@ - + - + @@ -44803,13 +45048,13 @@ - + - + - + @@ -44818,13 +45063,13 @@ - + - + - + @@ -44854,7 +45099,7 @@ - + @@ -44865,13 +45110,13 @@ - + - + @@ -44883,31 +45128,31 @@ - + - + - + - + - + - + - + - + @@ -44984,16 +45229,16 @@ - + - + - + @@ -45001,27 +45246,27 @@ - + - + - + - + - + - + - + - + @@ -45122,7 +45367,7 @@ - + @@ -45130,10 +45375,10 @@ - + - + @@ -45148,8 +45393,8 @@ - - + + @@ -45166,18 +45411,18 @@ - + - + - - - + + + @@ -45191,47 +45436,47 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -45239,9 +45484,8 @@ - - - + + @@ -45249,178 +45493,178 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45443,7 +45687,7 @@ - + @@ -45452,305 +45696,305 @@ - + - - + + - + - - + + - + - + - + - + - + - - + + - - - + + + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + + + + + + + + + + + - + @@ -45758,7 +46002,7 @@ - + @@ -45766,70 +46010,71 @@ + - - + + - + - + - - + + - - + + - + - - + + - + - + - - + + - - + + - + - + @@ -45844,7 +46089,7 @@ - + @@ -45862,9 +46107,9 @@ - - - + + + @@ -45875,11 +46120,11 @@ - + - + @@ -45889,7 +46134,7 @@ - + @@ -45913,7 +46158,7 @@ - + @@ -45927,7 +46172,7 @@ - + @@ -45948,7 +46193,7 @@ - + @@ -45983,13 +46228,25 @@ - - - - + + + + - + + + + + + + + + + + + + @@ -45999,38 +46256,26 @@ - - - - - - - - - - - - - - + + - - + + - + - + - + - + @@ -46042,7 +46287,7 @@ - + @@ -46050,27 +46295,27 @@ - + - + - + - + - + - + @@ -46085,7 +46330,7 @@ - + @@ -46093,7 +46338,7 @@ - + @@ -46107,7 +46352,7 @@ - + @@ -46115,10 +46360,10 @@ - + - + @@ -46145,7 +46390,7 @@ - + @@ -46175,7 +46420,7 @@ - + @@ -46184,10 +46429,10 @@ - + - + @@ -46199,7 +46444,7 @@ - + @@ -46249,7 +46494,7 @@ - + @@ -46257,18 +46502,18 @@ - + - + - + - + @@ -46276,37 +46521,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -46318,7 +46563,7 @@ - + @@ -46326,75 +46571,75 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -46402,31 +46647,31 @@ - + - - + + - - + + - + - + - + @@ -46436,28 +46681,28 @@ - + - + - - + + - - + + - + @@ -46468,14 +46713,14 @@ - + - - + + - + @@ -46483,23 +46728,23 @@ - - + + - + - + - - + + - + @@ -46509,56 +46754,56 @@ - - + + - + - - + + - - - - - - - - - - + + + + + + + + + + - + - - + + - + - + - - + + - + - + @@ -46569,9 +46814,9 @@ - + - + @@ -46580,7 +46825,7 @@ - + @@ -46589,7 +46834,7 @@ - + @@ -46607,7 +46852,7 @@ - + @@ -46616,7 +46861,7 @@ - + @@ -46624,9 +46869,9 @@ - + - + @@ -46641,7 +46886,7 @@ - + @@ -46665,7 +46910,7 @@ - + @@ -46703,10 +46948,10 @@ - + - + @@ -46715,10 +46960,10 @@ - + - + @@ -46733,24 +46978,24 @@ - + - + - + - - + + @@ -46758,10 +47003,10 @@ - + - + @@ -46778,7 +47023,7 @@ - + @@ -46807,7 +47052,7 @@ - + @@ -46822,93 +47067,93 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -46929,10 +47174,10 @@ - + - + @@ -46943,22 +47188,22 @@ - + - + - + - + - + @@ -46969,7 +47214,7 @@ - + @@ -46980,40 +47225,40 @@ - + - + - + - + - + - + - - + + - + - + - + - + @@ -47025,25 +47270,25 @@ - + - + - + - + - + @@ -47067,18 +47312,18 @@ - + - + - + - + @@ -47092,7 +47337,7 @@ - + @@ -47106,7 +47351,7 @@ - + @@ -47141,22 +47386,22 @@ - + - + - + - + @@ -47174,7 +47419,7 @@ - + @@ -47186,7 +47431,7 @@ - + @@ -47207,7 +47452,7 @@ - + @@ -47228,7 +47473,7 @@ - + @@ -47255,25 +47500,25 @@ - + - + - + - + - + @@ -47285,25 +47530,25 @@ - + - + - + - + - + - + @@ -47312,7 +47557,7 @@ - + @@ -47321,22 +47566,22 @@ - - + + - + - - + + - + - + @@ -47347,7 +47592,7 @@ - + @@ -47364,7 +47609,7 @@ - + @@ -47389,7 +47634,7 @@ - + @@ -47521,7 +47766,7 @@ - + @@ -47529,9 +47774,9 @@ - + - + @@ -47546,7 +47791,7 @@ - + @@ -47555,7 +47800,7 @@ - + @@ -47570,23 +47815,23 @@ - + - + - + - + @@ -47596,9 +47841,9 @@ - + - + @@ -47606,7 +47851,7 @@ - + @@ -47625,10 +47870,10 @@ - + - + @@ -47654,13 +47899,13 @@ - + - + - + @@ -47674,7 +47919,7 @@ - + @@ -47682,10 +47927,10 @@ - + - + @@ -47702,7 +47947,7 @@ - + @@ -47710,10 +47955,10 @@ - + - + @@ -47724,7 +47969,7 @@ - + @@ -47732,16 +47977,16 @@ - - + + - + - + @@ -47753,7 +47998,7 @@ - + @@ -47762,7 +48007,7 @@ - + @@ -47774,19 +48019,19 @@ - + - + - + - + - + @@ -47795,20 +48040,20 @@ - + - + - + - + - + @@ -47817,24 +48062,24 @@ - + - + - - + + - + - + @@ -47863,15 +48108,15 @@ - + - + - + @@ -47900,7 +48145,7 @@ - + @@ -47908,7 +48153,7 @@ - + @@ -47916,7 +48161,7 @@ - + @@ -47924,17 +48169,17 @@ - + - + - + - + @@ -47955,17 +48200,17 @@ - + - + - + - + - + @@ -47977,9 +48222,9 @@ - + - + @@ -47991,13 +48236,13 @@ - - + + - + @@ -48006,19 +48251,19 @@ - + - + - + - + - + @@ -48030,8 +48275,8 @@ - - + + @@ -48042,13 +48287,13 @@ - + - + @@ -48083,7 +48328,7 @@ - + @@ -48091,7 +48336,7 @@ - + @@ -48099,64 +48344,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -48177,7 +48422,7 @@ - + @@ -48194,120 +48439,120 @@ - + - + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - - - + + + + - + - - + + - - + + - - + + - + @@ -48319,19 +48564,19 @@ - + - + - + @@ -48346,9 +48591,9 @@ - + - + @@ -48363,21 +48608,21 @@ - + - + - + - + @@ -48414,7 +48659,7 @@ - + @@ -48428,8 +48673,8 @@ - - + + @@ -48440,16 +48685,16 @@ - + - + - + @@ -48460,16 +48705,16 @@ - + - + - + - + @@ -48478,7 +48723,7 @@ - + @@ -48486,12 +48731,12 @@ - + - + - + @@ -48522,31 +48767,31 @@ - - + + - - - - - + + + + + - - + + - + - + - + @@ -48555,7 +48800,7 @@ - + @@ -48606,7 +48851,7 @@ - + @@ -48615,7 +48860,7 @@ - + @@ -48675,7 +48920,7 @@ - + @@ -48684,7 +48929,7 @@ - + @@ -48696,7 +48941,7 @@ - + @@ -48810,13 +49055,13 @@ - + - + @@ -48828,16 +49073,16 @@ - + - + - + @@ -48852,12 +49097,12 @@ - + - + @@ -48866,13 +49111,13 @@ - + - + @@ -48881,10 +49126,10 @@ - + - + @@ -48914,7 +49159,7 @@ - + @@ -48932,33 +49177,33 @@ - + - + - + - + - + - + - - + + - + - + @@ -48967,7 +49212,7 @@ - + @@ -48975,34 +49220,34 @@ - + - + - + - + - + - + - + - + - + - + @@ -49011,10 +49256,10 @@ - + - + @@ -49034,37 +49279,37 @@ - + - + - + - + - + - + - + - + - - + + - + @@ -49072,99 +49317,99 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - + + @@ -49176,30 +49421,30 @@ - + - + - + - + - + - + - + @@ -49213,7 +49458,7 @@ - + @@ -49225,7 +49470,7 @@ - + @@ -49239,7 +49484,7 @@ - + @@ -49285,18 +49530,18 @@ - + - + - + @@ -49342,12 +49587,12 @@ - + - + @@ -49360,16 +49605,16 @@ - + - + - + @@ -49385,7 +49630,7 @@ - + @@ -49423,24 +49668,16 @@ - - - - - - - - - - - + + + - - - + + + @@ -49450,13 +49687,13 @@ - + - - + + @@ -49474,16 +49711,16 @@ - + - + - + @@ -49522,8 +49759,8 @@ - - + + @@ -49533,7 +49770,7 @@ - + @@ -49560,7 +49797,7 @@ - + @@ -49590,15 +49827,15 @@ - + - + - + @@ -49612,11 +49849,11 @@ - + - + - + @@ -49629,7 +49866,7 @@ - + @@ -49640,7 +49877,7 @@ - + @@ -49651,7 +49888,7 @@ - + @@ -49665,7 +49902,7 @@ - + @@ -49673,7 +49910,7 @@ - + @@ -49681,25 +49918,25 @@ - - + + - + - + - + - + - + @@ -49711,20 +49948,20 @@ - + - + - + - + - + @@ -49736,15 +49973,15 @@ - + - + - + @@ -49752,7 +49989,7 @@ - + @@ -49772,15 +50009,15 @@ - - - - + + + + - + @@ -49798,7 +50035,7 @@ - + @@ -49904,50 +50141,50 @@ - - + + - + - + - - + + - + - - - + + + - + - + - - + + @@ -49955,48 +50192,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -50005,13 +50242,13 @@ - + - + - + @@ -50022,7 +50259,7 @@ - + @@ -50036,7 +50273,7 @@ - + @@ -50050,7 +50287,7 @@ - + @@ -50064,7 +50301,7 @@ - + @@ -50078,21 +50315,21 @@ - + - + - + - + - + @@ -50109,33 +50346,33 @@ - + - + - + - + - + - + - + - - + + @@ -50146,13 +50383,13 @@ - + - + - + @@ -50161,7 +50398,7 @@ - + @@ -50194,7 +50431,7 @@ - + @@ -50203,15 +50440,15 @@ - + - + - + @@ -50256,9 +50493,9 @@ - + - + @@ -50267,7 +50504,7 @@ - + @@ -50275,10 +50512,10 @@ - + - + @@ -50286,7 +50523,7 @@ - + @@ -50294,7 +50531,7 @@ - + @@ -50305,13 +50542,13 @@ - + - + - + @@ -50320,21 +50557,21 @@ - + - + - + - + - + @@ -50345,7 +50582,7 @@ - + @@ -50353,21 +50590,21 @@ - + - + - + - + - - + + @@ -50376,26 +50613,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -50412,8 +50649,8 @@ - - + + @@ -50437,11 +50674,11 @@ - + - + @@ -50487,16 +50724,16 @@ - + - + - + @@ -50511,7 +50748,7 @@ - + @@ -50561,33 +50798,33 @@ - + - + - + - + - + - + - + - + @@ -50666,41 +50903,41 @@ - + - - + + - + - + - + - + - - - + + + - + - + - - - - + + + + @@ -50739,7 +50976,7 @@ - + @@ -50756,11 +50993,11 @@ - + - - + + @@ -50770,7 +51007,7 @@ - + @@ -50778,61 +51015,61 @@ - - + + - - - + + + - + - + - + - - + + - + - + - + - + - + - + - - + + - + @@ -50840,24 +51077,24 @@ - + - + - + - + - + - + - + @@ -50889,21 +51126,21 @@ - + - + - - + + - + @@ -50912,7 +51149,7 @@ - + @@ -50921,19 +51158,19 @@ - - + + - + - + - + @@ -50972,13 +51209,13 @@ - + - + @@ -51020,7 +51257,7 @@ - + @@ -51032,18 +51269,18 @@ - + - + - + @@ -51052,10 +51289,10 @@ - + - + @@ -51064,10 +51301,10 @@ - + - + @@ -51076,7 +51313,7 @@ - + @@ -51084,19 +51321,19 @@ - + - + - + - + @@ -51105,13 +51342,13 @@ - + - + @@ -51120,25 +51357,25 @@ - + - + - + - + - + @@ -51150,7 +51387,7 @@ - + @@ -51159,109 +51396,109 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -51269,15 +51506,15 @@ - + - + - + @@ -51286,8 +51523,8 @@ - - + + @@ -51315,7 +51552,7 @@ - + @@ -51326,24 +51563,24 @@ - + - + - + - + - + - + @@ -51352,9 +51589,9 @@ - + - + @@ -51363,7 +51600,7 @@ - + @@ -51378,59 +51615,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -51439,148 +51676,148 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -51589,53 +51826,53 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + @@ -51649,67 +51886,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -51717,9 +51954,9 @@ - + - + @@ -51728,7 +51965,7 @@ - + @@ -51736,19 +51973,19 @@ - + - + - + - + - + @@ -51763,124 +52000,108 @@ - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -51889,147 +52110,147 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - + + + + + - - + - + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - - + + - + - - - + + + @@ -52039,60 +52260,60 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + @@ -52101,36 +52322,52 @@ - - - - + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - + + + + @@ -52144,8 +52381,8 @@ - - + + @@ -52159,14 +52396,14 @@ - + - + - + @@ -52174,11 +52411,11 @@ - + - + @@ -52192,13 +52429,13 @@ - + - + @@ -52222,7 +52459,7 @@ - + @@ -52230,7 +52467,7 @@ - + @@ -52238,15 +52475,15 @@ - + - - - - + + + + @@ -52266,7 +52503,7 @@ - + @@ -52321,15 +52558,15 @@ - + - + - + @@ -52342,7 +52579,7 @@ - + @@ -52351,53 +52588,53 @@ - - + + - + - - - + + + - + - + - + - + - + - + - - + + - + @@ -52405,7 +52642,7 @@ - + @@ -52413,7 +52650,7 @@ - + @@ -52424,26 +52661,26 @@ - + - + - + - + - + - + @@ -52451,7 +52688,7 @@ - + @@ -52459,10 +52696,10 @@ - + - + @@ -52470,7 +52707,7 @@ - + @@ -52505,22 +52742,22 @@ - + - + - + - + - + - + @@ -52541,10 +52778,10 @@ - + - + @@ -52553,7 +52790,7 @@ - + @@ -52561,12 +52798,12 @@ - + - + - + @@ -52599,8 +52836,8 @@ - - + + @@ -52611,7 +52848,7 @@ - + @@ -52637,7 +52874,7 @@ - + @@ -52651,7 +52888,7 @@ - + @@ -52659,7 +52896,7 @@ - + @@ -52670,7 +52907,7 @@ - + @@ -52687,12 +52924,12 @@ - + - + - + @@ -52722,9 +52959,9 @@ - + - + @@ -52733,12 +52970,12 @@ - + - + @@ -52753,13 +52990,13 @@ - + - + - + @@ -52771,55 +53008,55 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -52834,16 +53071,16 @@ - + - + - + @@ -52855,28 +53092,28 @@ - + - + - + - + - + - + - + @@ -52893,15 +53130,15 @@ - + - + - + - + @@ -52913,7 +53150,7 @@ - + @@ -52939,7 +53176,7 @@ - + @@ -52951,10 +53188,10 @@ - + - + @@ -52968,7 +53205,7 @@ - + @@ -52979,7 +53216,7 @@ - + @@ -52993,7 +53230,7 @@ - + @@ -53004,10 +53241,10 @@ - + - + @@ -53018,7 +53255,7 @@ - + @@ -53041,24 +53278,24 @@ - + - + - + - + - + - + - + @@ -53069,7 +53306,7 @@ - + @@ -53083,7 +53320,7 @@ - + @@ -53097,25 +53334,25 @@ - + - + - + - + - + - + - + @@ -53126,7 +53363,7 @@ - + @@ -53137,16 +53374,16 @@ - + - + - + - + @@ -53155,7 +53392,7 @@ - + @@ -53166,7 +53403,7 @@ - + @@ -53207,15 +53444,15 @@ - + - + - + - + @@ -53236,7 +53473,7 @@ - + @@ -53244,15 +53481,15 @@ - + - + - + @@ -53260,21 +53497,21 @@ - + - + - + - + - + @@ -53294,10 +53531,10 @@ - + - + @@ -53306,16 +53543,16 @@ - + - + - + - + @@ -53323,9 +53560,9 @@ - + - + @@ -53349,7 +53586,7 @@ - + @@ -53361,10 +53598,10 @@ - + - + @@ -53372,14 +53609,14 @@ - + - + - + - + @@ -53400,10 +53637,10 @@ - + - + @@ -53412,24 +53649,24 @@ - + - + - + - + - + @@ -53438,13 +53675,13 @@ - + - + @@ -53452,10 +53689,10 @@ - + - + @@ -53494,7 +53731,7 @@ - + @@ -53521,13 +53758,13 @@ - + - + @@ -53545,21 +53782,21 @@ - + - + - + - + - + @@ -53592,9 +53829,9 @@ - + - + @@ -53612,7 +53849,7 @@ - + @@ -53620,7 +53857,7 @@ - + @@ -53641,7 +53878,7 @@ - + @@ -53652,10 +53889,10 @@ - + - + @@ -53673,21 +53910,21 @@ - + - + - + - + - + @@ -53741,10 +53978,10 @@ - + - + @@ -53756,10 +53993,10 @@ - + - + @@ -53773,31 +54010,31 @@ - + - + - + - + - + - + - + @@ -53842,18 +54079,18 @@ - + - + - + - + - + @@ -53868,10 +54105,10 @@ - + - + @@ -53909,38 +54146,38 @@ - + - + - + - + - + - + - + - + - + @@ -53948,23 +54185,23 @@ - + - + - + - + - + - + @@ -53972,108 +54209,108 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -54081,11 +54318,11 @@ - + - + @@ -54093,59 +54330,59 @@ - + - - + + - - + + - - + + - - + + - - + + - + - + - + - + @@ -54153,7 +54390,7 @@ - + @@ -54162,12 +54399,12 @@ - + - + @@ -54175,164 +54412,164 @@ - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - + - - + + - + - - + + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -54342,45 +54579,67 @@ - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + + + + - - + + - + - + - + - + - + @@ -54390,7 +54649,7 @@ - + @@ -54399,18 +54658,18 @@ - + - + - - + + @@ -54423,7 +54682,7 @@ - + @@ -54459,14 +54718,14 @@ - + - + - + @@ -54477,37 +54736,15 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + @@ -54527,7 +54764,7 @@ - + @@ -54535,7 +54772,7 @@ - + @@ -54551,15 +54788,15 @@ - + - + - + @@ -54567,7 +54804,7 @@ - + @@ -54575,9 +54812,9 @@ - + - + @@ -54586,7 +54823,7 @@ - + @@ -54594,10 +54831,10 @@ - + - + @@ -54615,18 +54852,18 @@ - - - - - - - - + + + + + + + + - + @@ -54649,7 +54886,7 @@ - + @@ -54663,9 +54900,9 @@ - + - + @@ -54675,10 +54912,10 @@ - + - + @@ -54696,7 +54933,7 @@ - + @@ -54711,19 +54948,19 @@ - + - + - + - + - + @@ -54801,7 +55038,7 @@ - + @@ -54834,7 +55071,7 @@ - + @@ -54891,7 +55128,7 @@ - + @@ -54900,65 +55137,65 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -54969,21 +55206,21 @@ - + - + - + - + @@ -54994,7 +55231,7 @@ - + @@ -55007,7 +55244,7 @@ - + @@ -55020,13 +55257,13 @@ - + - + @@ -55044,7 +55281,7 @@ - + @@ -55074,8 +55311,8 @@ - - + + @@ -55083,8 +55320,8 @@ - - + + @@ -55092,108 +55329,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -55220,7 +55457,7 @@ - + @@ -55229,16 +55466,16 @@ - + - + - + - + @@ -55250,10 +55487,10 @@ - + - + @@ -55267,27 +55504,27 @@ - + - + - + - + - + - + - + - + @@ -55308,10 +55545,10 @@ - + - + @@ -55323,7 +55560,7 @@ - + @@ -55334,13 +55571,13 @@ - + - + - + @@ -55348,8 +55585,8 @@ - - + + @@ -55360,7 +55597,7 @@ - + @@ -55374,7 +55611,7 @@ - + @@ -55385,7 +55622,7 @@ - + @@ -55399,7 +55636,7 @@ - + @@ -55413,10 +55650,10 @@ - + - + @@ -55443,7 +55680,7 @@ - + @@ -55458,29 +55695,29 @@ - + - + - + - + - + - + - + - + @@ -55503,31 +55740,31 @@ - + - + - + - + - + - + - + - + - + @@ -55548,7 +55785,7 @@ - + @@ -55586,10 +55823,10 @@ - + - + @@ -55613,20 +55850,20 @@ - + - + - + - - + + @@ -55634,7 +55871,7 @@ - + @@ -55642,26 +55879,26 @@ - + - + - + - + - + - + - + - + @@ -55690,20 +55927,20 @@ - + - + - + - + - + @@ -55712,18 +55949,18 @@ - + - + - + - + - + @@ -55732,10 +55969,10 @@ - + - + @@ -55743,7 +55980,7 @@ - + @@ -55751,22 +55988,22 @@ - + - + - + - + - + - + @@ -55778,27 +56015,27 @@ - + - + - + - + - + - + - + @@ -55809,7 +56046,7 @@ - + @@ -55818,7 +56055,7 @@ - + @@ -55847,7 +56084,7 @@ - + @@ -55855,10 +56092,10 @@ - + - + @@ -55867,7 +56104,7 @@ - + @@ -55875,9 +56112,9 @@ - + - + @@ -55889,17 +56126,17 @@ - + - + - + - - + + @@ -55907,7 +56144,7 @@ - + @@ -55915,88 +56152,88 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -56154,8 +56391,8 @@ - - + + @@ -56163,13 +56400,13 @@ - + - + @@ -56177,21 +56414,21 @@ - - + + - + - + - + - + @@ -56205,599 +56442,599 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - + - - + + - + - - + + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - + + + - - + + + - - - - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + @@ -56824,13 +57061,13 @@ - + - + @@ -56896,10 +57133,10 @@ - + - + @@ -56926,7 +57163,7 @@ - + @@ -56935,13 +57172,13 @@ - + - + - + @@ -56953,10 +57190,10 @@ - + - + @@ -56965,13 +57202,13 @@ - + - + - + @@ -57010,18 +57247,18 @@ - + - + - + - + @@ -57029,9 +57266,9 @@ - + - + @@ -57055,7 +57292,7 @@ - + @@ -57063,13 +57300,13 @@ - + - + @@ -57089,12 +57326,12 @@ - + - + - + @@ -57109,7 +57346,7 @@ - + @@ -57120,7 +57357,7 @@ - + @@ -57143,19 +57380,19 @@ - + - + - + - + @@ -57169,9 +57406,9 @@ - + - + @@ -57186,7 +57423,7 @@ - + @@ -57195,7 +57432,7 @@ - + @@ -57213,10 +57450,10 @@ - + - + @@ -57227,7 +57464,7 @@ - + @@ -57238,12 +57475,12 @@ - + - + @@ -57252,7 +57489,7 @@ - + @@ -57264,7 +57501,7 @@ - + @@ -57276,16 +57513,16 @@ - + - + - + @@ -57294,10 +57531,10 @@ - + - + @@ -57321,38 +57558,38 @@ - + - + - + - + - + - + - + - + - + @@ -57360,15 +57597,15 @@ - + - + - + @@ -57376,12 +57613,12 @@ - + - + - + @@ -57408,10 +57645,10 @@ - + - + @@ -57423,13 +57660,13 @@ - + - + - + @@ -57438,7 +57675,7 @@ - + @@ -57447,13 +57684,13 @@ - + - + - + @@ -57489,7 +57726,7 @@ - + @@ -57501,7 +57738,7 @@ - + @@ -57519,18 +57756,18 @@ - + - + - + - + @@ -57547,16 +57784,16 @@ - + - + - + @@ -57564,7 +57801,7 @@ - + @@ -57590,33 +57827,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -57631,13 +57868,13 @@ - + - + @@ -57646,12 +57883,12 @@ - + - + - + @@ -57684,7 +57921,7 @@ - + @@ -57693,13 +57930,13 @@ - + - + @@ -57713,15 +57950,15 @@ - + - + - + - + @@ -57730,10 +57967,10 @@ - + - + @@ -57744,15 +57981,15 @@ - + - + - + @@ -57767,7 +58004,7 @@ - + @@ -57778,12 +58015,12 @@ - + - + - + @@ -57795,15 +58032,15 @@ - + - + - + - + @@ -57812,22 +58049,22 @@ - + - + - + - + - + @@ -57841,7 +58078,7 @@ - + @@ -57855,15 +58092,15 @@ - + - + - + - + @@ -57872,7 +58109,7 @@ - + @@ -57880,74 +58117,74 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -57955,16 +58192,16 @@ - + - + - + - + @@ -57973,39 +58210,39 @@ - + - + - + - + - + - + @@ -58013,24 +58250,24 @@ - + - + - + - + - + - + - + @@ -58042,7 +58279,7 @@ - + @@ -58053,7 +58290,7 @@ - + @@ -58061,15 +58298,15 @@ - + - + - + - + @@ -58083,18 +58320,18 @@ - + - + - + - + @@ -58103,15 +58340,15 @@ - + - + - + @@ -58131,18 +58368,18 @@ - + - + - + - + @@ -58151,7 +58388,7 @@ - + @@ -58159,9 +58396,9 @@ - + - + @@ -58170,7 +58407,7 @@ - + @@ -58178,10 +58415,10 @@ - + - + @@ -58189,7 +58426,7 @@ - + @@ -58200,10 +58437,10 @@ - + - + @@ -58232,333 +58469,333 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -58566,7 +58803,7 @@ - + @@ -58575,12 +58812,12 @@ - + - + - + @@ -58595,19 +58832,19 @@ - + - + - + - + @@ -58619,22 +58856,22 @@ - + - + - + - + - + @@ -58649,10 +58886,10 @@ - + - + @@ -58705,13 +58942,13 @@ - + - + @@ -58728,7 +58965,7 @@ - + @@ -58743,7 +58980,7 @@ - + @@ -58758,7 +58995,7 @@ - + @@ -58772,7 +59009,7 @@ - + @@ -58780,48 +59017,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -58832,7 +59069,7 @@ - + @@ -58867,10 +59104,10 @@ - + - + @@ -58879,7 +59116,7 @@ - + @@ -58912,7 +59149,7 @@ - + @@ -58921,10 +59158,10 @@ - + - + @@ -58933,21 +59170,21 @@ - + - + - + - + @@ -58958,7 +59195,7 @@ - + @@ -58996,16 +59233,16 @@ - + - + - + - + @@ -59023,10 +59260,10 @@ - + - + @@ -59044,13 +59281,13 @@ - + - + - + @@ -59071,7 +59308,7 @@ - + @@ -59092,7 +59329,7 @@ - + @@ -59121,7 +59358,7 @@ - + @@ -59132,7 +59369,7 @@ - + @@ -59140,7 +59377,7 @@ - + @@ -59157,10 +59394,10 @@ - + - + @@ -59198,7 +59435,7 @@ - + @@ -59233,7 +59470,7 @@ - + @@ -59313,7 +59550,7 @@ - + @@ -59322,9 +59559,9 @@ - + - + @@ -59372,7 +59609,7 @@ - + @@ -59381,12 +59618,12 @@ - + - + - + @@ -59415,9 +59652,9 @@ - + - + @@ -59432,7 +59669,7 @@ - + @@ -59440,9 +59677,9 @@ - + - + @@ -59451,7 +59688,7 @@ - + @@ -59469,28 +59706,28 @@ - + - + - + - + - + - + - + @@ -59499,23 +59736,23 @@ - + - + - + - + - + @@ -59524,7 +59761,7 @@ - + @@ -59542,9 +59779,9 @@ - + - + @@ -59556,7 +59793,7 @@ - + @@ -59565,16 +59802,16 @@ - + - + - + - + @@ -59586,7 +59823,7 @@ - + @@ -59603,9 +59840,9 @@ - + - + @@ -59620,12 +59857,12 @@ - + - + - + @@ -59640,7 +59877,7 @@ - + @@ -59652,10 +59889,10 @@ - + - + @@ -59673,22 +59910,22 @@ - + - + - + - + - + @@ -59718,24 +59955,24 @@ - + - + - + - + - + - + @@ -59744,15 +59981,15 @@ - + - + - + - + @@ -59760,7 +59997,7 @@ - + @@ -59796,21 +60033,21 @@ - + - + - + - + - + @@ -59840,7 +60077,7 @@ - + @@ -59863,9 +60100,9 @@ - + - + @@ -59889,10 +60126,10 @@ - + - + @@ -59903,7 +60140,7 @@ - + @@ -59911,7 +60148,7 @@ - + @@ -59922,7 +60159,7 @@ - + @@ -59930,45 +60167,45 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -59977,7 +60214,7 @@ - + @@ -59989,18 +60226,18 @@ - + - + - + - + @@ -60008,7 +60245,7 @@ - + @@ -60016,7 +60253,7 @@ - + @@ -60024,12 +60261,12 @@ - + - + - + @@ -60050,7 +60287,7 @@ - + @@ -60074,16 +60311,16 @@ - + - + - + @@ -60098,7 +60335,7 @@ - + @@ -60106,7 +60343,7 @@ - + @@ -60114,7 +60351,7 @@ - + @@ -60128,15 +60365,15 @@ - + - + - + - + @@ -60148,12 +60385,12 @@ - + - + @@ -60185,7 +60422,7 @@ - + @@ -60202,35 +60439,35 @@ - + - + - + - + - + - + - + - + - + @@ -60260,16 +60497,16 @@ - + - + - + @@ -60281,473 +60518,473 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + - - - + + - - - - + + - - - + + - + - - - - - - - - + - - + + - - + + - - + + + + + + + + - + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + - - + + - + - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - + - - + - + - - + - + - - + - + - - + - + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - + + @@ -60759,374 +60996,374 @@ - - + + - - + + - - + + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + - + - + + + - + - + + + + - + - - + - + - - - - + - + - - - + - + - - - + - + - - - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + + - - - + + + - - + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - - + + - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - + + - - - + + + - + - + - + @@ -61138,32 +61375,32 @@ - + - + - + - - + + - - + + - - - + + + @@ -61171,16 +61408,16 @@ - + - - + + - + @@ -61195,7 +61432,7 @@ - + @@ -61204,12 +61441,12 @@ - + - + @@ -61223,7 +61460,7 @@ - + @@ -61231,7 +61468,7 @@ - + @@ -61246,13 +61483,13 @@ - + - + - + @@ -61275,17 +61512,17 @@ - + - + - + @@ -61300,11 +61537,11 @@ - - + + - + @@ -61312,6 +61549,6 @@ diff --git a/block/blk-crypto.c b/block/blk-crypto.c index 2c47e8eec865..3e1bb4192498 100644 --- a/block/blk-crypto.c +++ b/block/blk-crypto.c @@ -171,15 +171,19 @@ bool blk_crypto_endio(struct bio *bio) /** * blk_crypto_init_key() - Prepare a key for use with blk-crypto * @blk_key: Pointer to the blk_crypto_key to initialize. - * @raw_key: Pointer to the raw key. Must be the correct length for the chosen - * @crypto_mode; see blk_crypto_modes[]. + * @raw_key: Pointer to the raw key. + * @raw_key_size: Size of raw key. Must be at least the required size for the + * chosen @crypto_mode; see blk_crypto_modes[]. (It's allowed + * to be longer than the mode's actual key size, in order to + * support inline encryption hardware that accepts wrapped keys.) * @crypto_mode: identifier for the encryption algorithm to use * @data_unit_size: the data unit size to use for en/decryption * * Return: The blk_crypto_key that was prepared, or an ERR_PTR() on error. When * done using the key, it must be freed with blk_crypto_free_key(). */ -int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *raw_key, +int blk_crypto_init_key(struct blk_crypto_key *blk_key, + const u8 *raw_key, unsigned int raw_key_size, enum blk_crypto_mode_num crypto_mode, unsigned int data_unit_size) { @@ -191,8 +195,11 @@ int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *raw_key, if (crypto_mode >= ARRAY_SIZE(blk_crypto_modes)) return -EINVAL; + BUILD_BUG_ON(BLK_CRYPTO_MAX_WRAPPED_KEY_SIZE < BLK_CRYPTO_MAX_KEY_SIZE); + mode = &blk_crypto_modes[crypto_mode]; - if (mode->keysize == 0) + if (raw_key_size < mode->keysize || + raw_key_size > BLK_CRYPTO_MAX_WRAPPED_KEY_SIZE) return -EINVAL; if (!is_power_of_2(data_unit_size)) @@ -201,8 +208,8 @@ int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *raw_key, blk_key->crypto_mode = crypto_mode; blk_key->data_unit_size = data_unit_size; blk_key->data_unit_size_bits = ilog2(data_unit_size); - blk_key->size = mode->keysize; - memcpy(blk_key->raw, raw_key, mode->keysize); + blk_key->size = raw_key_size; + memcpy(blk_key->raw, raw_key, raw_key_size); /* * The keyslot manager uses the SipHash of the key to implement O(1) key @@ -210,7 +217,7 @@ int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *raw_key, * precomputed here so that it only needs to be computed once per key. */ get_random_once(&hash_key, sizeof(hash_key)); - blk_key->hash = siphash(raw_key, mode->keysize, &hash_key); + blk_key->hash = siphash(raw_key, raw_key_size, &hash_key); return 0; } diff --git a/block/keyslot-manager.c b/block/keyslot-manager.c index cdf0607019d4..52f94a5a9680 100644 --- a/block/keyslot-manager.c +++ b/block/keyslot-manager.c @@ -168,6 +168,7 @@ static int find_keyslot(struct keyslot_manager *ksm, hlist_for_each_entry(slotp, head, hash_node) { if (slotp->key.hash == key->hash && slotp->key.crypto_mode == key->crypto_mode && + slotp->key.size == key->size && slotp->key.data_unit_size == key->data_unit_size && !crypto_memneq(slotp->key.raw, key->raw, key->size)) return slotp - ksm->slots; diff --git a/fs/crypto/inline_crypt.c b/fs/crypto/inline_crypt.c index aa04e8a7d674..7bfafe28011f 100644 --- a/fs/crypto/inline_crypt.c +++ b/fs/crypto/inline_crypt.c @@ -74,8 +74,8 @@ int fscrypt_prepare_inline_crypt_key(struct fscrypt_prepared_key *prep_key, else sb->s_cop->get_devices(sb, blk_key->devs); - err = blk_crypto_init_key(&blk_key->base, raw_key, crypto_mode, - sb->s_blocksize); + err = blk_crypto_init_key(&blk_key->base, raw_key, ci->ci_mode->keysize, + crypto_mode, sb->s_blocksize); if (err) { fscrypt_err(inode, "error %d initializing blk-crypto key", err); goto fail; diff --git a/include/linux/bio-crypt-ctx.h b/include/linux/bio-crypt-ctx.h index 4535df0a6349..2e06b06fce47 100644 --- a/include/linux/bio-crypt-ctx.h +++ b/include/linux/bio-crypt-ctx.h @@ -19,6 +19,7 @@ enum blk_crypto_mode_num { #ifdef CONFIG_BLK_INLINE_ENCRYPTION #define BLK_CRYPTO_MAX_KEY_SIZE 64 +#define BLK_CRYPTO_MAX_WRAPPED_KEY_SIZE 128 /** * struct blk_crypto_key - an inline encryption key @@ -41,7 +42,7 @@ struct blk_crypto_key { unsigned int data_unit_size_bits; unsigned int size; unsigned int hash; - u8 raw[BLK_CRYPTO_MAX_KEY_SIZE]; + u8 raw[BLK_CRYPTO_MAX_WRAPPED_KEY_SIZE]; }; #define BLK_CRYPTO_MAX_IV_SIZE 32 diff --git a/include/linux/blk-crypto.h b/include/linux/blk-crypto.h index 07d32e33f0bb..6dd37961888a 100644 --- a/include/linux/blk-crypto.h +++ b/include/linux/blk-crypto.h @@ -14,7 +14,8 @@ int blk_crypto_submit_bio(struct bio **bio_ptr); bool blk_crypto_endio(struct bio *bio); -int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *raw_key, +int blk_crypto_init_key(struct blk_crypto_key *blk_key, + const u8 *raw_key, unsigned int raw_key_size, enum blk_crypto_mode_num crypto_mode, unsigned int data_unit_size);