From 2f366fa7b261af66fa880dc6b4c84effda24bed5 Mon Sep 17 00:00:00 2001 From: Abitamim Bharmal Date: Thu, 15 Dec 2022 23:07:31 -0500 Subject: [PATCH 01/38] Make arrow annotation arrowhead adjustable --- lib/matplotlib/patches.py | 92 +++++++++++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 63453d416b99..10558e7bdb27 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2508,14 +2508,35 @@ def __call__(self, x0, y0, width, height, mutation_size): class LArrow: """A box in the shape of a left-pointing arrow.""" - def __init__(self, pad=0.3): + def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): """ Parameters ---------- pad : float, default: 0.3 The amount of padding around the original box. + head_width : float, default: 1.5 + The width of the arrow head versus the body. The minimum value + is 0.0 and the maximum value is 10.0. Any value smaller or + greater than this is contrained to the edge values. + head_angle : float, default: 90.0 + The inside angle of the tip of the arrow. The minimum value is + 10.0 and the maximum value is 179.0. Any value smaller or + greater than this is contrained to the edge values. """ self.pad = pad + if head_width > 10: + self.head_width = 10 + elif head_width < 0: + self.head_width = 0 + else: + self.head_width = head_width + + if head_angle >= 180: + self.head_angle = 179 + elif head_angle < 10: + self.head_angle = 10 + else: + self.head_angle = head_angle def __call__(self, x0, y0, width, height, mutation_size): # padding @@ -2530,10 +2551,26 @@ def __call__(self, x0, y0, width, height, mutation_size): dxx = dx / 2 x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) + # The width adjustment is the value that must be added or + # subtracted from y_0 and y_1 for the ends of the head. + # The body width is 2dx. + # Subtracting 1 from the head_width gives what percentage of the + # body width is in the head, and there is .5x of that on each side. + # The .5 cancels out the 2dx for the body width. + width_adjustment = (self.head_width - 1) * dx + + # The angle adjustment is the value that must be subtracted/added + # from x_0 or x_1 for the position of the tip. + # each half of the arrow head is a right angle triangle. Therefore, + # each half of the arrow head has the equation tan(head_angle/2)= + # (dx+width_adjustment)/(dxx+angle_adjustment). + angle_adjustment = ((dx + width_adjustment) / math.tan((self. + head_angle/2) * (math.pi/180))) - dxx + return Path._create_closed( [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), - (x0 + dxx, y1 + dxx), (x0 - dx, y0 + dx), - (x0 + dxx, y0 - dxx), # arrow + (x0 + dxx, y1 + width_adjustment), (x0 - angle_adjustment, y0 + + dx), (x0 + dxx, y0 - width_adjustment), # arrow (x0 + dxx, y0)]) @_register_style(_style_list) @@ -2551,14 +2588,35 @@ class DArrow: """A box in the shape of a two-way arrow.""" # Modified from LArrow to add a right arrow to the bbox. - def __init__(self, pad=0.3): + def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): """ Parameters ---------- pad : float, default: 0.3 The amount of padding around the original box. + head_width : float, default: 1.5 + The width of the arrow head versus the body. The minimum value + is 0.0 and the maximum value is 10.0. Any value smaller or + greater than this is contrained to the edge values. + head_angle : float, default: 90.0 + The inside angle of the tip of the arrow. The minimum value is + 10.0 and the maximum value is 179.0. Any value smaller or + greater than this is contrained to the edge values. """ self.pad = pad + if head_width > 10: + self.head_width = 10 + elif head_width < 0: + self.head_width = 0 + else: + self.head_width = head_width + + if head_angle >= 180: + self.head_angle = 179 + elif head_angle < 10: + self.head_angle = 10 + else: + self.head_angle = head_angle def __call__(self, x0, y0, width, height, mutation_size): # padding @@ -2574,13 +2632,31 @@ def __call__(self, x0, y0, width, height, mutation_size): dxx = dx / 2 x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) + # The width adjustment is the value that must be added or + # subtracted from y_0 and y_1 for the ends of the head. + # The body width is 2dx. + # Subtracting 1 from the head_width gives what percentage of the + # body width is in the head, and there is .5x of that on each side. + # The .5 cancels out the 2dx for the body width. + width_adjustment = (self.head_width - 1) * dx + + # The angle adjustment is the value that must be subtracted/added + # from x_0 or x_1 for the position of the tip. + # each half of the arrow head is a right angle triangle. Therefore, + # each half of the arrow head has the equation tan(head_angle/2)= + # (dx+width_adjustment)/(dxx+angle_adjustment). + angle_adjustment = ((dx + width_adjustment) / math.tan((self. + head_angle/2) * (math.pi/180))) - dxx + return Path._create_closed([ (x0 + dxx, y0), (x1, y0), # bot-segment - (x1, y0 - dxx), (x1 + dx + dxx, y0 + dx), - (x1, y1 + dxx), # right-arrow + (x1, y0 - width_adjustment), + (x1 + angle_adjustment + dxx, y0 + dx), + (x1, y1 + width_adjustment), # right-arrow (x1, y1), (x0 + dxx, y1), # top-segment - (x0 + dxx, y1 + dxx), (x0 - dx, y0 + dx), - (x0 + dxx, y0 - dxx), # left-arrow + (x0 + dxx, y1 + width_adjustment), + (x0 - angle_adjustment, y0 + dx), + (x0 + dxx, y0 - width_adjustment), # left-arrow (x0 + dxx, y0)]) @_register_style(_style_list) From e8d7eb7c37f8b862993ecadb806dd6bdb0a6c107 Mon Sep 17 00:00:00 2001 From: Abitamim Bharmal Date: Thu, 15 Dec 2022 23:07:42 -0500 Subject: [PATCH 02/38] Add test - not sure if correct --- .../roadsign_test_image.png | Bin 0 -> 10660 bytes lib/matplotlib/tests/test_arrow_patches.py | 21 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png new file mode 100644 index 0000000000000000000000000000000000000000..d9cf3646b5857078f0df436313c15f3bd78a81fe GIT binary patch literal 10660 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 B6f^(; literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index c2b6d4fa8086..ae9e2ca5f429 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -48,6 +48,27 @@ def test_boxarrow(): transform=fig.transFigure, bbox=dict(boxstyle=stylename, fc="w", ec="k")) +@image_comparison(['roadsign_test_image.png']) +def temp_test_boxarrow(): + + styles = mpatches.BoxStyle.get_styles() + + n = len(styles) + spacing = 1.2 + + figheight = (n * spacing + .5) + fig = plt.figure(figsize=(4 / 1.5, figheight / 1.5)) + + fontsize = 0.3 * 72 + + for i, stylename in enumerate(sorted(styles)): + if stylename in ("larrow", "rarrow", "darrow"): + fig.text(0.5, ((n - i) * spacing - 0.5)/figheight, stylename, + ha="center", + size=fontsize, + transform=fig.transFigure, + bbox=dict(boxstyle=stylename+",head_width=1", fc="w", ec="k")) + def __prepare_fancyarrow_dpi_cor_test(): """ From 15bd7dc41e289cebe0a715fba5321cedc1f93a9a Mon Sep 17 00:00:00 2001 From: Abitamim Bharmal Date: Thu, 15 Dec 2022 23:14:49 -0500 Subject: [PATCH 03/38] Update tutorial --- galleries/users_explain/text/annotations.py | 32 ++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/galleries/users_explain/text/annotations.py b/galleries/users_explain/text/annotations.py index 5cfb16c12715..8c158a3095ab 100644 --- a/galleries/users_explain/text/annotations.py +++ b/galleries/users_explain/text/annotations.py @@ -230,20 +230,20 @@ # The arguments are the name of the box style with its attributes as # keyword arguments. Currently, following box styles are implemented: # -# ========== ============== ========================== -# Class Name Attrs -# ========== ============== ========================== -# Circle ``circle`` pad=0.3 -# DArrow ``darrow`` pad=0.3 -# Ellipse ``ellipse`` pad=0.3 -# LArrow ``larrow`` pad=0.3 -# RArrow ``rarrow`` pad=0.3 -# Round ``round`` pad=0.3,rounding_size=None -# Round4 ``round4`` pad=0.3,rounding_size=None -# Roundtooth ``roundtooth`` pad=0.3,tooth_size=None -# Sawtooth ``sawtooth`` pad=0.3,tooth_size=None -# Square ``square`` pad=0.3 -# ========== ============== ========================== +# ========== ============== ========================== +# Class Name Attrs +# ========== ============== ========================== +# Circle ``circle`` pad=0.3 +# DArrow ``darrow`` pad=0.3,head_width=1.5,head_angle=90 +# Ellipse ``ellipse`` pad=0.3 +# LArrow ``larrow`` pad=0.3,head_width=1.5,head_angle=90 +# RArrow ``rarrow`` pad=0.3,head_width=1.5,head_angle=90 +# Round ``round`` pad=0.3,rounding_size=None +# Round4 ``round4`` pad=0.3,rounding_size=None +# Roundtooth ``roundtooth`` pad=0.3,tooth_size=None +# Sawtooth ``sawtooth`` pad=0.3,tooth_size=None +# Square ``square`` pad=0.3 +# ========== ============== ========================== # # .. figure:: /gallery/shapes_and_collections/images/sphx_glr_fancybox_demo_001.png # :target: /gallery/shapes_and_collections/fancybox_demo.html @@ -303,8 +303,8 @@ def custom_box_style(x0, y0, width, height, mutation_size): x0, y0 = x0 - pad, y0 - pad x1, y1 = x0 + width, y0 + height # return the new path - return Path([(x0, y0), (x1, y0), (x1, y1), (x0, y1), - (x0-pad, (y0+y1)/2), (x0, y0), (x0, y0)], + return Path([(x0, y0), (x1, y0), (x1, y1), (x0, y1), (x0, y1-pad), + (x0-pad, (y0+y1)/2), (x0, y0+pad), (x0, y0), (x0, y0)], closed=True) fig, ax = plt.subplots(figsize=(3, 3)) From 4f57495fe1a1039491ce7ffd17039ee31da0abfd Mon Sep 17 00:00:00 2001 From: Abitamim Bharmal Date: Thu, 15 Dec 2022 23:44:37 -0500 Subject: [PATCH 04/38] Fixed linting --- lib/matplotlib/tests/test_arrow_patches.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index ae9e2ca5f429..86209fc26c8e 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -48,6 +48,7 @@ def test_boxarrow(): transform=fig.transFigure, bbox=dict(boxstyle=stylename, fc="w", ec="k")) + @image_comparison(['roadsign_test_image.png']) def temp_test_boxarrow(): @@ -64,10 +65,11 @@ def temp_test_boxarrow(): for i, stylename in enumerate(sorted(styles)): if stylename in ("larrow", "rarrow", "darrow"): fig.text(0.5, ((n - i) * spacing - 0.5)/figheight, stylename, - ha="center", - size=fontsize, - transform=fig.transFigure, - bbox=dict(boxstyle=stylename+",head_width=1", fc="w", ec="k")) + ha="center", + size=fontsize, + transform=fig.transFigure, + bbox=dict(boxstyle=stylename+",head_width=1", fc="w", + ec="k")) def __prepare_fancyarrow_dpi_cor_test(): From 5c3fa60cfc4ae434aed4a5d6ed7754a445afeabf Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 17 Apr 2025 21:05:21 +0100 Subject: [PATCH 05/38] Add reversed arrow-head support to larrow/rarrow --- lib/matplotlib/patches.py | 123 +++++++++++++++++++++++++------------- 1 file changed, 83 insertions(+), 40 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 10558e7bdb27..57f1a4fef66c 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2515,63 +2515,103 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): pad : float, default: 0.3 The amount of padding around the original box. head_width : float, default: 1.5 - The width of the arrow head versus the body. The minimum value - is 0.0 and the maximum value is 10.0. Any value smaller or - greater than this is contrained to the edge values. + TODO head_angle : float, default: 90.0 - The inside angle of the tip of the arrow. The minimum value is - 10.0 and the maximum value is 179.0. Any value smaller or - greater than this is contrained to the edge values. + The angle subtended by the tip of the arrow, in degrees. TODO """ self.pad = pad - if head_width > 10: - self.head_width = 10 - elif head_width < 0: - self.head_width = 0 + + if head_width < 0: + raise ValueError("The relative head width must be a positive number.") else: self.head_width = head_width - if head_angle >= 180: - self.head_angle = 179 - elif head_angle < 10: - self.head_angle = 10 - else: - self.head_angle = head_angle + # Set arrow-head angle to within [0, 360 deg) + self.head_angle = np.mod(head_angle, 360.) def __call__(self, x0, y0, width, height, mutation_size): - # padding + + # scaled padding pad = mutation_size * self.pad - # width and height with padding added. + # add padding to width and height width, height = width + 2 * pad, height + 2 * pad - # boundary of the padded box + # boundary points of the padded box (arrow tail/body) x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - + # width and half-width of arrow tail dx = (y1 - y0) / 2 dxx = dx / 2 + x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) - # The width adjustment is the value that must be added or - # subtracted from y_0 and y_1 for the ends of the head. + # The width adjustment is the distance that must be subtracted from + # y0 and added to y1 to reach the non-tip vertices of the head. # The body width is 2dx. - # Subtracting 1 from the head_width gives what percentage of the - # body width is in the head, and there is .5x of that on each side. - # The .5 cancels out the 2dx for the body width. + # Subtracting 1 from the head width gives, in units of the body width, + # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - # The angle adjustment is the value that must be subtracted/added - # from x_0 or x_1 for the position of the tip. - # each half of the arrow head is a right angle triangle. Therefore, - # each half of the arrow head has the equation tan(head_angle/2)= - # (dx+width_adjustment)/(dxx+angle_adjustment). - angle_adjustment = ((dx + width_adjustment) / math.tan((self. - head_angle/2) * (math.pi/180))) - dxx - - return Path._create_closed( - [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), - (x0 + dxx, y1 + width_adjustment), (x0 - angle_adjustment, y0 - + dx), (x0 + dxx, y0 - width_adjustment), # arrow - (x0 + dxx, y0)]) + if self.head_angle <= 180: + # Non-reversed arrow head (<---) + + # The angle adjustment is the tip-to-body length of the arrow head. + # Each half of the arrow head is a right-angled triangle. Therefore, + # each half of the arrow head has, by trigonometry, tan(head_angle/2)= + # (dx+width_adjustment)/(dxx+angle_adjustment). + angle_adjustment = ((dx + width_adjustment) / math.tan((self. + head_angle/2) * (math.pi/180))) - dxx + + return Path._create_closed( + [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), + (x0 + dxx, y1 + width_adjustment), (x0 - angle_adjustment, y0 + + dx), (x0 + dxx, y0 - width_adjustment), # arrow + (x0 + dxx, y0)]) + else: + # Reversed arrow head (>---) + + # Account for padding to left of text; this is no longer contained + # within the arrow head. + x0 = x0 - (2 * pad) + + if self.head_width <= 1: + # Reversed arrow head entirely enclosed by arrow body + + # draw rectangle + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) + + + # Distance from the arrow head's outermost vertices to the points + # where the reversed arrow head intercepts the arrow body + tan_half_angle = np.tan(self.head_angle / 2) + intercept_adjustment = width_adjustment / np.abs(tan_half_angle) + + if intercept_adjustment >= width: + # If the arrow body lies entirely within the arrow head + + # draw triangle + return Path._create_closed([ + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx + intercept_adjustment, y0 + dx), + (x0 + dxx, y1 + width_adjustment), + (x0 + dxx, y0 - width_adjustment) + ]) + else: + # draw reversed arrow + return Path._create_closed([ + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx + intercept_adjustment, y0), + (x1, y0), + (x1, y1), + (x0 + dxx + intercept_adjustment, y1), + (x0 + dxx, y1 + width_adjustment), + (x0 + dxx, y0 - width_adjustment) + ]) @_register_style(_style_list) class RArrow(LArrow): @@ -2597,12 +2637,15 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): head_width : float, default: 1.5 The width of the arrow head versus the body. The minimum value is 0.0 and the maximum value is 10.0. Any value smaller or - greater than this is contrained to the edge values. + greater than this is constrained to the edge values. head_angle : float, default: 90.0 The inside angle of the tip of the arrow. The minimum value is 10.0 and the maximum value is 179.0. Any value smaller or - greater than this is contrained to the edge values. + greater than this is constrained to the edge values. """ + + # TODO + self.pad = pad if head_width > 10: self.head_width = 10 From 8065549de7e57c79bd8fb1f35af42465fa93a234 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Sun, 20 Apr 2025 18:48:50 +0100 Subject: [PATCH 06/38] Fix reversed arrow-head support for single arrows, handle edge cases --- lib/matplotlib/patches.py | 156 ++++++++++++++++++++++---------------- 1 file changed, 92 insertions(+), 64 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 57f1a4fef66c..1d3a75c26c0b 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -23,6 +23,10 @@ from .path import Path from ._enums import JoinStyle, CapStyle +# TEMPORARY: REMOVE LATER +import logging +_log = logging.getLogger(__name__) + @_docstring.interpd @_api.define_aliases({ @@ -2530,7 +2534,6 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): self.head_angle = np.mod(head_angle, 360.) def __call__(self, x0, y0, width, height, mutation_size): - # scaled padding pad = mutation_size * self.pad # add padding to width and height @@ -2538,7 +2541,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # boundary points of the padded box (arrow tail/body) x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - # width and half-width of arrow tail + # half-width and quarter-width of arrow tail dx = (y1 - y0) / 2 dxx = dx / 2 @@ -2551,7 +2554,10 @@ def __call__(self, x0, y0, width, height, mutation_size): # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - if self.head_angle <= 180: + if self.head_angle == 0: + # This would cause a division by zero ('infinitely long' arrow head) + raise ValueError("Head angle of zero is not valid.") + elif self.head_angle <= 180: # Non-reversed arrow head (<---) # The angle adjustment is the tip-to-body length of the arrow head. @@ -2569,46 +2575,70 @@ def __call__(self, x0, y0, width, height, mutation_size): else: # Reversed arrow head (>---) - # Account for padding to left of text; this is no longer contained - # within the arrow head. - x0 = x0 - (2 * pad) + # No arrow head available for enclosed text to spill over into; add + # padding to left of text + x0 = x0 - (1.4 * pad) + + # tan(1/2 * angle subtended by arrow tip) + tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) if self.head_width <= 1: - # Reversed arrow head entirely enclosed by arrow body + # Length of arrow head + angle_adjustment = (self.head_width * dx) / tan_half_angle + + if angle_adjustment < width: + # Rectangle; head entirely enclosed by body + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) + else: + # Head pokes out of back of body + + # The half-width of the connection of the arrow tip to the + # back of the arrow body + opposite_width_adjustment = (angle_adjustment - width) \ + * tan_half_angle + + #_log.error() + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y0 + dx - opposite_width_adjustment), + (x0 + dxx + angle_adjustment, y0 + dx), + (x1, y0 + dx + opposite_width_adjustment), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) + + # Distance from end of arrow to points where slanted parts of head + # intercept arrow body + intercept_adjustment = width_adjustment / tan_half_angle + + if intercept_adjustment < width: + # Some of arrow body is outside of head - # draw rectangle return Path._create_closed([ - (x0 + dxx, y0), + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx + intercept_adjustment, y0), (x1, y0), (x1, y1), - (x0 + dxx, y1), - (x0 + dxx, y0) - ]) - - - # Distance from the arrow head's outermost vertices to the points - # where the reversed arrow head intercepts the arrow body - tan_half_angle = np.tan(self.head_angle / 2) - intercept_adjustment = width_adjustment / np.abs(tan_half_angle) - - if intercept_adjustment >= width: - # If the arrow body lies entirely within the arrow head - - # draw triangle - return Path._create_closed([ - (x0 + dxx, y0 - width_adjustment), - (x0 + dxx + intercept_adjustment, y0 + dx), + (x0 + dxx + intercept_adjustment, y1), (x0 + dxx, y1 + width_adjustment), (x0 + dxx, y0 - width_adjustment) ]) else: - # draw reversed arrow + # Draw triangle + return Path._create_closed([ (x0 + dxx, y0 - width_adjustment), - (x0 + dxx + intercept_adjustment, y0), - (x1, y0), - (x1, y1), - (x0 + dxx + intercept_adjustment, y1), + (x0 + dxx + intercept_adjustment, y0 + dx), (x0 + dxx, y1 + width_adjustment), (x0 + dxx, y0 - width_adjustment) ]) @@ -2643,55 +2673,48 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): 10.0 and the maximum value is 179.0. Any value smaller or greater than this is constrained to the edge values. """ - - # TODO - self.pad = pad - if head_width > 10: - self.head_width = 10 - elif head_width < 0: - self.head_width = 0 + + if head_width < 0: + raise ValueError("The relative head width must be a positive number.") else: self.head_width = head_width - if head_angle >= 180: - self.head_angle = 179 - elif head_angle < 10: - self.head_angle = 10 - else: - self.head_angle = head_angle + # Set arrow-head angle to within [0, 360 deg) + self.head_angle = np.mod(head_angle, 360.) def __call__(self, x0, y0, width, height, mutation_size): - # padding + # scaled padding pad = mutation_size * self.pad - # width and height with padding added. - # The width is padded by the arrows, so we don't need to pad it. - height = height + 2 * pad - # boundary of the padded box - x0, y0 = x0 - pad, y0 - pad + # add padding to width and height + width, height = width + 2 * pad, height + 2 * pad + # boundary points of the padded box (arrow tail/body) + x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - + # width and half-width of arrow tail dx = (y1 - y0) / 2 dxx = dx / 2 + x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) - # The width adjustment is the value that must be added or - # subtracted from y_0 and y_1 for the ends of the head. + # The width adjustment is the distance that must be subtracted from + # y0 and added to y1 to reach the non-tip vertices of the head. # The body width is 2dx. - # Subtracting 1 from the head_width gives what percentage of the - # body width is in the head, and there is .5x of that on each side. - # The .5 cancels out the 2dx for the body width. + # Subtracting 1 from the head width gives, in units of the body width, + # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - # The angle adjustment is the value that must be subtracted/added - # from x_0 or x_1 for the position of the tip. - # each half of the arrow head is a right angle triangle. Therefore, - # each half of the arrow head has the equation tan(head_angle/2)= - # (dx+width_adjustment)/(dxx+angle_adjustment). - angle_adjustment = ((dx + width_adjustment) / math.tan((self. - head_angle/2) * (math.pi/180))) - dxx + if self.head_angle <= 180: + # Non-reversed arrow heads (<--->) + + # The angle adjustment is the tip-to-body length of the arrow head. + # Each half of the arrow head is a right-angled triangle. Therefore, + # each half of the arrow head has, by trigonometry, tan(head_angle/2)= + # (dx+width_adjustment)/(dxx+angle_adjustment). + angle_adjustment = ((dx + width_adjustment) / math.tan((self. + head_angle/2) * (math.pi/180))) - dxx - return Path._create_closed([ + return Path._create_closed([ (x0 + dxx, y0), (x1, y0), # bot-segment (x1, y0 - width_adjustment), (x1 + angle_adjustment + dxx, y0 + dx), @@ -2701,6 +2724,11 @@ def __call__(self, x0, y0, width, height, mutation_size): (x0 - angle_adjustment, y0 + dx), (x0 + dxx, y0 - width_adjustment), # left-arrow (x0 + dxx, y0)]) + else: + # Reversed arrow heads (>---<) + + # TODO + raise NotImplementedError @_register_style(_style_list) class Round: From 0471e927e7c017635623abc45e6f80dffb688df3 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Sun, 20 Apr 2025 21:45:37 +0100 Subject: [PATCH 07/38] Add support for reversed arrow-heads and edge cases in DArrow, update type hinting for LArrow/RArrow/DArrow --- lib/matplotlib/patches.py | 120 +++++++++++++++++++++++++++++-------- lib/matplotlib/patches.pyi | 12 +++- 2 files changed, 105 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 1d3a75c26c0b..f30841c79664 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -23,10 +23,6 @@ from .path import Path from ._enums import JoinStyle, CapStyle -# TEMPORARY: REMOVE LATER -import logging -_log = logging.getLogger(__name__) - @_docstring.interpd @_api.define_aliases({ @@ -2604,8 +2600,6 @@ def __call__(self, x0, y0, width, height, mutation_size): opposite_width_adjustment = (angle_adjustment - width) \ * tan_half_angle - #_log.error() - return Path._create_closed([ (x0 + dxx, y0), (x1, y0), @@ -2665,13 +2659,9 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): pad : float, default: 0.3 The amount of padding around the original box. head_width : float, default: 1.5 - The width of the arrow head versus the body. The minimum value - is 0.0 and the maximum value is 10.0. Any value smaller or - greater than this is constrained to the edge values. + TODO head_angle : float, default: 90.0 - The inside angle of the tip of the arrow. The minimum value is - 10.0 and the maximum value is 179.0. Any value smaller or - greater than this is constrained to the edge values. + The angle subtended by the tip of the arrow, in degrees. TODO """ self.pad = pad @@ -2691,7 +2681,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # boundary points of the padded box (arrow tail/body) x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - # width and half-width of arrow tail + # half-width and quarter-width of arrow tail dx = (y1 - y0) / 2 dxx = dx / 2 @@ -2704,7 +2694,10 @@ def __call__(self, x0, y0, width, height, mutation_size): # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - if self.head_angle <= 180: + if self.head_angle == 0: + # This would cause a division by zero ('infinitely long' arrow head) + raise ValueError("Head angle of zero is not valid.") + elif self.head_angle <= 180: # Non-reversed arrow heads (<--->) # The angle adjustment is the tip-to-body length of the arrow head. @@ -2715,20 +2708,97 @@ def __call__(self, x0, y0, width, height, mutation_size): head_angle/2) * (math.pi/180))) - dxx return Path._create_closed([ - (x0 + dxx, y0), (x1, y0), # bot-segment - (x1, y0 - width_adjustment), - (x1 + angle_adjustment + dxx, y0 + dx), - (x1, y1 + width_adjustment), # right-arrow - (x1, y1), (x0 + dxx, y1), # top-segment - (x0 + dxx, y1 + width_adjustment), - (x0 - angle_adjustment, y0 + dx), - (x0 + dxx, y0 - width_adjustment), # left-arrow - (x0 + dxx, y0)]) + (x0 + dxx, y0), + (x1, y0), + (x1, y0 - width_adjustment), + (x1 + dxx + angle_adjustment, y0 + dx), + (x1, y1 + width_adjustment), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y1 + width_adjustment), + (x0 - angle_adjustment, y0 + dx), + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx, y0) + ]) else: # Reversed arrow heads (>---<) - # TODO - raise NotImplementedError + # No arrow head available for enclosed text to spill over into; add + # padding to left of text + x0 = x0 - (1.4 * pad) + + # tan(1/2 * angle subtended by arrow tip) + tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) + + if self.head_width <= 1: + # Length of arrow head + angle_adjustment = (self.head_width * dx) / tan_half_angle + + if angle_adjustment < width: + # Rectangle; heads entirely enclosed by body + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) + else: + # Heads poke out of opposite ends of body + + # The half-width of the connection of the arrow tip to the + # back of the arrow body + opposite_width_adjustment = (angle_adjustment - width) \ + * tan_half_angle + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y0 + dx - opposite_width_adjustment), + (x0 + dxx + angle_adjustment, y0 + dx), + (x1, y0 + dx + opposite_width_adjustment), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0 + dx + opposite_width_adjustment), + (x1 - angle_adjustment, y0 + dx), + (x0 + dxx, y0 + dx - opposite_width_adjustment), + (x0 + dxx, y0) + ]) + + # Distance from end of arrow to points where slanted parts of head + # intercept arrow body + intercept_adjustment = width_adjustment / tan_half_angle + + if (2 * intercept_adjustment) < width: + # Some of arrow body is outside of heads + + return Path._create_closed([ + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx + intercept_adjustment, y0), + (x1 - intercept_adjustment, y0), + (x1, y0 - width_adjustment), + (x1, y1 + width_adjustment), + (x1 - intercept_adjustment, y1), + (x0 + dxx + intercept_adjustment, y1), + (x0 + dxx, y1 + width_adjustment), + (x0 + dxx, y0 - width_adjustment) + ]) + else: + # Draw overlapping arrow heads + + # y-offset inwards of central points + centre_offset = (width * tan_half_angle) / 2 + + return Path._create_closed([ + (x0 + dxx, y0 - width_adjustment), + ((x0 + x1 + dxx) / 2, y0 - width_adjustment + centre_offset), + (x1, y0 - width_adjustment), + (x1, y1 + width_adjustment), + ((x0 + x1 + dxx) / 2, y1 + width_adjustment - centre_offset), + (x0 + dxx, y1 + width_adjustment), + (x0 + dxx, y0 - width_adjustment) + ]) @_register_style(_style_list) class Round: diff --git a/lib/matplotlib/patches.pyi b/lib/matplotlib/patches.pyi index c95f20e35812..deff122a506e 100644 --- a/lib/matplotlib/patches.pyi +++ b/lib/matplotlib/patches.pyi @@ -378,7 +378,11 @@ class BoxStyle(_Style): class LArrow(BoxStyle): pad: float - def __init__(self, pad: float = ...) -> None: ... + head_width: float + head_angle: float + def __init__( + self, pad: float = ..., head_width: float = ..., head_angle: float = ... + ) -> None: ... def __call__( self, x0: float, @@ -400,7 +404,11 @@ class BoxStyle(_Style): class DArrow(BoxStyle): pad: float - def __init__(self, pad: float = ...) -> None: ... + head_width: float + head_angle: float + def __init__( + self, pad: float = ..., head_width: float = ..., head_angle: float = ... + ) -> None: ... def __call__( self, x0: float, From 212cbc93e425ffa398c09c8b8e0ae53f6d51918c Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Tue, 22 Apr 2025 22:09:12 +0100 Subject: [PATCH 08/38] Update docstings, add what's new notes --- .../box_arrow_size_controls.rst | 48 +++++++++++++++++++ lib/matplotlib/patches.py | 12 +++-- 2 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 doc/users/next_whats_new/box_arrow_size_controls.rst diff --git a/doc/users/next_whats_new/box_arrow_size_controls.rst b/doc/users/next_whats_new/box_arrow_size_controls.rst new file mode 100644 index 000000000000..6285b00df7cf --- /dev/null +++ b/doc/users/next_whats_new/box_arrow_size_controls.rst @@ -0,0 +1,48 @@ +Arrow-style sub-classes of ``BoxStyle`` support arrow head resizing +------------------------------------------------------------------- + +The new *head_width* and *head_angle* parameters to +`.BoxStyle.LArrow`, `.BoxStyle.RArrow` and `.BoxStyle.DArrow` allow for adjustment +of the size and aspect ratio of the arrow heads used. + +By using negative angles (or corresponding reflex angles) for *head_angle*, arrows +with 'backwards' heads may be created. + +.. plot:: + :include-source: false + :alt: A plot containing two arrow-shaped text boxes. One arrow has a pentagonal 'road-sign' shape, and the other an inverted arrow head on each end. + + import numpy as np + import matplotlib.pyplot as plt + + # Data for plotting; here, an intensity distribution for Fraunhofer diffraction + # from 7 thin slits + x_data = np.linspace(-3 * np.pi, 3 * np.pi, num=1000) + I_data = (np.sin(x_data * 3.5) / np.sin(x_data / 2)) ** 2 + + # Generate plot + + fig, ax = plt.subplots() + plt.plot(x_data, I_data) + + plt.xlim(-3 * np.pi, 3 * np.pi) + plt.ylim(0, 50) + + # + # Annotate with boxed text in arrows + # + + # head_width=1 gives 'road-sign' shape + t1 = ax.text(-1, 35, "Primary maximum", + ha="right", va="center", rotation=30, size=12, + bbox=dict(boxstyle="rarrow,pad=0.3,head_width=1,head_angle=60", + fc="lightblue", ec="steelblue", lw=2)) + + # Negative head_angle gives reversed arrow heads + t2 = ax.text(np.pi, 30, "Lower intensity", + ha="center", va="center", rotation=0, size=12, + bbox=dict(boxstyle="darrow,pad=0.3,head_width=2,head_angle=-80", + fc="lightblue", ec="steelblue", lw=2)) + + + plt.show() diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index f30841c79664..5a5f15021949 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2515,9 +2515,11 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): pad : float, default: 0.3 The amount of padding around the original box. head_width : float, default: 1.5 - TODO + The width of the arrow head, relative to that of the arrow body. + Only positive values are accepted. head_angle : float, default: 90.0 - The angle subtended by the tip of the arrow, in degrees. TODO + The angle subtended by the tip of the arrow head, in degrees. + Only nonzero angles are accepted. """ self.pad = pad @@ -2659,9 +2661,11 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): pad : float, default: 0.3 The amount of padding around the original box. head_width : float, default: 1.5 - TODO + The width of each arrow head, relative to that of the arrow body. + Only positive values are accepted. head_angle : float, default: 90.0 - The angle subtended by the tip of the arrow, in degrees. TODO + The angle subtended by the tip of each arrow head, in degrees. + Only nonzero angles are accepted. """ self.pad = pad From 273a2fe36640f2229d85e574041c07170dc4898f Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Mon, 28 Apr 2025 16:42:58 +0100 Subject: [PATCH 09/38] Fix typo in DArrow drawing code --- lib/matplotlib/patches.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 5a5f15021949..31a5a0426a77 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2683,7 +2683,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # add padding to width and height width, height = width + 2 * pad, height + 2 * pad # boundary points of the padded box (arrow tail/body) - x0, y0 = x0 - pad, y0 - pad, + x0, y0 = x0 - pad, y0 - pad x1, y1 = x0 + width, y0 + height # half-width and quarter-width of arrow tail dx = (y1 - y0) / 2 From bf2d06b5bdae9213388e660633693abb34e3aea1 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Mon, 28 Apr 2025 16:49:29 +0100 Subject: [PATCH 10/38] Fixed padding inconsistency: reverted breaking API change --- lib/matplotlib/patches.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 31a5a0426a77..e3bcff7d015e 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2680,8 +2680,8 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): def __call__(self, x0, y0, width, height, mutation_size): # scaled padding pad = mutation_size * self.pad - # add padding to width and height - width, height = width + 2 * pad, height + 2 * pad + # add padding to height + height = height + 2 * pad # boundary points of the padded box (arrow tail/body) x0, y0 = x0 - pad, y0 - pad x1, y1 = x0 + width, y0 + height From 0ea2f5a6e6e0a7c6b91d562d3e622af9ee76cb6b Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Mon, 28 Apr 2025 17:18:53 +0100 Subject: [PATCH 11/38] Fix what's new example --- doc/users/next_whats_new/box_arrow_size_controls.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/users/next_whats_new/box_arrow_size_controls.rst b/doc/users/next_whats_new/box_arrow_size_controls.rst index 6285b00df7cf..99acd10e1df7 100644 --- a/doc/users/next_whats_new/box_arrow_size_controls.rst +++ b/doc/users/next_whats_new/box_arrow_size_controls.rst @@ -34,13 +34,13 @@ with 'backwards' heads may be created. # head_width=1 gives 'road-sign' shape t1 = ax.text(-1, 35, "Primary maximum", - ha="right", va="center", rotation=30, size=12, + ha="right", va="center", rotation=30, size=10, bbox=dict(boxstyle="rarrow,pad=0.3,head_width=1,head_angle=60", fc="lightblue", ec="steelblue", lw=2)) # Negative head_angle gives reversed arrow heads - t2 = ax.text(np.pi, 30, "Lower intensity", - ha="center", va="center", rotation=0, size=12, + t2 = ax.text(np.pi, 30, " Lower intensity ", + ha="center", va="center", rotation=0, size=10, bbox=dict(boxstyle="darrow,pad=0.3,head_width=2,head_angle=-80", fc="lightblue", ec="steelblue", lw=2)) From d7fd40595c83af8dfb5c6e173e8f7e13ee7f70e9 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 30 Apr 2025 21:11:48 +0100 Subject: [PATCH 12/38] Create unit test for boxarrow head adjustment --- .../boxarrow_adjustment_test_image.png | Bin 0 -> 47953 bytes .../roadsign_test_image.png | Bin 10660 -> 0 bytes lib/matplotlib/tests/test_arrow_patches.py | 31 ++++++++++-------- 3 files changed, 18 insertions(+), 13 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png delete mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png new file mode 100644 index 0000000000000000000000000000000000000000..f14d77eb36b2cb6d3da30219d976227f6acedd50 GIT binary patch literal 47953 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%0AJg#&_?k8rN{& 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

v9Lz@` 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 I&++{K0Q|^ZssI20 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/roadsign_test_image.png deleted file mode 100644 index d9cf3646b5857078f0df436313c15f3bd78a81fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10660 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 B6f^(; diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index 86209fc26c8e..530ffe87e7b1 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -49,27 +49,32 @@ def test_boxarrow(): bbox=dict(boxstyle=stylename, fc="w", ec="k")) -@image_comparison(['roadsign_test_image.png']) -def temp_test_boxarrow(): +@image_comparison(['boxarrow_adjustment_test_image.png']) +def test_boxarrow_adjustment(): styles = mpatches.BoxStyle.get_styles() - n = len(styles) - spacing = 1.2 + repetitions = 2 + spacing = 2.4 - figheight = (n * spacing + .5) + figheight = (3 * repetitions * spacing + .5) fig = plt.figure(figsize=(4 / 1.5, figheight / 1.5)) fontsize = 0.3 * 72 - for i, stylename in enumerate(sorted(styles)): - if stylename in ("larrow", "rarrow", "darrow"): - fig.text(0.5, ((n - i) * spacing - 0.5)/figheight, stylename, - ha="center", - size=fontsize, - transform=fig.transFigure, - bbox=dict(boxstyle=stylename+",head_width=1", fc="w", - ec="k")) + angle = -80 + angle_step = 120 / repetitions + for i in range(repetitions): + for j, stylename in enumerate(sorted(styles)): + if stylename in ("larrow", "rarrow", "darrow"): + fig.text(0.5, ((3 * repetitions - i - j) * spacing - 0.5)/figheight, + stylename, + ha="center", + size=fontsize, + transform=fig.transFigure, + rotation=angle, + bbox=dict(boxstyle=stylename+f",head_width={(i + j) / 2},head_angle={angle}", fc="w", ec="k")) + angle = angle + angle_step def __prepare_fancyarrow_dpi_cor_test(): From ff34b4bf419bc33f5833dd939b62fac895778b27 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 30 Apr 2025 21:37:56 +0100 Subject: [PATCH 13/38] Fixed linting --- lib/matplotlib/tests/test_arrow_patches.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index 530ffe87e7b1..781f78b21920 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -73,7 +73,9 @@ def test_boxarrow_adjustment(): size=fontsize, transform=fig.transFigure, rotation=angle, - bbox=dict(boxstyle=stylename+f",head_width={(i + j) / 2},head_angle={angle}", fc="w", ec="k")) + bbox=dict(boxstyle=stylename+\ + f",head_width={(i + j) / 2},head_angle={angle}", + fc="w", ec="k")) angle = angle + angle_step From d9b0b32113c6b7cd2728b07eade3b9e65bafc5da Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 1 May 2025 12:35:19 +0100 Subject: [PATCH 14/38] Update new test to use mpl20 figure style --- .../boxarrow_adjustment_test_image.png | Bin 47953 -> 48010 bytes lib/matplotlib/tests/test_arrow_patches.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png index f14d77eb36b2cb6d3da30219d976227f6acedd50..3b1d95ee9fe86413d157ed6775084f7b315d253d 100644 GIT binary patch literal 48010 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%0AJg#&_?k8rN{& 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

v9Lz@` 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 I&++{K0Q|^ZssI20 diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index 781f78b21920..3a917b42033a 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -49,7 +49,7 @@ def test_boxarrow(): bbox=dict(boxstyle=stylename, fc="w", ec="k")) -@image_comparison(['boxarrow_adjustment_test_image.png']) +@image_comparison(['boxarrow_adjustment_test_image.png'], style='mpl20') def test_boxarrow_adjustment(): styles = mpatches.BoxStyle.get_styles() From f3369c0d633afb57a97fe4baf83f11931ba21162 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 14 May 2025 16:52:27 +0100 Subject: [PATCH 15/38] Changed padding for LArrow/RArrow to prevent text spilling out --- lib/matplotlib/patches.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e3bcff7d015e..d21e0fa27bcf 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2558,12 +2558,28 @@ def __call__(self, x0, y0, width, height, mutation_size): elif self.head_angle <= 180: # Non-reversed arrow head (<---) + # tan(1/2 * angle subtended by arrow tip) + tan_half_angle = np.tan(self.head_angle * (math.pi / 360)) + # The angle adjustment is the tip-to-body length of the arrow head. # Each half of the arrow head is a right-angled triangle. Therefore, # each half of the arrow head has, by trigonometry, tan(head_angle/2)= # (dx+width_adjustment)/(dxx+angle_adjustment). - angle_adjustment = ((dx + width_adjustment) / math.tan((self. - head_angle/2) * (math.pi/180))) - dxx + angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx + + # Check padding; the left end of the text should have a minimum + # clearance of pad from the head + if -width_adjustment < pad: + # Only do this if the text fits into the head + text_clearance = (width_adjustment / tan_half_angle) + \ + pad * ((1 / tan_half_angle) - 1) + + if text_clearance < pad: + # Lengthen arrow body to accomodate text + x0 = x0 + text_clearance - pad + else: + # Pad away from head straight-edge + x0 = x0 - pad return Path._create_closed( [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), @@ -2704,12 +2720,14 @@ def __call__(self, x0, y0, width, height, mutation_size): elif self.head_angle <= 180: # Non-reversed arrow heads (<--->) + # tan(1/2 * angle subtended by arrow tip) + tan_half_angle = np.tan(self.head_angle * (math.pi / 360)) + # The angle adjustment is the tip-to-body length of the arrow head. # Each half of the arrow head is a right-angled triangle. Therefore, # each half of the arrow head has, by trigonometry, tan(head_angle/2)= # (dx+width_adjustment)/(dxx+angle_adjustment). - angle_adjustment = ((dx + width_adjustment) / math.tan((self. - head_angle/2) * (math.pi/180))) - dxx + angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx return Path._create_closed([ (x0 + dxx, y0), @@ -2728,8 +2746,8 @@ def __call__(self, x0, y0, width, height, mutation_size): # Reversed arrow heads (>---<) # No arrow head available for enclosed text to spill over into; add - # padding to left of text - x0 = x0 - (1.4 * pad) + # padding to both sides of text + # TODO # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) From 3913ef610058e566f49ccca3079b13dda4742259 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 14 May 2025 17:27:28 +0100 Subject: [PATCH 16/38] [skip ci] Fix spelling mistake in LArrow padding code --- lib/matplotlib/patches.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index d21e0fa27bcf..e7dc63beadd3 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2575,7 +2575,7 @@ def __call__(self, x0, y0, width, height, mutation_size): pad * ((1 / tan_half_angle) - 1) if text_clearance < pad: - # Lengthen arrow body to accomodate text + # Lengthen arrow body to accommodate text x0 = x0 + text_clearance - pad else: # Pad away from head straight-edge From 63a4ba956beb2f7f033d6f186efd412568256a8b Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 19 Jun 2025 17:49:14 +0100 Subject: [PATCH 17/38] Remove 'poking-out' behaviour from reversed arrow-heads, add padding to DArrow --- lib/matplotlib/patches.py | 104 ++++++++++++-------------------------- 1 file changed, 33 insertions(+), 71 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e7dc63beadd3..a02bd25fcb98 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2597,37 +2597,17 @@ def __call__(self, x0, y0, width, height, mutation_size): tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) if self.head_width <= 1: - # Length of arrow head - angle_adjustment = (self.head_width * dx) / tan_half_angle - - if angle_adjustment < width: - # Rectangle; head entirely enclosed by body - - return Path._create_closed([ - (x0 + dxx, y0), - (x1, y0), - (x1, y1), - (x0 + dxx, y1), - (x0 + dxx, y0) - ]) - else: - # Head pokes out of back of body - - # The half-width of the connection of the arrow tip to the - # back of the arrow body - opposite_width_adjustment = (angle_adjustment - width) \ - * tan_half_angle - - return Path._create_closed([ - (x0 + dxx, y0), - (x1, y0), - (x1, y0 + dx - opposite_width_adjustment), - (x0 + dxx + angle_adjustment, y0 + dx), - (x1, y0 + dx + opposite_width_adjustment), - (x1, y1), - (x0 + dxx, y1), - (x0 + dxx, y0) - ]) + # Rectangle; head entirely enclosed by body (don't count head + # 'poking' out of back of body) + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) + # Distance from end of arrow to points where slanted parts of head # intercept arrow body @@ -2646,13 +2626,19 @@ def __call__(self, x0, y0, width, height, mutation_size): (x0 + dxx, y0 - width_adjustment) ]) else: - # Draw triangle + # Trapezium-shaped reversed arrow (reversed triangle 'cut off' by + # end of body + + # Vertical distance between top of text at end furthest from arrow + # head and corner of trapezium + vertical_offset = width_adjustment + ((x0 - x1) * tan_half_angle) return Path._create_closed([ - (x0 + dxx, y0 - width_adjustment), - (x0 + dxx + intercept_adjustment, y0 + dx), - (x0 + dxx, y1 + width_adjustment), - (x0 + dxx, y0 - width_adjustment) + (x0, y0 - width_adjustment), + (x1, y0 - vertical_offset), + (x1, y1 + vertical_offset), + (x0, y1 + width_adjustment), + (x0, y0 - width_adjustment) ]) @_register_style(_style_list) @@ -2747,46 +2733,22 @@ def __call__(self, x0, y0, width, height, mutation_size): # No arrow head available for enclosed text to spill over into; add # padding to both sides of text - # TODO + x0 = x0 - (1.4 * pad) + x1 = x1 + (1.4 * pad) # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) if self.head_width <= 1: - # Length of arrow head - angle_adjustment = (self.head_width * dx) / tan_half_angle - - if angle_adjustment < width: - # Rectangle; heads entirely enclosed by body - - return Path._create_closed([ - (x0 + dxx, y0), - (x1, y0), - (x1, y1), - (x0 + dxx, y1), - (x0 + dxx, y0) - ]) - else: - # Heads poke out of opposite ends of body - - # The half-width of the connection of the arrow tip to the - # back of the arrow body - opposite_width_adjustment = (angle_adjustment - width) \ - * tan_half_angle - - return Path._create_closed([ - (x0 + dxx, y0), - (x1, y0), - (x1, y0 + dx - opposite_width_adjustment), - (x0 + dxx + angle_adjustment, y0 + dx), - (x1, y0 + dx + opposite_width_adjustment), - (x1, y1), - (x0 + dxx, y1), - (x0 + dxx, y0 + dx + opposite_width_adjustment), - (x1 - angle_adjustment, y0 + dx), - (x0 + dxx, y0 + dx - opposite_width_adjustment), - (x0 + dxx, y0) - ]) + # Rectangle; heads entirely enclosed by body + + return Path._create_closed([ + (x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y0) + ]) # Distance from end of arrow to points where slanted parts of head # intercept arrow body From 7ed9fd1c7000f92334c458bb9e8447658c5608db Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 19 Jun 2025 18:02:12 +0100 Subject: [PATCH 18/38] Remove now-unneeded manual padding from What's New page --- doc/users/next_whats_new/box_arrow_size_controls.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/next_whats_new/box_arrow_size_controls.rst b/doc/users/next_whats_new/box_arrow_size_controls.rst index 99acd10e1df7..562418f111da 100644 --- a/doc/users/next_whats_new/box_arrow_size_controls.rst +++ b/doc/users/next_whats_new/box_arrow_size_controls.rst @@ -39,7 +39,7 @@ with 'backwards' heads may be created. fc="lightblue", ec="steelblue", lw=2)) # Negative head_angle gives reversed arrow heads - t2 = ax.text(np.pi, 30, " Lower intensity ", + t2 = ax.text(np.pi, 30, "Lower intensity", ha="center", va="center", rotation=0, size=10, bbox=dict(boxstyle="darrow,pad=0.3,head_width=2,head_angle=-80", fc="lightblue", ec="steelblue", lw=2)) From d953aef4b6582d0a06a9b14167af6f0119c8c562 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 19 Jun 2025 18:19:51 +0100 Subject: [PATCH 19/38] Remove test_boxarrow_adjustment --- .../boxarrow_adjustment_test_image.png | Bin 48010 -> 0 bytes lib/matplotlib/tests/test_arrow_patches.py | 30 ------------------ 2 files changed, 30 deletions(-) delete mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png deleted file mode 100644 index 3b1d95ee9fe86413d157ed6775084f7b315d253d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48010 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 Date: Thu, 19 Jun 2025 23:26:23 +0100 Subject: [PATCH 20/38] Prevent text overspill from DArrows using padding --- lib/matplotlib/patches.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a02bd25fcb98..864447240f93 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2715,6 +2715,22 @@ def __call__(self, x0, y0, width, height, mutation_size): # (dx+width_adjustment)/(dxx+angle_adjustment). angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx + # Check padding; the ends of the text should have a minimum + # clearance of pad from the heads + if -width_adjustment < pad: + # Only do this if the text fits into the head + text_clearance = (width_adjustment / tan_half_angle) + \ + pad * ((1 / tan_half_angle) - 1) + + if text_clearance < pad: + # Lengthen arrow body to accommodate text + x0 = x0 + text_clearance - pad + x1 = x1 + pad - text_clearance + else: + # Pad away from head straight-edges + x0 = x0 - pad + x1 = x1 + pad + return Path._create_closed([ (x0 + dxx, y0), (x1, y0), From 54147e65bab7d2f85344cc46ddb2ee130819fdf0 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Fri, 20 Jun 2025 16:12:17 +0100 Subject: [PATCH 21/38] Added test for arrow-head adjustments --- .../boxarrow_adjustment_test_image.png | Bin 0 -> 56873 bytes lib/matplotlib/tests/test_arrow_patches.py | 41 ++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb24dbb459ffa8191c2ffa6ef7497952bbbaac8 GIT binary patch literal 56873 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 X89`{=S$CRi&J7<9#f$qsCa2;ru=O@} literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index c2b6d4fa8086..c6e232e2df0d 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -49,6 +49,47 @@ def test_boxarrow(): bbox=dict(boxstyle=stylename, fc="w", ec="k")) +@image_comparison(['boxarrow_adjustment_test_image.png'], style='mpl20') +def test_boxarrow_adjustment(): + + styles = ['larrow', 'rarrow', 'darrow'] + + # Cases [head_width, head_angle] to test for each arrow style + cases = [ + [1.5, 90], + [1.5, 170], # Test dynamic padding + [0.75, 30], + [0.5, -10], # Should just give a rectangle + [2, -90], + [2, -15] # None of arrow body is outside of head + ] + + # Horizontal and vertical spacings of arrow centres + spacing_horizontal = 3.5 + spacing_vertical = 1.6 + + # Numbers of styles and cases + m = len(styles) + n = len(cases) + + figwidth = (m * spacing_horizontal) + figheight = (n * spacing_vertical) + .5 + + fig = plt.figure(figsize=(figwidth / 1.5, figheight / 1.5)) + + fontsize = 0.3 * 72 + + for i, stylename in enumerate(styles): + for j, case in enumerate(cases): + # Draw arrow + fig.text(((m - i) * spacing_horizontal - 1.5) / figwidth, + ((n - j) * spacing_vertical - 0.5) / figheight, + stylename, ha='center', va='center', + size=fontsize, transform=fig.transFigure, + bbox=dict(boxstyle=f"{stylename}, head_width={case[0]}, \ + head_angle={case[1]}", fc="w", ec="k")) + + def __prepare_fancyarrow_dpi_cor_test(): """ Convenience function that prepares and returns a FancyArrowPatch. It aims From b5ba28e957d65afaf1fcf3236188ed321eeda500 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Sat, 5 Jul 2025 15:16:25 +0100 Subject: [PATCH 22/38] Fix padding from straight-edges of reversed arrow heads, fix incorrect padding of trapezoidal arrows --- lib/matplotlib/patches.py | 20 ++++++++++++------ .../boxarrow_adjustment_test_image.png | Bin 56873 -> 57032 bytes 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 864447240f93..6e1324e78020 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2589,9 +2589,13 @@ def __call__(self, x0, y0, width, height, mutation_size): else: # Reversed arrow head (>---) + # Distance to pad x0 by, in order to ensure consistent spacing + a, b = 1.214, 0.250 # Empirical factors + padding_offset = (a * pad) + (b * mutation_size) + # No arrow head available for enclosed text to spill over into; add # padding to left of text - x0 = x0 - (1.4 * pad) + x0 = x0 - padding_offset # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) @@ -2634,11 +2638,11 @@ def __call__(self, x0, y0, width, height, mutation_size): vertical_offset = width_adjustment + ((x0 - x1) * tan_half_angle) return Path._create_closed([ - (x0, y0 - width_adjustment), + (x0 + dxx, y0 - width_adjustment), (x1, y0 - vertical_offset), (x1, y1 + vertical_offset), - (x0, y1 + width_adjustment), - (x0, y0 - width_adjustment) + (x0 + dxx, y1 + width_adjustment), + (x0 + dxx, y0 - width_adjustment) ]) @_register_style(_style_list) @@ -2747,10 +2751,14 @@ def __call__(self, x0, y0, width, height, mutation_size): else: # Reversed arrow heads (>---<) + # Distance to pad x0 and x1 by, in order to ensure consistent spacing + a, b = 1.214, 0.250 # Empirical factors + padding_offset = (a * pad) + (b * mutation_size) + # No arrow head available for enclosed text to spill over into; add # padding to both sides of text - x0 = x0 - (1.4 * pad) - x1 = x1 + (1.4 * pad) + x0 = x0 - padding_offset + x1 = x1 + padding_offset # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png index 5eb24dbb459ffa8191c2ffa6ef7497952bbbaac8..9d3732d27119853998754281ffd6eb04ac202ff1 100644 GIT binary patch literal 57032 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

CS9sr87<+%(qbAeZ_?Ob5nxGNY6a)81 zj~<S~dOd zQO$>`Un;x0bnsy7_%#CaHD_Kud**&E;&QpQwegQY<(B>X_j97`GU7NpH8n-Vy6(Qd z$`GzEtLv$$yExY7HvlJlxi0_VXdK<*HrR6g#{*=b0)P?|%hZA4;Uf_O_2D9yE?puD z^Lz_a{X2L50CF}b-=W8brVD2{G=gf>gH`nIP3xy+s#s0#gFC5-0n45!VfEYQ;NjuX zL-YCAqV^9kb$+XkGBRGYg<&#&#~c@a)(fzlc_-=I-Tv~*i{5_T`dGEam-yG8+$$+5smNplb=p=R1A^#VZS7WR8k9HX zHi*y;qF+Sz?H>+3VM#4!Gn|k4Vd=3C4o+`#*t|AhDn-;et!Mjh7$u`DXFhKJzT8GN zR_X45DIKtdsM}zE^!HTJ9&iB`E$7sYlQr{P96S^OIRR+*llmLNb8>RB9inWawq&3B zY=cy{u^xC?`+FWNxdmRb;$xlv&0y5DJ z75iI-Sp3Q<>Q+8w=oD{yE9KhO(e9qt%X{O-4eg1pVhhQ8y3UHXn@vMsw4_`Qj8=}9 z!AR&@l^-MrXjS$28mZvfjyuivQ{^*ce<^U`Uk8<~KjWLk5ukdnxVsq*Z6e0*1UH;s06 z?Oih-{#qf~eNl|0v$ndzxa1UpfLn~8t3-JMb9FlzP38@xun$*tRARHQD%JDFCs zTqhN?JEswY!$zz`LlaUGau{4q#kB|RGQmAPKpjJhvfZC;-g&>)Cd+2z`AAEOAr}Il zJi8^zcoZ)-Hm_Em`1uJNM3|61+zJF}Np0>Edl?wW4aDym92{KUPABY3Y$pmgyRn=( zmTCL%rs5w=Qb?!v?c2w^vY3)01U@^~woORJ_K$ZEt0Z$+)`aJNB)8{%U%^lW|2EgJ z4wXm}xs_^k+eXlb$P08PFX+q&)azk0mbaFB+B6ph`RGS$|k*jTz3*FlTN{#En{n%b!m3%{A>PS0BzF`FC<;J(s$OE(Sd8p6U^JGsaoRo+&TtsNsV#iki4CgYxZ`Y$0Y;;Z`>L6lS#7GZGLh}m#ee5GrZ1-$ z_~AWKvMCgllrxKi0|SRn+6*7e(_HSW>w`>ml-&$5)1ee$|5>dK=&+au8e8YivbYiB z{;h4eR{?{XJvmM4n9y@tTJJ$(zg(Lg%^G`r?@x(}si!gxCvbn!8G4CNP0CD6OyIkD z(g&4RvzI3;8U5421LVYeKY1e3ayhzTaOH@c`iC!kY`;=>(@Fd^zU!%sSQ710@eV-8 zJ8LxaQi@T-#WABokhrlT1<}*iV9isbs#KEoRm3%PbUwB<(Q-)sHpl|ak)zhx-M#PP z#fwG_chuQBP4}|seiG&9XV^f`Ui9_epKe|QL>w?L4`jl=f#H4n^r@CjPA*swt+BQo zhk!A`W5=F8e|{g|%VL#6}HgQ(iQ=TBAd@rj8qbpoIaAApMq`}Ar3 zNNc(*N=~f1ChEb7kV8k0o|BfQ0HLrcR%tV~8i0uE%(kB)I?bjh^}oM%*DZb0i3muy zss==I3U4L0B%qHK_AVtgZNlIVu4|qQgg8KO@bBIs_|mW6upyXy@^_=aa7!ErP7VaS zVu1ID;Ppfnr%-EfadNIhYBsmEl|6Ne1l`FXIn{o7{@yY;*RtyBhgn%-_dPs}Q*TA5 z{)a{;CgaC)dt|ge^hRl5Y)s-^y|8efI_98Pt#5vwlBbUlXwEIkeCEfZc`f8;hZZM& zbPGyv63Hxkf|?}Mf1XcR0<)il|Cq86r9J5>S9T-w!2X{NF_e7yHJ3^Rh6%}%91g7w zvJ!nZ)Tja7WR2C?lA_wp zg17lGNZ-ubE?-LsoQO9%-|kZ}o*Ba$tI4puBR=2ZK|@1h@QFRD{TY|6IiUKEojc!{ zmL{}1spYxszVzzIy7tDHJBV6XuHOI-zNca2uMsTr_Yg5AWW&(nn&3BYHX>lkz2;wM zOSV?#nt2M@YP^CcUg%3r<<_=VD>1Gdq@wjDPjk}kG-6ocQA}7rc(>x1l)zthlUxO%K zEUGaM{%2Bo8>r6kHEP#4T}tYi+i7#Ib1>TtZ9Nlj z{jZsbqNmNViok2T@Y=uL2ZcPxiksPv^;A_&<#X4k26!V+a=rBJ2bejVJuKJM8+2V_rF73jdeaCor z^!7qZrVHhVOulx5Y2p>Q#$lVE0-dtQ}G%{Tzu zOh@i2aGh{o6w+{>xqHk@EOivKZ*0A zI)wZ>yjJo)doArQxursaGnIJrli{dqfUuC5F6mvu9wR0225;_}i>Wn;`Mq6HjJi#= zgXaCo6DLnnba=lkdo^BhX{w-IP?!<_P*zcqWWyA>Zh|hb%*Na^-M(||4a;UqK4C|v z!u?6R1F3Q3_%HC;PVkV*j_- zzA~pRzI^pcHEZ+P>y)x~4e^nYWi9IO^*!C2D4rY>qF3tjS z`IXcC@j$31&YiG@2DleyOV4k-A4va65{{R~ z@Z&+g*e_>s8xC`$e!|9$H?w%GHb80v?3k^fq}k8CpsIaj;~HNB96{?3ke7U!%=k14gtdYY4s&ZS^`_2B}AHT3|~7baP|Dg_xPyYh47 zuj{wLwL=r1N!&WTH@;q>KToBd-lg5)bb4emNTecU0fwzbWvUB-dQj%{hqpyDe zb5Q&7+-5`u76w^6ZxesTzzUJVPrPs5ya9TD5FH&2Ga7bE{I1_r;r1PS=YTXg&Nle< zDI1w&8&>&>k*N;+w>e!Hr8w8XjeWHqVgxPZ2Utu&+O~arBG50m0(Qb<@#s-L6#G4% z`O2Ekke-3NQBxz{cmquSiFoHyfS7g_emSrzop0`h);fj)PeUx+dhg!7uMRVZQ&f)< z786EBFYoQ#D2b{K)=)~hH8dsf_5QwQAtS`aC2l-Q~`EL&(Hu0 zCfGxW8bOZ^;i}*tMEqLF@OgPt)?PqR?kl0|Nf7p^;Km@VI!f^xeqplydnF`@P(?V% zYLjkXG9hQ~B+NP?A-h8z1`m<)A)zMfSFyl7K@AW~vuRVoqu}5IHdl9p5_Ggn7aB#vWSGZcnuU1+%WqYFIs^XLd0=e8c8R) z!OG*yEKp#OMOc485m1t*$J#kQeE1;Kx-wo!UshH10GOTNO=s`aecE`;5Vpy#4-eTh zW8+rtrT(#BKaQR@`CtF!qjHZXI*AOup`y?cjB zX$P3<$Zz)w3JV`FNMq|%x`GsV`_*P7h^V?xFYOZ4@0TbAQL_*Fy;jn@qpB%?ohQ(B zsaN1Hdp^?p{f+Llo1I*;MK@JNKMafk`|8y zx)X6oW~slgkDK%;*LjJ>IU9<3igD9rcH`;(TA9`!P{MP`*wsPHZ~8CF%kLx=foRf* zo=t<_R3ABOFF$|64^1#A?b?8{lWTxI0w5A0;}LQIysaoDind=7*PcC&iiCm$L7Z#f zzV&bbA%C4#QevDPCHugQ^E=yqJH6!m9+#CFW!!d)PJ5`+;HGTU+Tyd#x`+}K3KB^yJ9koXb91vvxv)X7 zcnC)ch;lbjZE$*A9J5Ce+7ovXo?<&}5xT`~OiU4TYs6nc3sj}~Jb98fKc!%vE=&;> zFOt17+j{We!BZ$`VOy#}P=5=tj>V6fWIp=)1UxJG&|2W$BK0d~^6) z!4t9{o`cTTRD9otV+P7 z6Ll-$66=VXz;c}K%^QRItQy0&s(j4S?J`pdq1i1>?7 zK4Qy(4N%xl{Ma!?5(Bm(BZ(k@Yp?XXySr1kVZx71ToW7xQ@ItYc6?pa(~*q2zvd9t zG!sLs>sRe_2%|GW+e$|_ut>B)r#=f6v}Xc5&+U|uQJQ#}u&wY_QO{_os2qY@-jl)A z4+b18kh4ZcQMHmvH*O604ddN6P>2ttR(=1z1Lay$6&#!U^)-P_rKBkA8L33!rh42UjU-a zX`-0PdhsNgsTxQ?K5eNfZ}m3lkCNy6FLevZ<;=f;M`e1bsk%GZong_P$&J7SzxrIU zt8cgdO1=|pf~3jaO0|AHv*(mq?t+ZuYTXs70STq+*Z1*pgL=M_CT8B@rjdm}vCxeA z*f_0S7`gk>G>kKsHP58=U8dwCC7S$75*sbWsC92B3Dj^XH(({_4}l2%@lMKY_I0Lv zI(V_Ye0`CgRR!Of6yRJB=tV~& z{Dpt5M}ChVOY7SRa<3_}3-hxiUS{%5-XEa1#F5*t+R2*n_)FTT%oT=JVE8%ogUrLSl`y8Hj*-S4jjZf02A zj$N{x9aj0BX}y^c!%`_oaECHTcTDzF>id7FHQ+a@k5rZ5P;j0c`;{C~UW)L{-8V)D z65iw)WdjdSQE4e*3&`L+cb)T>6HG zeQ#I3>V)hLSIhJ0(&673*Vv=uxNo5DWRrCI`geT`*r>pQRxnT(0ds;oVa<8S25XM6 zaox9X>yS`||6c6abWl_k8a=r7@24UZG9I?wFoVO`L5eaaJW+5lQLWDZp(iA5`br2X zFI4Wkr|-%Nan7~o{yaC>P^shCQ}^Z&;tAo~$(`@oY)=_{0;Vy2j=AaS6y}T8yKb?| z1&-1kdzH)dez8|bS2Ow%G7+3|9v~aKz%lkWCvv&v-H%DKb&!*zg~grs%2)V+NUJ9k zXUE#xJ9=3!y=b?zu@M1$Rfve+Ka=o(%{Jr1+IP@2MK!iO6N{H`-F1Hkc@UWSn%28^ z?C^x$hU@U*O@I#IW}9;yMMrbyG;(b4cZ|ICqU4E!=*uW$V`GsNbyt@cP#`5|wAAl@ zy@`hAX&*Nx%;oZ&cr7#z%stfqj<4>nx!@q9{$5mJ4I zNbugv*!(tW65p$<16^%xZPT0E)Pf;L5tbdh*LfDY(9A0-@x%&G75CKNq!My?j~zW$VTBarSRp zy7tbkuaA>K^NBzFxWmnfl$auObMvP>CuvzlW)kw-Ke;brDz5sBB1WLZ|V@1N^BE{G6FBBpy0K!$Be?xbg8l9 zAj&<<%Fdg#=c+gAqwJwGx~4LbuegVLa4uU#L19n)GQJz;Q{q*qy@bmQ(_7ghl)CQBnP_A6L3nur(R0z?6wd*7)e*ReU6&^|xaGxVllWir zM9O*8IQvF&f-P6LTs81JL$EPk(?2^~97~}5y@+u#=hZWjV=Y#2`nj#6BrOX|d`L(j z#Jlxcxgva;xxPsM0}|mjwAlv^z7rp^I3aHvlHKCFY^05-b!4(Z8Aa(jh@ zApRDB3W@e}>Hj~NTohIWmBS?tax3-Zc~H|4JvX;+eLiKJW?cJ`3M4WtUnDw5Z@+ro zUrDzo$6%`c=0Pt>gG?P}YTcA?B8TsP#a-G`fBW7&0ia?MbNr=_c!$cevV3qF-IYl?L#$5}zpRy{qpQ|V{w`S12E8Qc_ZP zmASUI_JQ{9?^j)_u}Gt*niQw*bro$SHH2kVL`DcefKCmvZC7~Fl5NrRxOn>z+MK3E z`~+m?igvNG@(fwzyRCD$mJAR_jcSmFlYzi9ASL_BpHy#w!=!W2-L4{gMvn8^f1@o0 zbN>5>bcHdw+#oles?Jt-!pTlSO_ zNx~A-LW+_~Y3$LT4fjPa9l%0!YirZO_I_BpH@PY$@%TI`-NprG0 z$+(F(Bm2BOn2I6{{$PFH;w*^VvOKA|-iy~JBAO^jUdkG7c}C`VNHFq0m(nwJ)T6FpLxIk!blBZ_!w9X4 z!3Wa2b1ix{X}GS;I5_@jo#+m@QepWUfEk@PCMjeHL5c7S!3bIar$m*37Q zd{sj)vRluM?%rb|>$EzA%i%<9<5Xip3=IrC0wv)w3b4KC8<2DvX%U7ua3_q*VdY}4 zhz-^922ww#$CTOj5 z8yp+KunX9WllMeBZQ=m`Q@e5L;)lZ{pe&tRMK>L?r1Jj0(AvIwU`-M%SdOqhTI3S% z{gLr}`0x*&RmoX`Y~7@8amE{Ajc|8h04674J2;fPx@b&fvdJ?G;5ffODL6b6?)wRR z8@wUE^~A_mQ^YbR3$|*^)EWrQ9S3P~`mJAexiQchI-7trrrsZAP` z3OPn+0A58*TlOhiLSHW?s#6F7R~maUxK+dzZm6nm;#^Od_poe(Oq4lNf9+GzbxaTc zXx5%<-S$z5h7(0XeER2%ic;QZJ|DA(eeuMRAL>v$Hb(pK-y@v6mjq8yjn1D~*QfSWbMp=8S{0HCo+r zb8{`C@Agzz^5vOK*g4LPHY^1JdWMYv)wER?6c?WZTiOs+Eu4CntV)Pq=`*Q%t*{9k z1nEf+Kf|fL@Ra0WsPowQu2IF#CB9oz-8HPVXdV9?ol<%OPab? z>5Or7u}VCkRIf+3ycITnRs3iFfdhliRWRN8rA0?Z)>Q5U*8ceE(+D$54`|g2k3#60MVF3govL0{zo9>yD)EO!Pb$O8}+rc z_7FYQ`!Bt^Dc%O_<8&H}=#5}30SDtb`d!D0hUF)W!nWS$aR@$!CRlXX=)j|v?(AD% zf1T~56%7!}_~fKCI@usc4_f)+fjeO+LPc;Ig z<%1d%aaH+=t|zp76x}k*xjhnBv->p~F^D!Xq6Ko^lKk}^B?=6pDGp^>4Y+PvX8!yG zfi>HtJBZHT%a>(9Jc)~oGqACl*bJE)UxEndQFs|drzba*=s$PPmhwi)}HB$>?Z9!B{ zqw_@reSI6Gr1Hd0%9xucw54UIeJ?NnQf_+nCIB^{#glzkL#+C1*3nB$KZW$j1JDkK z&C}>IA*zagjv>Vmd`tIX_L-{E(hcB3wLI9eat(!82qqp)r)XWj?thKtdxzv`RUtSE zz{TS2JkRJl_4)rwbs~_<@C9gwHom7WWz=G)18>VkbqhgeYoH}*G&_~w7WE#4=VTXM z;tJ<4c8!yG1F!=6ZoBpQ4;Mr3Bff)0N0b>h8pyU1Y97kuf77zg4A04@adUA|qQr5y z#JlyG^}R2rtp6;$BwQ@Jvb%qZAIysR)%9HXY}HOkxUq;=*h)|b!{CJpL*0i)65Z2L zY*%8SaJ4!|2YYx>wxpR>;;JkV8PQy0Uw*E~Zs0}Pte&3UxJP8gzeGa9hv-6a;{>4? zGv1}H`!~_@{$kr$F#64(KQh@Y>S4%E+$bR0I$MvcqMYjqt&KKtlgYoo%$E^)3r!f1 z{fL3#tZ?L&dKASLG(G5S*ToXeGt@+08X!nMENhn^>>M3xbXwWtsavE*9lqs$wT*P8L%_YP@aPi4h&)RS^7^e`~Ya zV>$Bi=V$fAzE-OKyYoP6k75M4XcFNw*pEd^n$K-j8=sT&dqA9^@TmR}RB)1O-q|!9 zZ&Bql>Da3;P+tSD*6D@yQCU~l2|Kf0*!$0Rc-?#2e(mVNg9#Q_&X0VpgLH{;9iN%$ zdE`++n2(@7p2n#gn3=O{iJ(d$555fkCbXSsvqDoSJe9^HaZf7@*T-`aCYWcB?_H!M z%rIYADEa>X-~S!QA&59J8o7o1{y-$G791|~oJcdV8D+#7QE8JkYDN_#j+(Fn`lbKg7b?(j|b5; zux0m2J;V<>?9@W%IdW;{r&dL<11Nk#HBHfc_D|+HDjJe#K=`jdw&wrKnpN`ezi$y; z7(_-z|0>}%`hzmP7)FQS-{M?*g>Ru@9Dzv>rljp4j@*li&VraNZBhSl;E8A~nVNI` z>hjbTf_{M-hISq%fC>1_ya=ChmSa_DK)`mi%liSEbz=0T5v|bX?*}s)ah?t~Q>qP< zchGLo7KEYKb+ylxF!Jr$vxkIc*t1~E(BcL4+;D{VIUN|z<%KC6=2MIym4NyRoZZy& zMO$C@^jF7@9V05+GouaB%4m>&1b1x5Op~T8zJZ#SIo}$C5v>$E4rucM{nS7LlYUd+ zi9H!80Fnc_Ti}t;ud1qQQ9q!VgXU;fyo2Z`0+QELcbREWMus9xCEz>xExOMW2Z&(0 zQ)~jiJR_t{Uf#>O2jbK+C{SV(&jIj%hPd(;wz4T6^47RQV>B=d%ntwJ+C1J}9zcp> zx~$yx;vs5sOcc-D3nLz!Awo0@aHwJ>(SU6A^z3ec3eXe! zT%aOJ4~NYBn}L>va?BN-Z(Tq@M8BEMaI?Fo=XxloI2+)q*9RbRC~x(xmUm%%K%Inw z#;_Prd1$0rPX+20Z65gHvhs3ww88BK=@onz#NKz6Bw*pS<%-wfUhHnJ*PY}jBjv;fc@MPpH^H{^d6W^-`^5v$q?stkjC5B zR@w=nl{IYX`k8BV*;R{+`RMfOVI9I(-5Y8=3IqBk9KJz#Q;6w-ARYFN;tB{=n7b%Q zFtjLnh;Mk)2#3A+O#L;x!7mX6a|va*l3pC=MxE4f7}yWIb=s>PkBn!pZ6O~}#Euh# zG(^9$I79TcJ_d`4{)@8r(`aluMdJ=5M2_JF$O(xyO<%kS;wwbc(!!z!OeV_8E_CD; z!1q-P3ixD*=HEkZk`IlHpG*6oLe&NeT?gG{lU0IXr2&y?=;(?!^JTlee$5QmHFVHg zOu3A{nVCP1xX=QF^IF1D1d@NES-a$d*UHLVJ0%GU!qF=!U=I5Bi+-f;Mw|4V)jNu&A}~p4 zdCQ|c3M7FuW>8<|!;(*oC!WW`%8eGMFcF|)(n4NeKio;M{p&rhS4UJRz(iurmsiGQ zf4Lv2oeIMjq2!~%3xxFE!^*c`@v1+D#r?{Yy@xsEhE6^{pL$J6DcsgY!lL^Tn==Qx zTE+7w!?lujMx7MnnaX=1nxEr1SFxZ8k&Bpggo~=%Um|}1vGU)p*g=?dq-mgWS3dKF z|DV|`Z$$+7f?ubI=ETn(%*^Z!)=oF3A1JRv;n zL|`&E=N}vY>=0IKP=h`I94oN9T4Ih3c#b$yX5sV@T52&BROlA}D7u!8FK-+@`ON4S z6r7s(r*UiwLz~?nx{PgZ7A`ocV5i&QOOjQ@{(GNy*CB{}OutX~!QQ@o%Wu-mPjm;U zo%RTNae&DVG|5&FFYQG@n0!sqwX8lJ!0ABf z;-exFA|5zUeOHkg7=ix?+)bCEP<8u-gN&};^d%)hMj2i7K9q_4br&_|B?WxeC>(^ z73sMB%BkppfPmC2BSo~#z(xEN;sZ{NKq$$_X+4d-*utGKI?OVo z&oCdiw~mAg$Lrz44d^W)Y;REFm?8MVp7RaFS|?7Qft#EP$%*6!D5CVil!I}e zSis!<{wS4Tw5IoyvqXu5X0SS$M+osVcV+e#=@isf8DD1Y6f$nm7n6>;L@9#o7dC>9 z+zl{$6kzPHh06&nB^&tPhtQ`_AwzrL42`4 zjJk9q`Uj4B>dH*+$GJRR{HxJL0KeImTA62 zhc2WALpH4)L*LEmF*|~$Ye5dRPO3u3d)2BMOC`vYA{PQs5dk-JJNc8St zP;bH_bTcbBYP|m16>ku14Fkr6*=ZqY0aIEGHufAS7g~)%U|8Ip0FL@Y- zB49H=tl4D!s^=p}x;zNbd%-Sho5#R)jsuyHS}5FbAOsUc!LA2P8vF)BeSHygYzPv2 zaqORoCfGu5=nlTKi5OgXThQuSTZ-|1@bKZownX0y>!DY~$4NzK{L>jw{@DRjNf9t= z5o~qEl=R|z2riIBgT9~%wDQRl{);Z4HuNM{w5XdZpy3s_C`(wR_8vJRxB3J<`bF3; z`yn*(!JZpSmcQ_SZee@lT--^`YwC!;^6Ryqt(vAVJ~EP@Z1Ez z%(NLX8i@;<{!g{Gop`SO14Oqs77A!kDnzw&IC9}xNC*f_;~J&t2A$>kiQ`W5{Nm!` zM4rGc5#h(dwgs4#(O+Vg852Xg?jIv_?%cQX@{I&HH9OJ@YuNibzno{ zupm^)1ggftM`ksFI1Vmn%^&@#nbcu-vw(+ur2I>2z!1v?i_k$66SQ*%f?Tru<0slZ zbZeJkQcqKQkos5ibwnlx_y?om25bS`N`a#XUQHzu<}la~2|uck&_1L$dhqR_p_7w1`hnLq%c$d^p!HN#oH&XC@kyM>^60FyztM~Ra|&4= z)XUTJJ>VFuE(Ce(oAyr3HZI%Yef@v7 zOYUh%$k8>z`$3!r7OnTcJN>CA|EOmq`?^~h7N6T_ZsHb$x@m60ItEYrP7-lsTJzU? zVW)!;`Oh6cabm#vxuD3!CHR=V;lOy~6o+(M_6JtZU^aP08RB#%(jLTrGyacZ%TCs^ zb}wfUskXtyBGVf2>C+<+RU1i!yg@WUQdheYefL*_aCjrX!BiQSe_3tx@84=3rI1;u zNIB1#b>qEpc*wd_n4CBBUw*wp@=U~`I0tO03YEwMf4y(0(srQmJ7y4(-6pv@ubYTk z0DHiXeGK9HBLs&@I|S2XEtg^43#)zP=0@^xh>wYR5$0R*pL!Nl;VTrYJ|Krxvd0TH ze}n}!X$({?(;CiM;zASZ-SJR^Xtb^J5*?uv;3CwC5-e0x)|Z(R76(39RQwNEx}*vf zER}P=Be;gwF;$4r-Y}6@=t7DvfGqdd83@Xu80GbJOMhedKmI>}r!Hut4kOmaf{3~C zqnkEwo@s&K$Q!=cN)h5zztbGJqoW*aoew$S^~1I3j07bm+unza8dzCaB-Or?m6x~n zY&z_oj&ni4bKUq(c-%(Gw^kFDfVv2LJ%RASnteiaXC_}L4s{DMnTvN_snqF+^@Ai( zru*7q;*h)Y!meNkK?Z55aSDcj1Mj&PDx&9*8brCu^=Nx2}tG@R`4!4TNG%TKh80WO{$ zsAd{R!>j&pA3{YPglY-4fc=_x?)-RL>$r^II(Zx(^OSE*rA0+Fq^`tL_U#0?5mpV@ z#zIL!@!iEgZ4mF$0TBQDkI;cBB12#8*uI@ha(VpBz3#HD$#u#s*FYUNrES-!p38il0kou%xX>ytNq{D zdlR^v*R_B2NfatVG!e0|3{5mhGE}k*iAwV*lAfM2H5w{WiNqpN%8*i;HE9${lqgMl z9z8NdgC-iN)cIbq-u+JdJ?}p6|9#K-pL6zSe?DvPRz1V-cmMADy1v(USSMMG4L8PZ zwXB?+3R_l1#i*dxyESfl4#Ysxvkyb8DOhj}bg^aImWVedW^tFIStIsU` zU4}u3xY(+sJg?Un{(6pBnwl=Y8WAyW+tHejFf5(Qz~OPiG8Yw9+50uHNt|(C*9_vY z`5=irT6pcqTu4cmbk>l69uY*zX+Y9NBsVY5oSakP)G#89ZtB88W30TT!*50gy~vUo z1c>~~fvR(@^SUNVKLW{ToVBM@j#J~0!8apL-R?O){QwD;ar&^3;(I+diARr{Ll2T~ zNeB-CPpv<44dX+M!a$K6^`xH2*h%E-cJLRP_`iBP+ie4zz!dNB9+H10Y?iV3H>cun(G`c>t^6 z1*%}b2mkq!R1*_}Wq27DPcgdJlCqv3BBw}5vFRZ=5V3c6k`2(2#D?|-OW+H*F=1L4v@v7kEy7VUX>Zyz z5s2$=pDbtpyG+F^#YD!tdqTpY>Q7IBJYaxm?=MLAqqR7&@D7Ao877~#qW?1b!o$b; z{QmE-7Za+IR4zH0SLCmI{IY+H!JDggpPAFqB76f?XCH>0q{)VoX>6C#xgC95g8`7> z9BGikDfoDgeOrG21{L#nuve?4aywT?5gv32PNI6CWN!O326Xp zNymW4qgw5}gl(K`+n2nIy;cC>;G+oheqLS~r=~mUl@1vT+CXKz4?n!LW<1b5LpwrI z0XBn)1|S&FB5J3zKy2S*&#GbGuCy1PK7GgS&a_4LpoYOR_$*E|JdNM@(QVBS?PCMf z9QAicg9!Ncy7?vfrArgGZr+2#?`edT8}LrRJJ~a7j(vtOX`CQ;R^P9!1+=dKf*y>0 z>djfLleT~WZfqW=w-=oEf51lUPC|KDYvM|BVI@C523acueWTU^6ooskY|?wa?C6qWE-cw;QQPM+ z9k``kvK0Err`yBX)zJ{eLBe?c%9Xw8vZz{kfS%%ck(QNxKBsGOFQ@@(1mvI%A+x=8 zjqP|K(q0`Y#thPHkn^Ss&7#oS-rtEX+l?xOymnv~FuCjg$l!g?CEtyg?S1*1hl?Wy z?c|Yq3VlgB?y+>i$pvi$wZi07cH|AY4f5g2jnM~SPnub#+6Zb?@k4d&F5njNA}L7!K1zk<%r-I=btWT{wt4!>geZ> zBYnj~G)(w)g4&>4i^(c?*tYFlt6XyPu^b%5qkLBwzm%m&V&}tbo&h4)vU{%=pYR3^ zl`G=^_#Nz9M=a|)>t4lPSf=sY33AEB3;AISA>%GEcSijn^G|F>IZkeAP&3l3L^*q= z35k`+cekmj92n_MOfpboh^Zd9_1gYKYY7;jyI=M8_7+3jAP<)=;I(4uczl<__b2Od z$IggU0I zh>;~2m#Qn_c#{=*BP+}8sCq_ug~dYMD`m{HcloSzG{zr+r87L3)HpdV@lU5j5Xba{ z#oCd<{Qd9!iu+2(FJ<`luHq>Ka|C!IMEQUIBAULGEGObNXt+Y`478YN7qhw>6bbXI z<#Z5H4owfuKWKr@g*_zhfm7eYLcbKp`eonyQIlVXXV-$i8LQp?y*fq~g2(frq5OsJ z7Gr99U2)MtT4;o?5}X_9YYBZU!_deU_FMExs$L(Otsf8Tn&0Nnf12|e4r!RfSAa12 z=+UD_2x@8Ge09X!2sOJr8NmJ;-hA<(!hz;CB-|Tva1`B?0b1;pRiaMp^a&&b|GTl|nS(*3?;Q^do)qjTD^&+Y9~uz#Vo z&x2+Iy!@A(7v}YSUtsca>FX6x9PN7ajrFI^oVj$v?;(|w4^EoB+Og*i410EoNx==O zzAQB6Y^4~g%XuS7M{X)^aJ$h#IzrYom}LTrH_vqy!lA$X^8HcvJd8;ENEEkZ$!5zA z@R0P2nH%c>vC`PjL=(oE-q>%TuIoZr2i*!Ry37?u7dl>paR}6-BTOLoFJ>&>(ifP0 zBhE+6GyLkyLP&+hQG9%vDkS(Wqb^#vd-YqOqCGKoXjlay0{dNV)D$$qil5(qWv~M~ z2Xv#-uronH>j|2Vh*0Zw|_`-@f9^|w@Q z;A@2V(B$1~V4@#Uk= zSxGwc{{YoO*LmAwxKLx6X_=T@v1Fl+D~rGFVB{5Ie;flih$?+C6eDLn)JY|1ME2uR zZG>A_A!d7kOMEcnvcK4pOC8uCj8mq&LUZyd5JmLN@9ldKW|5GVTrjXHDI6pH{wwBH2fuuH>e<%N znp9+FZoafm?=v(`4`i1HVsSRlDym-HSGqE6l+Br(J1IHteaiqGUv~|HyG&$<^ae@i zJZVnQEVbGX-5_**xY<}ba0y>nJ2?KcW>Pxu98_-3sV_2Ppb$e)gWgihJY!7Dw2!Sp z-!}~?`;<3Fz6L!=Qs4DDBB^K)%FHlUJlW5Ir}xA@9DccN?Mv<9zypEd%DhW6GSTO` zxa-W)H3C%dI^zZA=pP1~X>^{8@+AQG=RyhoG}fHow8hQQF=3tB?t@|tIah&Y6|d$< zfRIV!YVNT?mcp(l!ru!-goWpjzMjlB!@1*9>0_$7ZCz@SV*o+AB}yF_ic@R??u`ia zJ14>3bJA;b4>$8Ss<-FyhRj=jpciup&$c(=fopTxx@uo{JrHYfahJ)4UG5PXkV)Ae z{FZ~fe?Frg^V+nw*TG^68cF`i3GsuV2#BX2CY7&4)hjmVl46aEJ8LJ?1`!?8QJGD{ zIWP@R)0g#R*hW<8K$zDNX^-hvm4FR2```pdH!7FblOfnM0wEkRUWdjYOrvgIExDpW__NU*Zyd1UP zP|xik&&m?8Y-w5oyRi!(I2_<#&KwJ0I(P6Ln!2f#Jq8FS`@JbtK+ry2;bulrL`D7k zmW~6ld6q$}q%<;$bM@|)(P8O;n6l#NKsr@ti*P2a&fc8^pp^*T#pp@qgV$i+?!?W+ z6-xCQIo3^Hba36z=D7%szdPWHN95*~(v+8|AnNYI9}ZCU5!$W~wlt_9XB*h1B{Qyz zdIs%%Qn=)VFdnH(?O@FOj(;_*8<~r9@)6*ZC2OuTghvMI?mv^#op87G8tneX8g%3o z6e_PP2OYJ~IN_7U10#`B*hK?S%$5E~1|~^E4$6U8kHuNv@GPMT0}D^HF@Sw5qc@A9 z3}3h=wYRxa6DzQKS0k+36SxAFi(X=dm#W+$WQK^=llf}L=V=%O+mGYpYwfM6s?sL} z@7Vp)2`^tJ>1v4a)&EOEwbJFoGMLbC?5xUkbTs+@^6c}SYzj`^fj#pW?=Vl84nawp zL!%7lUBm^ow1Pl@F2w6QX5YV}Q8HU)Sw07qCJT?EEJ*udIbUp9P$>#iV97V&46@`J zSfpWKaFODy0PL;V;#Bs!8fyK20wWK!?Sb1o-20`v*8q;(i7|t6f8;LNE(a*+AN={3 z$=@+|9%$Ri!s5>88bwA-%^hVp`S0#_SMvRg#rhY6I%ajc>BByhH{&;Z>apvKH0hiX%7ltTR1So8_;6bGkjO`oVxxNn!Tjz>naRCR*%`j6^$-y9T zkW&GSv>3DFN1NsHe?uR%dp4f^C3J!iJz9L0ICB!5@)pBEb`hD;t6IN@oEPk%N5C2g zeoZ)bEF(Q*pOaJ4Wo1@aCA+7$cRJk@5YE)`0WAnHkEZ9Yl3e~oF!M~TNp;|>$F%>& zF0+RC5^$|DI+BxOB;1wA;4fYc`YBQ`J*RDJ9Vk9jgQE+|uBvXA<<+PJ|$La>3R}zFRbMP`~u^?HOM4p)+xGJwc9N4EZex|yo2nLE|V1iQ= zSFhY@RuUh~0N||?uu2zx52d@8g&fpELyBDwY@zVECkjz^H?>a2R972JPw;)0yhsLH z12Z1bnS(X~`GMmg29uOS1dv#8=86hC=2tMpNkmF+gP5pboK@$LWysvPd9&}eYqJSw zghhNQyCE)PfuuVV)pix<#Sm61+9(aUIxT&UlBn8&U-2fJ}Uf~2vFgF9DJlochjaZ*YC&lpx+HI z4hzi;^vU}Ew6ydgZbj4KqnKaKoHidhc`=G*G8d^5j#ilW1KRT96&H+kpxAnLp*=o~U^jw7uELDieU^K6x?1sa&q{@r( zU3aX&{l`pjVcQo}hzxJ26rWCx1f$6LOWUyWd`KKTbJxJE8Tm--JBRK#KGV{f&Fegk zxHHrzsyzE!4|;b6T;OR)$aD*lIFGA@XcFhwI6}0XoMg#N2p9TEoi^tDZ|<=~c#{VR zO2eDpmF;iml=L$t;X`l|dqFd(QkyrEyKVm58aQ`vtw=m>l^IvtW&!`QJM%9;@*JZ zkP4?E=DtJAZR;yM@Z^F60+aZ0JiCBr9;({tY}>mx?t#B#Q@K%p5pFOG>oZ3P{`nU= z)J4hG8AY}Y+!0CnQa+(cT~x;kL^Icp*NfixLINp>R|AKuHNr~uiFGdCsPv`9{nCX7 z++Jq*A-Uv5p_)ufOZbIok0P8q?(pN4eed2m`=y|ChfCPPt@D^+V(#G+^xIa#)|@&U zbV0?a=@T2u?Gj;!i(%F~A(3)n-sE=3&mV%2_qEW!ni%Unej ze+=yWF{~UC@W;VESyvWAo4t7lP|69=FM}3$DI>QgVfUUrQD7+jis8!E+PWO{^jz$H zevm3nhPGM^5CVXtQ)t&Po5PTEo+KffxchWgyh`6Y4bLUGHP-D;N{4lnx(-Zjodsu_ z=_EKN-7hE-yrUU$vXx$W7#)kjFC!y&oz_aC$AG|UoGV#97NjHsa4DSe$kC(3?qRx} z3X?yUzJPeE|0c`w{Yp`PAD4{bw3m~FJno||rw?-`f%hDkyFV)Ia!gk@xyrAZ318Sy>smdQ8DQObxVdIb1FJ>2~-xO6~vu|8ZgN{O@)> zK9XNx4gld@d-j-NO^&A{7DznS=OKUNwAKe<1}e1Bs9rC<9 AVB7REB7~+t7^&HG>611|Ar^H|z=w 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 literal 56873 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 X89`{=S$CRi&J7<9#f$qsCa2;ru=O@} From 976e54bf5e4a57cc04e237d5eb45caeda0845a30 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 9 Jul 2025 13:02:32 +0100 Subject: [PATCH 23/38] [skip ci] Fix indentation in galleries/users_explain/text/annotations.py --- galleries/users_explain/text/annotations.py | 28 ++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/galleries/users_explain/text/annotations.py b/galleries/users_explain/text/annotations.py index 8c158a3095ab..db11fb71a9dc 100644 --- a/galleries/users_explain/text/annotations.py +++ b/galleries/users_explain/text/annotations.py @@ -230,20 +230,20 @@ # The arguments are the name of the box style with its attributes as # keyword arguments. Currently, following box styles are implemented: # -# ========== ============== ========================== -# Class Name Attrs -# ========== ============== ========================== -# Circle ``circle`` pad=0.3 -# DArrow ``darrow`` pad=0.3,head_width=1.5,head_angle=90 -# Ellipse ``ellipse`` pad=0.3 -# LArrow ``larrow`` pad=0.3,head_width=1.5,head_angle=90 -# RArrow ``rarrow`` pad=0.3,head_width=1.5,head_angle=90 -# Round ``round`` pad=0.3,rounding_size=None -# Round4 ``round4`` pad=0.3,rounding_size=None -# Roundtooth ``roundtooth`` pad=0.3,tooth_size=None -# Sawtooth ``sawtooth`` pad=0.3,tooth_size=None -# Square ``square`` pad=0.3 -# ========== ============== ========================== +# ========== ============== ========================== +# Class Name Attrs +# ========== ============== ========================== +# Circle ``circle`` pad=0.3 +# DArrow ``darrow`` pad=0.3,head_width=1.5,head_angle=90 +# Ellipse ``ellipse`` pad=0.3 +# LArrow ``larrow`` pad=0.3,head_width=1.5,head_angle=90 +# RArrow ``rarrow`` pad=0.3,head_width=1.5,head_angle=90 +# Round ``round`` pad=0.3,rounding_size=None +# Round4 ``round4`` pad=0.3,rounding_size=None +# Roundtooth ``roundtooth`` pad=0.3,tooth_size=None +# Sawtooth ``sawtooth`` pad=0.3,tooth_size=None +# Square ``square`` pad=0.3 +# ========== ============== ========================== # # .. figure:: /gallery/shapes_and_collections/images/sphx_glr_fancybox_demo_001.png # :target: /gallery/shapes_and_collections/fancybox_demo.html From a08c67bb59ee94d8dba987c5b081da7bc24fb6f9 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Wed, 9 Jul 2025 13:11:39 +0100 Subject: [PATCH 24/38] [skip ci] Use python % operator rather than np.mod() to act on scalar head_angle --- lib/matplotlib/patches.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 6e1324e78020..5488a465d615 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2529,7 +2529,7 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): self.head_width = head_width # Set arrow-head angle to within [0, 360 deg) - self.head_angle = np.mod(head_angle, 360.) + self.head_angle = head_angle % 360. def __call__(self, x0, y0, width, height, mutation_size): # scaled padding @@ -2681,7 +2681,7 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): self.head_width = head_width # Set arrow-head angle to within [0, 360 deg) - self.head_angle = np.mod(head_angle, 360.) + self.head_angle = head_angle % 360. def __call__(self, x0, y0, width, height, mutation_size): # scaled padding From 1dc613e7414776ca98485556a18f866bc143859b Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Fri, 18 Jul 2025 16:05:00 +0100 Subject: [PATCH 25/38] [skip ci] Fix padding for non-reversed small head-size arrows --- lib/matplotlib/patches.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 5488a465d615..f3ee67df2308 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2579,7 +2579,11 @@ def __call__(self, x0, y0, width, height, mutation_size): x0 = x0 + text_clearance - pad else: # Pad away from head straight-edge - x0 = x0 - pad + + a, b = 1.214, 0.250 # Empirical factors + padding_offset = (a * pad) + (b * mutation_size) + + x0 = x0 - padding_offset return Path._create_closed( [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), @@ -2732,8 +2736,12 @@ def __call__(self, x0, y0, width, height, mutation_size): x1 = x1 + pad - text_clearance else: # Pad away from head straight-edges - x0 = x0 - pad - x1 = x1 + pad + + a, b = 1.214, 0.250 # Empirical factors + padding_offset = (a * pad) + (b * mutation_size) + + x0 = x0 - padding_offset + x1 = x1 + padding_offset return Path._create_closed([ (x0 + dxx, y0), From 73d953291d0c8663f021c7ab5ad42695335e35ab Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Fri, 18 Jul 2025 16:42:56 +0100 Subject: [PATCH 26/38] [skip ci] Use += and -= abbreviations --- lib/matplotlib/patches.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index f3ee67df2308..9af9f8d5396d 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2543,7 +2543,7 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) + x0 += pad / 1.4 # adjust by ~sqrt(2) # The width adjustment is the distance that must be subtracted from # y0 and added to y1 to reach the non-tip vertices of the head. @@ -2576,14 +2576,14 @@ def __call__(self, x0, y0, width, height, mutation_size): if text_clearance < pad: # Lengthen arrow body to accommodate text - x0 = x0 + text_clearance - pad + x0 += text_clearance - pad else: # Pad away from head straight-edge a, b = 1.214, 0.250 # Empirical factors padding_offset = (a * pad) + (b * mutation_size) - x0 = x0 - padding_offset + x0 -= padding_offset return Path._create_closed( [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), @@ -2599,7 +2599,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # No arrow head available for enclosed text to spill over into; add # padding to left of text - x0 = x0 - padding_offset + x0 -= padding_offset # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) @@ -2699,7 +2699,7 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - x0 = x0 + pad / 1.4 # adjust by ~sqrt(2) + x0 += pad / 1.4 # adjust by ~sqrt(2) # The width adjustment is the distance that must be subtracted from # y0 and added to y1 to reach the non-tip vertices of the head. @@ -2732,16 +2732,16 @@ def __call__(self, x0, y0, width, height, mutation_size): if text_clearance < pad: # Lengthen arrow body to accommodate text - x0 = x0 + text_clearance - pad - x1 = x1 + pad - text_clearance + x0 += text_clearance - pad + x1 += pad - text_clearance else: # Pad away from head straight-edges a, b = 1.214, 0.250 # Empirical factors padding_offset = (a * pad) + (b * mutation_size) - x0 = x0 - padding_offset - x1 = x1 + padding_offset + x0 -= padding_offset + x1 += padding_offset return Path._create_closed([ (x0 + dxx, y0), @@ -2765,8 +2765,8 @@ def __call__(self, x0, y0, width, height, mutation_size): # No arrow head available for enclosed text to spill over into; add # padding to both sides of text - x0 = x0 - padding_offset - x1 = x1 + padding_offset + x0 -= padding_offset + x1 += padding_offset # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) From 2b83affd050cf92231756104a6abc7266d2e0565 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Fri, 18 Jul 2025 22:29:13 +0100 Subject: [PATCH 27/38] [skip ci] Change layout of vertex array for non-reversed LArrow head to match other instances --- lib/matplotlib/patches.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 9af9f8d5396d..e517cb30a97d 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2586,10 +2586,15 @@ def __call__(self, x0, y0, width, height, mutation_size): x0 -= padding_offset return Path._create_closed( - [(x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), - (x0 + dxx, y1 + width_adjustment), (x0 - angle_adjustment, y0 - + dx), (x0 + dxx, y0 - width_adjustment), # arrow - (x0 + dxx, y0)]) + [(x0 + dxx, y0), + (x1, y0), + (x1, y1), + (x0 + dxx, y1), + (x0 + dxx, y1 + width_adjustment), + (x0 - angle_adjustment, y0 + dx), + (x0 + dxx, y0 - width_adjustment), + (x0 + dxx, y0) + ]) else: # Reversed arrow head (>---) From e94a7777df4b8871a4c9253bafaf95851d292782 Mon Sep 17 00:00:00 2001 From: Charlie Thornton <150299532+CharlieThornton33@users.noreply.github.com> Date: Thu, 24 Jul 2025 16:27:00 +0100 Subject: [PATCH 28/38] Improve clarity of DArrow padding code Co-authored-by: Elliott Sales de Andrade --- lib/matplotlib/patches.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e517cb30a97d..b72c328544db 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2737,7 +2737,7 @@ def __call__(self, x0, y0, width, height, mutation_size): if text_clearance < pad: # Lengthen arrow body to accommodate text - x0 += text_clearance - pad + x0 -= pad - text_clearance x1 += pad - text_clearance else: # Pad away from head straight-edges From 98d4bc4caf58a92bc73f368346b27a97e340241e Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Fri, 25 Jul 2025 18:11:46 +0100 Subject: [PATCH 29/38] Make What's New example simpler and more informative --- .../box_arrow_size_controls.rst | 40 ++++--------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/doc/users/next_whats_new/box_arrow_size_controls.rst b/doc/users/next_whats_new/box_arrow_size_controls.rst index 562418f111da..e8f9f07b7eed 100644 --- a/doc/users/next_whats_new/box_arrow_size_controls.rst +++ b/doc/users/next_whats_new/box_arrow_size_controls.rst @@ -9,40 +9,16 @@ By using negative angles (or corresponding reflex angles) for *head_angle*, arro with 'backwards' heads may be created. .. plot:: - :include-source: false - :alt: A plot containing two arrow-shaped text boxes. One arrow has a pentagonal 'road-sign' shape, and the other an inverted arrow head on each end. + :include-source: true + :alt: Six arrow-shaped text boxes, all containing the text "Arrow". The top left arrow has a shorter head than default, while the top right arrow a longer head. The centre left double arrow has a "road-sign" shape (head as wide as the arrow tail), while the centre right arrow has a "backwards" head. The bottom left arrow has two heads which are larger than default, and the bottom right arrow has a head narrower than its tail. - import numpy as np import matplotlib.pyplot as plt - # Data for plotting; here, an intensity distribution for Fraunhofer diffraction - # from 7 thin slits - x_data = np.linspace(-3 * np.pi, 3 * np.pi, num=1000) - I_data = (np.sin(x_data * 3.5) / np.sin(x_data / 2)) ** 2 - - # Generate plot - - fig, ax = plt.subplots() - plt.plot(x_data, I_data) - - plt.xlim(-3 * np.pi, 3 * np.pi) - plt.ylim(0, 50) - - # - # Annotate with boxed text in arrows - # - - # head_width=1 gives 'road-sign' shape - t1 = ax.text(-1, 35, "Primary maximum", - ha="right", va="center", rotation=30, size=10, - bbox=dict(boxstyle="rarrow,pad=0.3,head_width=1,head_angle=60", - fc="lightblue", ec="steelblue", lw=2)) - - # Negative head_angle gives reversed arrow heads - t2 = ax.text(np.pi, 30, "Lower intensity", - ha="center", va="center", rotation=0, size=10, - bbox=dict(boxstyle="darrow,pad=0.3,head_width=2,head_angle=-80", - fc="lightblue", ec="steelblue", lw=2)) - + plt.text(0.2, 0.8, "Arrow", ha='center', size=16, bbox=dict(boxstyle="larrow, pad=0.3, head_angle=150")) + plt.text(0.7, 0.8, "Arrow", ha='center', size=16, bbox=dict(boxstyle="rarrow, pad=0.3, head_angle=30")) + plt.text(0.2, 0.2, "Arrow", ha='center', size=16, bbox=dict(boxstyle="darrow, pad=0.3, head_width=3")) + plt.text(0.7, 0.2, "Arrow", ha='center', size=16, bbox=dict(boxstyle="larrow, pad=0.3, head_width=0.5")) + plt.text(0.2, 0.5, "Arrow", ha='center', size=16, bbox=dict(boxstyle="darrow, pad=0.3, head_width=1, head_angle=60")) + plt.text(0.7, 0.5, "Arrow", ha='center', size=16, bbox=dict(boxstyle="rarrow, pad=0.3, head_width=2, head_angle=-90")) plt.show() From 2ac0bff40b239f541c9df1ae424434dea304c783 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Sat, 9 Aug 2025 12:22:12 +0100 Subject: [PATCH 30/38] Implement simplified padding rules --- lib/matplotlib/patches.py | 77 +++++------------- .../boxarrow_adjustment_test_image.png | Bin 57032 -> 57697 bytes .../boxarrow_test_image.png | Bin 47329 -> 47363 bytes lib/matplotlib/tests/test_arrow_patches.py | 2 +- 4 files changed, 21 insertions(+), 58 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index b72c328544db..e5af4800fe16 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2543,7 +2543,9 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - x0 += pad / 1.4 # adjust by ~sqrt(2) + # Pad text to position text and its padding margin exactly inside arrow tail + padding_offset = (0.5 * pad) + (0.25 * mutation_size) + x0 -= padding_offset # The width adjustment is the distance that must be subtracted from # y0 and added to y1 to reach the non-tip vertices of the head. @@ -2567,26 +2569,14 @@ def __call__(self, x0, y0, width, height, mutation_size): # (dx+width_adjustment)/(dxx+angle_adjustment). angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx - # Check padding; the left end of the text should have a minimum - # clearance of pad from the head - if -width_adjustment < pad: - # Only do this if the text fits into the head - text_clearance = (width_adjustment / tan_half_angle) + \ - pad * ((1 / tan_half_angle) - 1) + # If there is sufficient space available, shorten the arrow tail to push + # some of the text padding margin into the head + if self.head_width > 1 and pad * tan_half_angle < width_adjustment: + # Pad text into head + x0 += pad - if text_clearance < pad: - # Lengthen arrow body to accommodate text - x0 += text_clearance - pad - else: - # Pad away from head straight-edge - - a, b = 1.214, 0.250 # Empirical factors - padding_offset = (a * pad) + (b * mutation_size) - - x0 -= padding_offset - - return Path._create_closed( - [(x0 + dxx, y0), + return Path._create_closed([ + (x0 + dxx, y0), (x1, y0), (x1, y1), (x0 + dxx, y1), @@ -2598,14 +2588,6 @@ def __call__(self, x0, y0, width, height, mutation_size): else: # Reversed arrow head (>---) - # Distance to pad x0 by, in order to ensure consistent spacing - a, b = 1.214, 0.250 # Empirical factors - padding_offset = (a * pad) + (b * mutation_size) - - # No arrow head available for enclosed text to spill over into; add - # padding to left of text - x0 -= padding_offset - # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) @@ -2704,7 +2686,10 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - x0 += pad / 1.4 # adjust by ~sqrt(2) + # Pad text + padding_offset = (0.5 * pad) + (0.25 * mutation_size) + x0 -= padding_offset + x1 += padding_offset # The width adjustment is the distance that must be subtracted from # y0 and added to y1 to reach the non-tip vertices of the head. @@ -2728,25 +2713,12 @@ def __call__(self, x0, y0, width, height, mutation_size): # (dx+width_adjustment)/(dxx+angle_adjustment). angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx - # Check padding; the ends of the text should have a minimum - # clearance of pad from the heads - if -width_adjustment < pad: - # Only do this if the text fits into the head - text_clearance = (width_adjustment / tan_half_angle) + \ - pad * ((1 / tan_half_angle) - 1) - - if text_clearance < pad: - # Lengthen arrow body to accommodate text - x0 -= pad - text_clearance - x1 += pad - text_clearance - else: - # Pad away from head straight-edges - - a, b = 1.214, 0.250 # Empirical factors - padding_offset = (a * pad) + (b * mutation_size) - - x0 -= padding_offset - x1 += padding_offset + # If there is sufficient space available, shorten the arrow tail to push + # some of the text padding margin into the heads + if self.head_width > 1 and pad * tan_half_angle < width_adjustment: + # Pad text into heads + x0 += pad + x1 -= pad return Path._create_closed([ (x0 + dxx, y0), @@ -2764,15 +2736,6 @@ def __call__(self, x0, y0, width, height, mutation_size): else: # Reversed arrow heads (>---<) - # Distance to pad x0 and x1 by, in order to ensure consistent spacing - a, b = 1.214, 0.250 # Empirical factors - padding_offset = (a * pad) + (b * mutation_size) - - # No arrow head available for enclosed text to spill over into; add - # padding to both sides of text - x0 -= padding_offset - x1 += padding_offset - # tan(1/2 * angle subtended by arrow tip) tan_half_angle = -np.tan(self.head_angle * (math.pi / 360)) diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png index 9d3732d27119853998754281ffd6eb04ac202ff1..5e381fdd186c5ccf8a0432d425b5b914125ca92e 100644 GIT binary patch literal 57697 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 z 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 literal 57032 zcmeFZ2{@Mh+b;S3N>}zJJ4Yo!5Du*UwwwvMk*umQ5rQ ziSEMrvx+1VMK=C?prOVqNt4dRFJ-H9H?6Lj>08-qTihneYg?I{m|2+^>g=((ZDDC> zc2|&BK!BH@SMRosD8B&D9bq8>A<^3+!aCZ#ddK*W3G<8c3m@5IU}a@)d6JLM^xr?u zYi4nW&-8o994@iZ{Je@KiA1kW{8<+%6=6sswJ}{dd-}TF+hMZ3+Kq-bsqt!U1?rcl zsn{5b7&gesQ*FJz{%z9FTPI%Fzw5i>A+P@@;Pxx)OM=PSzhb#r*)okzh=&_`-0xa% z^yB#c!}qrbl!>!>%`ACjDfgKlQ0QP2c{exI!!vbcRwaKSbmfF`e9kKw8qQN^@$*U1 zrg4=i+Xs(U zxum2x5)%^}N2!IkQ&CYp^7HFiczHyp!&D2OV;0n>{TLRO=)7cOY%6#fqK!fLgqdaG!2&WcFWxW77jOXtVi6SO(?S}zhD=f|~4;(5<+<6~zx zX7&9DDa^DU!WT7I*w~aT&J68x@HRPr^Coj|Rd8v|B|7PiSr;x`Xim`fNXF}Is4?hHst}o#OCxGCUb}+V+_an0{_Qn7yk6wpN9v1Y6 z;Is%w-ty$;P{+{|qnUc=R8&-$kLf)sw!s(3sTamsxHvCQl-j$Pp4HIMm|y67*Eup` zIucjULTR>}{G%++-=DrQPTi+2;)aoAtxP_1F8}f4&shg(+YbHhPhobR%CsyZR2idm0INN?|{M!Z&{%MhGZ%b;d zK7IcDt-6{%Z*A2vU{f|*XY772b?c7ve9uNY&znt^BwX@ycTZ({Se$1S>PNF9x_x9Aqt^mfS-3q{tU;e(`%&83SMyH5xnI1rwjb^dT^{u0OA zl2aty*ioH+)0X3Y?k4Lf`Iv1kaQt(xra{a$ z(ba=id)22=Q zrY%C^Q{M$0s;^zY?&-%Wx|f%Ci*mfi1EuH(fq_f~1qJ-~y3WooEbJO-f3TT}ft7VL z3Cn8-1qB6d%k}HmJ6g^19xzal__Yhx&(F^@r&Lx}7Ph1suOm4x&7Qk?^YyQHe*0;2 z25oyPcAB)N(UBO~*`G){FTQ{Op2R9*a>~TyNSu0>S5(yDBWhn2azpR7WqW`9dYtXJ z`KiXIVPRa^+1U)+w%xxFaNvzo4$ro2+sr4sFOc$I9JUm`*&NN>gMw;4Cae0w8!=jqFr58l7u6LT|B zdd%LFp*c}^19p-ZF>ri*^r4}lG+VZm%uoE0Z#=J}vg;L}<`z=_uVij7dXBp(WQ0-k zl|^e(zQo*b-DAx$D#_Ff3k&1Z(?y>y1bkmLIilU4YT8Jfb>hT{M?OAhFe%Ri0-gl~ zP;S_;K_z%Q_hrw#yu4q!cs^38KgR}=T&Vaic6Rpj^76$&!p7!^%by}53X6-WfR6{X}Dy3`CCT&-no{f8aI(hD@${-1_qI}Hd4#ulopnjofyJH*TP?~ z{1P(!xT~V7YNy8rddAVw(XR2%Lb^#dP3M`H=J)PxCDE>a&C2qr3KsS0sSK=iZA~!@ z_$DBI=8T_9&geS~9?OcV`svfBDcr`VrnWzL@Sv+!mP7dXWjnjC4APH~0~gHxl=y9L zic{Zy=HV7$11a4S+MK@mfrxi!A8y$#H=BIUhmlB5ACr=PzIR2YNg}^JVd?8azj5P6 zhtgY_R$prI%&`HcN^xq2vwez8QY+H|$S*tSrIr(Fj8bQ8)S@)6NX)!o7BWx>$?a{@ zbbT5B=8DwH^Crk$YG&u`q$EW=6x#l_W94C`dr#O)F^{9_&C>{e!)=-6HRLTo+5!orGMoJLZc z&YnB>puEq%=cTgV(x*@RCXhgUuo79=Fe@aN*HZnOi)wA>qxkG+c z&gye`_$E@9xV=&M(+np;>DO#CS&qMJdgDlx$4FI_5(x)D7c%6qoZQ5MdoIP?8Uk6rP@z+q-Rr}--ps%B=;zmAPIaP&-a^thDW?=|W>(;HK*|_nv z593ku#c4wWAr?}8hGn0^)vN2U>pZ=@KFa#Dn_F6*xq5Z$ligxo^YeB@L@cD2@>Gg0 z?ke^Udt@wd2){?3?3D(UR+KWHongo_pT!jxA%({p^>9AS)-JbU@_wt2%m)?wL?AFtN(Y{xV( zojI1Gq~W$4)}1?dPQH%PA1NZgX3^CX6&AknH8XP)si3y@s>$!KwePF=@|O3$efxG= zvV0foXXnw3z9KArImsq3I@a!c%PTALPYxX7%4YGCAu%9eiZa(;l^hv-GJbgEPF2wU z$38xOX;&^>*cz*vx{c%+5)v{$S;obyjKe!2<(Qk=HNDSd*`I|eXJlkh`(qz$ zB7L+TYNT+(A`o2MD8bLKKw>}~Jm6wv>&2CmHgZ|kPMF2d;8)V;o2f=GPmA@;%mT^z z#NJ8|T3&f~!cxX+tWBMLtp3Y2nbv_P<3>U(TNxO%6vke@eEBgd>LSfV6HWY2$-R4} zKZS?0jOgCD@v^OK6z@KF^(tl%TN-JevsLcRvEujsJj!t|{LPvZzI99>EGoqFu6u+O zyelR6gk`vs`2PLH{ndXin}2FrWUJ^{i(IF^5m@=ellDD14W4cGc7}n`pE1W44~*olI_h?J8wlJ8C_uaR3- zUcMDuaPq7(KA2M)uaR@ue+o;V)yY{-&X=@@-Eml;HujdNN|-S4$fZV?Gr$3%B{W&m zH@9S`P9OtU3sa4#ozg71 zS@o-cvhK}feLB*6`Ct*d&Ie3#X~6=z)Y&;XWAh7E+^@O!?Yn8R)*EcrIH0%;$S)^( zz%zfaA$lF@^5x5~B^=Yr(-2G_`TDL`a6WMdiNe8uNaNzwyIR+VThr+g4@gn2chxhk z1X|)ggbUUenLcW$Y-(cims*|Q%@J{@I<&tvozJbMp(o5=@^OBCzADEWDpZ+Z5mPzI z)iKw#TdU3p8VTv?qAfoV*RfxZxeYqR*SM$jj3BM0GOxItI~SuRYIF} z=+Gf#3X;M~*F6i1W4{{P+SqkVe7{w^ks^Nt4Gf~uyklRbl?EBjZG@YhJ#0r z6cIQ!H1tV9f%FOg-EPZSpEK7hL@&%)8^*sa+r4|Yfc|&pWK(Xr*L$R5Sb_!FcJ6$D z?X#VUSM8LlYS422o2O6Rog@P?ApRE{^;Y!y%`SQe}stjB(f}isyLD3 zSNW>&F0$L@cana1_8p9j6(_n$-R-d|!2nUHC}Mu4Z9gFQ^h48i(@;rg77X53tAXcg zo&DH02M-^nP*Ar7x}ERx;TtdIaNQ#%rRj3BEyFV6`!?Eac{Sbm)I-{XuHsQFO8YR=^*9d zmekFg8IR=SL1!+1D!Ca|nJI2&+M=wa)P-p#x#j1d@(8|eq}YPg6JWi71xyji&KV@> ze9|p%@ECGu3e>;xlIE>)$A3uH^oOW*8;?-879j$GPauuYF zWLH<0Nt}rFhH!+e?u^RciEl$ft|}_(B#8v_s&9IqDe|&s)5{=)8&>3~&fZ>XF)^|0 zN=kbrCE4l4$K5o8Ctcy$Tau$AyXM0;-yn5Bu<~UZITrJ5{ z7#AJQ<1jP$;G4$=-TCp(Nq^~#x}PtUVpUa!uc@~T<*L*l&>C#(jCH(|E zashJWG`sSq9ug~H_3aE{UsM^o;`ckoa>wwQ-!jSr9M2V%l-2y z+WIm3o5P3r6-%6I2Su`z$h_XS7U@kN>U3lGG8Dk*PQMtQZbnXSKU_?HZ8< z`z3MU ziGJhElCa3&Ctrqju2sS<|8RR9c=|rl&<}OR7U9Nab=}dtH5Y($ZIm~un?&oaM%wc< zpRg@1F6!VFWRb#RAEtZb9jAd_ZZ(FdN}p06QcMp?%$%N{Ch{9;`Nkd80P}zRrAW)x zJydSr)K1@K@f_9l>p^O|A0N->GT-@7#<{Jx1H;#x=PDI0_eMuhd#>Y~hlSB)ztjnRt0-M-w)8z(%H2_9mcYVwz&3Z@)z?CKB*6V

CS9sr87<+%(qbAeZ_?Ob5nxGNY6a)81 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 AVB7REB7~+t7^&HG>611|Ar^H|z=w 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 diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png index 11ad0b89b4dbefaf6d0fcf028734d82f746c6021..9f21e0d1c4a95b6b258d1cac1acbe089481f24aa 100644 GIT binary patch literal 47363 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 YukT#7v+KO|3jP{9YNGjRGlxz84cA}ujQ{`u literal 47329 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 Date: Tue, 9 Sep 2025 11:36:23 +0100 Subject: [PATCH 31/38] Fix padding for darrows --- lib/matplotlib/patches.py | 5 ++--- .../boxarrow_adjustment_test_image.png | Bin 57697 -> 57844 bytes .../boxarrow_test_image.png | Bin 47363 -> 47369 bytes 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e5af4800fe16..ac703a82eeb6 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2687,9 +2687,8 @@ def __call__(self, x0, y0, width, height, mutation_size): dxx = dx / 2 # Pad text - padding_offset = (0.5 * pad) + (0.25 * mutation_size) - x0 -= padding_offset - x1 += padding_offset + x0 -= (0.5 * pad) + (0.25 * mutation_size) + x1 += 2 * pad # The width adjustment is the distance that must be subtracted from # y0 and added to y1 to reach the non-tip vertices of the head. diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_adjustment_test_image.png index 5e381fdd186c5ccf8a0432d425b5b914125ca92e..ad69906b40283f34f3750ea21ac3c305cf22d672 100644 GIT binary patch literal 57844 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 CK53f( literal 57697 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 z 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 diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png index 9f21e0d1c4a95b6b258d1cac1acbe089481f24aa..c626bb360ceb63feea1b09945a47c9b8cda3b2b5 100644 GIT binary patch literal 47369 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 $FH^2w zby+ZFS>(-1RW^UIfS#*0wIM|E%*s5lLDbO^wb0)@0DWy}=a*7bH&nMT&LQ z!?*7bQJSnA`}ynFSpC|cvVJ-|sd-=Xw_$?GxaBa8D zHciqI5$5LR{x&}^v~AnAk)NmE*Eqj$eLi6trJdsySiREz=1sm<|`egTH<4qj$mzkWSobYS?Z@|jbq|40Ly z0&f1syG?wkulJk^L_@%eg(oC1=GXu+|Fh$0G`JW~)lATjFO!d|sY_HI8+tK)Us`G_ zG|ejy{`pN(dJNU6N!R+Lx3X2G)44D2YZBztflAH0WBR*FE5gsG2NIv z!i(DsK;DwF<$#H$C9SHeYQWjEIeXKjQq{w9QLF)u#aFSMy_O+~o3JCV?LNB`{XJ2D z{e_E#ot+5!cN73X|B<;8S>S%YPw2oC6HbZKs^v9#0!jss{lrUnQGTDldc|_~?AZst z)BgBc=j#V+MC}}z=*qK8>z3H07RYh#+_|bio20hbh}>v^ zT-(lUt>AmsY`a5NH~^+bYAgFF0fR^&!LJc&J$7@e#V-JNT9GE)2>>Y)B%H@F&AWM% zDu#IzJ1~+1s3nl(u&h8;ctkE&Kww}l@by5IYZ|VJ58PVGXM**^!mWSstCz8Hd29V< zi+i2SEPSu+a@WTGD%hVX>9BtKbEDH+@Q*ed`dkw4MW(i*7oEde2+ zf0tJ%dgsm^68Dz7zLs(utll@{&9_~o2`velMLg#=i&#*HMzwgAUC!NN{HlJ8IPJRw zis*NF3?*J z9j$g_tG%ul6`@UqtJ5(tVLcYIc<77z#;u~F>nJEFWE2%iejyp+aN0ucQIa+ldGXIu zw^d+iN{`i9f#0b`X`jOl7u~UgDQIbCB$@S`^$aCniSn6G!@$ews{T@M?|VqUD@}J6 z5qb3MORbXM3=eta0Vd*Y%*M?1{l)B6IJmhFdV0#ddHc5e%{@nw1)6=h;W_>+75l!> z%OrNYqGH<0;nuA;*h1i<6t$B#HO5qNPtke{TVa_&}1$=t)o&PEZPKnpwklxNn! zHbj5^{JGG?Ak9jwfR-BK&fAz}8W|eqG&E@LR8+hLq84Yvye%RruvZif2Mi;stV~*c zWkS@t){iOd_g9*knVA-;+x@!w`t~ye6+l{zkWRX89S|hR{rp*u#RMIZMv(eg^o!Af z3j6u*-FMz+dhZ{HY+Ogf+)}@~DE&M`jt1b$^URqIwc86W3=FCpYeZ>lfo~`rv9vS+ zW19TSEzR9qTU!?(NT5}5R=E%Uv;Vr1u%F>`f;pag6uhpt*589t6Y#nK2RhEiEPrdN z(c8NY3}=IaQglRe&VK)7diwO80S8&p`2ziQT^08FB>pF>f}7j+;E<57khR8E|NOE` zJH^U2GC$Hh@#fx^0^^MHq=NNryaNK2;0b$sQNOd#dF-|v+T#bb8i<~}b@S%@{jZOj zo9mz@-aPf<>Lv6phyLQ@Wsk<{vZ(J=ZyaF);6Z3N_V(9K$Tucg!%q8hrSZ@7C zQv>S=`L&dvzc;NLij(V~X0S$MTU%RskD=Y*eImri(NS#%uI<^l=Dw+##4fz=x22^| z<%QJhBgL0Vc_TYp2#sbWNn=&>^UKUuDLVEzst9VPChXVwk54!7D|r(5J8YQv)$lXY3Pis1Uj#QIfVi)<9&qL>|*xNliH5HE?Y4_=Qh6FSj z+OFYpEFgNl8gz zmDr@>^Y`kiTn{h*{Fwu`AyVJ;Y^=PHkC|R{f<7+VKs+S}P;b%hjG-|bl~~+ntR5*ZC+Q9xcx6?3u}^`S!97u3BA|V9PgJw^ z!8~SqX1W5FnASDH&hI&Yh&o1Blo9{cf-_NVJKrG_PlNI)r{}g^ zPIsDYK4{zFD9r!(5d&F+JnJqyo(FvY{HopmLr4tv?Py+-IwczpdZrVHTKozZJCS_# zYCI$bLQ_vK`bl5;Gp7VKh7^|g6(07|5mz@`+itB!;YOE(_Vf%XOyq}h^X;`vKS_RQ zO)pPV)5r6jc!TTO#IBgGnCfNbY zV&1*89vB#Cc>jJA*=nGpG7i;(=H7ntTO&iaXHCA+FHGun4vR z)?doXV!>g+{;-8Wz_)A;so8J z^7MO^k%tfjU3Z8I32A=*?GOgO?ep@e1t1wMaW*i}?DT1=I;eeC9dwM09B-wqAD9HJ zHbpU1LZiJ~S=oDa%hs)i_G-8GXR?2}UNEf>Eg0X2)ay&yo8I%B!pOu~qf&3t@(qNd+g*vFLfOG`_eNv5g{76oyz$3+sI=*^QrgnaHC z^ilH<+>*3KE|DxMQzPtHUY$`sdw*I+h9RT^_D??n6%_u_*YSZYGcuG#Ong{dy>F3; zqR(2;-qPZ*nnDPCBB%OWSwyVUL}w0FxSP9s5st!n|FWeFt5>;=G`b;lbRxMw zzkg;3n>h|R7By>e$J$v&BB25}*OnKXr2CEDCJv$y&45~Cw?jnJ^XCcZAG!Dc+;!-P zTsl}_TvYxZp2-s&rsZ-+2M1?k76yh5|J=jx-~Rdj{d+nhWT8vH$s0<2ZdU=UgVNGc zS^|=KFyF0@9{Xz{$Zut9H{gPtV!7_U!ipnGd+* zP7UD{*raF2ITQUxMn<%2J?j7TpP2P+G;hjn{E}BF{Y$KutOr-Fa1i-}ZU6l94`+4i z(~~^1c2v;r{PX_FynOlmM#a-Y0IE1^d}9pQv9Yv}{9e~G#_5<%iW1RFLBI*4=+;Cy z5N9^`T9b&{Vib<2b{g>Ivv9Ub=8tA#eBP30rQ{A;_`oZ>*2=wYc zmFvz107MJ>!>}!%!66vV{hFn8bVGYwH`(qlHqQ zvhwpM9MJf~LD~zb6;UdEv)3~-N2aG;Teg*MEMVngl9GUWYBr}$N!-16FRFdtRe9Ng zW5=)IoFr^g z7Tz=Uo~FXh5-^9~qi*q^C!B}&M{GQG%*^aOL>46#m8sdG*Hw38ei<1VF;>5Red_7u z&DsW3>(`G!IVP1#U`4XfplFYQwqO~!7uVUIIwijQ&W!6WMa9=whrogd1_#$Ie;9cM z7Jc*9t#!othzN=+k6)ujbUNJ{vZk1NbxQv%T1$+MNY}ENvjm^D35iW;SOi)~`NeO> za%7-x097`!eJX@=MQqEK>EIi&WC17g?^6!chiSm}5lVGgEAH;;(XA8Ee)IbJl`AL9 zL+tEwapvc=_lc+24mX@5!hscpH8hS7T!)sv8E&aq<)IiYm`|~V$G&7qxT4;XED+x8 z#U%9=gBfqh+l}kjo7CJ6M7g=H;#)ivsY}XQ9{#@EmRT3LrKf_`H*eOZy+pQYU#7}_3W%uh=Vrk~}A?Hx?En z_wL;iii(Fn@AR7)$f-z3PG-%VeRgqCM(<~ZKs5jE028MVcWhMQv39<>GZWN?gBde zx5Y)yRj2mEjru4G+yxpip?R*1kB*v+&>aTo;wnhwkv$IubenOD_rge^3Rm%)F#!3nkJ5tf#e{nLdYO=S?N6|}e|kso zFnr4i=;cj?du1a;pzyj@mekd$L3yEDEZ#E;w7=`Yqi+;4&=50calIv7FWcMO3j`(me?7#PIPyO*tAdU_H>K+NdC0Y#o$uA3oO><%<14lH`o%7x!*5mXZix;p8gyk{M4X_~u7UL#76E z4xV~ztR_ZmV4@FiKHrzv#>yT}N3*`cw$bIVJsn*`O9bU``H8AL*(j<`+VkY!6-p}b zcY}Zbo+lek)fxNu?|nU%dnlbwYEgJvmKQre7p9PJ$|jVyTaL>w;nSQ=2!5{TO8o5k zeD365jWw9#)|`9ESIfLt5|hvPm|b36IHh?Pv4PCA8;*-H#^MpRwY6Qd%3?mOXA*)! z4!)T_f&%IEE;}u3YVH-R`Gl2?GJVsA=7%F{DNNkWJfcbW%D(-g!oWR9rKI8dwUzsL zHcVDu%dI5|MF($*NJ+gsq58$pJRu_Y`m^Zugb%d2A)7xLf0AUcUE*h7QCP{$sF`Pe z*%q~@NrpL|-qTVZY@}@@yECG>snW}UCn=(dU}orP5hmG-9{9=*es+@6h~b9~!lnwK zcn!8)+ z5@U}W@L(vR2&VU6mt!vJ_4(zdmbSK0C`1Sk_0op}ib6w4{0Z-mJD&kNS=pEmGDx6azS+n~ za}0K~7L0H>YHS-eL?E%l!NmnTbeB6ljLzFE+4t_<>pz1^6lHGp>u9>JuCCRHY1b=I z3sZA*D#Fvxk4rmmrXDZ2y?8a_tCEC{whnorv=O+|xNs3^X%+(cffxj#oI+w@v-W4# zM{&|eb*f7KTJd;avmSSYaO%p9dP!8=ySL%tN*mNxW_Ven=*MK(36k#D<*)WczG5Np zao5U;2M-@AOlTIC!dnGP+Dpsq8w=MpB39^<0ob-b6%7q!RUXKx5mi-H0}hJxu)ig? zZDRlc=RQ9I@rMY913(ux0j#bI`Zay>dv=bbgoGx*cy3-E8(d4&P!aftpFVvefeQd4 z5DO!0>nG!n!XEE}S}X)p1N3qXVGi;dLC)aNkO3$1)4`))GM|HQG?2f`NhcCej+TNS zZ+rbZKf1j=Xb9;B1AGG=3i}m_M?~aajim)l0^r$wrvbUIs9~j$6?p)TPRMP>SLLA{8HdBn8gSUz4Q zpmg6fq-A9Mxc5$+gsSRBsASFPsq-LydElwg-P7fr*`Z!h9zJ}yVy~O0l7yr%a2rY_ znF~PFY&{B{F#pPrxmP15EDjD1WM+%JRzOcGBH+uz&oYQx0Qh`;ENssv2eIJdQ1JJC zfNrA5Fu~Q%g$iP3Xc&hqk`W>yc_^O;(fjF$Dvu90LYGHqo;`cUURxQM6rr62*|Q6` zhK_jn;6W#d;UqSxU0Q1~A}OYzWBYFG&VbbcgP==aFhr-QsK_qO!o$mC!ep1wqq@3D zu)RFk;1wNqRm0di3#-58QgEywzj~iAhYOI9p3ajPPWm@zzvo^;zJji9ZS~hlclUj8 z$}2rbw4c3v$yHk#7!h$k7Qu~4yl~4y>;3M7)#Kq#ExqS#9UOGQh;lcn`XNujUc0?Z zVI`aF8D|3mlJoO7hoJJATUtu^8I}r=l_Zf@E}H1P_ey;)G7D_AVx|gjv&mb4ZplXQ z0rI!Dw_mVfFNsN=>; zRp?0++324)cFM`MN)^3S0AY!xg$|>A;)D<~9iEfjo55}?OcOg#raIc&N6bC`#T>T! za|;AYYV2f0R1VGDoifj(qsLZ$eJqHntZs>qR9Jw_A8)fil~GXrI+1KF-lH4>{ecSkI`~&r1>7J~JvgGr2gk2g0$%fJgziS= z>;h4OX1+f?I7u53Gr_fGnq6)K;Y=HM4dd@I1Dh+TUp{+APi|HCSs6<%X{kLH^g?9xQ}GK`~1rw2>oc;Hfr^D>eOtbBa&K$f;RB}xJFLg;Ve zen+a>Zbpd6%X8qCHsKiY`5F-UVFS~z%eZS9Q$*4_zP1a7!A@jAcBvKHnUnx3I*K{P zYbU*aExA8hdh1GpWspn+?VjsA9ryl?ohSoLxmUXGrf)6PLEFn}WK0u?FB`ra>55GC zjl9AYlM*CZl_4)88-m0|;w4diWW#RuyBv~CwY+zViO9xw|lqpcSLRu;BCfAIoU>KsxYWWouiN!e(vnH+XlxpR*=BkxWs(0ESL z959_O;S% z)Z1&$xJiWrwTB4D=Cy~`;nZKsO9v_% zs^mMx0g4?1jYAln3SU|mOYSd((vhnI)I5qq%9efDou_P$x306z%RgH7}<_|W?%Z! zbGcUpfsQP5`kfL|P46cb+1V}%YA_S?OG|p_wTspF%gZ&B1k{MwwHrlD{7Ri4&o|xl zJ9P}Zk6>kG74qJk-+P~x%E;eof5y)Bnv*eF`~Fz|@j!4cygQlgg1MwFbg_kM=MRt7 z(D{&kC7F_}JGSdGs?a3}*@$A2W-EG93#cwD4^J%OBZmU^+(5RCUR4ViF6swkXJ}dP z+7Qe%BJyVo7b`1SL^X@duRh;u$(a9Nu=ML=tWseqO$9>((N3 zRXI7i+s;6*WNHDVxjbww6fH^!#t4uuq7=IUulV6a`2Jq#InWgB@ZlaAf!GqtTcZB1 zQ~%EoaBQ7BH$SDDn?QUgBxdjS#~jmrbB(R`;lmMxVY$lEjbQlbBbrs7Vv>e@dk)R# zj~~r#YZ2UF_mvs^Pb@tNwSL$zK!m2?kihMI|wD%(e}71U<) zX{}VU6xa2vEswE`d_^rsOdsfiE~#Vg!689Yc)(3Saog(LDl&JUy*tEzwq&a~C-h$` zfOu}^vOb!>L7)JHqX8Ln8qYra@{_v*d?RYprE!}Fo?1M2zrZa+(|0je{N(BMW>YQj zPj~v#OVv4AwF>0NZZ@erd-mdmuD161M!%{Z0M78SK4urrq4mT-X28IJ?u;36C3Fx~ zkDHhWnkNm3)_6`b-l|s%N;3m=A$RI|I0U`X(a{zOZsLTqGaaB1Ni1QbaPQAX&WnVc zH$s+E`!xyS2FYNSs> z;#&Suzm^C&!Kt$2=~GhK8Va1=f!EOcZ{zMk{s4|`-Wi|M5#rsvIaLKWZ$`oZ*#m&h zTFaqjXh>IwrfwxFXk%^tq^BnZ0qm**7z9q+^X}*;MMp=|=k1!Eoh3WhNk_+9relx- ze5GzdndO^>NcnVd@ERF10(i533+!M$@@om%D+oM&PID6z1~+cp_&76Ds!;5MWILx+ zi4?@Z6u3fl$Q9)Fn{I@J5F3kl*d7S?$X~Wd={BReZIzKJZ?f&#nUR3l!@dt8KQjB3 zF4Qp7i{xT)Q_|AXEHW=%ytsg*fJK1D72uQ}FqSBaqcx$}ripwkY`naNz~>@hqGy!x z&KM9e$_ib9O}&}d`k4C)j?~lcZnFgymx##1=g#NFb3qtz7(G2b8=yXt%B!CtpV`5K zq?5n<>^CZ$$?|*mBGS^hAq7(g1qF3Yp=s#D)Fc(k5HTIn48fhD!3&XO)`5GHSYrt@ zS(tQ*k&Y3Ckp{mIdmRzpYn~^YEs^>oJ1`8>O9<^D@cy8-HV-TT-1AQN^ld{pje09m`}q$BcU=AZ~gpj?ciqmqGkt-~fV&5(A7KYyk{!?><|h8hhCIC0GQv}3_l zcr|3y3O8u%mBt!JE&r+9SlY7sRTYH0%6+FTQW)tPA|ogXlGcz;5Sd0tsu?2+89X9Q zzkhyb1BOK2Cl9NSH+3~uk$`58K@(YYkOToWK2ox-6+0yoOA95Li=;ecxe^akrA=X` z&tAA54jr82dn96mBP0a+aPFXFYQR{c;yhN*uCMq|01^Oz`b%;C4f&@zxwyKq%}GBW zK<(cUN8K5u4B}&BvjHOGY>es_QFiH>nZ;q|ubkcJThv9h-gNRsJogSO9W1rpMSeqs z!7#wVmkhVyAb{?Z*4C)M-|E)>jNb+NN3afAAxpgEcm&=u2S6n@HkP$^yTvQmC1i}1 zN6AwNrWxy|O*UnBI;^5mW$heX zd6$>T6|b2A*(t;|D6&KUte7HAOrs~7!yJqKlY%e?uiU9l=vS>$B}2p668iaOU6`wo zryN5FlAlLh5@8*3@mwHSu(EQ#m#C3NluGkw!$fb3)2U+{VZ_gaJ&i*8ZbkPQ9vh1Q=C=o5p`I&kZOJi_@cg~(g+LV(dHbxa_$b${ zBL^TzeE&u>KAnFvmZ575q z-2WrscmeT|IX)CQQfd%Ca06!|u=kqk69pYItF56SNctHlXlz_u(NI60jC*59O$g{1 z0Wu^(WTtj{8`oou4VDtah$k2pBGYIhtz*w1X^x|!jjJF*{lDVcg?SGEHRGkbE-RS46W+Cp3;8uL zIkwe(d-tw03B2XwD+7_F@%?+7kMSF6nCUM;Ya=~8KEY_HWn_XxbJFJFV3q4FP9Zq) za&cd&p>wFL6DBE)5C#Qv_RwUOWhri%5}?slOF`Hde3U^@V39@wwmv})B7lxGBVZsU zCB>(K8p^lk@9A0C!;-3hpYRb8eA`K-8zE~``uo84Y z1X^x>9oc)}!0W5+U=Z7OgY1#_0c%43Il1$8SiTu1%QoW=eB=IlP#TqWq**z>cKxIG z!~PXDm^Mhy+HSb;%As&gNy1p?r^k0dZS&>C8wlt|X$uE0chFFq5rfL6vJRzZ zJ;H&xOD>kP!`UaSVq-Pl8Slxf^JFUFiJ?Lm{l5%Z{&xvBHyX9^?<^V`RI5}}1)nH) zEpgDy(lYk*jUZ;MkTymzaY9<9;wt!%Hss4?jzb)lOuyQtHCrYkB2MA3XB3Sxcrx^q zH}Y0R!3JP*mNS=mO1$_v`Wl2A`52hvB}bD_BqICCiA+dabVTlDB{55T`J2aF~GTrT0P(?3S`Y zV{zdY4kaSR<{e?m1yRzk%k&Q^Dt`O^oeib71A!dUgm5jZi-wxDyu6IuWJKdN0nWmg z>U0=@6kxSDfceCVy-vvijs?t*#xBe5|DsjL2nVrfc&V%U%xSXHPhk5J8E5 z@ODp-5gXZNK3|jGLx218f3zN;A{U2E34H~6K?1rqOJd06Vfbe~f%9>vYEj1GD4#>p zc|}E@lIwch9ON4w%cDnJrmeUD-6n?0{?Ka)zf-#+lMOH)06ESJvcNk~5U>bDsXTps zb<2*`$#{+GARIPn(}srai5^BYpbCvlOvIunoaiao_aNY_2-?3b#uYGu&_HH0ZtQM^ zZAWM-Ndo1>pm~x7I^g%REQr`VsinN53qr5>4GKbPDS?41NWXO=v5mCV2>^P|{)Y(e z;QW!xj;5RNau=x&-}#KmHk*Q{qoka`F;Y<$?8Wc`W?miCYg_r|P zjwBr>NTvY#HxBPqbbm{R_1VD*F#JUJUx@pWX!(6T0c~GYMurt}9&Pj{`F`Xj$f*&s zTEHtlUteF}wt%vp<48q-G_;W2?bD}%E-7(w>aAP1HtjsJgI%@AWpBuYVIl97X)q#` zl^ANn94=%e@J&P>4K3R+cj8mMZ7?s{K0pF4^ZaF0m$j45jL<&N=%zhg9g z&z9^Ubc;Nf!$?dZIKJK>siw+1U+ye`e`r+~4JgFWgG(!3gtIxIMIb~+W=JWr$>d|z zFXTES$N81Lbv_4~3H*>KZWD{hRfktOk}cDQ#%d^@!bSuF8TnRk-H6@ANoJj1F0WDGG_U1AKa^LE0Qc~iWJhOcWsh}qv;R0<4(Ny8+q*b57W~*M) z5{qBnUqkF@KjAdhTVyqh!9USQ{g6oOs?x$q?u_DRnHYP!Iy-QO9BVdP|~ z2XRPvAqmI_{sad|hu=B0D<>x>d#&DkRCVsrI*4bPvyeZ_ow`Iu);8{P>r9tQ>mb`V zL1KGsft#{_V8Reauj~$am=$In1Rz!N8l@t#Jw7~!;@EvuwL~E0t-dY2@Fg5Vv@nFe zg)nc08LISx(BQSzkcbXm_27W~epSF=OyEwqAKaBKsbZDGg+V$@sv}>GP3*EyaOX){ zG6x0Wp3K?8J)t1P#KeYi3<#qis$@ih01_uPJD)G_cnQz1qq-*@9Oz~(XLn{~J530C zjkeH1;i5u!?xUr#!GUCwDuWS{YE>^gJNLephA4*y0|kAtx~j4=5~E_EndH<4sN|FJ zwO?np{Tg9Lj_ADh`!i&y3wj)a8q^3Qlbw9~c4ON3yK0Qg@oyb>UK0RObt)JB3RFs3 zIb>oBn~fa5xPLnFSY03~A(6nCnwg&#Z$QZKh!H1TU5^&=B{-Kc7XolO@zWIGzY)InR1*t2ds(eZ|BOB6XG%N-%&sM2? zGjisa%*y^1H_4%7sL_z>Tam6JZwD#Pprnz&S?6}&^XH6&iJ6(5`LDaPkaQIaARy+D zPZ8K0Y4YaJ2A3&;W@NY_nE?<>xKTr;N-it4p)nSh0Es~Y<0ycOGk-+coJHBO9Wz4j zFnB9&oKB$GWV&ObZ~CtMjwy0PTO197vHF0qF_lTpceA>(obA2@{7Uj-UY8x$H#583 zR(UrGf)q&@$+ZR#w8Apt+d=r3 z-GZY+gd62I!3$fg4q2FB6VM1{BqrWgmAu@?>6=7}akQK-`{1b3=?4(mpkto?{;yqV zJWYBzQ|RckZKI=BuEANd^r*#g71hwFmoh3gdBfuObI*-&`1t!j2Rk4Hj^xKW%}MbX z6#@gPrJUQR_FWpXrrrF%f7%xe3P%t~+#fz3Qq|;897N^id`jrN zRwNN_`9khtHo<3MxqI#R_ogxKV*wO^vrTK9^y~fRh7u9f$4QF~r8x~MD@HTv^P?_Oh`8cMzMg3eb0vj`0OAp!Rgr3rCya))-l1zr$2 zEsQMx1&f%+2Oq$-EW$40yJa@`_U&aH6tETgS0Ue?ZjmRWMr$=!1l3#&es<-x!Gn6N zSBDz+@ynO}NL}&0I*=}N4rBcbQrpOArT|oA`auwhBYCsvLkV||Bpw*K!}1v&9)PowYExmyzhaWY2#P^h1jD zKcEj@u(`Y+$ysuO7nnF6XEGbr0_K+D)JO4(cMrVQp{J6$T%=Xd?qf){GI;eBM0@p+ z6(KYyAbw1+pOBBoGVQl4f7_~MsvurBX=<@&fYG+}v5WlQe1*lKL`eyx7TSt)yVjG@ z4oe4xXJj^mrzAlSJt1bjeVfa_QH)awdV+s{5bbI5TLZr$iLoJSyr2e@wb`~2VQu~iCQges|!Y>eCquvOJjp%V7R)}SNf@>jd^4joE0y@eLuilCkO zuht653Z#TlC91w$e2KTVjeHi}3at>P`8hY-%g0(X6zc5l@|ABgKN-Z<=%;^U)l96d z8Of;-J_RGkYxDD-|AJFQ@6f>}-C#hfx}o9DpN5 zXIEFIr71Ou2`GoRpkBN56{pT$UvUIH)6pRV0sxa%Jsqpy!YlL5ERfzT9t_n&$U~!t>^v#-o68*hKXvZr?{d*9Xp1 zrY|)$H9O($<%K7Z5e3kvZ^Y>bje=H)Ob=8pgARF7+;RNxLbQL&QHc)@dC2ZlT+T7hsn?}9#I2dY7~kT5MgYdy4y;r%vzmcOP#>cDOGWw@UYnVa^zlbRXF`^QYg4=!{ zLVw*Zzm83oIcMlDw|HYc4sgB&R?wmB1_}A_>Gm;8m(Q{_u>*UMUK^G*aD+nm6+ODgA=lD$OL;ql4DVFF2 z)vA1pSo>un8T15_$JFh*T^Zh%^Y5Qe$JW*cCC;3jh9-#zXi#VSY{?adGcJOg?6~kP zGcz+v%10NtE~*`=5Gh!vzSa0%&0Dg9MSh1hM>FyDym;}Vt3E7@&_v<}w^pG*5Cggd zQc&C7NFo4dt`XuH1wp2)fZ&GSx~2rmom~C>Q{121cSzq=z z_o+skjSp%(MjvP#M-JqXnJ)=ea25jxuP_zL+P6)(s|GGOL1O}D%>1Pr&B#lRc9H@k zRIBE2igg4*hQ}G%9AH`p0ztGpb60 zH^lD(2k~+J1A*Imj{TviMur?F$xt=mi_`lW1r%d)nxfELGO=O%|HTOY&9y)=15-Q? zO)N4hicZV4I>uD+Jf+NwatuPNn3?`~R0^B<1Vnr#?~k;9DZxX}$dmtv4a5T3QihxU z;E_F5m+Jm672v5d_N~*2MD{Y#nWSzwMHEh<6MacEj64Ju1-F8cPrk6p4-^huEXH)P zH|pCpVQ^{o+M6!uvs=jH1OpbpH>={z=l!5XBdE%xV}i|l?myY{iN2Dw!m47$eUL{I zT#i>~25!*aCz(pW#Y-2nOQ;??k%(_nNW4FJ@Zb*~+%Y`ZD>*AG2>^nEfZJ$Zw6C^? z4A>#<JJ(ebQ%s;7_3A#tN7o3`tm%3$Pp;-@dhSJi4g7&d$r*o01?abYbC>6Tezo zbdW_?Ew8BPx_XD10PBMUFpS+u`hO%JklVSF3@jyX%3gH1msbi&W~A=NP&3kBvUp$# zMq;@TSR@MuVHC7s{J?I>lJas^oN-_C)YI@-k?J1+W$zwb!bm2>hpzOpN5XreX_K0p znj&A&A=QTGsU1r1FFLqoWMhq+YWC`S-8bYTJSy6rx-hXpOC`g+gjEb}2eQ|?fZ8@! z%yaGv&U}m6-GTO&`SRzpsey_-Rs#HzlagFwE5Y)+F@}BDwjku71Hok5Pf3>~gq9mH zhZ_(O@b@ViCTxmM8z|-yalK#E`E@KZc+-3CW0;2dvd?7qdUAyS?~^T*OBqF)&b(5K0b@Z{ z8|lo5wv8|QDlvab=9EWU;_T9zo?S8!15_p-CUFsV6Q1rC0cN_7yeB9wsFlKgTa9B7 zu4}{@A)^|#SE%7K@L@EXoCv|Zmc@*j<$65*ki1G#I-N1&lV^^1K}vl+fiQQRHC<2p zix>NrZ7Pb<(4uE%+=%dqh=?bt^2~TjUgZCNP?_68FqTIPj^+-FQ!C5!P6}w$L^y_l z9$s!En_g^uJmq}-k0G9&8Kq{k8N2=~f1G<>isMN~K5K>$f;0`9p}T)SGsNC=m#t2EIBz|Nl6v|jaB6EY1W;7rfLS{;ZiU>a?lA%O~?$_bE_PwvQpL_4; zUe8*4J^T7&FZ(BF=XriV!*RT)gJy)|L(&EDlDijh+N+YJ<&Eix9hMkz%*aiJi%Q`o z`4t$*(Z*k+EJSy)jj}f#A(Y6k`Ff$M{oGxpUdGrKIFsHi%9J45>Ldn2Xs5nPoTY?u{tg|`0|T) zmOls*8V+M;k+LxV>`3iUmJo+@eZ(4Kq7z%)^5x4}RPY1}UE?49`KFs{4N)jW*AA5- z;ZPuVzCs@x7_{g*;jjsqtI$K3+oJBz7J+&K%@$awJzGz!e%7? zI_`%Rz3sVIW#4%{-0?vCfq*lj@}w95HJrjWyj)O_dVhAS9wXl$ce)w%hbWkDXJ;yy zx6=trgf))zH)cNoQLGm%h_Fbd#1k$ivkUnw#qQ40Bk9U+J$T^%$D$NLT|RqtQQeSd z7uI}P(YuGf{$$5j^mdiA$s@H%n7d(WpG_X>Zadfm|JDn%NH$*e;c(`C-bQ-Uk%$wB zq?qccsiqc^847`Rg{?*LGfkwf;wQ@^lXlVLAvJGMjD#~ zw#8LVazXT_uGMFHf}ER11soH0S2os7uNkoTiRJPU8Xr+QUd2&Ttd9amM5rcjlg#fN zvseeYX7{ZM@uK7ss60M{@#0{&peckO-grlF#rHB z+I0MAeDBuPA8lsLXyD&aMMXd2*}3H-R|Cx~-1M$rMC0goq-&l|O3EE<`)tap6)W_e z)&R!URnRbpfOEQEZ*#I=RaWp{(`+aEU#vT3-S3Nv_37LtS z*Zh{=e&l%9IVSp}eZKsyTT|`Mov**pTcl$~aH`is*V&b8T051l)6Qs=a{u1F*fHk< z-@Ja^X~=}pqp_F%s-FG~_~wQP`1URt)B61O6)Z3`Lkih%*$3ka@80^8!;qO81LqpG zcjltf$MqBh&}9}R<4+&xayZwRI(0GSVY>bBEkhp1&OEVvr~y72MY!>H@RTWM4^!EN zU3})8PAlVm&!6J4ByHF`j;^GYn@^ty@bSNQc#w7LMwMuOq~0|upmnt;EJmSVI~^%r zu(#dZulUPLW=+6HFK|}rK9@wUj|N-TNwq?T4%*wJM|UF8J$t`&-k+}lss7rpc?%U@ zWM9zbig7)?QfKU#F@Gf71nWWIE4;*zOW;MO%_CBDkbKrtOiyz+K!of~7?mQt>I2am z9Yj@yjMB(>jvZ09>D%VR@7>tbd93$%U4^t9pyj@ZxUS~qo#VG3@=*Cli%#ow_Z+Y~_KS4)M{KOOMfXUVOC{gmdyH_tvYSW^M-Rt%GLse%>Nlg9{qw zWDDK#(&9c-YXCGQr3_vxnCvX9M!9r@dH{Xz^ONqpFwhDbNYl7`-@eVAL(_PMGA zl$o0&fQ!zfDr${4g|6aS?;G>sm73|KOVS3LjxRK=)lP?8d#FQb zd+PCxefCcq`{#-Lx7M@&`po~!T=M_)2X{%b)ge>^crrS0y`nqPsM+V)8)X*G5z=l> z?)KaknK8#7b0{H)(8i5^J4gEQN5Y`wwBVwNz2Q)k1fnwe_VeX#Bg~RMJEt6f}N4AQSsW+Fh|2us9CqW?Q7B_%%Vap4oVhK;D4xIO?~mwtXdTGFam zYi7%qoyyEW#QN>k;=&8(?z>*y{u^VUc*sAsc+`ip&)s9z-!=E{-n~Xmv3u7pFW?H^ zw%rWLNkF0ssG12DMu4VRYF?(DRo=WQeH4(#a2f$3bCr-OSA2M;DT*2H?QdVXGB%p) zsHHx&h-XcK^=cSjAeTc(`K^9_brljN$8GTUQo~y1VR~jLi$y4nnoL+y#LRzE-yQlI z^Cf$$_US|Vm=xQ?YQ9ettr^DVW+CaDeLU1Hz9A{l`|I_n!^R#hIsaOwww*fscV)b% z9f#zo2@~GD7~r)^Q_~K62;!oSz`ECZ`{V`#$`dkId*sfxYN>m%+@(wW$os-HO~N&b z)-~-C0l6u1#y=Ti-6|m|l=xXwYGibKJ&D6}A=vpJQ9GA1td8dcaq8g>5vh%G)9Z#S z+o~&zv4+}^-x@~VUm_o#*nJhzWo$9<6Rp5eV~_MZcgB9Bs2bo@h{94zIt+3r$K?4b zx3AQDL5(azy(bQO#zTL896sy9YO7a+?5|qZMZ=?CVj z=!%~x-$)v4c0YD5eR7FNBjH`Sm7{3)kX_YMvx7f?sEDoT2bheP22nw!O=RYZrIsb) z0YP&W%xlv4toZgiVB%8pP9&S3uF5TNKd$|SO;l>HZttTdxwHyQ@L~DD;~e_66QlGaw{PAkbi;h%AVGWRmVn5FbZ0xD4b6XJ9k9j_kxh_rXlun}_p z&cz(SLn?LgAXs4tnURxDsuK;Jb#Q%YPPacnHDZXOLn8r4jh1ZW{P~?=F;zHn$kXSw1*RO-Nux5=Q%zq|dwtkT_4j*RCmOHBU}Hx3yjjaw?>;?JH9T5$jHj3VbR zBonaOvk`##6jSk6^gctm{m1fzdUnF}M5h%wW*&E&a3s9oDsuc<{m7w=S)=AHlEV=7+sBB1)igC5@+HMgKNXrEe+Gt-;BzRqlT#mDJHGA6ze zLPi9|P42#k=D{Yd(K_SpclP%|SK3A?7<6pWxM(MTot`~?6^>~Wz78WZ>;hKV*JWic zD}D%p0YG7ES3sB2pbRBxkDp6l7Z+Po&-f%0(P!i0)I*p0tOS_Cr~uFK?%3E~N*&0y zKH_4u>O;>u6C{_&z)#CKKQfs6C1l~zH5g^7i^;)TG%nuBl0#&hA`_j5-_aANio&$y z`CiS+IyL6Y`P5W=( z4Z^pT6tw2#Iqb`*;Bz({*-Z8XYJh2Hwd}X7@noAqjfujB7q_;zcNG_Wa7EQU)RLJv zrO&1}P0&WA?cT?D)tkF*iaybmRrY>&uJ~wkEw)?on99jM|5ck5mvRpg*(m}WF(`~+ zmB**7bBOf3!4+hXJkFZxe=N&2Y*n?;8w$?P7VDj(IZYb0?^L9sR)17Z+-RKu3}{13D2Kj-+zurnL)_rnxDnP+}x+&;a ze>b95e->G}1#68zA`n|j(wD)i+YqgDND4zNcosV8bZDGYY#b#8VI1R~&%5{U3Sp$; zW9I7Lap=&C2Lm;4JbpZF^;+O~q>Q2I$N&nOE=Ljd>K8tUv#zYFncfNVBycxL*7ok)Di6D?2ED$iMe>MF$oh%{uq5 zy&Yn0p;s~EO6pJxt@|{)Cm!9;Jbn9XlZs`_mtUpSP?8`+<*Mc*WcUkuf$LxfwPLss1=LPwQ;By^os;aqx}I?NCOI2hn;uO zWD>@Lbi3yquG3aWxgmHZuJx5s^w?IFG-M=&wsTphw*S@;j=7XY*MDlw zmjxm9tVuPJDsK@uN+;q*O z<0R~<6zkqSHmv>FeLd9-LliHt#Izo=TJOX2OXSZL8%0MCsVtwqZvM8n9lo9nsm#OB z+1(&2;b)1}aELPGtYcqQI8aB40iH-izv6{=gS36svK;s;jk3+9P+Hl^_4K%;VlqU#ACdPR-Y0@fi=iViFYxV_H#I{efW(SNNm1>jE7FnTF8t zPoF*GJa2O0*Vlri&qfsoNJi#%^CbfTSD`Tw?JJHtLfviv^=%;MB4>@QLpWDb_rTA7 zzLhTq`@9wB3C(E{M~=pc9*_4C(@ri*6EI=n9bl2%wEoUK0ZI%sDCvES+>y}$eA6c~ z%ID8+A%V`^g5C`ubI&^+e%5VY{KaY&#=iJjjhw2{V`yo}7I%-K+S(x#Hm0-UUnR_& z0)D31HcY!^<+{P8hu{E0SS9oJTg7jyF|hVW=r+7dfJ9NbNgB1NzatF>eb6ETTAW+X_YTQ+~k$6 zP`!XX&j@Rk-ggA$pa_U1x;*gsfkhG?j9z2)iy$Tb=1G43yqriYxOK8J5;Rs~?2y`# zO7x$#X?=QX3u^l3Hy>S-z7QIU85YN%gy+!hTJXnCf_Z}_oV*`beA&sLlnjhOLWSKu zYOD#ZiyN!_Q@5uU=V`?e(eA`AbQb>@Mi41sw`{2=aKwiXO{PtI?7l2YzsHnWvwZoU zNKjVdvbct_d|7qHA}I!7mRk>9JCO46>W{9z5Pc1}*TrH2M=mV~Ln8bd#_@$;1SH?C zu$2iMJ3%{DJP$jxKY_BA5}Dh;J^n?Vy|b$?u3gQSM?795{1XPBUB_=xQ-cf&rsJSt z%l(~##&Kc&lGKlJL=kfJLJ-=yy82IzwP|2#o19Yo;luqyt#kPlBk^!#w7(SB)ckvK z&i*&?x9d%0gM782AzGmv7^2sIz<@1C2JUN38}T6T$&;n=!A+R$1V10%qC>{4@YK^- zJ~Fo0_TK;aN$l_GzmOL(6YIxfa&!LEX7fKz%liN42OD?MWpG2y&;CTrzCeOS(NF~B zrs2X}`mx-zMw9Xo%K8cj)h;YCS#Q|hL5zGtFCi1V)?$ChIQ-agIjUsAn6V|Geg8%q zWNNPALizuqyu2xOt|UZZWXOrC;&>SjL@Hw!D0?L**rswl$edXk>id2WCIWl&B zU=TJnO$5lSZEr+F&!VT4O9DByG*Hp-g=v)<1`0Gyv#A+snQ$MT0D;^qL%P_ti5#>H zXWAPSG>Vj99S&(=X03H7LUUqf^amaf2C8YMmWA>^l3PoHB*eD*i_l*k?vK*!6HNj7 z2xtj~VA#!P=D^>1@prW|7p#U-FbAqNSUU1jsm>=s>(BUO-G_9Sob>lp${ho?Cl zp>CielWqjPsY4F!-|6J!2oRwFUK-v<1K~Pyuk1sv7rW)WLk9~Q+(9RlgMAW(Fsim~ z+@j_ZW(`Ddg?mEMY|PD9@X&}#>q-)6HBkK`VAVQaLdoU)xY~5sE<)evB}Gccv;Z|l zHM5bt-K7JqWkSxXI97IphVhD7u=zgjn>KFr{*&Z}qPZ*5x9z^ZopeOMw;TDcflL10 zKkosh&y1NftxcGAR}M3D>&lf4JlL_qbfqz+jV`_=1sSbFwt6U`91UFLeNsux zU$SHZNO2u6F`eJObxSROaem@9*xj3jg-3DiSSTEkJRP6heOsjd&6d4qjZ%n%7LAY@ z8lyyTXS+7!2I`Xw;pfi2AA?Z5x>yR-%O z#leBgbd<1g48X9a!!IBNyj4Co`y_xgJS&T`H?t@tv z$W=)H5Fv$Im20|Q2(etZV~k_;bX8} zVtshfTupNH5!MM^$c;U>opaz($Ao(Vg?K}2&kNd@OH)0pCls!9*N(UD55Wi8pf zlDnj#GEM}ls*kBSm2;mTdp z_#GAmwEZb_2ri<|)o>xKLud`!st^Dbv9C={<29$JuIxn~d-s?DDAZYS8yTU-?UflZ zUeoU_y}lW&ZUQH(FYCwoclB}8I@i4$H0N^j#-XsoR>j_+3y2b+M>;!MFuhZEvZ77j z-)&3625BRkIHdpllmwlU^>m#*cD?uYVCAeZlt!XQm#k!BJ0;KvU-|STgyZwzW+kSC zlfaeXZl;ZObQK+dG73k*15?6<#nwI8D5e zr){&{K6)ms4`a(@@E0fasXJ=65C=G|7p2kb&&riu>nMmdsikJxd%xyS57~!>{@f}W zGcFOgp>RC%bILJ;AT7BQKM|Yu>d(B4y%uEzIY^j0H>&3Q`+u{KuYl>n**A0eC0`>~ z_n%4vm2Zpi&9|LYO?NYmQ=|ZVoa-b(by_*dcS->!OPPR%^?a-Cb}J2Y%by5~xx6H$ zOgqqU>z+2*ce1ma^UaDynq1K87}K?-k`fP?h^W`}{UkK=guv9Xbl<#S-Qx~l%}FB@ z=OhKn7QpT+Ujg9LOK$$pK`23B4ZdCc6L&7r32c2TO2i;`bORD7mpH+pcMlxYAV~wE z&Obion^$Y!K0fPyUS1m(MC8&opvu>1JSAjNV%16Wk?#76O4TEq=tD5+u>l9wxz6EQ(Nhi?xLB^1>z4H;Yn zpiux1@&0+J7NVwxyFZ@B`~`w{Vm>Bu^F5>-S%ly&eL2-a`cEmm3ac!BWplH|x)m1} zi*kq(XY#-~Z2uAz-OA5Xi2h+}gtgC|Q$d*Od32~oL` z(7btb1`3M5SE2iBYTN%;5H|2})Sdr35O%T8^9hp4#!o90G@Y#nuj~nY46W-&NBxR} zwtj;K8&XnI?td=;8>XYz0WIc)R(Q!~LNpO(`+b8A0VtBkO+a?H7!TGY-+OIbg#vuw zeQPCy8j!NfCB>q88zU5i#=^eJb?OAuSwc{Y*bOXwGdG6#gkfVc7)5ZRuP2-lN3=+a zsJ5}Gy`41;KHe>E7!4;?7V1?~PHIV~LsRqu1bCpw*PdJJv!o0#q&g;y{7!mC2muV7 z?@q0YCo$SJP$mLt=sWJZveMyCusaosBQkEAvYe|MNBXwbPDH(}@33HjQ{tVwcaO8k zRb0S*+~QJ_-PNhB=zsJ#A8L*nutgR#j5_?u#=Y<01McQRx(7KdGc~f2Zugp=VDe7$ zG%@jItPQn@_JjVq_Tt@7Kq{ZFNN#N6p-{aG*A%x4@uRWM*tI5!I(QEh;UC#N<5hM{ zJ;b?3IesJ|hKKPk2AP{#iMGb1d#4*H}EwP*>qNYhlQRe*>T0)(_k|CiQ_RP4oAqeekhysq4d>1et-dFcn%B zbxDh%^UsSu^V@L$ojcTIszk?W| zM~G25vER7Ys{bQOJto(x9VqqrsjcSR11x}*P*%tdM#-j;-G||n00OlY{~M-0ikvWa z+?ASg390GbV*tsDvF~j6R>5d+@7{rYcq;cpr@Y4XV9!*u{1 z?;8|Jk5XgckS45NOHC&4y|hE*sJvgbP|j*(-+t6aqR|FX9kp0;Y}$yts+BOE?gc9W zW$W+Zw>iy9`AlJ&el`H_i=%Dp6BqKUji(e>S?;4S6`={Ih_=3dVn%87c*+FQy8Y>M zUm#`4JU?ca_U8QO44PHEC@r-qN=ZJ*43v+ilO9ZK)o9)7*q9j7&zH4!l8j9){!iYE z^S+DhV@{XTDEVLcT6&b(DdxaVN&BtW7nVldFAupum`b}om?FSwn9T81<7B*{!Pa1z zc6996vBD*DMl@<%ZM7=*&YXU+I{zw1dRRGmgoE;It8>xH5Yv3^b5>47`PsTh|Nhpi z7vKF6z1~#`dwW>Merwy@@5XyMIX|L&>0oT!j?9!*Zeyd}_;3tnE)3WZ1;*S+;rlx? zx?ptpL*>4IonGvhaUtViqhXaEGXvfBKf4fl^6#7hrI!{}HkeyEgXdEj{xRpqOXoe+ z1zpKjFHR^uy>(P;r>A(UVqZN+*|d3I?cn?84^5abA^jBv@uo6oCtbJiZu>7?+TPot ze9@%jX_nS^PP$(F`FX5hZ=k<+m`#Uq&2=aXE;2$5x)YfrRll3|?Vvwob=tgk*vQ z1k?^*Q9N@^>Al0WQ>a1G?sWGoUG8FaX{Z9B#KyvZg6b_!-VMHR`rS~^-xms#X%^EP zFGI(pzjN2*1%nj&6Z$`{^oVL&yCE5U8zCNF?C5h*&;87_aW5~~TM!5#yeW2*Q?x)D zwh{{OePeTzHF1AzxlW9fME>IswkWAQIm-^USskUh0#(wVpr4Y)|`pL0=kgI-$Hr#&R?~WfGxXf(erm6eU6%<)UaX2Bh>9Mx)=F<3H zocZ4C;Za?ztx;rRa-rPSjv*^t;Ld<%+zkC?|f5w8b-yaL7t=^)=+jWhTihw&w z99LqvS?=a#)rOe~6N&^=I!R-oToBk^eZfsG5udMsS%mp?>E6A&PUyoclj);~8|#_K zZ~Gm#e2|Q7=@tKux*uH6@5ctE{;29$ z&Cijq^xtw0@5ZzCu{!t8LpR2dSZq${i6Vq-$oN0Q+3Dn@m0YqVawSnfc6vd4@x0+_ z>9#2#>pokyaAhCycEjZN#b}N_(l(&!hGm?4BQQv(S5U(rB-2gr8T4Pe(pra!ZMb_n zaoYQF$9B1}ndln7>RcDbHfkDQsv9c77%qV2v+Pp&m$hU*Yf=}HT&I3UMLp+I z;oO4T%081$9tRI!bU4ZxXBO*A`qocBX_>tH>YPW~W#Mcdg3ycTVZVdj2fI&hKit%G zvil*^1LL|Ro=HgP0DkkAn_G*cGKSM9Y~-Cu&v#lr_K(X7lOinRrWJ`Gq=?RUb&c=K z<55u_EnKafdB90M}rbg<0$`Arl#ilG|ChU z59^0h@YfkZ6ABHIO;b^^epGIEO?4-3hgKg3%=mqSa%}yNvH@ZH&LCs+b6rsBk36RA z$*E0SyAQiNtG)fkjay6THgf<7V$TBwzh&b|tvcCKHE`$2)vOnvA1g{5s)RmNnkl}I z?}d!u^Zxy-+*8x7>3x8%>Kns;hn$*FiT)>y3*;deU*q0gwY4`$gr49(=vJNTjJK_G z9rE%fpN(hdknpHF*!1aRd#*mow_Qrun^E5IwPrc6I1jv6#7q8kP(lnLo3CMMwzMx)M@F?0I8XVK0cb6+9yV?$Q82OR!-@cWkb*OLO80~w@$=#>;&HfRVY!DPoGW1o7jUH~#>tvL61R$0<g0%uhZ`2i<%2g@1f)WYUJR1)p48=i!rL7t^P-Ch4iA`?`7u z#zid8=Tuxu2!+5mbX*$y$JZVcFql*>0BsWhqQ2C0utvsG=OjULfRANfBQvvB%=Y|D5kGMK&w(TgN_0@{*d#SI@%6JCB!7>(-TS`# zsi1EpW}dTg)Y(kYym&9J@3`AWulJKw#B9rV6PhEY9PZ<*aK}BpLr4&y*Xt z3Z1%9pR!}%BfKogfF!ONO)T~&dx@WwOe_-CMlVbQGMA7c5Z}J+*dvtydz!#8qWQW1 zYaS0k#OZ8gJ*OPq*ulr!SjSff7Mp5?4_Mc2@Vs(9M0#4M+yR>p;2LOwc~__g*>Tj$Fp0atqmUJk zd$q)pXrku0Wf^1K6$22~iLBPMj$7)M5bK*0mGZtr99XYiLeTj_F40W3jE^DRX3NbE z(eHk-+qE0*=-R#A&nXuRDNt>~3Q6ZX04!-x3MCeAk;V$@xXoNArvPvXZY|0ptu!^} zeq5K1XkYveeWI3d|527= zQ0jsK)0U`E#{k9)Km9b`)>X`|R5^~^F6};({U2F{=I2pl6v zDX^$b<%j&Fv7%~eOc2E$r(w^|IceQMaqr0B{cKC!zI}IR>})rd zV?gA4S(K!Ukd(n|3nxKp@;HIa>F57ix-?j(F!Dskpd3>jngD?U2|W(5ItO(=N~RX; z$Vd`Cguf5wl-z9=5)AGcz=bP0LT1B3yGk;)Q)s{O@Lg!ryFC4%RYR+4|So7P1ASQ7Yl@_KA9yD-ZCg;s)#9}?% zK(_@3XKE_Wi4n*LwJ~9`143m!uBg2KTDdX;Ikz>zps+ADgqlO6Ku#!Jo}S$;apE$G z^u>$0%obAm`^_7bFguQciR_9n%B1EBcY=|0Ne0JPyagwvmZJHOy_I?*8hjO^_RyvyLXJ3q^l1*B23mNlhnL)SonGdAkL->9Dd<^vspLeG< zpS}LOL#%Tx3co!P3sK7i{#!B#{IrzSvf6w8H02_xFMTvQ@+MrInArP1QAU`VE)165KM<|c0;p7h-rT0PQFqjSz+u0ua9HMK0Jy+p#G zo28+}%KVnmMF&w+bMQ!2g@FEmVPm2Tg+DS&lR?tw!#p6x(L5F-X(42Iw&f*^qiCO0EBShmNLkOOh_SBBN5YwjpyVQZWsxHP{9!N<5}MtE|~Jh$<+Y^ zGzp0D=GCj4xXcamF=JURU8=|Kp@eErwf_(~gh4*=xjUg&4ZJ?CkEczK{yhBlwo2g=21x z#YP*~Aq`Oo$k9WplameMCnNfndIhKD2#hQ%5H~`ocOuS9QoVFSX?&e9O;UVju`b>U)eYy4 zx3UFhwjEn#w#^~{i23&R!?{^cK%|P60fj&|rR~;8{Z0!W9L0JAyj?ksWvjpNep?nX zRx^#FBq28HcuA?U8yN(l*<8q!a6XS$imrhzfy$YIO2LS0&SZJ}jIKB0`z}jlgJH6$ zfMIlvj1GdyN78$%H*elCaWwOAP_RT1({*U95r3fd;)g%pyQCT3{jXPSR7R?1MG5gau|3g zR$40p_3j1rz1m@;WpplI)o=(6ac7G(L@8LNFqXHCX9%w%6AxYqSWH)TI>Ll~v+F=K zj#Ba2h^R!Y|KW_^%4GU%rOsBKG|xWF^GAwj7=P}&5kCFA<8qXD8hUdTZsmnXsA7hL z^%`#NQ2Oqj2>v; zvmZV*qbgESQuSP26`Jex7F~?GOUs_q=c+zzrdIa!TmXTKO2KrjR>OyH+HjAOY7`Jx z9WU9rv@wPW%stTI1gT|0i6on__M!9VjZ_*p?yQg=2tciWf>m^Gh0xOLYsy?b`zL7Y zP>1?C_NVji+x=l@=m(rh*FMhKx_yOQbErp}D`-PPVB|HP?A^C-5*uDASiV_KjYf+# zG&L826V~w}%-0dpOxe&TcB=YH1s#3Au;;f>S&q=Op4VaPC`QO;eX(yaJ;o9Ws5C#R zhfHfMEiLuUXMD&JR5m>~pU#Mki;I9pZ!@H-^kIJf7$Po0X}k_qz9oW7%+_JUMs1+K zwITYUH<3rQx^v_wTAp*;K3J z@>P>Ym_ttVEm@e=xmPbgIU+Z$Z)r<=KMHMC1k`ANAxK9E7R1&SXG$LCJ$&Mpq2FIO=ihFiAl(hxtJ|eZ#$w}%{rc%NM@L~oc_#y#k&j7^H8Hu;qiOZrVzX7(1jM}K6bB5Vj^qVA~)<$O` zK7i}j!_U~dJ5Ik~skqDy`Uy3(J#`FV#NgL|ty!3QZAcLSsWx-fQDI0P56Au^e#7LW z+m)vA>JosP0A757@d`)Enta*%9qm!y#ZUAa;fF1LaLn^XHBUtR=5O9CK>mI6<%n9V z$9RXrBcT%6h@uRx^HJW16-JF4H|AMcxVgD4O#OT)(@{UPX8ic^d%jA53Ca|9w&k>G zRhP>K8yN`{B@hZLyy9}DaRc7HW0K7U43f}(SGcS2{%77_c`_S(VncLv4+<-aETe)W zKi&|96Iuf$Q`FIQ4)a=RNLIg#P0?dQ7Z0F#_m7W}r#>vMr`5&W8!DZcmAM?2L3(y( zd=t~_lVU8roy z!?8J$ufi7^6@+iud|hP(K#eGE==gBl2E~9YqPlaOd%KBID!B7w^|nY5Ak1 zuU&c_erO&oTTnj-mC&%T0$W39B~YUbGLWri&u+p5L@+CnN79NiNuv&TLZjQ{v&ssf z&^Svr`mt55VfpF-c(p6dMz3FN9d^OlqoHwpd|*E zI`R9(YR~n*zc2iWurQs*#&YUZWvWYnq1q&01PxtxK5N6++}zwJ=azS+uDM=AOVfl{ z0lfr2KR<)Pm*YZ1Yf-mcN1|nAW23?#9npXL4Jb506`8-Ttxar8j!F}LCqvVmPt}g= zxw8HMtAfl@v>>~9i9Ea8wVaX;inffS|K+#!)-#=)qGsm-cmq5K_H3o4HGxgqH~-=; zzXq3If1IzaIpxWR@!eVlaR~&y>o9-*MTVB_`K=T@>}OF^DoXUQ^cpfQXba6}qD?Q+5pny6Mnp&`4?`y|^W8W4u$u3DI#=Hx z0THNJ|Bs&tKymjx5gy*guRCGXN(v$_ke1X{$TlX&W8wY7YF*DBAm90lB9SVfPkW1dOJTIgmx*Hk&ECMJgy$XaWNR3A!6esSEeNjg_Nme8X&Sy~K6H#6=9akd>3; zjS~LwFi$O-h#>T&9H*PnOIFRB!9|aPEsVEKE&UHc!SmteFns9-7Y6Kc&ojvrha8EW?7wmIW@Wj) zSVIU?4V*aFDPYNp`0}OynuR%z`g^g?>~e9Z1l#WK->ST@igR^1OFb%Y++BVh2T`+* z{vPK%s^VIg)n5rmVwjM+;_aR%_qi$>e?_8X`_#3&-2|rlF3nocNj2HpIxOWRSn$Fl{(TC`D z+iejRf=he*O2IhtjC?Ap$)_53dfnI;CskEKlh@Q%WD=v{`(YT_x8FL>Apddrr;wzi zKxT)SC?a7^EL?!{Iz=SCyYFF=v+sI+FD`xoI2&b`J0K$K(th{W4-<8T2g-*retx;@ zhU#i}K*|)y9^t9@Z+8*5+nVh_jZ6Gq2?mc>RE=Z}<^K0xD<`5o9r*R-RXwhFy#y%U_zUh?7O z4CCWiQ~{dF`D{|~{nE;^gI0rCd16v>O42|aRkADVsQ=)Webl+gZlLg!fnYL&{&mx5 z&!5lvxeOzs2F+08gNF`zS|8%y$Os+I_LX4fGz&WpeLUPWvGV8hJEBlqe=%j4**C%N zfoC=_YIMU9i!ilg&jIxsgirc@Xs4;ks?+)4XL&JY#C%?RkgnOvzLK*uZ?Q2w>~+2x zg~GtVpi5Vy-@Sa>4Sw`~{j-!AY_l$92>C=%!+fZ^V)G#Wam)8_1LtL#(PH|OltI>k zoXT{*U0jYFKKzkPeTCx=UFy)H48yR}r*q%zeX_VZ(HF(!^XVpMstS`#oukI{e<=fS;0 zxQVj7Uvcc46ol$Cj%lCcvBQUZ?rbT3=u^Na5>{sM&M@iQuHNT&do3+$_)2F*74YMg zf`XZe&Q4D0oP|mX9z~T~mA=o?g*fyBFI;s>ve_FL_%^V)YPGdja+B%ZR z^K~b+6PNU!vdXvFBimXWCSU`$@>6;P2&*$KygMSK#Z#_Yyil*|iQQtyv)#N+MWX0gLyKaua5wExm%bdoZ&HVD^%k?Ifh{iWr z1#Da@RToPAG}ATqB`ZtEbng51qR+Xiz~VI07xEkj1($gMzbd@IC(eYf!$$il(3L)l zJ+l5xP179`Cd|8{l^ZpFyvwTg_nVLH>i=r>e8iJSypjWt`7)LuC(dfSaANh08#r6n zj~=7s61|{JSa`S(H|B}`(~xis3tGI8g2a83_s5#YfoJyvYStc%_4v%#T4G_IcYxyJ zpm8Dpxo;nW=rnvC)g=m?L$#I(g`vg%W}<_65|@zwBu(GY@F7*kh*Z9n^ve+;A*Qox z=2HMJ_|>)F-AcVJ3G-Sj0=}E_tqahHHAU}$v;CqWEzGiL+o+#AlF@Fo_FID0Au#Iz zL}|$AyciB1dGX?G*BWq(MSw{!{lP?Rp02`5^l3}9rLOMKp|f2>g6PlP!QQWj+$mF2 zu~kw{2Eo@%YSHqVS~82~pmBSUpU_yCD`8FOD$M!+g@9nOx_`wOvD>k{sK^wGRoy@S z+_?i3Di$2c27`wjiR^W9Z0jyf6MH>B(LE5njV?tQ;XvfhQa9auw6L4BF8UhVw{6n~Up=$q3J-Ti`8+o0%RTF=7HCv|`_}sD zXm5wwKI20ycku@4zQ+HY1FG>0>AmBAOVu_iCZ?tvtWsAMt{M4Yf|IFc>{MsfXC+Ij z7WhZyI&Js!%RNJ2FEdUilI4>9qXt9iz23DdI3wQ%62gahsgH5Um74Z1mn;s~+ko;{ zB(k^c_4XS(?fhEbXK9n-dxu8;b?&hEQ_i^A)N0vFoywIk9>ld)Oe&mFK$klSVSVNM zyzJNhn2)#dmyw~N>5enmI493OJ@(-ZbNM{K-jD$!wv39u8P(rnMvC z8F=~Ur}_g1WK;aDQfbgYn=O#G*xCS{8hGPM8mpjR@TC|@e z;od@&(xBU$ij20)4fp99Eel45j2%9_Hf8BDnFF$5fkvYS3xa-#SNNNM&9|oVZSinF zEMBE$G||UWVZyv8899bgx;BmO6yDd6D>=EjAxL#Q=*+sfHt+Km*H_)twsZB!YTEwkGJuRO%z|hWx!9+fkB6RaTU$kR9QIZp^v$W#Bq32etN zWmrPoXiemx>|Er=myi2dgk3>189N}}r!Q8;&NuRqZL9Os2JVaPGki@^C;b^~h@#AJ z=7Z+ryIxqdrV{`ceQG%0iM5+s(v{zwxQv7Bs*s}+?$|J4k)vZUE4H~pehh%Lwx->T zK?)hi4tLzQ^Z}7i*V=9b>AV>^p5(cpGavJvqtmi#qts)ax$yW?g z+uwcx54C7sNF!n)Qu-mwV3U`Pe8qn9fv1oIVHU`I^p@F;JFyzM4!L~=YAs@ zw1`AtbxqB&Ac|_)H{AToP@BEx_++I=aOLbqV@>g8#emg6e%a4ozeb?%vcxLL`tn0j zaD4yf*|xUh*?WHwRqP&b3D)SyrJXjY9}9R9z>|;wC^!K2MsQ2-J$yK(IAxd7CCIjA znK?B-AJmlO2^>j?<=a)4ezcQ7OWM9P;)dPliT7R{hooylOwB(zJ&`+T`*r#)X)@hg z`7iDI1#FknpTCw-C-^g4^*MU*poT#A{{(qQg(0CC5*r&UbO^$YP`ah&S@C&W&$oJj z6=k@0 z**`l*PE(Jcb5BP}h}ah1J8kIc?nYOEmbp+rcSTRDG}ocGuzTU#3+2`SV{I zq%(kMlW0^NN$E6u&EG9B=!ptR$4PT(t9I?ii`0N&%MW?xCMTiwRCiz0rK~=|6a;`% zar41f&Gvm?$4bW9jEb4a|Cs!VxGJl%AR>zeC&SDX#6Q%ouDc z#>B9qZ@lH3&z>D2Yj7OWE{m(niuz)Y3V;A~)^FQN>kKv-(GBny&u;WAdQ!Olhs&m= zvsT|d2oBjTa11Y`7gT@L>bsyR;Q&0@UP`qaJ@ROwb*8$id?L?9NZ?IL_C7aaz@a9= zv+>(Eeb@HB(UV#S9jdZYFuv7mFP?bch!KCV;QeqW%6C*${AbX2PV^h4YTVh(v?6*s zIgvq!RYzZAxmV*UtLZB=nLJ54&>nB zFjBS}zAh@#wrHH88roRfNpG{Niz1k7Q6q_cSn(mXymW;8l^^HlJL7pJdno)kd0v;7 zPYe$aw{ZC<%Q7!#ZX@k{)lg;o`dP|z-R^3F>+`u6xAP=&UDCWQ>)7{w*o7n7Z4tYoLL}`0MhBBO$Z3D1O!{bWcxsRY{CPrAad<-d3tK{6maD+{rEX3Zhy>BB-a9SPsQf%CaZ16PPn@#+*yY z#vrJ!5|=>8;{d0ysnLJNl@0o<4xSoG!{f9sq6R`*ahZ~`xJNE1MFnH~Z8EvRf7~1DUwGo-?1hg`beofFIZtDff>)s47 z^PR!9TweiBYC;Eem< zG*UR4_Hd()OD;pE2U)Od$Rm&My`F!{RvxL|bOZW6ail2-RosI9m?5`Un2pM&0bP+1 znjA1n)MC@7hGoq~lFN`PLX`&%vZL4m8tQ|$Qq6A4%*^pEj_M;jAM*bBKhm&O< z@w6|WrP4$&>gO_?qI~<{a*}UCa$dig3wZ=mThkL%yw7Wnt<;;z!8EGG(U=d`Ntdys zbngl;(iS0YxV!7{$`sr>ojccs2Kz>bx0TjFsI{i$^N0AYNSzoFe^z*ymt3M+GU$e@b6g~zPctT~tU zi+V{PoGVBEKu61d)zK$*NgR@=I2|b^Oxn(v0%XT?;R94`rjgevnbQoXbd;|a<|F| zk4&c|QSvDe#9WQ^`|w@K1ZeA2o>6pE)Xl7{-HKf>`MEhcL5cTn-O@(ap@0RAc((qG z<*2K!#zw85jokL*$k1{MFChRGbGa{MCWqBvd}nB%DpCf2-^Es1jVD4$0i$yTmG<3y zs4V-e&=Ct}&cavet)-dVw&`C;HB8do# z=GfZ0tn_5cRHt{;_sxgZ{N2Y>ZCJysjZ1P&%<=Q9*7WYvXJJT5hv~Xnwcy1!vN|QN zDk7o_?FJGtnLnfu`94}ghC-T`r+HGxf6K$$dHTrLCo9y!JA`fo*}q<64A_T-06%1H zhy}0YkxhzTPL0l8@Q!%8y^E(!+XX1@HfQML$B&=yH@4SkxqXY*KakLmCx-oM08z^Z zG(naRl~h*|8546&MoX|ggx#UPR0Owj;8q)xoUL_er%CKodjM&E%A3~!`rk6__a}dT zd%pytrRt%$d1mJ_b4HR|*dX{+ETvUbk`arvdvhbZNyF>IuMw-lk=bgb5g`Dg+y914 zdjo2OP^>sIR$kEG{Dz>AA!x}KyaSgsNS$-`W};2(@p!W>A$>ue{xOaVoH2pCmw@DU zX_k|)n=%$2=B{=&1G3jo*ELe2 zkmCri<(N9kCpBTo(QCs9H$CGf4(ZcJ=#6SQdYGT1bR8{8>}eObcr04HSbf+bk2`-+ z#?oz#sdgJC()*tmcsfmD4=ozjQ@!0?&fUA4Kh;XtY;tZ^Z;Ms{u96SsmAs=0Ze{;1 zLy;-mGW0&Lmco7kzuKm2S``Re3}{v$n%8$2zKO#818y_?s#LDGJa`Jo^R#aHeB_j*x4ex^rf6SsCB;1b1fI8t&7 zwiDwNUYw0mY!U8?Iwmpo6vW-M&T(^{G~Hw1y6VIyLq!bLg!^sR)aVv2Ha0e*Kxba! zXtX%tk7s+t+PXFWbo1`l%VyeFT-8)c8d>e5pnren!6ZcYH*<5RxE{kfnKkYXQWN9B z6l3exua~+wZO6Fo9(%Wnz1ZCiX&Tm_9kUlWuU&iLwd#^*Ya9M)-BAj=r|S`=!<}Tk zMerO*>nq=vFI_5*sm~P^osiWHnX(nc-A7KBP2mS1Eah#Ep6 z+o-L)u`JJD!wSIKvn{N#M`fuG95QiR3WY?m;+L;Oaj++>1N7K3_#2ry2l>HhA~B$W^vS5CG#Fd*~ ze08F(*2qt)Y{$NXHwCJr0|3;sSi1CM?H}`;oqG)WG1-HJzIVIawd&BHNY)xnbjjpl zN4tEBt#?&#PlBahqmB(4*8SgqT(w~66%^*s)NgiAIDKcxk&k`eH&_5ScBHJ` I+1!o)3t($xS^xk5 literal 47363 zcmagG2Q-)e|2KYFk-d|dk*tiOQ1(bdNRp_`>`_QYWP~J2BBkuiqL4@#(NG~XN+e~5 zB2u^?SD)Xx|L1@H_qqS)e7@(4-s8Hi*Xw#dAM1I=nVRfjqUWV22!d&^fv!10P~c}O zExL913s39pe*E7dKRqkI1K!Slr|nKU5yp0YJ|5nF9qxSF5ocQ|Q_}Ad+SGz=oMJOFEjtg_u5-nCM&$SwOw#PBQ6W-Ug2!Rq%Vyc|?$V1F8Eqb&q zOf?HFv}IFuWK(m_{QTwgM))A#V~rXF4*Bi zwJ*<3Fa8?;$#rqM<_!0e;?6~8Uye;kXqJ2WHzI*=r--yPgJ*vQn|cKmEpt>{+}_gC zU0b&@g{>@X_%-t>@#)$spNfjgSXUv(>hHEN`>(IBmpyn;TVcGW9{kA zGP@=^0x#=`5jtyNW@eU)(=043D2QEM{o|d!`^>hNqbKiIROI4%c61jX(kqPVW@Nsw z&LGdcYKl*k{l=w0^xldSF*gn<5m4=39{^RLSmm?#ouHU%PiIpqN&DEW{pT?#v zF`<%TsCQ$hw|H=H@X3IH{L&*2FI25%3@IxUUI=*EuH2BCn8%F5=QpF$!ZoMW(XS=!Y9l=N+mGZ9a= zo9?fa-@d)+!=qEe$uH%De|eO*y1i4D(8UIlKlRm!Up<5;c=7val7x;_ihXy{K~o9N zG<<$ZX{o}QAC7qOeZ08BZ`|Btpo(eN>F>Ixrb&IHUAx%hs5RF9Za;bQB>6EFo&(%< zK@04)CE{@`i5DCfzkf_qbY;ILYkMJ4W7TTv>(}FK&669o%%0zW@SvkE z_;laEfT)ZNqot*#eQMWno5z7{k+du=H&srR1ueLhx4N1yMHQ?58VsHp9`C%sn6Wdl^0t{CQNYibhT zKRr$4+v!!`(xN|gC7qi2g6frwj0CTbH4Uw;3|Re0i&q(sifY2v)N$vZ-?-g*=-cfu z?%JE;=hmzzUwm$kzkKc5`Gv{eQwA0Xu%l)ddXJ4@hcw`jnq}|o9TLefe`Svzr zu6e_;p-2{W*4mr;T6yLTZEY+kAMxWKMnv~iUX09UemvXApd7la`1$kawIka`?eB**hJdGYj-~dJpQR%G#El`RV+4 z{@p(N)J_+C3^R+6`ZH9QGspC{4u71f9K$J}fACaBrluY`F)6U!nenRO=2aa2|Gc;9$IqW^*kQgS zEjYL2ko}M0}{*HXk{MGMF zd^=)o^>doE%$h_*M2>rTF?)N@s2=|G_xI09M>VGCd-vp?{Qa>{Ok6zMf3k;MqS^dC zOgKDE+h>_3;8W znXshfdU0{_C6u<|uV3>I?zgew|1~`j6Td<3^ULHd60)-Ab8opk#R4e*# z?A{=E^ckA0&qxbXZhn5_t5@_WP~_4oIKNIaO!(w;`g9B$22NN$V5-lpyZKeYz%HI0 zUXLC<61!~Rva-C8a%-_6l2+0F869Qj;)&J2zj=Qe-&8hBvotl$to$(ZbnR%`YVWbI z4jjo#+`R6Oa02aVa?;ZA&Tnt-H7~UARztbyvHpg8UdrexYEksP-yJ!7)*U;QD5y5p zQ+gyNNN&$X9xaFGmrA>K8)&jeO3S?z_{P?ky(lHAQPD)D3sLn)B4-ff}C7%lK zPlC8#=jP^=Pk-mfmP)#Q{qX3rwvJA@eKUQ5h1Am0Qs$9|UYkTpy@CL0*0Bg)MDrrT z3kxOBGYecGOG;xSrKF@J9Sh5I++D>sZPNn}75v6bv9y#DYW4~^*Xo)YkzKp^&{|_J zU24IrI-Z7w+0^*02eMFbdw=xkQDv0jlnMJ9+;y1%T0}vYNd@jcqcnLfy12pvckCA? zx_x|n+THjB1uu<_jY;(`zS;SyzM+9)SHM(#dzOw;zGRBw@Z3JRId#T7+|4N{piADepIh60{9WD>D%Np(dyxuZk-xJ|ELPP%!hl?4D~O7Y-dOn; zU~c_W21^~??;VO#4Gj&{;ph|>Z+*Mr{e-RNea@al@f5>@h5nY#ojM|y+i`gFvNQLd zuCn)^p6a`N^3*BmgDjVajT3K&tsYJT#F?42?ZLi}uDY}T_71m|r>o1-6q(uC*@nGu z{YG*Gl_V4t*mmsL(RhZb#i}-7Yxq09AFDX5%AnztES(tp_Dn7PZYttf*ouGYhg_F8 z=}H8#Z{NOE25ak?WYY@f3M^dHMMIQXKy) zynkV4lZwhC-jw_I1BLXMq@<*Zx(-%#3sVq4DMp@GbF(}Ls)Fv^$;(?$RTL5u;x=m3 z1{l`9b}V!b`!{WeCoe(QmJ(XBx^v4GS|X~c`Fuebt)8Bq(gDSh%!0l2(b?u(tWyL= z3*5gs8E>DTw%xFB)%H0K)n{f#zyU&fj>)2be}#0K9~9>=H?$h zawG?riU`M^&&|v0UQ(?In3l5fu&NuW$S(||bqY2p2|^z*jpyDf<2Gu| z@xvJl!>aTX#uV5n(x>SkmX)!#H0}(ouV2h)CxpkauT{S&tOQ^=;;C#z-hH}*#K^LtO0r37~e z9{0J`)n$>B7*x=goP;pPMVh&CNHO?Y_5=$ zm2E*uR0vxQ`TO(sT1iKG>(ANQdbIcTnH3B|tgPXH{^lb$sX-Ckd+!d9Bx5a3(scRg@8#vsPuEuN^{h8{b#+zt8)IFaOAM?3`0?XdXK(VAEA5ZZoJzZK z<50~GOA59&dQZRXoSgMUbaeDVwg#6B(&#@`z{>(hhLHi&KX!9KgH!66aEnVjEejC5aNorg(8q=V$MPQ!5`7t(ndV1pOt$L;4UsFhr1TA2)jd;ST}CmsJ#n_xx}iR5@21??fv4+r`|K3OqTv3$)9<@ zj*dnvIJ6ueeU)z5jw`KpWOl&5Ui`n^kT`)T7&{bXRX$64ezuz?03d@(%RdEaK@Sm_i1?E)~ zOYbgu_Dr|By81XetAEcQH~PTNoby;fk!{<|N0ymOz8BD5D!iBR(rq2K&SZD-h95tE z`26|h35;_Et!!v$hyZWGZx-0;R=~D)_Vy9~V5niTA8xOuKYw~B{MFJ$@U_kk4w1q- z=V#xX)SI0jKX7x`=}R;3EE({|27nWvA7Az+B532CYw0U@_+93* zbvUzN^RHjO0*9kF%(lusoqc(zatiRT8m}!)Eb)AWw|8i){oeoV`SX#XhDgA|g3_aP zyy#bSjEtN(^!VpNUH2)d){#pBc*ncpnv;^~jvd^CgM(I&PHr9y`DqMDPa?(l*hUJ0 zv&TI?JrOvNZ^TAI+|SSANI3xXG0NTde)@AQGg>eS^3p$h_G~sK%iT0EQ2FoQzq8n8 z4q(OTHFZhU*m-BaFB+xwqvDN!ga%#iQmLz}lay0^ zb;;q0uNTw%C!xF0+UG`7kDWB=q5w9yjQvzUFu;e}-+0%yHqg&ODK|Hl{0jvIMcXBa-FG@yfPvr>0mCjxNxx86339-07|mM=@sWqWnW5g z-`#g?IG@=8k0k4}A)3U%_bRC}DLO-&v= z;9xlj6c~gh_?lX@_Bpg=5hxXZeoc=gv7WP;qD(IWxE@9sOw$NcSM?j)^r0lpRYc_R zpYOHGzMrWt@vB4xO!tGXbz1B>E#{!gxnaYB~j(Oo2N~$BesF;U1oRAGPTXgxeUp2?Q>=;`a*|6Q6xgy~8GpA~Sy}mb zeKljrm-{624?DrTD?sLB zwXe?96)EFFi+5F?120-zW3s^b!TqrCT7m9LK*Yau&xOX`<;C}H))KjV{6&&5&o)Q8Tf5Ihpqbj? z%}alOw#^O42sL(ga^M~%H%`#PL^Miv_TdN42dy`-4MVCxxnn&mYf~LQHRSXiY8nphZwLg8tfOFNNw;sa5P+{*kX75E4U&x&2qU7jbnBOsDp)a2dKyDR!=&`| z3+Rbrn>UjzFi}WD-`QE5$OI83j~m*H8Z`|~7B`zus&Zx}HO+?-at-%_91~xXf>QmpC|3@#Lo%KNj7J=?cA5CeP#}1l>|CpJX zwKM&u`q)tQ^&fhDB!xO0rQw%DRtn7V>CIYp)V9JMtS=q6`GKe$^^onR!JnJ7>@*$L z$K_vW%69fK9cvKoQ1-F10Mw&V7USK(96vFf*?vwZ+xK%>0h<5GB6fB#I;gm%krQd^ z&CSj02JmtwTD^@aOzS}%6y19mu`7cF4!&UYh2GqEzA5{Mvc&4KgF)<7RaMnN3sQm_ zXKiS?w&~!Sp#xoXYqc{|;pZ$ERA0}+!V(x5*k$iuQsraCbMGZB%}ljNzp~85&fLfd zod^nk?iQE(S`EStuRfQx-`l&6CWg8*x+&YY_aVD7cfvB+%o^VIIj$})yZ6XfSBoomWwqs6xu?=@DF;dL_gF(~VAzuJ`D zL8BMCJ`SsEH`0;-+PVjeZ(ZdPhdK>JveD<{$!%^MPk;Z=0C4C#`ikqr(=Z`0__F)= zBW~Q_TgSv31u2#1@#$~Clb0`Frr_h_BV{Hc{O7ke&~Ab1&_6rgb#^KouO~u)M~QIM z%JsVrZ!x(^w`I!~FcKb6O2~-pSCW(Myu2;}+BCg=YvN!F0Mz%;Tj-LY+69O{n=~|p zE?v4r?nrTyn^wbmp$E*(%TCW6B{ZL&U1^7um@$2JZRIp4CnrIG)VDtg4KCdwl|m0R zNX15SGad!|sKLcM_tQPBVne91dGnq`qQcclsHxdjsP>c`*12}=8nx!+9o(SM0o41; z>>_7BK$)w&HvH||ol~p#HLzP%zilnXSy6}Y-o0A_74B%roL=cDFdxG-LWMO4haL@r48Jn6?6C(4Kx4lrF3d$d! z9z3(>L@jQVtT$-<`HOXhmr(id?)`YVq+?!UV&DGHq;yt%?}^mkFtX$*`)opue|uXa zF)4}F=+^Fy_a6VaFgU8Kr$<5TR#WSM{)4Sq|Lz?-5Qd(W6_3}4>T?wpijWZ~NXJ6| z62EI%6|jRnu2ES<#WU254wMOqIhKJ=1pw?rfPqoEB3h)`GCiGuavv2F<6g1r%nvdB zM8T~g1Hos`48K2dI~o>xu{yif8`@1})DQ>hncw3-6X4$VoB~ z`!X?Mh*jxwxo2J&wczCJd?h|UUcL=2rlfqgNcO-(Z-zx`8qKxU#ix}MHWe!?R0^B0Ok*%x<>nzzzvg`G-UvG;q(VT-!wh&4qs8 zgaH*XS%_B}$OVlpQH0eL-P^}GZkBHB^k7kX@y z)3vP>$1)4{3v20iW$OWFp;TD_YS`_<1*j-BF%{dgg`st6zH`5Sl_Vc0gdzFr*Y~v) z07)aKgXhPDD-shDx(6&jO5+Y%Tdi%W029rMQFMOIli-R{%>K33XPAoo``PVOrtqoRsQJFnP^X^Z5v5f=Tq3) z#{#E2xw%7M-`sfd;)Ukfvrk&8sp51gMH->n&C5b9vRI}I&sq^gJpmtDM`YsG8tW_1 z8T{3zw#dK3>jPcp{EODt*SANze*OA&toNP}@VYM`kOU{aoyPf~r;&gH5P;c0(}DKg zrymv+uW-~T{tD%0+9ok^#DJ(rIf;JW@?oHJVBpA%U!Hj!n)qkPh3o+y6FEkySlF(l3(VmDOP7f{oY&0u%3AF_AR&I zPWPVI$Ad%3^;E!~gR-lGJoA;n#w70k`HuD z6u2_UN`$}j?8d!5g8jB2E<;LNA+^P|^~*L-LJoiX3B;=%dyz*$+xuQ&wo?}uP+(tQ zA3;D9h+5&|0x*i0tI_Wfc$8akKk{yg)`u#YI( zdE|b=buX>z%s1|I+rZE7(KT7J_ehn8aG`}Eq_q1zhYJ(*B3bCOmpMp{L zH2HIo?=~5Q!HAZZXnpyzu#w|#%OwG6BR(ZJPTa)%)2>~n7`a6Z@8r; zUiD6njOf_e+3_yO+SXkCa`KV9vJC3f%#SXL%++y}lD7e9ZrhcuN~@HjlQy}DX=z!6 zHGT$GAx-3jIri`0zkeAX)`Ce*nBFnTAo)j$yoA@_t z64vU9jff~%jcUgBl9Z4zSgJa-_QG*n`Zg!}ygPUJ_?^#A_bdHaSm<7Eq1J>ik^@bH zgRMJ0bCbxc*4CWO`>uiWWV}sZ`TG~yf&=6;lDBr>S*cz@r#HTJ@VMi>yF4g|oM-^`!@ zKCm$FLh=4AQ}WIaT$;^liFW_+@nf@WX^Y~rK&q-@O(rpM$f~R*Px3rCwL*z4+O=+^=X+_*lss^Rq82y(j-_CCR+L zDcz6!1Y?1iC|};u%(9|_3C;T@B{CVQw@&!)7f)_@^XARiFMjrvO<#Eym-FxUK0rn6 zsMeBOi(Px*+9{rMw%2$%h`qae$cwPJ(RD)@LQ>1p+z8Vz8PMj-NlD>yPnIaL*GroW zugjvt?D6m@X$bg`T(BFwLW+-@XwTWh(&4SzbiC`UNQ`c`;_r;>HM7ibTjF%GC&1O} z?K-M`3@lh^qXqf76R2Wz7ko{5@W(Q!1&qw}qCQrNM*QqbF_Dc1{M<|oF}iQyaZ)qK zp9g*U3L$S{iCdyzOao2KMnm9U&#prHDrlQzDfE!A0 zbYfy6as&hew@f{H>@2!9q%C{LUf$JbQ8h4FLd@rxUu{ok`cbCMqtV&R|b z>#w_|9$K`xW&3sxP`Cfsn_-@LV2Pqf~m=;pg5q?L?)y^RjOxjD!)wJ5J$}5DuPmI#iC+j)Xx)z_8_JMH>(%t;2tV( zV{6Ojx5>g1gwyNOldaS-s=6>7HFbeof$(T4kvQSuiG`X90B=5Z{{~_U)>l(fqS1lr z8+?9#H6}=JI9g*Kl6V$!CjR%&w3~8qa&Cg)ivEjc*9^vX`RY|_ctrES2_%StWe-;Q z<>a8oF+Rw!Nrriiu-Zx7P6o2xMhLOZf*#YfS`-Xf>Ent{1 zlMXjPANn*U>=SKeMtK0n)v5*zxZMxk zwaLQu=OEC>vvG|(QCgnK#vjCn&n_#IPgnJqB4b|V54uwME0r8ZVlK$|uRrR&LfPi#?&CW|f`Zqtn>T%3{dC3v9wzBy0 z-McG5fG%^No3CbMYz;WPu#T37ZS?EccX;9claFqKemtk>h$^IN0+q0_v2lTJsRRd(aOZy}V40h0M`#adTg=WiO^hW7dQ=AWFgihiw_@eK3VxSAU;s*az)D*toXz z2+3ukBj8;oipzosH9pf=on!InuUJpU)5xEp=rY{|JR`R%ayWuG<(7Z;PGOJIa&gG( z+ZsX$*tOvD%|Y;vwY}s5A?oPa-%bP>uF|`kKfGN*LCeQSom4&8ENJnXl!gO z^BmamthqT0ff@+2WGGYIDDC*HH8U2h?`fC@goI1g)yiMKer@dO;YM{w4SJ4Xr95ON zD=VupTN5KA#?`++_XE6dBn=iMG=O3h5b`ieS6rW;pMNmqklXp>WR5D2_YtUb!_ZY4 zNxJQ(R;fKzS6FEW)=eD_&LbBf8G&tMdi;2%&lj!U{cX3@#-UKFe!CZ+BM4nXg!nQv zqWu-%6+qWl^V$l@?F|N0t@{Rdak*|nu zE!c-EB?isRaQ}X|B)q+2L7X6TAY4cm@RM ze5d*p&{2n8rAU*xJCq`^Wfeh$pPE2s+aU_gs4 z#6_?tb7jWHG=$$+I|ab$9ys>|@$%(MQb7iDl$t8KgIA5UXJI8NO@lgf%yRU}ZX+Qj z)p&jT36f`#g5bGx=akR>RbF14ITq|4%QhIc7D^)GCD7Dz$CvD8?uEYgTMilz)Si~3 zDA@UF8%o=k>1kua0D+PFPOTOC`9&5|*5&rmvs+crS4u~_oD#KHw!3vnloo41xS_8k zG9gsCZ9M^A+BlE=~)INpSTS;KXf^ zfAc1P#x$yT0k*Za+UQO#=#B;iS=itjEIe_xMJ02de`yDuqptlIq`Bhx8n=ERe>!4% zuV%dq8TSKae z{Y?>!U&f}IRdd|r9r(Me(IIaW=n=z$IVo9Z+lb>h`=Eg*fP#&l>zeV0Oe_VQ?`Qv# zhAOCe%~dOxPpb{`StYl?{ODvJ(#-XK zXw-bRriw)w*U{-Hh^61Z<81ayE^MVf_f8-k+>gq1+0OKUhUMA~m=KwYj?Y9=3_Hpl z_SAX8+#(*?FarocFL5M^nDh;MW)ce%$_(43>6qbos)+#Ymv zLEugEaRSr!|q6tZNDkB`HRe3#Y(8hCT}8Ftb{A*GV5>zvT{&;B0WKxlq?5;}*x z(g+$c?1GvV=zc ze)Z%8nSn6*yUjARIxBH`1_T>d_>HTDmYtImO=d-_wNMb3lehlV#KZ+`z9WzArG%l8 zBUj#NqHT-NLX_am$Vi>&X&A}UH`}t+*T@Ui_xQ|q3n{L%tG`c>Ap?YqWr#P6uV1|? zYIuCYsW8~;{I9)AVxOOTGyRyGqaaA>SO#UQl0GmrhN2;g44= zNHHl#0bY!daj;u*!4-|TDkLp+V?D)DQiSvdqqn#Bi_wH{!PRCodgzkFV`Em{zm$(0 zK5U2OB@7qM{-UXV=C)W5%-6AN1u0`zK^DFpCGT2q%iBR!`FrWe0$U2yXZYDw?^?MB zupK7fTz;7Tt{_4i{u???<8bBjP!o#=r(j#gt_=wPZByR=UTw|(Jvv>P=>5l}>7dgC z5>0Au3F9sN%v)<6dYhZ|9Qt?7JQkgQrvCd&GX124^v<0dU>2<#=&nNW?n8}#d}Q{M z8@MCTlYBtZaZi~pd+tJ7h|mO_Crv$o{$aE(-f7?=AILJV)0G$?=D}~`%CRBBA3aie z{pO7V!n&wS2b9klW|lewL{OK}cJcwDZ=fVDaZCds*PG_Ne+*JnsaumYGh$Dbr2FgfyRZFQ%hdPqTsETUu({{kmV9}Xc;`=Qjv2wq=AN=nMx zjz>)C1}CC=(g9fA2CBBgoduAm#tlA?l!R+Sh~LSRB5<$nKYZAm4u3qq{9=uu8ZUCV z7yA*z&jT2QPoJQlfa=iu=q8GtTg3wi9;gOCW@k5nR3x|xh5hx7o*`?e9>SP8NFJ$? z38b8yoSuSrD4PeXOKOsC-7-NwXa0Nb%mwQ`o-Te`TDlcpA63x^F|4sUK$4ePNZn|4 zb(M?x#1nE+BPA>tzG6uF@krmmz&aw0k-9!>tp7uOSrV>|QfIFoUo>Mah^lw;)E!3fIGguo_dF_e5@_aJ1*4S9j@$SH^#KS|_PK?F|UJz8f72=51cQNFM6A*^+6U<@%# znrL|E$U-gJBvp5K?#kwUB!WQum)yG57)M2Q614K9udgt;1O58-$Q7w}kL^@@g)x^U zkQbk&Sv#Z#DS$S0t*p{8@e*VLp$nC(0p*w+Qh-kp*n_rEQjQ|EO5Wz?g`68?ZR)X7en;OF?_~`hxT6juJs*V)$%lc5av-)PjlPT} zzO5K;Ns&Hu1==bcsrIn7KgY}^IPFt6!`a?OrY&$N;)Eh#FV1(k-bJK~q600Boa=G# zkufwdV680)0yF2wrHf$}ct>{;86%(LissmZ^H@Ana^xz!U`)Tmcq0t-SG1&B?g}T1 zYtT7SNd^tH0+v6(=190aC2cf?RLTWy9UWKjJ}kz|{{D23l0B(%$GB@1E%zdmP!akk zfS!?2jOaqi=(EB94g?xe-7jatNod#$Os`DhAPL1hbF7x+)1N z!7xWqua6b4xTzk>3ybeLZokV&H~Ef)cg@+7YT@CVy4wof?z@l2vC}L`3%)l zV5BVzn;$xfF0xKAw{sWuRZE~*8xzKxJ}1`>U^t5}7ESO9g9fP_*avS|~6EQr3X{-yEMTemJDqAAP|k_AUB;%Hrv zF#Z{tOOnv3@Vn7r5JFf43`iK-5x$zVpRj*Gq)22(>Mm${WCF!US~s7Mjch<*IpO{_T2^XnnBOSN}0r+s=e5eIY~^dCfqPDpTp z7Flf?0&(;RW&zduH*c7r+3;$B;PI|K#3)@SONw@urnNQiKTYx**0yna4YmmK{C?{w zXIcw2lqGm$5kD1H#&JOX%AFhDw|{?c`g3?y(z}uGA+G~MrsRK)+e*VQS_XL%|8des z_dLZ0R;Ah`DoQoFb`xeo&$8O?-R-y>b{z3-P6ccD?6@DFzV5%ZyKt6I?Vlj3y)>K3 zLMakqAyq1G04LXf9sD;Ai0pdP-DUj^S`8JfY+=>c&x;2S^I9q}ueTJW{XYy^{-0G@ zJtk=xnSb+W*kTuK=^d2xWdkS@_F{18R`7QfQntbf*6iZqhFY-}H)BrkLJ1AYij=ahg2lhCZ_vbJTCcXc+AN)139|4%B?_ntm9o-Cp!h;T zfyCoq{qA6x5f2|eM8uNk@wnN!iK%2{624H_EnGDc=ctWZ7kAouqJEd`#!h4enPaFO z`jsVK;rNVpGGADGF5F<%tSnJ4+>j;=Axl||XM4$BT0Pt7XK2wF4`M*?F0rmGvg~QF z@^rh8(LksD+0Yh{Q6j?Y>+7wLusBra?foSYcq+2|mFr0|uwym)Uoxk}E!_xd8F@>8 zWBU`%I&^XK^M3pqXZgRi-F}YDGVl#E?(q{RPRx&Y(gHf1zjNo#pcC0<5HF!2j51WY z$W-mptS~7xK>QR10zlT}pE_A)Ap8uI8+=YEauM;yOk z#Vq}7(_rJ`ipID1y?>9!%1lR3-x$j#Dphg{tyTgy4;g&+`kx0~q)l5>Yin_1 zMm?&&c1Xx>C`Mo3W)v^3*mZCErM%d0nKHSzs{*$yU9UDd0aB44wmg2v(cV6Lk(VA) zA({I^r{TJb1mhrE|EFr-NDPAL0V!FxzIyRulSnpzAwydz-sFeDGeFEz%Rj(;t|cT} zQv}|vTUh@6y91ZVuSW%0UrJ3}hFl9N|Eh6VS7jxr0G3PXM=D&jhyr-WTvd|$R?>5_ zvoE@}A+sc?r!%&f&;%EQBi&wd7y}Ul8{of1!0{&&*#JwJY}Nj+duu_&Kf5$c8`=5+ z(MEET%0P^rTn@ZJ8~=ukUFL&O;B_*WfZ|YHTbqNT1ht8b8*jR75ETGE$RmH8fS680 zxb&24Y)RmwMa~=BmejHSXC`fUW+oAFo=m7Zyp!~Z7$a4ibouf*2*FSz4><(EmTuop z8IBPlGD{EXrQ2l#*6iw4PP^+R+;JHem3iv(VqJ_25>Nho-_;Kxi)+J%$(tHGc3e|E z{ar?81mF=~>$Dk;pA<}?Mkeeq%)0{0#^(A<0&yQ8++_f}=y5lvUt z^K(4Cykw29Z_{&uVkcC3vc*2;g#4ds zl8M2b2RkK@8H=XAJe(=tf~x{;lZ^;MV(VXg1j~-8I^()l89q*83`ysnfmL*V%yH2X zm0lmy0TBGFkX02I5)!g|M9a+Io`!6JHh@2MILw5~uVK@by>!IF^g!xA<Rf3bwMT4j2_8!cjW23knPzma!m!r_Du! zxuzO-@-3vu90`H&&kAs6*24fxwFEaIJqNltSUqI3LmL7_g0Rr2xG)0!kH_Zii_4c6jg*n}B*q!NRoW zQv;+2BI)YYD2&h`(nv%2;NHQc^!jP5X*Wf!j&_~TfD~3$9vjK16dQAmqq8%w%~5EP z(v@c&`aeNyBaS;epGS~j+|wO%grH+EoIc~^FzuVvy0-Yu@>i1pJG%&Vbj`QpuC8Q` zuj$z{YGl_8_U+R#Fo;)e6jkg86=X_3)UoN!X>D2W8HLXntp zv6~%gAY;qO=@RwFlSuu_KhI4*zfLt1l6bzaSgr`1p$&p3935SZe$LIE!x#$jhNW(K zE}VkuxSJb&oUX`Ub^l6mM>1T@)YDjWr-ND#1`c?OowqmS)s&M6jE5`@$Kde`hYo=z zb3p2^K0PBSd-QQE298J>N*S3mgw?mWl|o1%!a-_t`cpkmAbFx-EOMEy4uU0}aMY{s zw@nW$@}T~$hg0 z`4#9mmHp-Yoh}ii1VVrAs*yUrAx!2&2T4MKT!}5+ewRy+F@B z1HZ6>nD8aY2#4{v{0lXED6W3LW4b7g>mDV#n;`Ry)sG&zRw4pCVVJX?KGW`e^zw~I z)zwzswYXhHG&G*d8Wx$pX9@VNb8FPIuT1M(h!Yx0!^e*Tn&aXzsstt!i@0Paj4zW2 z5pi~c3^!x~?xuurl}Pa(G$okiWV(c|A|jX(!*=eS&Uwt&YS~`P>x`FsBH^Kpfl~^M zf_1QWf7f6 zP{r-0p(nz77*j!pZ|m;Gms@VP!{d)$n>0T=Um!fXCz02ExG|b{A^rOG%ZRidwzhWL zt>OAk3?qK;YRPG#gfmEcN_hCjLRk& z?h6w@-5}?|QI6q+%_31UgxIxA3!2=!qmbd3J$5AkRkduIjsSDZaZ1# za)x}Kg-JH${381+6L+-LhRIW9>7v5RYYwLptUv>H>PmkDQIL5$%v~bciIEB>{bV}& z%;6}SVq1Rnf&!3cH@X|b7rPG`i%Ss93@t@PduhnzhSfpEf2j zLng5U5}bh;qMGJ@QKTC>chpkF*m>UN;6bOZag2=4k!a|wZ;2r)hwrzy0;RP%4=x~3 zk#*k=)6nwhnIZEXd;AYW6D#w?cWQ?{5!lb|3jM`Dq~MO^TwU_ zxu1`ze0HQs$l1fa2%|_MfI-R3(9`t~71R7f#pjwLl(_ggyPw%Lq*G$7%T!&43@Zif zz1S^*U(I*OApIv7pz`0Zxy#f|ZH;~Ru8g8%nJRsPRd|36aDBZ0-I z2SdhKh$3%DBbPfeO)6j~fL_rUyTP*#BA=_#_qgE39!}UfSdT#;OvX2i@Db(ulK^TB z7&o44;qxYlMVX>=kr7JPc(?;3h^+)7?;Nx=?p?|Rz5kdrn_P?R{G&UK4+t=IMcs!ol+2Mf&hIn>G! zbeipk2Ur;JuNS+nHbvk~hAu^Rpj%d(m72>iRi#G`abpmZsE2|;J}?GJ05r{L5MD7c zF--iEhMzW~;{-vDY=YU7gBZ{YMAg&;&|;7<(Z8)8DvwA3LeyinGr%D}E6e^weT8c$ ziAOQMN|4F*lcV%xa^1-(8jpklFkl43C9ygM5xP9D1+(ySYHAE=Zvs7_z=vyR)x+Yw z1OPu_1B2lYE7B#v^yCnNfU2LSsVVDu7NMhd8BbS!@sT1W&n`k$%oZaC$*ySV84Lg z9cZ%h;M6x05fSUhfeHYVrQ=Rv*kYmRzQE?vHZw=O>o!+B#Q<6k}8wx?}B;|UsZNQ^_zBh#ypYO>+kVzNySu~UFv zf(*4l8v=ot{rOV|M#S+GCt^sTrms)NQ2~9do`k62az%S9hQbq!Leh{OJD;4r=_?mS zXZBtFdnRKVYOw-L#oRl0njqky8X|AI5sfQa_1wE#iBF$uAc8{>_!`o2M)6KUVa2j; z0vH6{i@^)t-cpOl@wt^qL$5(MYzEl&g)xAUSsjOE@)tY~VR#J_f8Y%I$SW%KL&;~t zj7HfMA8*qugLF*bd`sIV#S-6 zFSC%8aGRHTB{u_D**MQ7ZRt{X3CrLbK3{UOdIktusp3(W9*wJsX2#>Xe2M`pIQuA?DHy?(yxsqe`7_MSIy zjQgS_?^Rc)K}m|P!kj^B%RHC#KohIGZdG%t*@V-$*#!2SnjC{b8J+ax)^rd_i3%1!IN zd)GrTVIoNKhxM56IZEaLu{%BdPMduT<@6Urz}viV?$J#=*aV;*sd`a(L{ce+Y58aW z4mD6kwr*58>6kac4;ls_FpsdkDfoEj0G@eKp7hcYkVbVeo)pCQT;kU{dQ_0CGr-jp z{~k+&kO`H<#~BhQXZi`fLiO&zGpYzp*n)5}qXX>SOa7qRO&I(ZIKzeIX~w`F8GgZ2 zw8!k9&KwX#Ui>cXl@fOVlW2 zK0Uj4)fG?Li2`5*(Wo*EemlR5gBM{|7jB4is;X=w)N0?lMV z4OERZX`v14qA2T@9;|bPscLWW=l*op4OTapPs(x9yLa=W>TD7rCvJgwZ=}~eXXWLk zM?eq^lhk7fxXMX}p8ef4kX(TfsK{`Z?%n*LiQZiUQP}C0fse!1&XTqW^cmHGqPC5! z@pys>u?al^(%`y*E#i2JN8QJBFxYzh{0Wlusru8Ck5z&2qnMu(dh28eV7#8O0o{Q6N9o$-_i>*RCA&fW`{sPZ&P6I}K1Q$Vt39{|p2~$;8q<78@lF zQyfIQs;<>h#DP%vCbM(tQ&x_rYJ537c%F&R@9iN=l+P#v9j}^|oD1k&4o^`tDjMAF zif6ZhV_UpDWERYe(FqK*p0BOlMUcf0uGqWxUx%AwmY^C;-j~V9-+x(}A6>9t~wy;@(*WG{^Di>@iitET(h9zeX-l=4gSB0=0>1tx} zW?>Tt(x*WWs&2&uUl;K?y9)@8@f>DNK+0PPUJd98Hyx~jih^vI#E&m$vB zUtO_q(VpESwp|*47y7+6N1put%15aQTko!qn1@b_+J&G-Kmc&RX7br9{9ln|Zy-fN z95mD>b^Sotd z=CiXCGp`*>4AafY9dYrX^#KMfBjA?n1z`#wQ+el#d|q|}SWe&d)qj65J-|Y~LZMDs z%n&Hfl7cyIZ8-C|5iRq2V|+qNlW-OZ^0q09`2lcZl-t1KB5m}+2<gMKoAqch*#H4RrxW$d~u(|Mg!!X$VYD_JV~YD z=!N$JW{^QIH&)!DwtfWIe=pR5hqVq1w-t6$eNK`W#Mv0L$LNm!1Gzfnpr=)Gqp%rN z?~<28Nf;QV?-BbK*(Ncv*guTyhKP2gH}Q;jGmHydxOHIcUy}+b@D{Txt)r;$ctKR# zYsZ9lFa-&8)esB_<8R^rP=DYF@&E6m75{H6;Q#du#{ZuehP-)gjh+dglF{+RiO74( zR>6RCP-f0Mze(4U{iZSAUq9oT@eg^f!vlDU=liMUAK}Wh+ppgKun*;VH ztUG4&@H}ul$z{nHFIu8Jnl?2CfRS^+!wm7Pv?FIK^Qx2>@(LSyKVWG5ML&)%%Y~fx^;N_s^a}d_39nkveq4iTClXU_4 z*w4syJp-7;lgnO0mJlFaLOeEQB<0Z2a{wIwQ4Y6uJg_4@J12*^~$3wG;x22cfgRlsoa%^0jmXXm#e7g%+T?OFqMIjAA z>^u9^MnB{xsS$53$6xV;3^I+3AUGRl?VkZSG|NUGtpD(VKSw{I5$A^IZ)m|qIS)yh z2*=I(B1JwFx$fvsT*bW17u?`@ts@}T|F7oW1ght~{rCPwQpO@AbCH>%GKP|jQB;Nu z4I357JVZpLMA~M_&>$iS4TfY0waHK_k*#E`NTNiB&g-)8`>b=Gb^iZzo@f2ndd^;J z-?zPY!|(U|e!rjVy57@;ZYTT9>I$c?H8rV-R%!4o9^^4XP%Cqt<_2}>&^}gW&$xOD zx&@u74-NlLS=&m8iC@(PZAR+tvOQ^%oo4bs2Xp>&QydCe(F2K^&xmpS%RC9Vq?7pL$wASy`aoA~ZTYnAfu8D0^DV*)O6ecrjR zg)0}{6NrZ=Ec?LvH+Nf`i?vi#j9>{md@8U9=5#7>aSf30i(ZRQmt)+xG-c3+UqgXt zHQKak7&Tc9SZ`bF{wi{Tj%4Z?@2DST=$a@4zR}9;JAg(WYEg0`l#OIwsUoK4z zVoSNRWO$=Oi`pJFtXwUCI1C1jsSbxSxRnRfHY$ZxzUU7~=T9mK!1@wIMO4~$l&g=Q zKAnuuyLCrHvKUH#69PPjSyaM=eDWi7bhM4!c4w}q^V}U0aw4k_qEj*ICa5)Plyk8l zztox#Q6Pg>6x~UYmM|kJJd6xkP`vvUhk;4R0d#V>yFy7`3*=>G=TvMpN`-nl)*l zQBOssG-dA_=5^n6{G_?br`{f3J8|_oL^N)B^LnjNw>e6Koca=&69D&JBXp3-ZGp?g z5!Il@xdYcsJ4G;Ql^$A;_Y?jgewklkz8m;?YW=Y$b7tvR7A2xmZr@5%(`7<31MkNR z)Jv7Txf9yh4S@&;WQ<*P=~B!hRBt(-aF;ewkj62R%3KxLfAZW9k*2RtUy5$;)o}Or zkA^q*8=qQ9N9Zh|wnL@=>}L~u>@f~#Q?xraYk%IfsYU4kAvw;a?ak-~uRA_8_r(*b zh$_5X`dL3G=eyaq){72>hT890+VdW=q}2y^?sPhnQd4#I66ra?sP+`yp6%9O-l7Bo zpHvlv;?k<}(?+vWLUz%Q_?d;TnvTB1w)^>qIdM%D$cK-fcZUmEoIfyTE!`i!jT^q{ zo13gz^czfeBMVJ2ZmlNWZuH_ozyTIs$$7p^GHRh60J^i+Zg|9PwVpotu zKX{)r^#-xt#ILoqH<$sXkW zi|BL-I1_54`iM7H*tHVA`vJ~_Q**Ai=fL$ne!Q#q!**+FKvRvA{r&5&|6Vo#Xx_Bk zZ@o;`^2e|9^mOP3Mv_2^fFx-T<2W7@VQmY2A~#+S;i$ijo?m0 zsx-nEaUgwp|HS#DcGC%M(R0C+-2hesS(WmBjP5}fX`o;kkE8V43BJVNVZ3>=kHUC$ zQwT`VC;1FDbzS^VsP683eX+H#M6ROd{xjGU=yjA43b(dHSF59Wl1hNQMVX0d<#fv# zgh9xFIBD27Wt#s%zjLz2yM0_;>C*T%)@vX^%4%IoluV{{W|HSZe}8<{*8wqynI0(T z&lzVQCoX6u(g7ZbUYKFyw%LxvPip2&U@Rpj@mWnj}4z@&h?${Y-$J3!x_i(s7vZ6`diOD4{C%)drBHT!bT`3oGC`X za1+O7(?sj`lJhR=zQ>KgUx`Ucn^DJ9w0P8) z>DP1Z%-6N|?%p*=>A<{7s)*{Iab0?4@W>)amUsY_CT#;avE^yF+$!%H<53CSicoIw zM3TM&AT2E_E->xF+0;B94yS!jU+v-ZMikIyi|ss2tQ z32rY^W6@>s{J8yf^;cEjg@0er08VfFL*?TlXI)9H76r(WBS#)bozXTV<4^8dS7E z-BBcq7*Sk9KK@RjOoDY!&%9WN=Z-WiwA0#&$*ao6Mo4q6?Qaw$z&^gN8+@2w$six# zRzStj<+cO0iXHdFQl&$cen$rHS(lb;BsV&iE=gj@F%}G+zwmMNhVupn20!M8)vxZ> z2)d$>C)@`oHklaLZr(il@bi#CgJ2g-2cF+l0$b(}YXHd$zHRMZ3Q}^u4hRNjJt?uC0o@>Jz zf~HL)^NFl@Nu#Y$aAr%601uCxD99N9{PRx*C>l&}11@*={%Ww~fs3CjaLLovHIfs8 zMoS=b(g`9~r63(1$)*6A9l1s+?ox0$cnAh_BKK@Y_5T% zR0E)+36PLx-eh{QM+LWpF0}pGvu7Ez#mhv#npicj^V6f}?rwpb0(PUl;*48v52~@P zXKOcZUS9arJ#Rgl1=xziQP~?aNRV4CG6xL+XAC= zpRBS%JhpWF67Z^rhG( z#3+luDS$@tkaG`(1HVj4hTF&?1SHFHkcf0{5^eEcdoOBYC8nZ7v zZZxrvw!&{H5^!7vx!RUlGjORZV)JhQ^7k~HY+OmD$840Rb z6b3(?K5d!<{_@{CCYvbFlP~_CGmzr<=qTo;^}NrbF{wNfJiNY|n5k(w9GHDMpaZztH)6NgV) z)i)i*A*wrc;`s5|`|XnMqj5^fsHmzM1))`y#F=rOoNbn><1iMKHgHxIiE%ai(&A(-haeWKQ~)B{%} zr>pjB`fw{78)XD!m)Yi^vM=3@$+P#_q@+hfW<9eVurk}?naO=5jqy9SFTGe%|5o(h zRl!Whe(A_d`wzT&#h6d}CS*Y;90bVtdK@}=@1#Eq4B)PmDUKE!igU}3PIiqNcFn1~ zeWXF0^&D}XD!R4XC%S?nObid7^wHHFx%vnG7&W8c@v+%A?gUx?tlhfcD1)3>D4;vx zj!T{$F*S$ZQ?aVKXTQGdVb9sl78AI5c9Cu`2Mrvk8ca4>qok=0!xPnDo)Inh{P+F@v8<&?e3Tg@R-3(A#;t+c|t8V61rNM3gcGt6v6{?sZQeq(+9uLb(Rq5 zld@jaru;vg1XVZu0E82fK9Vwj&O9Igp$i@|wfHU5#FHK{H)F3_sFh+dvNT9}O}H5E z$VlfyxweOER-GDl?&fm!?>U(@3%T+3XxmN`6%iUukk7~^HRk{-(f{nAz@&YK+H95< zP<#%%Q_vR(UvR~-J@&Ze*gS!lkZIBEDHC1s!g$=yI5y0N;IQP5(4plhx;SXr8ymMu zmr*A@8=Uvtz1YISV$Y+enu~+Yg3m=ZSm47F1YZ2vB`+opY@mEwkwl6vnTj_!cxmyJ znKQScyp$OlRFfjyju$)i<*I&hfz*SS)Pq#N1&F_l?tjqCz(3}PNjEK8x2I)`4po^W zQ%pDo=5#eBp)_*Iw6i_v&KqyfQr}v0rCrrM$`Qw7!?PLDc{ghhoJi*+XZ{pe^Xz!X z#DKVjMOx%9fHJrgUNM=oI&sI#F#T;lsoorR%d8BY5c=}uz6sO!_DNM-*}eAVv0u-Y zS{2hBj-U?8Y9qv+0kay!)Z=*cA>Rb3mM@dV>v!hRrD&{2&4%_tM)zB(@3R>7EgiiYgY%K?N%jDgj!9J;~ z{Lz9TT`cvvPpaBZE3-x%hc*}*Y`b)M5&*KZ)MS|7(=h}dq$4ERaqwUx$_K79b-c{7 zXaS}UuKfA?_cQxW+%qqV>0V4264eaOC|XJpE=V&4dCfU+lSY4atuO0)ddQ8z%qwQp ze=-8Ymt1eb6G|d!gX`iY;%-PyOG|rxwMJ!~(F%@IW-1H1mx2xP=gt{!>eQvnsFx8} z@oD^f!ceNKk`rp6-&l#ES6zduh0SX=^J`lok8Y&o)v936n9gSyc3`h~i0Ei^lvg|{ILz$i;bc>{ z{-}0*WZD~kTpFhS`pA?y2d?($FqGjse}R#KK~`&<&8c@;8zm~?wKH3o%%3~=R?4Qq zEJqqck&aauyy@|5PnUfeM#J7Oy?8loQB`_r)87ch-}9aSw=p^YrL!xtrvDcSJ->go zo4%>3`BxO-SwyEw=PgaY1@mcZ! zI%vru1`%`3O-4}^UO?-|qvG~EnIEN86R^X^{bFfq!f ze7+z%q9k((QJ;&6vvR`PfN(g9hnO-gBZy;bGkW3l11Kt0;vbD3}cNCAra< zL*Y3yQCzzarf-NClHBdRy(1Y&?%cZ<#R0oVk;&BNdMmI+4#S_U7lR69KT-rujW#0n zkOK!E;)Cp-^X|C9IUr(7o>x_VN3`dIeC;SFKF_Zq? z&$DiwI=-I#;&Dh%I>Q$=Xxg-^P6Xu;>3x{Ps>%zG*qxp^mNr4zn>|+JDE{pE8C^?{r>3wx zJT!!;8v9b<0(mvGJFq0y#BIPN>_knJ0y-`6HV}!Q;I0=875&slJ|tt6w%Q zDzAkQq;>lOM;sUzopzX1cf)~{b5c}Men zY?S+f^(QJM9-Q|t`{Bs1_6onp>%9HsNeIRB_Kh1picFr-@${Ewp?tzJg+0m7pG@9| zs-ia-B|x;s9+f97yZWu&v*zXhb@Qh0qqsSJdm&9YLi|dYwFjd_3E;4H)feP$kp-|_ zGMV`r1A59W9ppKhC?FEM%tE=JchCyS@8CvMQ>0Wqve&L!&z6=MRS=YRkp-em%UR&z zF^R`ZGapfAX8#96BdtAXMM~&^%|dxNrig&9v>kBiTs#u)#KBLb%_fmaHzyev2-nyw z1wln8JO(*EIl+Im7Z(~fPi1d-SjkJ}nCLFSrMq|tY4`D^GMsSV=ODA9NH))>eH9Pv zUpYCunI+W}L?q6PERctTrph7(+wx|M6p4uS^Tc~Hw$Hw7&c;*L<#6UFShlqL$dO4^ zhkT=Fc1Uc0fE_Q02{l@`R^tT?on#Jdpo&|Tz=HtlxI}+zf9|2#K)HT>U2q}#^lPx9 zXunQo=>Z!7!OKP_!RVN`f~tNe3~&L2FqC*-yxk8^ex{Ft_~^-1WyQ#kx&V9H*;`ck z&~D%$2s(KlQ6nDLWA{C26@p=l8fob(z>Kp_4uG)bksiH%{V++};#iOM^dJ!!Tq%_i ziEd4tYj!E(HdRyGi0(i_Rafu)tc))XPX5+lB0n5cFv3mD%3zq*v$8n8@Z{QAamZR zp=q$J)7Z@^RKOCNW4y{b~71!3KOHk!QH*_#mlBY)sz&d zEQpZHc&$=>$3_dCEbi&mII<8hjQx&=LNK?rYrm@` zFT2P+edhf6bT9?;=~u}alExO-c_Hh?PINP}vGY-tu=vaH8(PEH5B*1z;dm-v1nS(U z7>dTfpS+E$@&dTin<0g2+2llm>F&GxXLGMkV_g7w54{%V=ge>XV#+F1{E|%vfQ0s9 zT2N~fPebpA{SDtGtDNn62j>bxC{u1&x`f6_koT=DM%VmbC3N_DMR5&?jrDcg;Ky*C zOO8J@(CQBt-zH3)+ovZpJyhuhNr(NLUPPl+tK(Vsv$8bEvpc!CHS=^DlY%UVp~nH1 zZ!Wz#tx-^c0d|xv9O+_y65TkSZ4N_;QJ1p-o4~_Cg$(rqnINzTTfXay(5b(Lv=@?- zr(XC4P)vSnL$nGOFc#43Srq;WM~1cI#5OK9QbcW7pr||@Q=mTAcWf81gJ2L#e1ix0@l`+9vd_b_uuat@0uB=&9pZ%L zNYMimEn3H8b(ATl&ALJ;1ak(Q-R8bm;RNuf^DHP{^YX=u zGvrq>vxHI5WWM3tMXu4i?F|CPe9?nb@(HQ7CyMJo2Vi@~+3x#417M3ATorjG%B7VG z1?jE&B-RiaDdZ88=}j58H8qv-{T=#z9)SuS>}Vt_2vn350KTG@ut@$?Hxb*cD7Q#K zm@%zd5JJM2;BQ}`kdtu`#K{l&wRp%;VrNdj0XJ`S->LHR=NtH4NiGp%q9|!0&O~h~ zN_b(loqtiA0H%ugD#9XV3*E)joTa5RH*l9>^~BD#iSiu@2_nl%xw{u5y;s+ez7-zj zwnOkIwq}``nkr$3eyD#xitP6u&Y1KJks zgBo4AFKbO*%FD`PtF-ylihui^d4?7=3Ykj$%3xaKW+IoDB?7LAgMdFI8$M$&`^)Yh z;GywtAJJ*mzii?$L1<>LS&avw&=lay~ zPFvCP4k7ECGJ!S6zxDTtPWb*eGX2g9R)=Ss0{(BU=x%AYz8m2c`RN&WpB|`F8*0H%4cAy((c*W4hUv3TEyh611@5P>_orpjKh1A zkpv;fd$(}DqvJ-(gj#K3g6ov1(&+6FE3;y@#?3=Z0EtpZ0X^!A1SqJ4;cyf|di{ie($EA`(x}q%^$VGvK5_MD&qf31*4|JdtW5zX{|j=On#%XCVOguDNijP#H?Tn zhodB3{ZxQimN-#(*71raa&bKU${2kS`VL%u+r98vTv@#yrxyd}4@^&_) z<;2xPxrf@7~!LeOY6>+sh+8 zsLk>7?h>@xkr3`nX)Aj6opYtvwjr(2Sv~SwawjIXaLS7HP3N-j!5Kmm$xK~TZwpRc z$)`z>MIPev|Mm4{)7Tj0)=tqsc|w&G7U1Gz4}yp|L~P? zcSTFM%8gEE>^Dy9@x8soNH2{0phj^4&Y8M)(CfFcr%Qjdzq9sdRbB;Cl@p0UsHtLi z)VNKdIs-Hl4m955e4Nf^m7mecrLX&j*zEvutE&K8v;vVX@jMyPuWnrQ-?nvs1L&{& zCLiBw;J$57NJ#gg#&3SwUOlhC)^7bWC5V0xm`6UQ*G}Bm=no z_J~{<^g4=vgX=z8gQh20IL~&r+ve_7@_w0CsXj5g$h>>s<%Hxyh;k)m!1{KG3_wZpm zqIE?3eET;4_&IiH)x3$gFo^pon7e0q)y1UfIUN*i-yG}llxt9wP!VV|&uaFQ6>~1H zw)S|+09~|sAnl3v=rKLw+bXn=hrFvX$@Smphvex7W8FtK{%WN>>8V#yXrPM^TuLtE zB~qVJL4DS8KcqU3^dE{qCv4d;BStqxlt~~%Ee|C*L6KLUEl3SB_3^zI%-K@%Y$bH^ z`Rj)k&rQ$YeKpc<&7L(L9HYJ8PijqopM^&(t#9gz$&*+LbI>$q{K}O{i@W6lY)N?5 z6_t@yd3%w5h>uz#{Mc#Kaa`j)xzei=d!mn_6%s6`cqy`#-V1wjPX^C8-`(clvaH>| zlu8E=h^!AT zVTpJ>dz612tQjYlJpO*9_Q&zGzk?L=3aBI%yhx+Glq6B99&DM zN4p6v+P0lQER0#GO!0&Fq3VxX(x9U2k#%OgOmiF0OH~|2(a4C2J@6eeq4kh%6OIt{ zI>KcwR7Y$Hzh4KTwxd@qi`oq*?z+OV3yHalo0HOO*8F+%{`f;R18^e>IxSEHL$XDR z#Gay+0dCA%%~gB^FacNT^7o4Ipam{2-Bx_~d-}AuIRD~48!@ErWMa=;#JQ*0rcKWY zocXd?MlG8evS-_CQ@`x4;5Za{axntX)CGia=0?wX_5}zg>$82w!5e;E&Rhvf)gozY zaBx>e0?1fOM$9Db305pb+5bDjp>a~|LMsjhR)}v;J8_9$iD$tAa!vce1G;c6-G~hE z`veQk{QP_ZByyuqoQoV?WuU2P9(BI;?*A3rFwirhS5=wnil4>WCN;1&Zrj@K$#^YW zR3r=kGuxAouw1>zx!lMlc%Ao_QL;0CqsZ&B`V6MN1yJW2SA^}Akgz+qiXjA4JbL9DON{5sFB z7N{@_q#z*r(~Y}T2728B0;p0G>56hrW;}YdSC-2Gu36NpXI-*Cko(2%!ldI@$OUV6 zCO3JN$Dwj}YD+N)(0S|X=M%<_i`ekvWe4qdHWIwA&Ex_&nDKlmGMN(EkqCa#P6Rj> znK`4Z2sAx{xYw0yr?McnsrF4T6Idx|py*vDHyN!-g6{=dgAULi6r|+uwWlW$ zLM=12hB@HAgS^du+O$k>LXe zA^9?`X0JBoi<;HGyQd06M=XN=>f-HZH+N>s`nB37F?sVFM~oJMh@?*l0?Iw2eZNze zv>vhsY?xP#gqX|z;gs6YMYP2Low9fSDAzyL;1870RP5O`2k(RL-J-0Yw{ti5l|_q!iXcyHG<%EX!p1rh{Tj%`^#Y>r_s4dTJ{a`S zAF#)6b(^%Bh+lIu8b{@=g0UKWTwI$-)Hea2>rFa*YRMDBFvE)@&CG;o68}DfTF&6M zQC8i~tgT)IEi67`L1<=7lFV_B!tG4M0%|y4NSuKzFiS3 z*v$Vux@1Fy7gL`Y6A;gcMfFhC2SR}mKS{DL$p(p!c40si+KHftR8NF?XUW-vII)>l z&N_FDZYR$dU<~ZYz)94B#7oA^Do4YyVs`#;*1EB%b>qxF>D0*Ohwpa)TH$NMU{aAj z2Hy7^IdY_=1jxlkelhqR<6vI_X7KbL`hJV+LZjS-uHTVoV#ca5{g2JAa($OJQ^Ruk z3X=;*d+>du6fQK4smstnq+aV@r3mNWSubCnkg2Du>w~|)(>9fQ<2-66ue@2noA6sZ z_M}H6qIBAlhtV>h!bE7KE+SV^ZSdYC3OMaqnCzD4A=AA$b0Xcf#ElqS7!z)l$tiil z*5irkOhhB84hAbyuqH;3%GSUg(T#4S473aE3UMauBnAN}dm z7UU#zBL{i5V(DMAE#}b-QAx{D+y;5(u9`k2j~uuWL7^?E;c5dqPR<(wZxSS*50_$W zWC5!K`F>O-;j>xSD}BL$mrzfY1o$q-dj1AhS?q9g>GogO_EIFYgagmpRhAv^_UNPU@8FprtTE@xlrKg)|o(u{vaVVT5- zAgc-&JUSJQlVj%uy+{EjZ3x;yl-&{h*bP@F7QCqmbjA{)L+o)jUkRR_#g157pe-;r z1Ps43mx3MHonawZ2-8PuxUx4-!vq$I zABE#-t~fA!!!V#(YxeX8br^maQKhgK5#W6fITgn0?aCsG?gVb&h=_=2C?r&nqrr8L zb4B)Gb?COv!L~<>b|#*?NlZI|EMEjWVkZ{Tf&V^+aN$mVW~P+!E<8PwjEL$dn|5Eo zX^ip{;cO$&L`wQSP(B+dSv)Y7bFHJI^1+5*yTHTHC2ojz+kv~ol-s_uLPA)r8Qr>c z?V62hQpQAhdrK@lQS>d;>nNGFqpL&aAMS)ij=fE-iPQJUxwve;yiPD2A#X@CU>8L_ zLRW<)FcW1P2){LFNC}7BQLApnjAmVcTT6j1+zT#;pfjETHLj_yJ_7C7QI6lDmD>Qc zhnBI%_ClYu%WFP&>y)W;wV6f@B#=h zx7;=@Tk7R3aCIFElexn#1<|CmL5gTPlZ2IJGlD!uaQ~2}?q?MT-NdbC<>|>fSv|b= zTdT;7F z+|vjidi?$L6iT~2d+IG)_PK$-!#*Use2JZ%U5nW*i8fOwV;#R<%*qrTTta;xZ?3^v z8oDrrX0FAD^vQ)jQCD&nI5|yrjIFX||5VzvXKw0UXBwp4y!D@NhWY=I@+SCI0?wsq zGb$mOBaqbmnC@gSzFN8PMwwwzXxC*1Zs;v zqGaJRL_YYcol$rE_25C?lQ;C`ELmz!U$hyZ`;a>xaeW9?36DWnH~1+nw+L|g6bUf$ z@LRz)zdDe;_(<4&M=zq_ag_{c=HvOH+{D*!-Ks|uLa|7?Z!86!?JnZLrB5tgI0d|e zo9`Od7UU+`Pc{d9d}Qx&9eoIo(djcEID^>#(hSBxMT6H$G>(w=9NME$vioJY*+i>h z^+(h(Ky*V;<)x2e+e95b>XISj6QL5*I$e?NgDk?AtU#>QM8c;eF758FZP zV;ne!`OxOv-5N?^)Qe^cXxk_|%MC1tpeO^ADljh`7_zDl@w`FC^Y0(*gi@Yoq$_0X zLqx;f2Mm}Rc@J>oHftFHo<`Do=D?1iqs?<+G#kZ#>dNO*T97hCj#cp*Wm)j7!+!}e zN(!4WYe;kwOJ{S`DKQkQXeesPj3UqfNxVNwG+}W$w8gPT#f!+&)6v<4DsLiykW>|T zuPA8WAY(N(wH&Zc5>Sj1-Jk9S9_rqw&%{UqpxO(e%bE?~!mU6DznM&Th|d&K*Of=C zzA96?Z8ayJ;d&2o?Tdudcth>a0dx&h=x%OPbD+-5=?!LNxGmK7vWgxV0bRTM&p$^< z4S@kIeHhh{8&E?-fV;oa)BPE}i=pf)LHOm(vm5Xsx8at6=rd>j1ZN)2VZ5B+*&e-m z9fiN!h1IaE@amC(aU)-_@3o7fl3Wfs=tZ)s$Q)3(PB%wpL8R)2G*6T9=`ldbKOwZH z3_;2hmB0ZJ0oO2vM)c4yuLHbQSEBIP2oqb8FKoHgO#0xRXolny`iHe{-MTd!^G0(9 z$@*@vR@p7RleEP{!#5lb2oPYDNF$t<79byy01cklprpV9{`y{`w<1bJx{)mbF3hd) z?7gPztP7KR*Dqw7EM4GJ6RRzTX~Q+2{wS)8bbBH_P9!sj6{%LJd1l=eyslL50C-D<^K#g;D zT7ysvP->~yOM8XY?xt#q5Ik~It$6= zWiF;%t1hTkP-yJ8X!_#)liCI4e@8}KIQO&G{ea2=fA5Z_5#2WR4anN+q-pJ>ur_$H zpjmpioi6>FpPqN{Zc3hk+s>HjTby6K+P*)!`hd&2Mx`zR%>s1l1jcm>ORKNbLuHG% z_vHhtRzbo2IQh_hcmv(Qr0?-|vAI^?55~t_dS{_Jqk^BcRb`7Z=|D|IKvVkiSbWT@gnJ? zQ9$taEALnEz@b5ye$Mw7P|VJmeFP{e8KsWOm_pjX7$*YO0t?8ShD#FK(iUiaJ)|!wi*we-)JmH5=>D01iPtC@S8(WMr z3kwUAwXOu0($bN_KL@30>qM`q0f zs#WRKTO*6RM0y&9B%d1@8frcM0k9@#w8DkFQE^4r6#*AJ0lO%qp8>QpI&&f>CK3#) z&WHwnnkKuS^pM9&6 z#@}r|5jG3=jjRv=YzU)al;80Bgx2B~{B*cY6~-`$hkp9xgMRRSG#T1xeQ$6I!nl2_ ze>(2;=_YW`E{hhWQQ>>d?(BWsyxRkm@>8rw^4)Jf5AI>CLsWnL2e)9cAab z?`7x7DKA^NZ}1@+b(nCG(Dm4JGXB{`4^odh*3`nt4Eywj1;KW4vx6i&A3@O#E zO@p=H-Cz0K(ac<;69G(QfgGBRLaNjKpO>^Jc9}jA8 zQb#KQkBe4a{XT1c^37>lh)_U^#aeHG1{aR=X#6ZsmuaW0z-b()IpkK1Vo%!qkXQ#(k7b5R8KbPpol4_R2vCwKvFk>g10 zp3|ncF8zuO5E@EFLD$~D`zDE(1}0Ea&{-7IIZzbE)`A&uWWx8-m^h5PF;k5RA*0wB z&+uTBwNC8y4R2nl*iP*WuQtEJDqrf7}n36J!?t}px(0OW@h*{?Jn5N zniT{F7D1Nik3xh>+(9aJpHlAP>%QkPl9(C^yvD#MsdzjFi1i!8F~vMf56^XzI9`6I zBUPZ~kmq-t{1-P*Y#e(S4i1`hf4gJ7!t7#Pi&FhK`nzl|ACMSz>{#g@9!6Q6dV49# zF)8nnWeuO~S4?O!spUCqzp{eeOE*#kwp?stX7Of0T#8;v2Sv?|4!<0%=D->3Z{y^) zwj^rbwl}%O5u6BO%>F!Vn>(P@ak{|PyYFRWEZA48h`xOJ@8UK0?%a{s%a9+ZadK7m zn|F_wEH4LIVB4Er)0(wxWBq$469--=3rz{j=Jp!eg3aP`NIZfQysl9LS2+F)?YUP}kB@<%3aN<07zLb1}2%l1-swcj>im zG@=bGP(dM;SBssv%-;1B#dQ0#*#jraEGEe7m^rPdPnU#pG-fZk{MQ zx<9&Be9u~Z_H1VsXP7m6X2`0PRcBv+mT&00cg51BW<>7E%MJ-qQ?N5n5?UMQUmP&* zp-Eo|V`Ys_hK8CL(_P%%g?XmtW#;6F7g2{>k-6e>)?j7Pt&?mj?oBZGeha?e%ziSi zs+)_8OBm&g<-Ny1Y$D}cr}sJ8Q<>t zJ?5mWlboE;dieUwS)PI|=d;yiGWzw6_qa-Quo{Y`%a{#|8nmM<;HnTPhvX-4vg%k|COr*Bh?VbWpg*-ibQvq>gc@JVA!@h@N5eHG!( z9MpJSv*@_E8T;pQli8HLYgPUgUrWNF~g@{a^5nC1uUq4`IdCO^svBH5Znb?6e-jAO~VQ z^v?&EK99eGS4(fCCokehRosRawFQJS6#QcN2|N_dvpw&pAXl8VH@{fk>sn*K-(;;Z zZ^wE05ge_Y&q@i0YMGH+CoWsMG?gmFSpm7>+oW~bw+qe{W|G<{rgw0(ub^L+zcLAz zyw%|?XHNz4fUt`fzYRz{VHdLmibc+LgaVJRcqLy@d+=?9{e#++%asquzj(X$yRPq5 zHeO254Xje@$6V5iZ(b}bz*Bm)L`!*j*BH^R-^-r}JpZHD#;|V01T3!)m7M|sD^UREKot0%tk|H`bHh1kGnJsR8$?1|)H=%cAru8)Y^R=ToBs!~X zrl!hj(2*<#nfKtZ`%>3UUE6JK5qRm+;GDd?8@QyO^|vSN^b}AH$LH6pwcm%!V}Q~` zvwEtX-3!3=bp8$|(Wau79v=m*UTJA*m{qrrw1m`fo4Yeul4iz<2ZmO0eE83?51SU% z$#XG8iKF89Se!TOy^Lce8Yos}kUX#4p;I(-sV z43Mh`b1SeW49|=)W@I!tvN7Oh@rd);88iK5?=oqtk54E0HZ&PNe9n8tie=0CYZ-M{ zm9DFTVWQ3M0h<>cKW)=&*9ZIkYv-&f$Us9Aw6|{lmHMoyR-nn$@0kx2rZMN6in8*x z8#i7K_+ESF!isk-c~wR4-*3yw$yr%lH1zE9PXo7)P6M=1bFu$+TMGkKnRe7bs{fMA zU1yB_&YaZDOmf?6Kys%G-JR!}dc%Kw^tru~h9rEz7}eShv$m|IG8&xu{PClHa_4Jc z7k&4#P$TTg%ii6)YkcmvdtB7@0E>;(pFgowEB-(!w!HgB4I%IyYuEU8dS|vyy&D2R`-jkj}cuB6nRh-kUb1lO|&uJ53Em z1_7|&Ch-Z(h8Q3=)oUmuLFv19RbS?$c)-e>3`jgKTqE7iV-4E&EWp3WRV}~h76sr2T`L$W2 zJ8by^t}C!n#n%I&p{_J4IULFHH?p_n@4V#e_-Vw`PhOWc$<{Af_f=hAMdiRuuLWSa zo{7+owP!SKIy zW}iM!R(Tu?7m?l}^J&Ibk8!|$tErhxmw&SsR3npxy}>Kh>g@OySn2U4dPeLqx@Qw|ddG_AfB>MB+6PC57rxgSQRr2DXm)ErEAZNf&9#5j zcKVQJ*Pyw0QK#G6hYnR)_9XI+OR$yd+r=orJMYUV0hltfKiCEEJ&OomYx&n_beV*a?(^isy0lg z%ac3Q=~G@x9RQL|D_>hN8)t*hg4#{(J9&+!nQ4w*Sls1L4QTzx3`;dBnO1qJy_`s3 zJZD_9_3nlahL5L{upgWw$A*E=N{)pBBqsH#}e8`(C@0G zA=~`S%%=g1pFDZ;3`px%O*O@t;$eZ09@)tTZ*jM<^F`)Jtr@X)2Z!8vSh#*#0&5Ft zJ+p|``ztGJ2l5bBCg``kNj9Xz(o_CXj%U3zFBuvdc4W(WtG=_%=gm8I{ZEI@7w0hB z`qX|6uDvFo*6NBE_gB6R|7@dLPl0jI5mO5m=>Z=ZbXOz|x!ZigtXb_)NHx_-WuWN2 z;j8iCX5mtL2#pc@Gv8uj9ap$NeHYw;4m~>vJfFtNQC)qNCT+BmI9xn(S_2n%M1<1& z{L}+$UdbXb@B*1+uGIcoyY-6F^aLyJaR(#;|08PAB`tNJXJt1^f@~Y&>W}u=)P8)b zQ@S+`kPbQ%hFylAFzX!`h{=!^ccsoAs*X52c)y0OBh4Qtxre^eN#t0ALy4OnO6-R- zN!as_+axm-b9UUj|7)hLtsf(?_MvN2!`Q!AOT)XBxnY;Fxv$9LIV|S=B%c7RVAGS^ z?f`23+|LIr4X$zmOX3%E!hrF@E%mpS%%xl zbmMt_QzZ9Ws*sZ-m$@7uk5CtPiHM({L6 zA`Yw@x_PsT$cdCX@?`*|#%DD4?x{P1i74QOOHO1tX-xkQ+g@(5z(E3HhDDl+2c{8tWD1*!rcNV^FE`Gg0HRsWzz>r8DWF@| zuIbU!pmF==;M3vQilA2%v|CO^#&MS^bLLE<)d%@><)o;jFZdG#<0pV-L=Z=;ET{bu ze(&I*U643s>_B}G3<$5GV5sW!vwB1A0HrX|<&|$5Or#9WLl*DH6%CP`ecbH1q<*6oH|446e@!Y{EDY*F=vw@&z>Nv!s3YPfL*DX zp}LWYiF?Rn9R&#>;69uIReC&4o9Ft5Cq4rcwW@FV^Fi&8;KO(#*8Y{Be_(xea$y$4 zkuWSGcj?-a{!e%G=+OufB|m>};HZYwplPzAmLW4{RfX!Reso|ENwOuA$*l`BS;Y(R z>u|2-zd+tihT1{bZ)NA_k6ZTUZYQcxKJqe+p9g}X*H%bo?LYQN&}x9r#(fTpNJQ8p zCbpcv|DM3gO8pC~88k#zsi~zkhOX7d&dvh$&BNr?%STn9^~ibr*ky4=ai9~BMnS+0 z5P^dMm7|sbOq!dsIYG~7YgdRJMJ8K!NAi2PD1Q|c92WEL>@k-j9%p8bpyos&AQzwM zt;(M=;73eD;qoumpXHt!trqv`+xIvOmmt~zSKDcwiV2DBgieU3UN0g^X%(m$Ho=kP zt9Rv^H`$G%sGdg2))%q~*4!Knvol{zU~T!Wzb2~RLM3r1$E|9LZZmTZNA;gQTGG1b zuttl>9%I$?4XjIEQb;oGw#_f;@a3Km$Nr@c*)R`u9zNPm6v-Mwr$luo2&vduOaGcf%G4r*m<_eR!(#MTUCRC&CmaFf2q87Rh-j8|L`OK-XkNaD+ zXi=3Dpqw>DN7MXjpdWqEZ8d9OmyrS5+d7%IL0+J@?-FxQ<(p6sXkq~V+pZbMqbU=IX^61-xw84Bw(7rk4I5g^%uO6Y|teT~w$Y&$7HP7LA^ev}n|Nc+t z`7amfZtf!#Bpztw%r@-c$vO59%hJiBahiHW<4$h+o7LSF$6B>~4xw}zOOP7TUeYqoV&#k8fFwj~%DDC}8C$~gxwiqwwco5Lv+TOk);TlWGWurT1 zX0V<){Du~>7ziZh<(-$GFhQ^X_dZvnqUzE8&P(4((O`s(6Tv_i673HrVVqxJgU?x3googO)|J{~P~!_QS&Zhm`{Z1FfvBvz{!{Z>mA^ zC61(3No|6A_tI=eER!Ro74Tm1!m0cH1K0{lm6+CR!Zou_rlUsHW8#pdM}$?JiGSwU zz7FnAfr02$r*-3NvL=e-_1d*-_gDHj4zBm%?jQf(KZpBOs{>%Mogo2bBiEgb4B5fV zQeMzfNA_L{CL?$BC-mlNX!5MBtP~7$9Oe>)!m*5XQj#|?3^nFHmUZkZuMxq~W~#7I zj0X5XRTTr+Xr@OoAFu~J(wJL}g_qY5*ex!3*hQi%XjkZgR9O&6EvrDy7vg^W^5wQ5 zA@vjzD8u2xr*&;rp_f0-ehJcqEkr;vh@PtPoqc=uNaQqwHPW?>Gh(sjc4b}*0u73Q z1e*7B{(9Y;`>8zs3M*1Kk~5-n-K3cE4H}Agdzw7cZy+Cm+qWA}pT{U9Y@$>R1^nW| zoM05f8x?<2B9A_x+f()iS`GRz915K>I==lR?5-k>{$q%Yw(erchkNXTTiC}_6k1a! zGDvaGQ&F$~@swXLa)jH?Df2p3 znbRpqK?}SD;e>=`%coC~MNZEzf5>wu<0O5-#<=F%N{eoXYR}UKMULu3m|~0GXgq5 z)RJ0>*)E2=ckVRfj`pmb6F)C#wLe^*zU*`?^H{X#7!dorXJb2zGG}S(D2cA!vu|IU zXMC2E!1x>|dh;TmFoQaWHnQ*i1Pgo_? z=g8&0Q}#w_zb(J`a0f*t&{k+{{K=EDmPbt?OunUM(AcLCv4jyRd&7d}mkns>XZYh$ zq)(RD?hAz_pYiT)qj)M5)C(VJR1?X7NhJ(yL-MYsY9SLgV~J>?SPY}X*1LPBQfLIx z&j0af9^DJhEQL2YykWl&)4Fx*;^>g- zt`&H9-qUfDCbb$qiPZ)V&+~{1S8Ho)%WS5Cs=7;t{=+j?%k{aBS2M?dWZ?u;krI92 zG?F?5uOvtveU`)5k3|+kbXN53NAn+FMyl|&2M?OE2H?X-XZ=wy>2{~4ZIr2mGiB!& z4*hx6)g{@Z&uvFwS@C(!uTQNi;?;W>TQoNJMbKAKPUG4#u*oLB7o8-xkh^moU4x68 z8{>u~*H5n}{f{|@uU5sTBuMCnn(QNzcfc?zeS9Ozyav9?P|~bxClhJ*=k?oUy0f zDSg+cSq;1J+%#q`kP{WGf7;h5$BQ9asgbq zW5M`W*TSuYEPRPfVaLLe(G3;G3m-e=97{@S$)X}d``{0y(~$#OxF^i${p+Lu@a3!P zzYsGVUU9`WD8UN2^KpB@rw}-nTMa+#Ie1w@-mYsux930oPY}KB6Si&N{^;q3Pp`%r zgxsYiDzDe?kO>WoyzRt^EuuduEIh*0 z$MANbZOC*+1!}@S5?}(pJ%`P@ym|*Y4r3HIJr!2W@ust?_52e3K?Amy)eQqxroJ_C zO`MT+EGo*6-{nfUP0o3bIi5rpCe_ zv968C>7Rg-TmM!57ZwD;>x3l9S zFtEX{Dj_Wb?EG@73{S?`IR)LkMq=N*msAtO8Nu}SWPVCy z(4T*PwBk$QckPiWb$zp5>!}Ei7|4tncuqg7I%hRTSNDZd#T(>Mx4=Sn?Ao=gaH}Q+ zGl@t|Vfm4LNc0nZxepFl^d4jP=D8&fTv57vVE!2%BH@r3kQL7{Fy7=gBRZ_tpa#U( zwHE#cN|P+X=kMNaB@!bb&g$v-DN~xuc6rbR9(}l_P6G#CnB{YPaD&7dLG%?rc&Ly7 zNkEtE?UiIQG|*SdYudjWvVO+%C7MkMvFH%rf7)15lKq%SA*hF+>5GbXXZ)nZ`a^~! zH#zavl!&i1>Js z9I`yN!JCR3tjB<&J5-kD+;Gy&>?U--gV&|-A5uwu@@VF0(cyQeUUYxL|D~<_&f5CD YukT#7v+KO|3jP{9YNGjRGlxz84cA}ujQ{`u From f8ba24965dbc83e865c4c2d60c2f6259cbb8bb68 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Tue, 9 Sep 2025 11:38:45 +0100 Subject: [PATCH 32/38] Style padding code consistently between larrow and darrow --- lib/matplotlib/patches.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index ac703a82eeb6..e88883eb8fca 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2687,7 +2687,8 @@ def __call__(self, x0, y0, width, height, mutation_size): dxx = dx / 2 # Pad text - x0 -= (0.5 * pad) + (0.25 * mutation_size) + padding_offset = (0.5 * pad) + (0.25 * mutation_size) + x0 -= padding_offset x1 += 2 * pad # The width adjustment is the distance that must be subtracted from From 7b4b3b166f5aa2fda96fd24b6d22d7a302711811 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Tue, 9 Sep 2025 16:41:23 +0100 Subject: [PATCH 33/38] [ci doc] Move what's new page to releases directory --- doc/{users => release}/next_whats_new/box_arrow_size_controls.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/{users => release}/next_whats_new/box_arrow_size_controls.rst (100%) diff --git a/doc/users/next_whats_new/box_arrow_size_controls.rst b/doc/release/next_whats_new/box_arrow_size_controls.rst similarity index 100% rename from doc/users/next_whats_new/box_arrow_size_controls.rst rename to doc/release/next_whats_new/box_arrow_size_controls.rst From 119a051c1619b1300a566ae676ec12d25fb73480 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 11 Sep 2025 21:22:31 +0100 Subject: [PATCH 34/38] [skip ci] Make head-width validation clearer --- lib/matplotlib/patches.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e88883eb8fca..a47644954840 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2525,8 +2525,8 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): if head_width < 0: raise ValueError("The relative head width must be a positive number.") - else: - self.head_width = head_width + + self.head_width = head_width # Set arrow-head angle to within [0, 360 deg) self.head_angle = head_angle % 360. @@ -2668,8 +2668,8 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): if head_width < 0: raise ValueError("The relative head width must be a positive number.") - else: - self.head_width = head_width + + self.head_width = head_width # Set arrow-head angle to within [0, 360 deg) self.head_angle = head_angle % 360. From 80d1c40361e1159ac34c924c38cfc8d684dba8e4 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 11 Sep 2025 21:29:18 +0100 Subject: [PATCH 35/38] Move head-angle validation into constructor --- lib/matplotlib/patches.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a47644954840..e9be6478a2b9 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2531,6 +2531,10 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): # Set arrow-head angle to within [0, 360 deg) self.head_angle = head_angle % 360. + if self.head_angle == 0: + # This would cause a division by zero ('infinitely long' arrow head) + raise ValueError("Head angle of zero is not valid.") + def __call__(self, x0, y0, width, height, mutation_size): # scaled padding pad = mutation_size * self.pad @@ -2554,10 +2558,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - if self.head_angle == 0: - # This would cause a division by zero ('infinitely long' arrow head) - raise ValueError("Head angle of zero is not valid.") - elif self.head_angle <= 180: + if self.head_angle <= 180: # Non-reversed arrow head (<---) # tan(1/2 * angle subtended by arrow tip) @@ -2659,7 +2660,9 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): The amount of padding around the original box. head_width : float, default: 1.5 The width of each arrow head, relative to that of the arrow body. - Only positive values are accepted. + Only positive valuesif self.head_angle == 0: + # This would cause a division by zero ('infinitely long' arrow head) + raise ValueError("Head angle of zero is not valid.") are accepted. head_angle : float, default: 90.0 The angle subtended by the tip of each arrow head, in degrees. Only nonzero angles are accepted. @@ -2674,6 +2677,10 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): # Set arrow-head angle to within [0, 360 deg) self.head_angle = head_angle % 360. + if self.head_angle == 0: + # This would cause a division by zero ('infinitely long' arrow head) + raise ValueError("Head angle of zero is not valid.") + def __call__(self, x0, y0, width, height, mutation_size): # scaled padding pad = mutation_size * self.pad @@ -2698,10 +2705,7 @@ def __call__(self, x0, y0, width, height, mutation_size): # the total 'width' of arrow-head not within the body. width_adjustment = (self.head_width - 1) * dx - if self.head_angle == 0: - # This would cause a division by zero ('infinitely long' arrow head) - raise ValueError("Head angle of zero is not valid.") - elif self.head_angle <= 180: + if self.head_angle <= 180: # Non-reversed arrow heads (<--->) # tan(1/2 * angle subtended by arrow tip) From 460306e04fc79fd551c61661f07f558a9437bd24 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 11 Sep 2025 21:39:29 +0100 Subject: [PATCH 36/38] Remove references to 'text' for describing original box --- lib/matplotlib/patches.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e9be6478a2b9..892aea9bbb0e 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2547,7 +2547,7 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - # Pad text to position text and its padding margin exactly inside arrow tail + # Pad to position original box and its margins exactly inside arrow shaft padding_offset = (0.5 * pad) + (0.25 * mutation_size) x0 -= padding_offset @@ -2571,9 +2571,9 @@ def __call__(self, x0, y0, width, height, mutation_size): angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx # If there is sufficient space available, shorten the arrow tail to push - # some of the text padding margin into the head + # some of the padding margin into the head if self.head_width > 1 and pad * tan_half_angle < width_adjustment: - # Pad text into head + # Pad original box into head x0 += pad return Path._create_closed([ @@ -2625,8 +2625,8 @@ def __call__(self, x0, y0, width, height, mutation_size): # Trapezium-shaped reversed arrow (reversed triangle 'cut off' by # end of body - # Vertical distance between top of text at end furthest from arrow - # head and corner of trapezium + # Vertical distance between top of original box at end furthest from + # arrow head and corner of trapezium vertical_offset = width_adjustment + ((x0 - x1) * tan_half_angle) return Path._create_closed([ @@ -2693,7 +2693,7 @@ def __call__(self, x0, y0, width, height, mutation_size): dx = (y1 - y0) / 2 dxx = dx / 2 - # Pad text + # Pad original box padding_offset = (0.5 * pad) + (0.25 * mutation_size) x0 -= padding_offset x1 += 2 * pad @@ -2718,9 +2718,9 @@ def __call__(self, x0, y0, width, height, mutation_size): angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx # If there is sufficient space available, shorten the arrow tail to push - # some of the text padding margin into the heads + # some of the padding margin into the heads if self.head_width > 1 and pad * tan_half_angle < width_adjustment: - # Pad text into heads + # Pad original box into heads x0 += pad x1 -= pad From 201e62ca35565057c26cd557da0dfbb94efa63fa Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 11 Sep 2025 21:41:51 +0100 Subject: [PATCH 37/38] [skip ci] Fix accidental paste into docstring --- lib/matplotlib/patches.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 892aea9bbb0e..a70bf490de9f 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2660,7 +2660,7 @@ def __init__(self, pad=0.3, head_width=1.5, head_angle=90.0): The amount of padding around the original box. head_width : float, default: 1.5 The width of each arrow head, relative to that of the arrow body. - Only positive valuesif self.head_angle == 0: + Only positive values are accepted. # This would cause a division by zero ('infinitely long' arrow head) raise ValueError("Head angle of zero is not valid.") are accepted. head_angle : float, default: 90.0 From 94fa82de2f5e380a9048afb0cf95950b7e3edea8 Mon Sep 17 00:00:00 2001 From: RogueRebel33 Date: Thu, 11 Sep 2025 21:44:32 +0100 Subject: [PATCH 38/38] Fix nomenclature (arrow tail -> arrow shaft) --- lib/matplotlib/patches.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a70bf490de9f..209ae4307f4c 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2540,10 +2540,10 @@ def __call__(self, x0, y0, width, height, mutation_size): pad = mutation_size * self.pad # add padding to width and height width, height = width + 2 * pad, height + 2 * pad - # boundary points of the padded box (arrow tail/body) + # boundary points of the padded box (used as arrow shaft) x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - # half-width and quarter-width of arrow tail + # half-width and quarter-width of arrow shaft dx = (y1 - y0) / 2 dxx = dx / 2 @@ -2570,8 +2570,8 @@ def __call__(self, x0, y0, width, height, mutation_size): # (dx+width_adjustment)/(dxx+angle_adjustment). angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx - # If there is sufficient space available, shorten the arrow tail to push - # some of the padding margin into the head + # If there is sufficient space available, shorten the arrow shaft to + # push some of the padding margin into the head if self.head_width > 1 and pad * tan_half_angle < width_adjustment: # Pad original box into head x0 += pad @@ -2686,10 +2686,10 @@ def __call__(self, x0, y0, width, height, mutation_size): pad = mutation_size * self.pad # add padding to height height = height + 2 * pad - # boundary points of the padded box (arrow tail/body) + # boundary points of the padded box (used as arrow shaft) x0, y0 = x0 - pad, y0 - pad x1, y1 = x0 + width, y0 + height - # half-width and quarter-width of arrow tail + # half-width and quarter-width of arrow shaft dx = (y1 - y0) / 2 dxx = dx / 2 @@ -2717,8 +2717,8 @@ def __call__(self, x0, y0, width, height, mutation_size): # (dx+width_adjustment)/(dxx+angle_adjustment). angle_adjustment = ((dx + width_adjustment) / tan_half_angle) - dxx - # If there is sufficient space available, shorten the arrow tail to push - # some of the padding margin into the heads + # If there is sufficient space available, shorten the arrow shaft to + # push some of the padding margin into the heads if self.head_width > 1 and pad * tan_half_angle < width_adjustment: # Pad original box into heads x0 += pad