From 3da92ad908d40ce742e99e781ede7b514daefb08 Mon Sep 17 00:00:00 2001 From: Adoo Date: Mon, 18 Nov 2024 15:22:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor(widgets):=20=F0=9F=92=A1=20`Icon`=20ut?= =?UTF-8?q?ilizes=20classes=20to=20configure=20its=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BREAKING CHANGE: 🧨 Some widgets and examples may display icons in different sizes. I have not addressed this yet, as those widgets and examples are scheduled for refactoring soon. --- CHANGELOG.md | 4 + core/src/builtin_widgets/theme.rs | 39 ++-- core/src/test_helper.rs | 20 +- core/src/widget_children/child_convert.rs | 17 ++ dev-helper/src/widget_test.rs | 11 +- examples/counter/Cargo.toml | 2 +- examples/messages/Cargo.toml | 2 +- examples/messages/src/messages.rs | 8 +- examples/storybook/src/lib.rs | 2 +- examples/storybook/src/storybook.rs | 4 - examples/todos/Cargo.toml | 2 +- examples/todos/src/lib.rs | 2 +- examples/wordle_game/Cargo.toml | 2 +- examples/wordle_game/src/lib.rs | 2 +- fonts/material-search.ttf | Bin 0 -> 4396 bytes macros/src/lib.rs | 4 +- painter/src/text/font_db.rs | 10 +- ribir/Cargo.toml | 2 + ribir/src/lib.rs | 4 + .../tests/messages_with_default_by_wgpu.png | Bin 34014 -> 33037 bytes .../tests/messages_with_material_by_wgpu.png | Bin 35669 -> 35982 bytes .../tests/checked_with_default_by_wgpu.png | Bin 783 -> 791 bytes .../indeterminate_with_default_by_wgpu.png | Bin 783 -> 593 bytes .../tests/unchecked_with_default_by_wgpu.png | Bin 783 -> 551 bytes .../icon/tests/icons_with_default_by_wgpu.png | Bin 0 -> 3093 bytes .../tests/icons_with_material_by_wgpu.png | Bin 0 -> 3568 bytes .../tests/storybook_with_default_by_wgpu.png | Bin 42130 -> 44057 bytes .../tests/storybook_with_material_by_wgpu.png | Bin 45145 -> 48015 bytes themes/material/src/classes.rs | 4 + themes/material/src/classes/icon_cls.rs | 23 +++ themes/material/src/lib.rs | 9 +- themes/ribir_slim/src/classes.rs | 10 + themes/ribir_slim/src/classes/icon_cls.rs | 23 +++ themes/ribir_slim/src/lib.rs | 33 ++-- themes/ribir_slim/src/slim.rs | 7 + widgets/Cargo.toml | 1 + widgets/src/buttons.rs | 1 - widgets/src/checkbox.rs | 94 +++++----- widgets/src/icon.rs | 171 +++++++++++++----- widgets/src/lists.rs | 5 +- widgets/src/progress.rs | 9 +- widgets/src/tabs.rs | 5 +- widgets/src/text.rs | 3 + widgets/src/text_field.rs | 6 +- 44 files changed, 370 insertions(+), 171 deletions(-) create mode 100644 fonts/material-search.ttf create mode 100644 test_cases/ribir_widgets/icon/tests/icons_with_default_by_wgpu.png create mode 100644 test_cases/ribir_widgets/icon/tests/icons_with_material_by_wgpu.png create mode 100644 themes/material/src/classes/icon_cls.rs create mode 100644 themes/ribir_slim/src/classes.rs create mode 100644 themes/ribir_slim/src/classes/icon_cls.rs create mode 100644 themes/ribir_slim/src/slim.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 6093f487f..08c054841 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,10 @@ Please only add new entries below the [Unreleased](#unreleased---releasedate) he - **core**: Added `OverrideClass` to override a single class within a subtree. (#657 @M-Adoo) - **widgets**: Added `LinearProgress` and `SpinnerProgress` widgets along with their respective material themes. (#630 @wjian23 @M-Adoo) +### Changed + +- **widgets**: The `Icon` widget utilizes classes to configure its style, and it does not have a size property. (#660 @M-Adoo) + ### Fixed - **core**: The size of the `Root` container is too small, which could lead to potential missed hits. (#654 @M-Adoo) diff --git a/core/src/builtin_widgets/theme.rs b/core/src/builtin_widgets/theme.rs index b254a082b..e9c8c7d28 100644 --- a/core/src/builtin_widgets/theme.rs +++ b/core/src/builtin_widgets/theme.rs @@ -85,8 +85,19 @@ pub struct Theme { pub transitions_theme: TransitionTheme, pub compose_decorators: ComposeDecorators, pub custom_styles: CustomStyles, - pub font_bytes: Option>>, - pub font_files: Option>, + pub font_bytes: Vec>, + pub font_files: Vec, + /// This font serves as the default choice for icons and is applied by the + /// standard `ICON` class. It is important to ensure that this font is + /// included in either `font_bytes` or `font_files`. + /// + /// Theme makers may not know which icons the application will utilize, making + /// it challenging to provide a default icon font. Additionally, offering a + /// vast selection of icons in a single font file can result in a large file + /// size, which is not ideal for web platforms. Therefore, this configuration + /// allows the application developer to supply the font file. This approach + /// supports the use of `SVG` and [`named_svgs`](super::named_svgs). + pub default_icon_font: FontFace, } impl Theme { @@ -107,16 +118,13 @@ impl Theme { fn load_fonts(&mut self) { let mut font_db = AppCtx::font_db().borrow_mut(); let Theme { font_bytes, font_files, .. } = self; - if let Some(font_bytes) = font_bytes { - font_bytes - .iter() - .for_each(|data| font_db.load_from_bytes(data.clone())); - } - if let Some(font_files) = font_files { - font_files.iter().for_each(|path| { - let _ = font_db.load_font_file(path); - }); - } + font_bytes + .iter() + .for_each(|data| font_db.load_from_bytes(data.clone())); + + font_files.iter().for_each(|path| { + let _ = font_db.load_font_file(path); + }); } } @@ -232,13 +240,14 @@ impl Default for Theme { Theme { palette: Palette::default(), typography_theme: typography_theme(), - classes: <_>::default(), icon_theme, + classes: <_>::default(), transitions_theme: Default::default(), compose_decorators: Default::default(), custom_styles: Default::default(), - font_bytes: None, - font_files: None, + font_bytes: vec![], + font_files: vec![], + default_icon_font: Default::default(), } } } diff --git a/core/src/test_helper.rs b/core/src/test_helper.rs index 03cc75e17..24ecd3c7b 100644 --- a/core/src/test_helper.rs +++ b/core/src/test_helper.rs @@ -355,15 +355,21 @@ impl LayoutCase { pub struct WidgetTester { pub widget: GenWidget, pub wnd_size: Option, + pub env_init: Option>, pub on_initd: Option, pub comparison: Option, } -type InitdFn = Box; +type InitdFn = Box; impl WidgetTester { pub fn new(widget: impl Into) -> Self { - Self { wnd_size: None, widget: widget.into(), on_initd: None, comparison: None } + Self { wnd_size: None, widget: widget.into(), on_initd: None, env_init: None, comparison: None } + } + + pub fn with_env_init(mut self, env_init: impl Fn() + 'static) -> Self { + self.env_init = Some(Box::new(env_init)); + self } /// This callback runs after creating the window and drawing the first frame. @@ -382,11 +388,15 @@ impl WidgetTester { self } - pub fn create_wnd(&self) -> TestWindow { + pub fn create_wnd(&mut self) -> TestWindow { + if let Some(env_init) = self.env_init.take() { + env_init(); + } + let wnd_size = self.wnd_size.unwrap_or(Size::new(1024., 1024.)); let mut wnd = TestWindow::new_with_size(self.widget.clone(), wnd_size); wnd.draw_frame(); - if let Some(initd) = self.on_initd.as_ref() { + if let Some(initd) = self.on_initd.take() { initd(&mut wnd); wnd.draw_frame(); } @@ -394,7 +404,7 @@ impl WidgetTester { } #[track_caller] - pub fn layout_check(&self, cases: &[LayoutCase]) { + pub fn layout_check(mut self, cases: &[LayoutCase]) { let wnd = self.create_wnd(); cases.iter().for_each(|c| c.check(&wnd)); } diff --git a/core/src/widget_children/child_convert.rs b/core/src/widget_children/child_convert.rs index df926ebff..c43dabe66 100644 --- a/core/src/widget_children/child_convert.rs +++ b/core/src/widget_children/child_convert.rs @@ -1,3 +1,4 @@ +use super::{DeclareInit, DeclareInto}; use crate::{pipe::*, widget::*}; /// Trait for conversions type as a child of widget. @@ -94,3 +95,19 @@ where #[inline] fn into_child(self) -> FnWidget<'w> { FnWidget::new(self) } } + +impl IntoChild, RENDER> for T +where + T: DeclareInto, +{ + #[inline] + fn into_child(self) -> DeclareInit { self.declare_into() } +} + +impl IntoChild, COMPOSE> for T +where + T: DeclareInto, +{ + #[inline] + fn into_child(self) -> DeclareInit { self.declare_into() } +} diff --git a/dev-helper/src/widget_test.rs b/dev-helper/src/widget_test.rs index 77f9ed992..af0aea20f 100644 --- a/dev-helper/src/widget_test.rs +++ b/dev-helper/src/widget_test.rs @@ -50,9 +50,14 @@ macro_rules! widget_layout_test { #[macro_export] macro_rules! widget_image_tests { ($name:ident, $widget_tester:expr) => { - widget_image_tests!(gen_test: $name, with_default_by_wgpu, Theme::default(), $widget_tester); - widget_image_tests!(gen_test: - $name, + widget_image_tests!( + gen_test: $name, + with_default_by_wgpu, + ribir_slim::purple(), + $widget_tester + ); + widget_image_tests!( + gen_test: $name, with_material_by_wgpu, ribir_material::purple::light(), $widget_tester diff --git a/examples/counter/Cargo.toml b/examples/counter/Cargo.toml index 53c954aa8..b6c4bc7de 100644 --- a/examples/counter/Cargo.toml +++ b/examples/counter/Cargo.toml @@ -14,7 +14,7 @@ version.workspace = true [dependencies] paste.workspace = true # we disable `default-features`, because we want more control over testing. -ribir = {path = "../../ribir", features = ["material", "widgets"]} +ribir = {path = "../../ribir", features = ["material", "slim", "widgets"]} [target.'cfg(target_arch = "wasm32")'.dependencies] console_error_panic_hook = "0.1.6" diff --git a/examples/messages/Cargo.toml b/examples/messages/Cargo.toml index 8dec37aa5..f2ee0fffd 100644 --- a/examples/messages/Cargo.toml +++ b/examples/messages/Cargo.toml @@ -14,7 +14,7 @@ version.workspace = true [dependencies] paste.workspace = true # we disable `default-features`, because we want more control over testing. -ribir = {path = "../../ribir", features = ["material", "widgets"]} +ribir = {path = "../../ribir", features = ["material", "slim", "widgets"]} [target.'cfg(target_arch = "wasm32")'.dependencies] console_error_panic_hook = "0.1.6" diff --git a/examples/messages/src/messages.rs b/examples/messages/src/messages.rs index ed043bf55..5386503a4 100644 --- a/examples/messages/src/messages.rs +++ b/examples/messages/src/messages.rs @@ -53,7 +53,7 @@ impl Compose for MessageList { align_items: Align::Center, @Row { item_gap: 10., - @TinyIcon { @{ svgs::MENU } } + @Icon { @{ svgs::MENU } } @Text { text: "Message", foreground: palette.on_surface(), @@ -62,8 +62,8 @@ impl Compose for MessageList { } @Row { item_gap: 10., - @TinyIcon { @{ svgs::SEARCH } } - @TinyIcon { @{ svgs::MORE_VERT } } + @Icon { @{ svgs::SEARCH } } + @Icon { @{ svgs::MORE_VERT } } } } @Tabs { @@ -116,7 +116,7 @@ impl Compose for MessageList { #[cfg(test)] mod tests { - use ribir::{core::test_helper::*, material as ribir_material}; + use ribir::{core::test_helper::*, material as ribir_material, slim as ribir_slim}; use ribir_dev_helper::*; use super::*; diff --git a/examples/storybook/src/lib.rs b/examples/storybook/src/lib.rs index 0615d0b4a..4aadeae6e 100644 --- a/examples/storybook/src/lib.rs +++ b/examples/storybook/src/lib.rs @@ -15,7 +15,7 @@ pub fn run() { #[cfg(test)] mod tests { - use ribir::{core::test_helper::*, material as ribir_material}; + use ribir::{core::test_helper::*, material as ribir_material, slim as ribir_slim}; use ribir_dev_helper::*; use super::*; diff --git a/examples/storybook/src/storybook.rs b/examples/storybook/src/storybook.rs index 39b4de248..3458407c5 100644 --- a/examples/storybook/src/storybook.rs +++ b/examples/storybook/src/storybook.rs @@ -26,7 +26,6 @@ fn content() -> Widget<'static> { clamp: BoxClamp::fixed_height(30.), @Text { text: "Common buttons" } @Icon { - size: Size::splat(16.), @ { material_svgs::INFO } } } @@ -96,7 +95,6 @@ fn content() -> Widget<'static> { @Row { @Text { text: "Floating action buttons" } @Icon { - size: Size::splat(16.), @ { material_svgs::INFO } } } @@ -129,7 +127,6 @@ fn content() -> Widget<'static> { @Row { @Text { text: "Icon buttons" } @Icon { - size: Size::splat(16.), @ { material_svgs::INFO } } } @@ -201,7 +198,6 @@ fn content() -> Widget<'static> { h_align: HAlign::Center, @Text { text: "Divider" } @Icon { - size: Size::splat(16.), @ { material_svgs::INFO } } } diff --git a/examples/todos/Cargo.toml b/examples/todos/Cargo.toml index 06a422003..ebd27f91d 100644 --- a/examples/todos/Cargo.toml +++ b/examples/todos/Cargo.toml @@ -14,7 +14,7 @@ version.workspace = true [dependencies] paste.workspace = true # we disable `default-features`, because we want more control over testing. -ribir = {path = "../../ribir", features = ["material", "widgets"]} +ribir = {path = "../../ribir", features = ["material", "slim", "widgets"]} serde = {workspace = true, features = ["derive"]} serde_json = {workspace = true} diff --git a/examples/todos/src/lib.rs b/examples/todos/src/lib.rs index 876c2bc12..441ae1924 100644 --- a/examples/todos/src/lib.rs +++ b/examples/todos/src/lib.rs @@ -15,7 +15,7 @@ pub fn run() { #[cfg(test)] mod tests { - use ribir::{core::test_helper::*, material as ribir_material}; + use ribir::{core::test_helper::*, material as ribir_material, slim as ribir_slim}; use ribir_dev_helper::*; use super::*; diff --git a/examples/wordle_game/Cargo.toml b/examples/wordle_game/Cargo.toml index 67b07cf36..346da2508 100644 --- a/examples/wordle_game/Cargo.toml +++ b/examples/wordle_game/Cargo.toml @@ -14,7 +14,7 @@ version.workspace = true [dependencies] paste.workspace = true -ribir = {path = "../../ribir", features = ["material", "widgets"]} +ribir = {path = "../../ribir", features = ["material", "slim", "widgets"]} csv = "1.3.0" rand = "0.8.5" getrandom = { workspace = true } diff --git a/examples/wordle_game/src/lib.rs b/examples/wordle_game/src/lib.rs index 0dcaa0d15..1c8287b8a 100644 --- a/examples/wordle_game/src/lib.rs +++ b/examples/wordle_game/src/lib.rs @@ -15,7 +15,7 @@ pub fn run() { #[cfg(test)] mod tests { - use ribir::{core::test_helper::*, material as ribir_material}; + use ribir::{core::test_helper::*, material as ribir_material, slim as ribir_slim}; use ribir_dev_helper::*; use super::*; diff --git a/fonts/material-search.ttf b/fonts/material-search.ttf new file mode 100644 index 0000000000000000000000000000000000000000..56377dc364a1d867534db2d059bcc73170f35e5e GIT binary patch literal 4396 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 J@fStszX9Kt?2G^a literal 0 HcmV?d00001 diff --git a/macros/src/lib.rs b/macros/src/lib.rs index 90ffaed5d..f8045892f 100644 --- a/macros/src/lib.rs +++ b/macros/src/lib.rs @@ -156,12 +156,12 @@ pub fn pipe(input: TokenStream) -> TokenStream { pub fn style_class(input: TokenStream) -> TokenStream { let input: proc_macro2::TokenStream = input.into(); quote! { - move |widget: Widget| { + (move |widget: Widget| { fn_widget! { let widget = FatObj::new(widget); @ $widget { #input } }.into_widget() - } + }) as fn(Widget) -> Widget } .into() } diff --git a/painter/src/text/font_db.rs b/painter/src/text/font_db.rs index 6e173e1f1..0b36207c9 100644 --- a/painter/src/text/font_db.rs +++ b/painter/src/text/font_db.rs @@ -120,17 +120,13 @@ impl FontDB { families .iter() .filter_map(|f| { - if let Some(id) = self.data_base.query(&Query { + let id = self.data_base.query(&Query { families: &[to_db_family(f)], weight: *weight, stretch: *stretch, style: *style, - }) { - if self.face_data_or_insert(id).is_some() { - return Some(id); - } - } - None + })?; + self.face_data_or_insert(id).map(|_| id) }) .collect() } diff --git a/ribir/Cargo.toml b/ribir/Cargo.toml index 37431d810..c1966e7a8 100644 --- a/ribir/Cargo.toml +++ b/ribir/Cargo.toml @@ -17,6 +17,7 @@ ribir_algo = { path = "../algo", version = "0.4.0-alpha.15" } ribir_core = { path = "../core", version = "0.4.0-alpha.15" } ribir_gpu = { path = "../gpu", version = "0.4.0-alpha.15" } ribir_material = { path = "../themes/material", version = "0.4.0-alpha.15", optional = true } +ribir_slim = { path = "../themes/ribir_slim", version = "0.4.0-alpha.15", optional = true } ribir_widgets = { path = "../widgets", version = "0.4.0-alpha.15", optional = true } rxrust.workspace = true wgpu = { workspace = true, optional = true } @@ -54,6 +55,7 @@ wgpu = ["ribir_gpu/wgpu", "dep:wgpu"] widgets = ["ribir_widgets"] tokio-async = ["ribir_core/tokio-async"] nightly = ["ribir_core/nightly"] +slim = ["ribir_slim"] [[test]] harness = false diff --git a/ribir/src/lib.rs b/ribir/src/lib.rs index 79a5d15ff..34477daed 100644 --- a/ribir/src/lib.rs +++ b/ribir/src/lib.rs @@ -9,6 +9,8 @@ pub mod clipboard; mod winit_shell_wnd; #[cfg(feature = "material")] pub use ribir_material as material; +#[cfg(feature = "slim")] +pub use ribir_slim as slim; mod platform; pub use platform::*; @@ -17,6 +19,8 @@ pub mod prelude { #[cfg(feature = "material")] pub use super::material; + #[cfg(feature = "slim")] + pub use super::slim; #[cfg(feature = "widgets")] pub use super::widgets::prelude::*; pub use crate::app::*; diff --git a/test_cases/messages/messages/tests/messages_with_default_by_wgpu.png b/test_cases/messages/messages/tests/messages_with_default_by_wgpu.png index ffab7e95e30100335eea4985eda6c5f6eefb46a0..dd34c5135b51b758cdb9e8efbfc556abd19eac8a 100644 GIT binary patch delta 24392 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⋙V)-^;P=^f9f2l}Fn@E^7 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 delta 25346 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

*H0ou;-2jTk>W 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 IVtkYMKVozfZ2$lO diff --git a/test_cases/messages/messages/tests/messages_with_material_by_wgpu.png b/test_cases/messages/messages/tests/messages_with_material_by_wgpu.png index 5d44c5de03d2731b3b85852673cd2d50f8a20968..7e8d253391e4568b0ccd9f009e78dbc333b05477 100644 GIT binary patch literal 35982 zcmce;c~}$Y+x|U>ihHW4s3@^+XsyN-Py*3vOD)yZ+DeN`+$u$sfK-!^Wk9Q_C{a;S zQDSQ?wG>n95|EHV+1IEjL4gbqAPAC`kbUO8XYBKRo(Srlac<6r3v)J1 zNc;0@Vc7ch`}XbI`YrgwA^uov|2O{pL|i%|g7}nu`#$?@{m+G2S4Szo+!w()%;7MV z#7BO)`^MH=1-*af-hJHrC+z!C#E!$SzKz&nVTX0S|5+~9|HpRnXNO-QGcJ*@%f0K6 z-8w|P4*UW?@(uA`;umOo_4}VixSKcs=c2*?_b)m-|NVtNH5H+_P;TE=G)&bJzsOyF zCW|TQ*C3;M)H{nyRZM|iuyjYZk%|26;0;eJNETp{|F$d?P6>v+1@#Z$a($R;w z+)97AHzywPV%VMtS}Ft|lXpy6F~*aMZ;%uR3eADWzf(ib__FiQMxxn(_;FU7 zXxp}Jg6BSh4{4Rl;__dk*4Sh&(0VO58U+aD$*BP~^QOR$$B&E!7+2^!2l;_Rq0gw}ImNz}MGz zdhn4m`0k;2>WyGdI^r%wH1+~*Hs5vwbH0lZqx3IJ)`lMP-Xt##Dw)_4n;x4{G zt*&=Ud^$cu-BE`gRqOKwX;f*_XV6|2l_cEScP=-s<_@h)3J)DahTU3>0SjRAx$Y(OFW`;7Ws4UC;h1Btp{6(%}6m@VswZ6UmL!~k! zdtgrJpoWnik@PB}y^Pg6mxoha5C(4Gy4HWW{UHlKtTyGLr!(Q(5uHD<+PgrDI_Wxj z-{NdZNy$1rrk8ZQ=2l$d#vnj)*ZMvRv-4c|-LuLX_KaDcKd05#q~s}>gZ z<{HkWGS0~098RZ?$mj#cBd!#6z ziYI+WYI`8uA83==F0tH`LT&396O-AF6YS1)q3_mx|M6tHPLE}42j{T|f2X&fVs;)x zyARr`B#s3TIY1<~dsMAR6J+|D=3Mr1W_Y$FhtYMXMHwJ9R7*?kW-U(?YQ4|MvU07~ zHWBJtgg(s_yv{Va=$%g};FH~|0#@wVR7UT4(4hEoMon5#Q(6Mj+PXt+t5aX(>x(kI zE|eal4$RCJ_2ofy_X1{@$Y=5Pwyr4SB<|X5>|zd>&^WbDHd#=bDjZ4cs~D~U8|IM zwS^@m{Di3!UCet;-x+pM9lr=l0!6bCqc2hwCbEUagBvPmLv0^Ycq1sV zt%N5MxdTNvZrz#;S?o+W~RSY(!oGF~N>2?Dgk3N-b>L6LsO0Jb~8#c5iVaHea2 zmCl}aAnt&Pb+Qfrqo^n(3b#a2k}DYPMwgr63V~8nQ(X?WYdEAg>h$$N>2wCeaEwvu zj}yDZ+egE~T3e9mu#!f47UG74i8_s0C~( zEqXVKyLmG=eBM#ucG0jQ(CvwSj%TSRu#;@2mVF!Hh6jJ4x<34}q0~!Q>9st4wo<89 z`?1}R*md{zRB-cDf{j@4`jODTo5HPe&GeyjwZsniK6fKB4SEyHHZHp^7&UC(Hc2$TvD!yNwDM!6T5G3Y; zA$HG)pP=XkJ>~TnbM*0ARlFHQC!_`I@{gs4n8shH^Daarl|^)>A%?W3*RR_PLUcy4 zb{)f2!YyB({bY3F+ZS_n)@td%7xMY_*&(CX#GcLMzRm0yRuJDl#Gjen2|AZSc5W!P zhmo!XJ4(k>yIJ5?2}4vYPKXe_A0_2gZ;@1|!kww+pZ!D6TLo6@PJV0_K8`7Tu_fqH z;+e>Wc-bE=q63}Nu-Sr_VSz>sRVBf(-^A&qULj zY}A#94kdTyws{#Bp^inr)p3MQj)~R(vTBPf@D~%cN5e3B+r);= zRO4nBf5!Cbkij9fCJB0T;Az@=iN*(hn`z4f?}S3TZ!v}^cO9xSn|F(aALEAn3J=2r zf5vg2S2-Y7GQE{J?(Cfh8#CdmV1+r@!!U_uza+4wil$Hoy4i!>a(hv8*uz5=w!+FG+Q zu(cHFtbM!udI;xo8@pZ#%sm~8oJroWVtRD z8Q0w0ywi4>?VJoL`kIjp+#huRV@+eTUD929bveCzskq%JhUpUHRmsTWMS*B-Uy-iQ z^i*D3BOgOP>fZ>WtgjzOdBA@=p+Y=EBhn8n)(MTvSsC#XANTDBAlJ*(Ybt;ySiuS1(jlFH9VK_dQquuoK$B=TysP zSGb?0GAsd+I141&uBgGTe96HB=9asKy2$$M;F=X1$CMNw2+*W}059}zLH9HeZQ+Gp zt)`iw17ORbxX)3#>~@FLy&6(m7soPTb=tzD5#iVwPs3i&j4yLSFFDU@Dna~4OskgAzQoW}XDe9$#k8?u}C__kxc1u!fj5T#0s+-`&QzUFdGxQg4*iPnal086TiRu5flH9h)in# zQ`)@)is8nkdr&O$9b?G3pjwrCy%qA*$s6WmxLqIY6??Q(|m zem+Zec<;Qtl@QTsSSJM^ksRG}#8>KmEcHyDv+w@Yt5r+J5CJcUhwKqhQ};cZvE#3; z3!!fFsteyqReR?_h$$SYolP~4fYjIx^?3w@%h1eOCrA7q(~jOR*>z~czC&R96gfap5f<7pzC~XF?wZ#Xku(=tmJxG}*hmpK2yxt^cNOq;XUO1E zaaXjcH-~4>97u%b}*px38&>5_OVXR84$jV7Xc1`&)Z)sMYZGh=sLEb8n zd46hr#j<}ZFnEbRK%GLg#!FP`Wt8-TTkX08)-Mo$yL{F)>|YV#mRK(4gdYETlt1(O zUOqpI7y}O)xkOkaa)rTXh>J0p`%LGl=FRjDuzBAKHQll?PFH`6Yo|}2ZZJx0BL!xV zSW)1nk^)rk#`F!5o^20V&WA+8izR+Kl!dQkRp1FkYVaq%Me(i%xz2WVvv)^Frv@gK z1a|yF5snb^TQs%;3C@GkslnxXT&KTRP*6oC&xkk3Z3}wwi{Y7zjZu1YC>f_I`^#AG z%IxJ*JSk3L-$y2BnCH!ymDh4H=3}mL7O~4bEx51E?|u`@)dVKZj_RGuI!&hQ_!{zF z$nSHpga7B!`TrG0aLa_wZ!QhQYH6l^%~*(zb&Q9^tL~)?Wgn{9pfFsb{>vcnJ->j~ z!9UR|Z*(mWwP?6Ezg`FpSM<+Cv$Wc!{sFc=P7;r7$GZ;du#LITT|OXhu!k#5HOR?; zl~82B7Zaf`7QOr$nt$6Mq`B1(;>ykDE8f1Y!Dji23THK(lf!Vo1?xwA|3j4tdHwwP zcxx+%N)Z{3@kDV&maTF5?ZX`kEu%!~b}5aUsph5h{wiiWKqU^=sWzmzP|>i>2-2CW zU|{_N#~0r&3IPFK!2?+Zh_*q@_%7r z$X3$R)45=lj>6_vDEh7TQ#sjP@M+Z1k9O}s-L3YcG}kBD&GykgwnuFI2&8EDMb0x_ zoy-nCf;;n33SKEToRYXU2>MmR8GV*(S`c>Vo!mvl!kq^4(K^y>sI0h@Z)wgPk=)ff+{yYtX%3_J~K z8*FB4Rd81XuV)=~RIx^47^;4^NPWGoZe!eID#qYb(mPi5oaOd z*%reTjk4B!>E~{$_`0y#7kTb$BpwPP2b+lDOk`Aq!S5>K&2@q1Hm{JAL~a-z&Cf!x z8l+>GooI&8ffB}<9J+DC`k|DISLv?J;!Yxs;l8}(H>|k8tmT$Ph<QwRhit87)W)FF3({m z_JPcxA=@=kXBC1xNYJPi1c;Mf-pcQ;ohs5>VTliH^wCCxDD-{fJPMFqQAX2U?G&vT z?_@&UHyM(r1e|1@u7>}nx>_0CnXui*BYqzAwo`PqJ7rd>=kcS?1xKfZMNQN@V#U$! zzn8l>yh0Aw3(6ks1R&4{uF7n)pgm)G#I-y@fQe0{2z%Cf*oa&qROcOKEw&Qn5-W`ifzHbLD--md#5wGI*%=WAA1C4I#16ea97^o19 zVGo>Omj((;0^^a?(2n-MRIwm9pw$wWnK_KI*I(IB1l1m3xpBloijEq^b>e06)?kGv z!+48P?&+?gV&kJhf-Pb@2iX-XHoAyR(+W0Y=T~vU^5xu{O2>6&_cq1bEFRG%kgmuY z71afTHOt@o8kPBI7(5VWROsEIP|IP}4l<;%s`)e`b|j(%ck{NG z3*|#7!qO5CuEZ*0hiV!^Z}^mXW9Wbc> z(+_X^Ma&ISf-OKais%G9=o{>qpcQQ$S)4Te$3+SAVmv>X5aa#tU+d^Iw{9LN9=hh@ zCnpT6xtl}4x{sevza0K%#XW#=Mw_QfELUBXVr)LhhBM9&Ee@791RH(8d~k)?kD>06 zy9kyPbxzS|F9ggOBA84j&GwYmS*UOplA|BKNHW!TukXKKDafG?U(E1l9s>CcIbVoK zTe`+T?bP6Hcc3pdr9tDyG?c!a))2I8j3@Z#OK-xGH4uX=gm&fJEer4RS+->~WI^=S=Fm6ykOf4SiIgqioxledTk3kRcx zlOeX{5gUL+`wnziGSikX){2PW&X$GPeV2Iyh-~hzPPpugBZ5VoN3d zlx83{w&^owBq&3yh8T(QE&W+d(Yu-HRuOc!PpqTKMpUSRqDQ89&_>3vISQzoLU}Jbw4QM&fG2GzhADb zlG8qBVQ1|!N9yR*_X3$ka=MN2hEJTe1X}xI*BA4~@18e* zO%wE>5wgA33x0@eZf);pv@!GfoMW}+!I(~E@Pl1vU9lmD*?=IDiX3?**mzQ_ec>zj zF-Hi5v)2E7@`G=ecu%}}GCC%2>F=-AuRB^pyNws$Jhx6tF1a;(aex0kevDX#S!lP< z#72F?EP4PC9nlGCVf60v2i_epB{Fa`{TT?*f{vJig8jt_*wbNtJz!@Rzh14VTZp{L zHK0GYp>IKK&0VV#-lu3@w~O=R{vEb#N)ik;Wy5#h$om}#$@zWX~eFX++z63-caeoM!AdU-hs zz#OHX;zpFLD7 z4EFvA-y{wxsM65B6i*8X3;?oWoBcKTXV@x``{HLuV1@G`kFREZp4Gkgp{znEhKIbK zCef`svSQg^!!Prlf}Vb7r|D$b4ra%v#@kZUSHw+&+<{39(3Mgw9-G}%Ri0F457v3M zEj(0p>&WEJprw9(rgCv%TF!L_b8$p%oZBmEA|?0{VCm!|e=`){6g_zc9yPw>L_%5g z<-K_Pu;QzEQ#BV|wL<5Ed&a~-wpkOMG#N0uR7LfkfAv^+=uwn7T32XW;2TRMqNQfIhk5UHH!74 z<}#M6OYkN~I15C?jB2H;R%`;x%SjM`QaTt7MEGdL^thUwz;4QC25Q^GxS;wyn+_QC zMvjVcSt=@_?7Vfl?xTR*rU^d{dptyVM_wO>jhN4ErP$)s=6>V~{t*l7V$}r~nVUhd zi2u`~zt30Rs6x}R;Px6ZGiw6fz#Rc%lbCE{VZx*qyXa3*==m$aFB6c zhHa@8=BKWwG}khq*rK(gO+wUq3=mlNOj;!q>r@&JqJuj?%E!CuAM&=!Wu)Q@Admqu zDw*z=O4Ay%{W>u^@S((VOKmgbuBigG1Z0#W5VM9_a?c#?agwLxC~R4VS2XK5`5%o` z*ELsIQm!m13{BrowqX2sf)wUP{ z00));%F5mq(8qfi!Jh=eek}Rev2}5BqF2F(+!mGb0?ppxs+PJ|)2xSRCDEep9LNC1fJ#uW6##jy@>o7lJM1M4 z*PhU~8KIXWgs&oo&s@&SlJTM^rwx%P2iXh(D9kuVJas1#IEuL-{)Eh+gJ(bhcOeXNy3`c4 z)EGcpMnUqY3+2;U=9Oq=g`hUfaP;5y>63~40cR6k;BZrAU3Zwm)jl+xDT85Ockyd3 zY85ioRw3ic*|TFo)(b`%)CPi|SP!n!DhO2fx2jW}z>*;N5OvkDYAh<2*P4CgbS5tj zv7L|fPuKaGW-1)H$e3h``x&JZ^ur8Z95Lrc6<3Jfg&DT8E$PH0!?hm(!G=IDSfTrU z)D1BB$Ea}zTIpG2OJiInW<{Hb0LN-TzODc;cux#`5K-T3+m;1Hv>T9XfQe5B%9+ke z%w(U=8L07~hi#CJ$Bmd;V!bp?3V^T@(*g+r*(^AS z7yp*<@B3&!wdm3kTa0aR+tfgOhB6G)4Om=-Um8 zW;wDSKP-FqW=rkekTU8GY@trx#kMJ8v!5WH6!qW_Hsy=MGl2LH*Cg^QI06dRPW7vB z6Eh)&Tu>rlOGFp))E7t=3920&v(!=`aZV-sjWBmqRR~-B&9qfK(;Qmm^XC_2{6bmx zrwQ)EDkJd}WQX;Qclq0%1ail)t$#14%f_zMaho#ckB6Rp);WC5M_=8^AN=E+Z$4@j zq(7c2ZkL*g*NQvROpe#Z#mI>s%0+b`Dus%C{DN|6D3AG8; z+7KHMnZMIW3L654>@0}%ICs_6#lj}hD*XjdbBx3wYLV*s+0Dd# zCn7Y!WV%wKz#4O220J-jA{e)dOTb1Gz^+Q`1)IqbGS5o-2Fq}@`O;6IynB7T5{Y{o zr0A_}l{eJSz0mg0b*|s-2?6W7zW-)s#NjJ1rmxOAuNeWYYLA(@ynyxjZyVP`J12c| zu6tQQf@XQtgk&;8F4_qmh)NiO;zKbF=dC>J!%QyHY*Unj<;2YC$viW55=UMZJZQw74ZDm34sv=@zCw2hfU?Fa>g|8O^ zwMXvtJ|I2y?7_4;_?PLIx7*y*J#QGwAL1siy=9o*vSwIIK6;q#Hg2~Z4Kbc#cGMuQ z*nGW$6e)nsg4X@=&X)I^v;QZ6-{WToskql)*^a@o{SbwfLB!*Nb%wCbxtqWGf8&Jve}c~Ox}VU9 zn-*`6XNECQ3u6RCiy9@tmb||w2X!>Twj-`B{yN)O?}{yeKj3L1J~=?f+5kdK8H#_q zm3fnHIXhp;jm8$OpdT|0$Y#gkYrbP#!WU-_4(5aWlegB-aWd7Mu6J!}(We5q#I@b> ztAa0WV;5aYm`*;RgZ7DmMP7#^nuw1F*Ev*?Iza}{1U@lr2AV>EX)XLG`Cnr+{n-04 zH)|+<_5H`&lsDU_Ud&O9KVvnq-hwUaBS>$n*8^dgXvYs+{-+YrH3jBdwoF$CEA*Pu z_9UXc0dBiwKSLEv3e|YAj?-LKs*VMm8QM=b$MKmRErAAByBR3S`Gap_?I)zp)tE_& zora}WyqH2FU9L#s2Fxw_ezejw8LZTT@@U~aJd)4ngH0YArR-P18WmVw+>^4K32b71 z0?avdSq|NDM?mEI5aARkj}{F^8`rS#vuJTH(im$3um4s)6R|oGWo}V-tYMYJT0m!@ zpbb2V2{#8I(8c~DlRv3r0=goZSugZ_JaAvW1Q`fcnVzGj-L78Aq{Z9w2`fs0UcoPL z-Yw+5X^88}6`3MKK}dhq=lEjx#|b)Ln{v?2FnG#Qr<}$%m9szD_des^25b-5JTghQ zOjWiK9zFs-Nv$W?#h$`;A9y?s|3X^nD>wQkm^w#_+PvU%1cP+N67uDT)WKZT#g{g6>hNSU?~LK>>w<5qzw@S-K;|-`xLaQ z;1KD+X=$YjE(tUc2pqWb{Cb|#2ESAH3DsE<0((STG_2E-ctYZ~OF&!N%2=hb2vF{U ze`){pV9|9deo8{(Gjc)aeuLf0%T5MOK&wp^x^I0a-CFF?u)^c-DCzfksupQuwfc6r zU_d6H!g8<0i;?x2qRHvV!k6Bz=%(i8JyV9O-_AhCCli1!fNgz5;xAU8XK0V7U9Plm zSNHEgCqd2hcjv`zzy<=MBAs=RZ9O6|`HLn%B})uFK77JB0k@U;Id{wdm~~W^)GTYS zVsd9e1Z4%|cAOq6Cd6`MEQ0ls)<3&oTruf7Bs2`Uwh-~63^Xw8TjWi9s5S0T*KEd+ zWdBf|5fYST3Re+5$0M9N1crkQtAXqXOat%P`BJL&p1h$@KAL1FH#3E=GusIgolhzX zBuH0rEfHEGSEQ!3F}?$nhPzAMmAEO<*)K~(U*F&Urdb0tnQ%V;UBCYR_Qk;a1JKl< z)mjj5oW)V|eDru1rQ_4h#DWpc(_4kqIe{oGKa4MyY2}!z_$X;9GOh=N1IVot4)00qI3pru&Khd z26&EUbK}V8A-KFd+ju70U|~5A1KXVlNa+SGPzLDFas)5@%`N13BUTT1#YcEb^%nG` zPj@)tmF;?&Gvt{yN0h1(<*7OnfQ1Ud za*=X(_CTlqJz!BHrbHsY{GbeYj^o;g+5Zr`KF=N;$T5SVK0P@s#IzaMG({t6*lt?A zXNcpuxFcnbhk;N!Ew9c561Ifl4_(=oSk1+zI!K|O-U{a&%9E8zIJGFp0VYN zer~hsO~jUL0qwltJM13;gR0YPjj}+a&Z<`z;v_xotvnbDQqPdr;2M?-G zIP+AVN~Y@Ye+7YF3pj%LwAw;JeGDON`u$Y12&@%D^fW5iY)tq z`aOQ`DcKSVR!r$2Rw1`6?IkyH_J2!0h7r` zuQue^Gr&^uJ^>}m`=)g&teF%N-3y$AO7ZI6(8C-r=5zUKHvI={j>7-U3Ez- zm!0))SYiCbYe$Wv=UhV3Z+Vvoe7DhiUa^kF6m@j&E-z#?7zg|}x?DWnu_F4U|%IQ_?l zN-~tgz0&MQW3GWjy(8uKn7w=UJlX%SqX}5@e&TXVmyDS{{hb*dN`$PzrTx^CC!#^x zQ>JqBqp;55Ig>+fPu^!92W>c`Ss%Tn;g5wc?`m%;upoS^j=Em$$|IZ4&5q~(RQh*R zVn^x7?B;ebFSC3BSV{At{Zmk|0TeF;&IG~;wG=6rVBKknzmML14f33Ms`0|7v8DUx zWO_!98?)(sLm&jQCEzdvTmcx24X*1!2}i-?XMbYQf17TUT2?UzcBbcj_K2do=$?Cz zv!0XxiC1iI`{}YK$o4Zks0vBtsFTS^Hy7JNq-t=E>1ALC+R>-RV$S3l*X&quv40iS zu_Mr+f8{s0@IU?EhCHt+a$2A-&Dk+(&E2mbY304nkc+t(#|FZ!1aj)AMqr-#@CW#0 zsiSdpJ+&b&A(s$>)hKz-?Z%9qYa|DQ>$K6;cx5RwXun) zRK6fp%pZ$AG^+aIagFeR*I%$+c2%U8 zH94>P#}8&vt91IJ8Tbs~$BsHmaohwBYl1W}f95s>@_^n0#BYDwUA-e}S%%l@)sg>1 z=5cQV6Ai64D4m3&46yo?B>o4iiY`}#=tk0?Sw(t^p#pa0$Y+8KfNrm1cBN#yI&(~G zm?G1bsV7pr916X2t;n7UpY8&bsdPc<{|~a%F!DfRODCQ)6G{ z+#@Zwv$!KoEy7aMh_kb&h3)38Z*I={cyh}?Ple$^p!yR|-O88V{tNs!eZ7gbZhPXQ z$d7LhJygK`|AL&&<`=RqHZ@xbbx1ssEQy)gB=*r z=3cIu1h|R5mS})@gu~0Uc6c+44ZNG=x5G%Nss`idY+c==?1A5M$RP!c>TXa1ptw## z{6fU(v;+1%8Un^)B$L1wdt+m>XpUcLS`r9~z(z&IjUd3&*i56VcEvR$5E^B=IXcOI>h7@(#!#J2Er!(zQj4T`LUtE^77-o2JYC;p+v1w_I^ zeoTS6zAzuv3e`Sl531o8ATwh_fR^ej8Q36sk|}x{VFZ_ma+NUX=^$p3bcd)lZr)9b z{hS!o>U7@9H09rb6Y*Dvi;Tl8u+|KozkqZ?y8UdB`l z#y$Ks=GU`h8^fUo_dM=TUAhtaV`9s+{`%&sm|wFChCj}J6qUh*KN?_H57uC_lwzmX z+5<*vKVZzqK&6ZOv+ThKIT=?0B?4O}U&eu1{{wxmV+?rm2+EG-ku3^HE4%GlY&`^g z-j#j6iwX2PLfH?9 zYY6vtMAEQO%NB-5GR001UzFffOi+qu2G3UX@#I7Z10_!>00)b^2_joSm{L;BFKBMy z7;Z`nxyH7gV0Wd8dJ11RH9_wOB5@~CZ!blqfZB~yz_}9gAHvM8B8R}m96Bg+a{WS1 zmAPR3>#9Sm-Sr~#?5gm>&JfN$S2MCJsoMLht|05kV5lI*hr0c#rg%mAkJp~9NI<3! zKV%&e2EcsD>-(K$qq)E)e|txxY=-e@C%6uLA`lpy<}SCtmbizJ!iILI?TXkwf(Wr| zI0iNeMW-`F*MW?(z}2F3&q^yhsy)(rSak>?*4ANdpbnsgg9?c+LhD)u;wl7G!hInf z80C7&bbk!Nm=>-A3^dRPXrV9UvWf8(grrdExgj1ES`)yRkpTHk-S+RLD#25K!3wK4 ziIjfr`<>kYz&97f~8w?*Lv++mz4&rwpO(#-y z;>)uQWE`2Ki=YOS8#Ve3lw5ZXD9dVua`;pXn{sKVTpwDw-Zv}%2=vvE$P2II=j|O* z9JCDB)%U}a*AI3E!P$zwA9pa{epugHV@H!>Hx<=0&1?FfFrLD{Q(VPXVBN3;17S0W zb~;!uPlMBl`P-$$T{K>yjPL6=aC6&td0XX62v!aOXFRLcvsGZ;NM`_B6}vQA*r+wf z=?6DmUzIp*!^=p>_FpR3H7^Hf=-qxj-C698VW&o9OGf)FHXQ}lMX;FQkpL<;G&MD~ zB{HmO1!!F$T6!SBlb9p%*S#ApUxwv@v;(26opl;Cd5`6oEzU8qm6=oxo#640-_&sb;dV zZuXGk*rLW*!%CKUEY!l)jHN$Q!R`ptuhS|{0b@oX&fD+{_#FwXa)tt`6EQw?-X;#g|W|rdS#z)uzVG znM^n+bZ|1T&H+Qw$9h-2zRC^iRq%<)V2_XRY@5w6tt+sqo%tveA5a=;q++H6zzYwP zF9D7onny7)?Gq4E&*X@-R^D1*1_V^cHA&sMQT;(OIbs4~Glvk|xN#E0NJ+ID!}Qb& zAK~*%ql+;8X>O?BhUBAwwNp(X=D7!fJZ~i=aLV97t23EmTLS9Z>XBE3)eSfVh}zWx z6f88_g!uSkw;yive?J6%HA(hr-He~}I6O)=_64nONkEiN7IiuYQS#{NBjOjdD91zV zheFjuXEL*QCiIS}KszRCk$(NvL2G+<;oHJ=P-%21pDFB8R%C5+aU5W8IPgD#y}=W$ za)Y{7*3^H+$;W+nyN-i;A?JJrFv(tU7Bv?Zc>_wvcskmAi{Ws~HNlEtP$|VIcLQBl zbOlIQ>h^Mo=gfcDI!M>{Ig8d$LS!p&jM8JZnBzPgqSj3Zy2YqC&M-b z?5NZ>5d-X|#e|G*B&Gs1AXJjCX0Ob$2*8>%nL4nR`ox_+Be=Y=aWX_keZ*KK$1b^= z#*mEupCUaRu}NOd%f>>roAcJAo;OEKI5}dXNAf|C5{>q0Vu()HX)1W7KGQu6oihIL z!_jFvTSD(5N_VXa4*oa$kddr@(woIrP*b+Nl^6WcFzC~BYc3w0b29nM>s7$v9A9Vo zskxax(4b62a^wv+=sg_lN>fY6zdnT{gvAzVDgw^c2jUKjFMgp54cD4N;0f$^$zr>~;U!mG-VcXJa#d4PgX%75C?c zKylf6$Z)c3WN60|8eyL!WZ8es^6LWBZ`q;~a9)-+SWsUQbmf>?V8vIQcTap%0{&y5l4E;QArHkT5ekGS zS*qrhG>{f@dDj$fZ$|c+Iar?Bwh_JPA7bA?q9s(L32pZ#480^hHRvrT*sjm$K=tk- zs1y0Tw4qPnU(-si$?Un3PDTl674qW{lu-kxMu56R0EzvqRy=tQ79z6yz~^&9> zP!{W2NPY-;rz`;PJNbGSUu~s|Qt$&3<3&`{mu>WMMI<2<8$=X%VLjj~_5;I<2@9(+ zgJH>_%OtKll8yyT-YDS05TX?_xPk+LxOVU^-QBp&!)8HkhZX(J$PKL)@T^wSzYHQk zAXOX-)<4cb@nfjgf*QtpkcCZTU8Z($A>vp#eUTWly#n$B`ED;zHf9?K5$T74z%qi@ z5rS1@K`CKzElUL}K&shM+~F+i8Kez) zS^;)6BdC+!1`H(Fc*19E<-eRwt*U@K{DB?RS_pI^JHf2dFNZ;(FcO|ba(t3>bu#gb z{`B^d5Qq=4Ijn)XVEY%^BSgap(7kH)YGAj`AU)9F6a*?BNxspk05y5pdbgV1|CZ_5 zrsM0{39W;BlQ=w~8U@2wbILq~^yeV8URBsmPYlwnt;)Dk? zf$J#)w-|$aCf*`@G9R1WZo zwsVo(HaHa&6IfJ&u?+WeMu|%BDk8CaAjYq!+?PGHZ3j>b?5C*C1c*2$U_x@H;8bR3 z3f8N{kM5~RHy(Yb)0xhq0~$~=oTe%2rWE7TWauKn@QB)tbp5eXEUkMa>M z-&i2A^61Z^!NCLxgkzs(KMKw>P&@L}(~^PF2X0#gz6Zr?cl-XXBbBFXQsXp%l_T=8 z@;mqV5wfENo(${_9K2bgL29DuT~?cNfH)`N^NvJ@J`o%w(Bm0;4(t?&MuZy9qLry4 zP%GO)Yz?D9q-1>v5!uKXD<1?Pql-bdhyvTdCDvdUh}8yuXFqkJ~dE#4r0CjcKzUaF@6{{CSkipoPZ4i zHz6oi;%~`r_JW^zJ&z<})jdT~o(8gxGS)qybd7;XF@)gk#87&_3V=M|I6eY3-$2VU zB(A*>$S21^L}3&bvbAp|B<9tU)-?>hX`*)iebyCr@^D2s-8d;9&0veBhxs2VUe_%Vkeyo^36iPkQqCZg)a`f)-u-x(nUDNSd*|rL#Za+R@%R)&0(l_Lc zm&25UkCYBBW7mKWAmoULtiFd_Vx_@4#n=_1!~!7;x<@MvqgQdT>1>08U5u24f%;wZ zNFZ^zqSHqBIVaHS0dk8Fz0I^+SBqRzAjA=ilxHcbvdD-DSz}-n9}{W2R+&|l-Mk0; z@SSx9?(>Px**+9s@E0~(t%jd-SZ$3Aw`aDi52+>Z@#PEP`UIPUCwKpOSel7W#cFx3Z!YRKp87?hyQSwt*t{Y@31F zZ{(vOi2^kj9t31}Z6ln{yV$UVSe3|I%tHqc+6Z}YQ#QQ{zPK$8ROVWR5^Fo7T8j5d z6Z%)G41_*TzBm_np@6|n`0e{!B^h@^v+EVp#Qqj`wSSrM$EzK_!bck%O|vX=%-X`c6IMHBr|Sqah|8FfyQbXC@cl!Pk=!hwOw{aRiJJn}dzFV({X zc%&kMsy)Ki56%N2KPd4J5TCZECajpVsNkI!3QkmbgYuV(ERE-1VICz1@!}=wGG~<8 zNq<+a`S|fvh-#0PmJQYbX_YFv;Ir@0*OS1`s*Q-|j5XAA- zi#o!1O=l}s2|M;ZR=ltt|GIQtl=-tGQM>Dr&Rn*8c_{Xwv=qKXG&UqCb|MU4UtbqI z&`up}mxG;f2GxBJsHAGcSaq@rE>e-&CgW5!(tzqEU7uS1jHVgZGUaK`BF*iLza~M` zcLXU9!j2sJNnu=pK9yS&w!QPiz?Lsn5e|i6D{Ab6T&7gT0+|TQF<)Sqx?D_fiikU; zCEjhJ5Bx&u!gGDV>c{KQ_$l{49CEYqi#*cDi+>E9z_PqSd!|4ubuakg-pxgsD~kJO zA1WHYbJ}Onxccl{W6z3ineMP3L6f12vw%ZQ(+o}T*PDOMKlo4yPN;z&Mri&dGFLJX z9Sz*LGU*_9ZIpg0$2fz5H$z|gD3{+T%rxqnr`D@0OoPo$tDE+idy;P;_^LR#xAmd| zS~BJ=sEF3+e_LrbQw_rfATC&zmXTx2pgEUBO$65?gG~ntzG0nqnyXc+cAkJ8!ZYU$udgrQphlUb139Kol{*v?ZdkC`5Ny(VF1st42i z;I$w7QZn0)hz3Tc3f?tR4;gg_H|c7pq|b}=o$5UG{Rl9Q8 zDqwu!ettLaR%q5d8lKl4^Xo?M?0GHo)TXC_=Tm)7#!^3HjK(^sy7p^zW4pJlRm}~r zU6jKd693?fan`cqVIe2$7{b-tvWjyRt7)}$=Jy8~VKUn-hHdr<%QeED2a4zu7cqG+ zws?TecMUiQMOstDQI~Xg&%-zV;RD`i#YWwy$d{r=_lbw%?HA z=Sk(yrv*H&em?#u_n2fV{vc4p(p#0cJ}vCk^bS#+HN5FNzs^VqW>Xp7332_Wks1d_ED^ix2(u zpmR@XcLtY$od2Cui*cJWzZXsgZW}6~DFinm2q!rQ(KBs~VpV9j#pB14HJiLONjv|o zHjRuuQ&Jgp=FGYm(;fiz@xbWIi#&q94+iIgJfF=uaYHDd!hQEz4+=&2^yeM_Q zp=r|;JvHFGgE-BfT0QYhByS}bQ!^m(;F)%9r;H&kyf^%xxteol)-6l#jvuzDZvW3E z51Y1~dNpTjjLupi#THE$Rvi0IWL+1-FvRa;*ypF?Pty{6^?tQT`M$R{F;F3FC&ji8 zbk>_*txu2n{WO~8Dq}tI4ACVp+W-sfDj6Qd@Mf$KjPZoO2 z%K-xW!wR4woG192*Z#Z&(0D27>6Za2v=b(AP&<6Dj<8o60E#OFXWRfMVFd{;*MRy8 zu;ZtIy)|zouuu3YcW_$A76SyK;felR;sEEO%(5186EX>7Ib{IgoK%4&0uH$f&I%zM z<)GRO$O#u1j#~_H;7J+;4uK&nDbV9>jLOVV)5EE$=MPi`T}xPzdw9?FX}RN1%!9_M zcC+Vh&49jJ`CWaWtt!yA7IPeguN|tJ+I!$LhGgyAD}RjHbF5ibU{pn2@NzeX1DaGF zRb)5g_z&p}s`H+tRzt;y5;M)Z5rovjP%9s}x&1*&qT*8ILSlf`70PS)i3kHXBb__c zT}9mYiU$Es?e<@3jzgh97PuheWpVa_i-S(E$V-CdzLWvN^a<+vv2l4T$q7B?E&ksOQY6Y zoVjhn-1#4ZQh|&G!!mf!*hLc|CHDr>UeHQM+duTJu!{%4Na&YW@a2T_94-abr8QuT zsf=p~z*W2dA<6nZxS1TD7uhN$C9?wp1G#|OMX14fTPc7BascfIN72}dDXw^OB5DVL zU|0j2UDW7SKB37kI#GzVguwWa$r>eZDPP*31*0c zkQvV<#v!|b2rU81Bo^HZ-1@|tu`y&0K}~85Y4PDx5w;~iW~84PK(C#pguV~L$ivUc zNnxC-(-6nz7>P{CqF8)28K_tHlA3%nNOh141e{%GY=SO$?9;4^#;-v$=js^8gO=c!RmNs+v7!vvD$ zE?Cw**{X2O`m1Yx+ZPsm@T0ablCg_f1MxviFe|TItZXtc_+pH3Fx*HXNa9V^=Qt!7 z933bKt31n51d&I2$rq7pg{PfKmPhg~tKWc>ah1Y~2hij?j4>i+t{@zT)4MDI;;=B^ zg%E@Bx)9R%1HAzJ{C0zo1GlG4+O7!&Sm8gkjd=1v2sr_1LH!|=Nk>IHc;AtG`;7+N zG|TYtZXHp#9O+VQcV>n=NUJGks+&~ZE@rPgGuQAD0Ok0+Fu+6#S^kf_+K?P#0_xNo zIGp?4yQI!r6M;K@gr~qiPqyGlPY7!z%t7^otMsh({P>2BsXXmeVdH0kudW0h*t`7p zwoSiZi7!~W@{7+dCtG}ZZn3S~HNUnU0?7*!*EC%Bx-cqvc$UUr4KeLm_`-#nsXxAJ zFg2Ksgs&;07q>Ic_15F+Mgs1|A>DyQ{n7zEM6H0;(7|r7D@M{=pWG`jynP|I9fdhq z!150lxHz|dH5lco&EOWRz}IzL57aLJZJqOktyfZ4o_EAJV{180V037IP+H1QihX4! z^WjWf;nY-Ab$ZJFylo2z6=}dJPP8mT#H9GvxAu zx)=0&*`5u%d9SDGR#iSJsyV(Ta>SQQ7D5o zcauQUOCGtQct+Gtvm1nUGcT$@9?c>2F+=(Jy&2@U&jD6f*)>!(v*ar@k@M8x!8{g0 z%f?&n+!NNtxd4F_S#y*@jBW@%tzGi8q>n^>o9odb$G&f|csVQMBkbmxKfZ{#VYKsP zZGHW!U1L6Ow$2t*d2yPkB{^UJ1(=V7HU7-L#xYR4Lj)2a>3oWdt{4hPnK4D`QG>hU zCROEpy9C3vP<;KutukIoT!KHK${w|ZuEOBRUX!z` z5Z~Kjpt0!fAQ(ug#wF!Hy&K$jn~fCkT3Uob?1W+#2OAAyH~cwI0p7EHt5?sdd{@L> z30`q9FXC&d2GPc*iXzG4Rb|4?syDl3;8ctCY72vmN|_l;nuLEyc}xgq>ars@7yH z>)fNiHOy!~@}S(qWZ$6!o4(8W^}u(t+%mLv7k2oC{WN>br^F(Ts7}c4)87FliPjC9 zrI@!5&!b+uqp!IIq#FV7JC`l`f-#=$eZEs-i#)Su)LRZ>XKiPEm-8yMe^Vybx$)GF z>DBH`%?*#p>tg*KAY}4Ft}NJ#1GvCuu@Gz)O48&bAwYTm5T< z({nHF$ol&p!C$-CO4MJuk3Jz8RxPAKAYI9D?)h&BC#(svz8e3SkQxMqUBedpCf0A+ZOMKAGT2~y{)bdHMK}3=8C&7W+K{*u@PZEJ)8fpnEgVdJ zHe#9Pn@lnHBTtpTX2&???(OG2M=&@b7vfHev~iThj|(D!Ks6IUQmx=vvzwnO-ZA>A zs6#0owt7XlwLM(N+Q?_4pLyIiD|^h>xWI3l19ryB-hNt~t-F}R<+0O ze5ZizZzJT%4P+HV;w&w7|przJ+rX{lv zO@m(_CME=d<9zRj$8Ts_UWcbXaPAyyRb3+L&qO?B{1?&3H}q%Hgf$ zHR@;cCOUboxJP6PRdLFz4P_b!=w1Y%TrU%CElKBqqak^HvmpBnhZZq4E-XkM>8_n( zFrk3CQrLHiIHk- zrilp>a)8^Zpal43ajhWB*RAGm(eax<%U`lvItsn=3&DR-E>59bnQ&*#c{3caUsgx0 zqfgo$GPU3C3y)=e{ASyw0@rnJH3V<1o$j5+PX7jX`!I=8-5!?q1Q1yC3k;p|Jb!BS z7VRt)JpT5ozKVQXNR$F-fK3o4`X}bK;#7te~uFTs(q(!bP*_6ksw1cV7xl z4&#)crfN&5y~u(Bsd*WAS_>aiJ>Cb5c<_nB$oQayZ5SGFe^Yf*e$qZ8Mef(f4G+5k z6*}0V{*zAumm~3F^oK^i>x&pDjs4I+#iN~7n{Beq2@U^5Q=ep!KRbd*Vlp!B&(?VY zn5WVNGe|TkyuQs4R3AT$RKWekUoQs|T^|5&4FU}X2)0Hd#O|c8>*{OmI+q=llilsY z9B(w3GlJhcQxnk4@oJ;RHqyY}GWrn)XGrZFi9ViK&1=V@D1l(;#6?CX6_l=;PTq6R zQ6S|^i6bhDiTy-Sj|?y)gca*e1sd-^!APtHApDTDDK0klzUvZiIh!ZnpS{U6K;IoM zJ{Z7Djgffr2O5?Txc#4j9boqvD+qV@y$;(N(L2$8tVgi|wNL)&i_o7dkDkA8T4MSs z%$h(8XBbxSU5!{|jsDc3Xc!2m>TJ&tfcm#2*7(WUj zkz{-(PtgbnHuGeg8to=i)@ZlnahJ|0r>WI_4}Vtv_}?2MjN!;#PM6u_OkM1Iwc=>} z?N4>mSzT#?`aV+Mixl2;d66}?v|ek`lgnnzC2G#t0?hqG_T+7xokMzjduJgAqf+HS z?$4m)Kq6r>@@vc|JqA9k5u};>04Pwzdjc8wh2Fyl@!)=Wo?)Avk%N=G4OE|=M=2=4 zhhDKLOuSClmp}HxCKEs<4rRje!|cWrp<5m6Z`kRqbUopEyTa|}g+`Zy939H2RM$q@ zZ&7V-?!~&7VC-Ox_(!z{sBN&>#s!OgjTbvDo0&TC$%>*&dUO9~=fhWCb#)D#Ql8_h zzF_wGvjArJwrQiWXi?YOJcu1=EbRtg0<{zJ8daZ@RX50Ifxw0%!4lw&I|cw|-lnDW zl0eojuDF7mJ9l7)P&7j^0Ek?CYe0jL7Z8cO^K8~77x=Zk^mT((A%ilkg>Y$p!^q9p z)$Vfy(Vckt7S1?$!ww>X3kD7STqir0mLW>zM$?~2fLr!&#kID*H9%)5R>8&9vd9GgazN9?Jj zU%-(uS-X#1%dE8=MTVU?7F|G*`tT-)cu!fEhVu?Hady}e2Z*t#KgFLT8^V!ZA(C`> zjK#jF7o3cas^7?u%B$oN0R9!6ki-fiCqEW1+whol=D+^ z$KBBK;0R&)m>2jEL-nHcPRLSCFi&2vZsQ9ZzcWDz>9?#C>sgt6-Ce#hWG+q~E)#n4 zhAJ>Ad}x_K(oKk&#~O2Itv_Ha-69-qg+QNf3V+xcCWsO0Bm-=9?h=PJK)ebETk|7r zzO>#2L{IgK%JvxUT>W;SIscF!(YcD=aF{Qe525H#!Q^xVQm&?I-m;CPT!|hc9Wh*a zjKPDEKU(i%B;8MxSqmhcz$U;wOt?H_cS(=2m7xJnzKMxWXgpzm48`wX7;y!ja-RRy zsrw=$Pg+(~z!b4N*4+9csH}G+CfO?ICy6J(rr;f6WM%K`;Dl{5k8_Z@%7c4S?|V1! z0^3i(d5*aVLH%pcB0VBM3A~BS9gq?R{s8H#xvUj-x?BFn%h|2U#56UX``(p%RXiyJ zp&SfdD%gWsvPk>Q{jW44fF~F>Kh5|(lTH@PWGu~^kw9Na zEZbnb*jF>ySp`ek_RD|l=<2$jRjXy{cM%_b zADYyz8RmtMhqjwSz9&u7MJ-6g24Ux9ewLm^U`Xfd3OfKIjh8#PA=H}yIwJ_*(&(~p zfEutqpghCIc(DVv)W#aR&bP-sc)&h=mS6vV!ozrVRqcd};?Yi9O^4EvJ2+o{^hnhJ zQ@ci1$O2-^&VYIYX zc2NXRO9}(FqY-W6oRIZ-a=}Jy;jewHiwN^!$idRjOJEg7)@|JQ!u;WmrPeQYr2D1% z*dKymN15mRKO7Gqs(hO<(t9tT8Nc6q#a)-v6ZJpmf9D25($Cv1SJ}j^J}02?>> z$()~VZx7plWdRm)n@l_d~*TbqUpEn4dbNr|3r~P z2RxeMU8C@6Y*Dg;+jaXUvN!8))TtKehbjP*eAsVxFDH zHwo-6s_a4Yg&mEEoEbB!7Pl z$z%d#$^tPC#BE_52)q+1^XE1sCtz?qfqN&KCr|#usezn2i;pFhsk4&Qm0t-X+MiuH znYD*9G;d{8!3p?QuzJb4Cb(+y#5de-Nw}jaOhJ4F`v?{@Cqo0YgSTg2WXMTzDEv0J z4_rPPcTm#4M9rJ%hfXZ%a7&t+%MXbiA^(x&fA@p;0gkN7(mwyBzQ_RS$Llv^SqGQh z?8sfv9)3i6j5iTjxpo^&HU}psb5kF42fqs#z3)0ws?nkQOVItgR0GewBEq3ikm2Gs zJzK~l!)2yl6gii^iMc@aDD^K|L|N;EmELnXkWjM!%>pc}E`AFsLNms@=wNMwIh*<{ z_Jw`zSyP`2*qW~l7J4uiZCBFn*pwIsHu_)mhEuTs&bEtFbNhCCOdcerlJ@p#-Pitc zuh{+5sr!EZ=BClt9av?*T)U>dQcz^Pc->+Qu8S^9FIdpSx&weBqBsw7UkuKE3Woc! zV&(TjJ$QB>;vZn6pQ(Jv7fUp)W>>wtk<)O&BzM=9ORe_C1?*NuIxl(wwgJd&erFtv zwmFRit`~$Cnv!@g0WF83s8LLKaq;p{Kolu|WbiAT4vZ-Y?B0MgKJX|X=?)RBB0XxZ zBnc1PgOK;aKh`TL$seTvI~vy8tzSYC$fFqmDCv9((;6K%t+QX6V{q==(DPE)*Oa)g zOujWAf<~K4OIlNSoo3q{(-&LWFH5o7U@YpXqRAjj;?g;FcA4b;H{?+@E9)Z|<2B9U zCp7*lNZ2>U-3VeaSWm|2Eg^P~SeZDL!;{;ayCzmO8w=M@hS#}P);8nrzX=MI1;Pqd zPu_mhcxwN3*BUJhhfSt(R~yV8mc`t5VM}wYw9(oI24wxWG@X(-8c3P+{`Gt0$nF_& zo;maUclYd*&1L1`%C(FUzIOGe3Hq6c9+Df*y#Q9^5jmjoo8idqje<$@&CHTo4y;0~ zBfG&EuGs91IdBuZPN}tEZn29)uqU*G^7rcLhA93wz$9Lc^6)VQk_&Nc3SfD;kd2%a z$m|d7`yjZxpI&hCqzMxehLhor$#|atYLi4i6-f8M6Rc1=Axi7oJ3)+l!b;Cx`&*5K zx(23~?{z;6x_WMc1L_E8zr|mvD>MV`O#7nEbITy(7l858&wu6mFvtiF*X!=pl(b*n zUwnDz=KZU4$GnNkU@UVfV~D21^q07!uDmP=gp>A%g;~bYq6_6emOy&aTU&(c+K>Df z2y4@gq?R%v9>W7~N)~R9KwtTz*2;pXuu_fJ8tlx5NkQ? z^X)1gh^8fl{m}SXG6pY{#Da|il9TV>^dp_hI*!&jX!S_BoUH4X1zdmO`{9(&H(vKk z&+#+;VP%QwNAfP(d2Z2oY{2bP5VQCSRRWQ*y9qi`S{aD2c(fiBr4p5EYls?aaF2o^ z>m&w+qPQ-S$s-c5uw8(5gJcpzR1#UsfKWMln$gn80JeH3uh9&0X;8%iD4#=5o-2lc zZU~gS0gD0(*_R95nZ2c>T!}g#4JHpPCI&<_5cUW!PAoD^FC!?g5ZyVHHm0SG7+dxH zf)=53Va(wNo)$)XlaR+MLxUb$8UEyT)zDHiW;E;x#~@=0@;r z!z<%K=9Z~A`iFvWpr;#FQYR$ojNIPBRM*;XaB%YNna|QxXcTi}m(YYX;yq`%ba>c`XssEm?Tr>EAGfiv zTYA{{`j*t`>%#m@+vo*=uHp2v65L}RxDP-!Lx5891ISg8bu-$>G|1+qwyzE8%;D1!eNYYTzFNTsnJEK8^m5!th7QD{ zB(F29RG5{ey&xw(cm*|!Aad`m35#uQXUqpohU5vFlg3h*lwWDUZD=A_-%3-_;qcN3 zW1D7p_e&D-sCLz(-IdeQVl=&vzqq>O@JQe$z(jnW2n^>$r|%=Xdz|08gO%O*06NOkRyTGs2BovMNs-?j0!N|;Ri~DvI7C9 zqqDOY#rNsAv!kaOb`Y}=eP8d3W(_#;KENYUY+taFT=TKd-yN1(Nba8xpBp7AFc5z& zd)aUVsvZJ5LLw~XI@egJJ!S;Ov{?S_Cn|efxeMWiM>KGQSjH%%D;#tM8a-%7x((?V z{oPJ>ts_yk6ztj|qJ0M_>G3yzS3*nhMJ(2SDPY7(toh5=wCzXuOao4Nftry664?uaLbsWQ2SHL4@ZdklfoFsL;LNf;A|vRU>nDw!wNXCOzd z;jjh)L&N6+>Lv=r7GU#dYXhLvr2{j`xqw$qT)VU<`=zfO6 zpSgyj3ZXnHj}*hb7U8KUls5y#Zoy-p24~fsf}L zta%j014%>Yov--O1?t+!hM@KJ8~pwK8M?VlBXAoDTWl+JLy#RS*HzX)DIESVfD$Q+ zI*O>1*W0O#Bj|i|lM-DPAL_UQ;^}0OuGvr!Tt)0bNKOUtH8+vft0=hvy83_~=5OV{ z(x%0=rfz{G6I5i#qzkI_#BqR-(!C1)S@Kf6#!Sgq_f@0~hEP4!`#@@8F0VgV`JS)& z-cY|#tEFhX*`o*9wG`mNU|x!K2yUhd1CT*X1O^Fp5)y7*-qw@G4!v)++PC1ujIT1h0c)E94kgd7>~<6m(bs91D#uw;q77By%>( zNPOzg5;Pv=SILjQWPNBTdaiFp#gDE+okb|FF;?u=hAP2H&A^GFc_z`@12vJ9b~yNb zF{z=VN?d^|W~(co*>bJrYN!joCs?*C_yVMpP(|79$9>7f9-} zB$ItWvmEvo=Ajzb1JXgOIEm)Ir0;ZYIMgQ`BtZOD-;CD<%W&B`I+dfJ>eZGf*s0sG=)PkI`jYuMY`SNv4jMujcy%x95@sQbM`HRAWdcv zc>7>d@!rdsdO4jhrxWr!Q{4q1y@Ag)6%{l&e!L!PN|JVl^@ot(-H0k!Rmg{;pt^U0 z=ph(rP`wGBB3RcSobTd2k_^CjTqRU-lxqR2F$I&1K9$sZa_c;Igh5y9Na|du6BrD2 z{Bp#T(HwPjrMiOai93W*wuCVl_|#_PcaG$XV(~R7kqo`fgB#qu1w;A(%8?C%;@jy? zxbsqf0%Cy!Q=kZ>Vw0WhjK36E#f=~ba%Drj3-TzAd|--4tO}|GW?whNIEC*UY>)Jz zV!C`(Hk7SNX8S=|#2pra+BDyP44WDPb9ov|(+fW4o+%&R+_tHE3i`GP5&@%74fcNx zT3&}401>1O6lDWU4Bd2z3LaJaXLteqdpx5W;GL`)Xo{b-JyI4Q;@OyPT20h+6WdNK z0)L^T#qe;{5l4#35$caz0>d|`ln^-3Qb!;AlM?_sd4U0ZT2FL&<7!lBWfUr&d82+d zL+-|p=UC#|M>{N#iyI}&0&`TBeM~hDSbI-y-mJy|=}O>0{@GVIyLzj-PU6WYEpMM^ z1}WQLcfB4!RA0!((r>st8IjC>~Wd+482z z5%Wq>CDeN(+3P$?ZW(}zvF=f=@Vrcb?dC~T=OurOjLay~ZN}Gc-SZPE`H(RUEfgiE z#kxbSEZ)U*Mf;r+7>~D0ppW$JjL|}-1y#0-TH{)&afL|##Ph4<6AM1~q5zA!-o^WZ zdrY&t7>cjW?sXA&0r(LSKP^u;9bMhv19=&Ridv669NG#T@-Xg#&#!vK0-`__4l%Y-xAJ$q8Go+y zNwM`wvX@llOGCEg1gS#Y6+{0Wk}A@4uhOI_lK{I4xhUDuP1!wAp4vGIk`63`dtV0U zL8C!>+o}IVSSG)&Fm{k1@wUg>HrJb~8V-lR^JAKN#Y%AOkA6Z_dvNd?OqH+#>Q3`j zclqLYsJsB&NHQu`0F^9fe-!9V^-ltt=m9jVs=h<1#92U|GL`}=su!}FV=WM~y+&Qh zk2&^IKi@Ran=}owou2YU@!bAqC=Azkl+`L{K4(iySxguH;jaTUEd;F_Wo$jGd2Gy< zC-q|vcIvM_kS~-9{uoMTE3fhT-I=;%FA7g)8PHeA)rYTnMIB4zRb=zj%@yRqWj}-OS^EGY4(N&c3Qh3v`PPapRcwh^xW1u$#~o|5-#U+oUAaABjyDLt%M}}4f$*#po|7wd81)q4^nzU z!5pX-0e(c)EQ|?1od6kr67e0q70x6HRsKrQdMw-P)pI&GEwX*Mf}tf;&4T!;T(Kf} zWY>}I0G0%Fg2&Gp@5PmN7<+65?{P=WWK;o1e~o4=k~4=t)I6r?rVz#tNTfZLO`Y6% z7*V&3Qfo5t;7K4;-f1L-;ONeUi)I3INZ;le!AoQEiJ=Q@IZ4pg!hAaNm}V=$MCpXLD^RUE@jg&HCzsBXylzh6;T2A(D~ef<$9E2ZpYGy`&yJwGkwEPs%Yy-CXT5?4N%tTN|!gdV0cd z^{OpR&$_ECm?Br{1Z8|H-US$2RYNhUCTaU9%TrU+6u-6)pw>~mlf;<);w)EpQg|7b z;+e{;oY=^JyMH!wln7;;h`QaYOGEJsq1%~O2QYrg2Yp@~v6u8ZEVHu({pdT}mB23?&2?@Nu#!8AiOr#}LX(y(6LC}1P-83bPX9(r( z*vE4gi6x$Wn%E>vGr}Ryk9+hPfApxRh%9#ZfQj_4c9D!4kqFgEyymo{y7%_saywEh zYGUgRFBag>n-DfmMa&zwxsXEjg%=gn%< zwBFc*4UOG8;KN-P_U~ii*OQ?;qN({KlE?bogrke-;5#!zWm-<|NI=hviGXJ$!BFu4 zRDA#mp13&+lH6c3!cl@&76BC|{;eU-g$ic+w4VT05}_KZVF*WkfXD0AwumNZ+NEFi z<^AaRE~PdY*eK^IW}XX3&uhT z^!+2{k%TzD>J}T!foCO*-OL`f?uths=ReTRw7yLm&KjiuWqx)4TF zq3$Dm(!8O)FD`yLc1fuH0n@xE=-qg#RcWDL2mE>fEEKt2XY+a^F|uYaGf`dD=PIZd z>N*xdDOpBwSQO0GW;9A<8bNHMUAXK#>1k(G<7N}QRT$4)v=;acU_;{%6rp+Tdm>NI z9Y8aHzWohTy@&x=EE{VNbm!6%5xK9)WXP8rsFCX6>&6QcSK=8r1WWwLcH+s=q5 zb;Pkd7~^*{-6z;@%2#sTG@UA71QS`3yR#LU1l|0RY%uYjfO){sHR^4^13O|KwQk0;qtFKrzD!X6oYoERzYqYjfEmRm4*7wMMUZLG zYy_MM^%uAw`_9~Vhr5PvDxUCFGrHuC)KlWZOwkyx+f6Y}P--3XQp3eFYXLyelpeSlPtxI$^&*I8}J<%{vZlJ0vYg%IlHn-z_tA(Y^Lr zn7iQExpqdKKdca{zvF)$WJ&lkOj=Hr&tVMsYZjtciE;J!!BH<#sFtv=ly}OCCE8j4 zb~}i$@SZ?f5p&r0lQW@UQaCB0m&zOCV0QE`Q#z@C=Y*>?zHmLX}Xqnge-zPnqMl? z1wN$f&hQmdHe^JrieYBm@88YU$iay!XBo;o>nsg>%0N{WHO7Jm6;t@5-}Nb)rbyJ= yIZsa7{czDBBl`YV@nD7maVSXfKL{%6tb2bHFduvFsKVgC&o^xKyYIU%;eP?#aL|wd literal 35669 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 Gp$PzLa54x0 delta 508 zcmVofS_ANgSb zzT}I(m|y*+U*R`?_1F2Z5B)Gso;=Ck{yrb|F(1YM0BBl`<^_1Gw|#$We)so&mk=}A1|5syF;5A-{~`@6jU z8@)aNfBq+b&P%=IOY+}{%D>=|k9;K0&(ZRT|3Rqy8-2q!eggon{%WtzOTFYv^52Zg zzrkmG)@Sf5zxpfGTKRwKulOqd2cYt=^ogJRNqqe`emwwR{-s~ei@n&3@jn2Se}(V* z?(gEOzUHd{_@qzxBtGmzK9v6<(6k!Oi(ni_Hg+}vc(XTsGk*Ffev1D=sJw{oJ9{7Z zd!P4uZ~lj&@*+AoIN%Ll{|yju%PqI?KMa~yqxs*D%Kr@n{|Zpw_XFS0=Y7HFv0AVA zABM_{=)*tiBlwnY{T2XfseH;Oe+vJDP%0000YDnBhWCHoyEcyY;%EpRj({?7Ur_|IWz|Z}S2*YND zEv{T9owswMyWOLSdk&r6&-7o+{_AD?lg4?wdkZZ;#P^(H-gDV{kFx!zWcyQKx8!qt p4UPX8`p4X1@(iW~DUg%?bM#)c-|XbQFpL2RJYD@<);T3K0RShOs2TtO delta 498 zcmVofS_ANgSb zzT}I(m|y*+U*R`?_1F2Z5B)Gso;=Ck{yrb|F(1YM0BBl`<^_1Gw|#$We)so&mk=}A1|5syF;5A-{~`@6jU z8@)aNfBq+b&P%=IOY+}{%D>=|k9;K0&(ZRT|3Rqy8-2q!eggon{%WtzOTFYv^52Zg zzrkmG)@Sf5zxpfGTKRwKulOqd2cYt=^ogJRNqqe`emwwR{-s~ei@n&3@jn2Se}(V* z?(gEOzUHd{_@qzxBtGmzK9v6<(6k!Oi(ni_Hg+}vc(XTsGk*Ffev1D=sJw{oJ9{7Z zd!P4uZ~lj&@*+AoIN%Ll{|yju%PqI?KMa~yqxs*D%Kr@n{|ZXq_XFS0=Y7HFv0AVA zABM_{=)*tiBlwnY{T2XfseH;Oe+vJDPD#Y0sj(@u=nQq1=5qUD%^=68ye z=YNx&f2^L_WUbq0pSz2mJ8r*o==Pqkw?E~7Ot1f!{^y|lKgP#J5B5t;eg4TT|L?Y% zo6~DF|BKE4;5q+<{GW&NAMQ7t`p+BkFMq+OdgiH<*DxtKH7vWDG4Ewtbl#JR{S_+f zKYUt$VE7 z0KVjlzL;PArC;GUe)ZS+un+w(PM$o;-u^xx^)VmC{{U!OjphY-tG9iBYkv3lewPpb z&=2GDKIijzpilagPv$GX`YQprN&(G2Fi2p&T{2P74H+};Eul{PU&P%=IOY+~0 z%D=&9eAZ|1E5G_H)LQv}>aX}J{s*A)uk?wZ{7HQMH-0?;U;d?E&WpX+i}61Im4Air z`tI-ItG?!|0QjU&_#{5;Lq3%MA<(oM&5K|hM>cjg0eG`FeKUUgCw_|mL8!cl?mK%Q z_j{lBdT;)Rq4FX+I5^-9UjGdcaLX;X@IMTiR-^gfkIMfI1pf+9-}eLG&*y!?=doI^ z_#cMKi|E5Y>Ld7;Z~YbkYN>q6Cw~h6gHU-9{lh=}J@H_q zBqI2fPx=)8he6Y7H2?cilg9x`liC3h7vLWO{}PX|`iq8y00000NkvXXu0mjfIGGnD diff --git a/test_cases/ribir_widgets/icon/tests/icons_with_default_by_wgpu.png b/test_cases/ribir_widgets/icon/tests/icons_with_default_by_wgpu.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d7ac8e481af388daadb90a55fd45d607d846a5 GIT binary patch literal 3093 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 literal 42130 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 Kodr}0KoRW#9=(fKZ2NdDTWq7 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ⅈ%vEMYK&7&DTUlmdSv&C!5(Tnp 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 NmlwWt_Qkh8_z$CU?S%jU diff --git a/themes/material/src/classes.rs b/themes/material/src/classes.rs index 504c237c6..de9e0d532 100644 --- a/themes/material/src/classes.rs +++ b/themes/material/src/classes.rs @@ -1,10 +1,14 @@ use ribir_core::prelude::Classes; +mod icon_cls; mod progress_cls; mod radio_cls; mod scrollbar_cls; + pub fn initd_classes() -> Classes { let mut classes = Classes::default(); + + icon_cls::init(&mut classes); scrollbar_cls::init(&mut classes); radio_cls::init(&mut classes); progress_cls::init(&mut classes); diff --git a/themes/material/src/classes/icon_cls.rs b/themes/material/src/classes/icon_cls.rs new file mode 100644 index 000000000..4c0e4b4b0 --- /dev/null +++ b/themes/material/src/classes/icon_cls.rs @@ -0,0 +1,23 @@ +use ribir_core::prelude::*; +use ribir_widgets::icon::ICON; + +use crate::md; + +pub(super) fn init(classes: &mut Classes) { + classes.insert(ICON, |w| { + let font_face = Theme::of(BuildCtx::get()) + .default_icon_font + .clone(); + + FatObj::new(w) + .clamp(BoxClamp::fixed_size(md::SIZE_24)) + .text_style(TextStyle { + line_height: 24., + font_size: 24., + letter_space: 0., + font_face, + overflow: Overflow::Clip, + }) + .into_widget() + }); +} diff --git a/themes/material/src/lib.rs b/themes/material/src/lib.rs index 691ee6252..a4e7fc55b 100644 --- a/themes/material/src/lib.rs +++ b/themes/material/src/lib.rs @@ -17,14 +17,11 @@ fn new(palette: Palette) -> Theme { typography_theme: typography_theme(), classes, icon_theme: icon_theme(), - transitions_theme: TransitionTheme::default(), - compose_decorators: <_>::default(), - custom_styles: <_>::default(), - font_bytes: Some(vec![ + font_bytes: vec![ include_bytes!("./fonts/Roboto-Regular.ttf").to_vec(), include_bytes!("./fonts/Roboto-Medium.ttf").to_vec(), - ]), - font_files: None, + ], + ..Default::default() }; fill_svgs! { theme.icon_theme, diff --git a/themes/ribir_slim/src/classes.rs b/themes/ribir_slim/src/classes.rs new file mode 100644 index 000000000..9e5094140 --- /dev/null +++ b/themes/ribir_slim/src/classes.rs @@ -0,0 +1,10 @@ +use ribir_core::prelude::Classes; + +mod icon_cls; + +pub fn initd_classes() -> Classes { + let mut classes = Classes::default(); + + icon_cls::init(&mut classes); + classes +} diff --git a/themes/ribir_slim/src/classes/icon_cls.rs b/themes/ribir_slim/src/classes/icon_cls.rs new file mode 100644 index 000000000..9af32dc09 --- /dev/null +++ b/themes/ribir_slim/src/classes/icon_cls.rs @@ -0,0 +1,23 @@ +use ribir_core::prelude::*; +use ribir_widgets::icon::ICON; + +use crate::slim; + +pub(super) fn init(classes: &mut Classes) { + classes.insert(ICON, |w| { + let font_face = Theme::of(BuildCtx::get()) + .default_icon_font + .clone(); + + FatObj::new(w) + .clamp(BoxClamp::fixed_size(slim::SIZE_24)) + .text_style(TextStyle { + line_height: 24., + font_size: 24., + letter_space: 0., + font_face, + overflow: Overflow::Clip, + }) + .into_widget() + }); +} diff --git a/themes/ribir_slim/src/lib.rs b/themes/ribir_slim/src/lib.rs index 97a1d0530..a42a67ad3 100644 --- a/themes/ribir_slim/src/lib.rs +++ b/themes/ribir_slim/src/lib.rs @@ -1,6 +1,27 @@ use ribir_core::{fill_svgs, prelude::*}; +mod classes; +pub mod slim; + +pub fn purple() -> Theme { + let p = Palette { + primary: Color::from_u32(0x6750A4FF), + secondary: Color::from_u32(0x625B71FF), + tertiary: Color::from_u32(0x7D5260FF), + neutral: Color::from_u32(0xFFFBFEFF), + neutral_variant: Color::from_u32(0xE7E0ECFF), + error: Color::from_u32(0xB3261EFF), + warning: Color::from_u32(0xFFB74DFF), + success: Color::from_u32(0x81C784FF), + brightness: Brightness::Light, + light: LightnessCfg::light_theme_default(), + dark: LightnessCfg::dark_theme_default(), + }; + + with_palette(p) +} pub fn with_palette(palette: Palette) -> Theme { + let classes = classes::initd_classes(); let icon_size = IconSize { tiny: Size::new(18., 18.), small: Size::new(24., 24.), @@ -39,17 +60,7 @@ pub fn with_palette(palette: Palette) -> Theme { svgs::TEXT_CARET: "./icons/text_caret.svg" }; - Theme { - palette, - typography_theme: typography_theme(), - classes: <_>::default(), - icon_theme, - transitions_theme: Default::default(), - compose_decorators: Default::default(), - custom_styles: Default::default(), - font_bytes: None, - font_files: None, - } + Theme { palette, classes, typography_theme: typography_theme(), icon_theme, ..Default::default() } } fn typography_theme() -> TypographyTheme { diff --git a/themes/ribir_slim/src/slim.rs b/themes/ribir_slim/src/slim.rs new file mode 100644 index 000000000..85593da1a --- /dev/null +++ b/themes/ribir_slim/src/slim.rs @@ -0,0 +1,7 @@ +use ribir_core::prelude::*; + +pub const SIZE_16: Size = Size::new(16.0, 16.0); +pub const SIZE_24: Size = Size::new(24.0, 24.0); +pub const SIZE_32: Size = Size::new(32.0, 32.0); +pub const SIZE_48: Size = Size::new(48.0, 48.0); +pub const SIZE_64: Size = Size::new(64.0, 64.0); diff --git a/widgets/Cargo.toml b/widgets/Cargo.toml index f8c675296..9fff6f55f 100644 --- a/widgets/Cargo.toml +++ b/widgets/Cargo.toml @@ -26,3 +26,4 @@ paste.workspace = true winit.workspace = true ribir_dev_helper = {path = "../dev-helper"} ribir_material = {path = "../themes/material"} +ribir_slim = {path = "../themes/ribir_slim"} diff --git a/widgets/src/buttons.rs b/widgets/src/buttons.rs index 7c76532a6..b1990c16b 100644 --- a/widgets/src/buttons.rs +++ b/widgets/src/buttons.rs @@ -59,7 +59,6 @@ impl ComposeChild<'static> for ButtonImpl { @{ let padding = $this.padding_style.map(Padding::new); let icon = icon.map(|icon| @Icon { - size: pipe!($this.icon_size), @{ icon } }); let label = label.map(|label| @Text { diff --git a/widgets/src/checkbox.rs b/widgets/src/checkbox.rs index 6c77fe64d..38d8c62c7 100644 --- a/widgets/src/checkbox.rs +++ b/widgets/src/checkbox.rs @@ -2,6 +2,7 @@ use ribir_core::prelude::*; use crate::{ common_widget::{Leading, Trailing}, + icon::ICON, prelude::{Icon, Label, Row, Text}, }; @@ -59,55 +60,62 @@ impl ComposeChild<'static> for Checkbox { fn compose_child(this: impl StateWriter, child: Self::Child) -> Widget<'static> { fn_widget! { let CheckBoxStyle { - icon_size, label_style, label_color, + .. } = CheckBoxStyle::of(BuildCtx::get()); - - let icon = @CheckBoxDecorator { - color: pipe!($this.color), - @Icon { size: icon_size, - @ { pipe!{ - if $this.indeterminate { - svgs::INDETERMINATE_CHECK_BOX - } else if $this.checked { - svgs::CHECK_BOX - } else { - svgs::CHECK_BOX_OUTLINE_BLANK + @OverrideClass { + name: ICON, + class_impl: style_class! { + clamp: BoxClamp::fixed_size(CheckBoxStyle::of(BuildCtx::get()).icon_size) + }, + @fn_widget! { + let icon = @CheckBoxDecorator { + color: pipe!($this.color), + @Icon { + @ { pipe!{ + if $this.indeterminate { + svgs::INDETERMINATE_CHECK_BOX + } else if $this.checked { + svgs::CHECK_BOX + } else { + svgs::CHECK_BOX_OUTLINE_BLANK + } + }} } - }} - } - }.into_widget(); - - let checkbox = if let Some(child) = child { - let label = |label: Label| @Text { - text: label.0, - foreground: label_color, - text_style: label_style, - }; - - @Row { - @ { - match child { - CheckboxTemplate::Before(w) => { - [(label(w.0)).into_widget(), icon] - }, - CheckboxTemplate::After(w) => { - [icon, label(w.0).into_widget()] - }, + }.into_widget(); + + let checkbox = if let Some(child) = child { + let label = |label: Label| @Text { + text: label.0, + foreground: label_color, + text_style: label_style, + }; + + @Row { + @ { + match child { + CheckboxTemplate::Before(w) => { + [(label(w.0)).into_widget(), icon] + }, + CheckboxTemplate::After(w) => { + [icon, label(w.0).into_widget()] + }, + } + } + }.into_widget() + } else { + icon + }; + + let checkbox = FatObj::new(checkbox); + @ $checkbox { + cursor: CursorIcon::Pointer, + on_tap: move |_| $this.write().switch_check(), + on_key_up: move |k| if *k.key() == VirtualKey::Named(NamedKey::Space) { + $this.write().switch_check() } } - }.into_widget() - } else { - icon - }; - - let checkbox = FatObj::new(checkbox); - @ $checkbox { - cursor: CursorIcon::Pointer, - on_tap: move |_| $this.write().switch_check(), - on_key_up: move |k| if *k.key() == VirtualKey::Named(NamedKey::Space) { - $this.write().switch_check() } } } diff --git a/widgets/src/icon.rs b/widgets/src/icon.rs index ea997eaec..b76c57f93 100644 --- a/widgets/src/icon.rs +++ b/widgets/src/icon.rs @@ -1,60 +1,135 @@ use ribir_core::prelude::*; -use crate::layout::SizedBox; +use crate::text::*; -/// Widget that let child paint as a icon with special size. +/// An icon widget represents an icon. /// -/// Unlike icon in classic frameworks, it's not draw anything and not require -/// you to provide image or font fot it to draw, it just center align and fit -/// size of its child. So you can declare any widget as its child to display as -/// a icon. +/// It can accept either text or another widget as its child. If the child is +/// text, the widget uses the font ligature to display the text as an icon. +/// Therefore, an icon font must be provided. +/// +/// +/// # Example +/// +/// ``` +/// use ribir_core::prelude::*; +/// use ribir_widgets::prelude::*; +/// +/// // To use an icon font, set the icon font before running the app. +/// let mut theme = AppCtx::app_theme().write(); +/// theme +/// .font_files +/// .push("the font file path".to_string()); +/// theme.default_icon_font = FontFace { +/// families: Box::new([FontFamily::Name("Your icon font family name".into())]), +/// // The rest of the face configuration depends on your font file +/// ..<_>::default() +/// }; +/// +/// // Using a named SVG as an icon +/// let _icon = icon! { @ { svgs::DELETE } }; +/// // Using a font icon +/// let _icon = icon! { @ { "search" } }; +/// // Using any widget you want +/// let _icon = icon! { +/// @Container { +/// size: Size::new(200., 200.), +/// background: Color::RED, +/// } +/// }; +/// ``` +/// +/// The size of the icon is determined by the `ICON` class. If you need a +/// different size for the icon, you can override the `ICON` class to apply the +/// changes to the icon within its subtree. +/// +/// +/// ``` +/// use ribir_core::prelude::*; +/// use ribir_widgets::prelude::*; +/// +/// let w = fn_widget! { +/// @OverrideClass { +/// name: ICON, +/// class_impl: style_class! { +/// clamp: BoxClamp::fixed_size(Size::new(64., 64.)), +/// text_style: TextStyle { +/// font_face: Theme::of(BuildCtx::get()).default_icon_font.clone(), +/// line_height: 64., +/// font_size: 64., +/// ..<_>::default() +/// } +/// } as ClassImpl, +/// @icon! { @ { svgs::DELETE } } +/// } +/// }; +/// ``` #[derive(Declare, Default, Clone, Copy)] -pub struct Icon { - #[declare(default = IconSize::of(BuildCtx::get()).small)] - pub size: Size, +pub struct Icon; + +class_names! { + #[doc = "This class is used to specify the size of the icon and the text style for the icon."] + ICON, +} + +#[derive(Template)] +pub enum IconChild<'c> { + /// The text to display as a icon. + /// + /// Use a `DeclareInit>` so that we can accept a pipe text. + FontIcon(DeclareInit>), + Widget(Widget<'c>), } impl<'c> ComposeChild<'c> for Icon { - type Child = Widget<'c>; - fn compose_child(this: impl StateWriter, child: Self::Child) -> Widget<'c> { - fn_widget! { - let child = FatObj::new(child); - @SizedBox { - size: pipe!($this.size), - @ $child { - box_fit: BoxFit::Contain, - h_align: HAlign::Center, - v_align: VAlign::Center, - } - } - } - .into_widget() + type Child = IconChild<'c>; + fn compose_child(_: impl StateWriter, child: Self::Child) -> Widget<'c> { + let child = match child { + IconChild::FontIcon(text) => text! { text }.into_widget(), + IconChild::Widget(child) => child, + }; + + let icon = FatObj::new(child) + .box_fit(BoxFit::Contain) + .h_align(HAlign::Center) + .v_align(VAlign::Center) + .into_widget(); + + // We need apply class after align and box_fit. + Class { class: Some(ICON) } + .with_child(icon) + .into_widget() } } -macro_rules! define_fixed_size_icon { - ($($name: ident, $field: ident),*) => { - $( - #[derive(Declare, Default, Clone, Copy)] - pub struct $name; - - impl<'c> ComposeChild<'c> for $name { - type Child = Widget<'c>; - fn compose_child(_: impl StateWriter, child: Self::Child) - -> Widget<'c> - { - fn_widget! { - let icon = @Icon { size: IconSize::of(BuildCtx::get()).$field }; - @ $icon { @ { child } } - }.into_widget() - } - } - )* - }; -} +#[cfg(test)] +mod tests { + use ribir_core::test_helper::*; + use ribir_dev_helper::*; -define_fixed_size_icon!(TinyIcon, tiny); -define_fixed_size_icon!(SmallIcon, small); -define_fixed_size_icon!(MediumIcon, medium); -define_fixed_size_icon!(LargeIcon, large); -define_fixed_size_icon!(HugeIcon, huge); + use super::*; + use crate::prelude::*; + + widget_image_tests!( + icons, + WidgetTester::new(row! { + @Icon { @ { svgs::DELETE }} + @Icon { @ { "search" } } + @Icon { @SpinnerProgress { value: Some(0.8) }} + }) + .with_wnd_size(Size::new(300., 200.)) + .with_env_init(|| { + let mut theme = AppCtx::app_theme().write(); + // Specify the icon font. + theme + .font_bytes + .push(include_bytes!("../../fonts/material-search.ttf").to_vec()); + theme.default_icon_font = FontFace { + families: Box::new([FontFamily::Name("Material Symbols Rounded 48pt".into())]), + weight: FontWeight::NORMAL, + ..<_>::default() + }; + }) + .with_comparison(0.002) + ); +} diff --git a/widgets/src/lists.rs b/widgets/src/lists.rs index 12c2cf8cb..72e1156ee 100644 --- a/widgets/src/lists.rs +++ b/widgets/src/lists.rs @@ -196,10 +196,7 @@ impl<'w> EdgeWidget<'w> { EdgeWidget::Icon(w) => { let margin = icon.gap.map(|margin| Margin { margin }); @ $margin { - @Icon { - size: icon.size, - @ { w } - } + @Icon { @ { w } } } }, EdgeWidget::Text(label) => { diff --git a/widgets/src/progress.rs b/widgets/src/progress.rs index bc5383dc2..15455f5f0 100644 --- a/widgets/src/progress.rs +++ b/widgets/src/progress.rs @@ -115,17 +115,20 @@ pub struct SpinnerArc { impl Render for SpinnerArc { fn only_sized_by_parent(&self) -> bool { true } - fn perform_layout(&self, clamp: BoxClamp, _: &mut LayoutCtx) -> Size { clamp.max } + fn perform_layout(&self, clamp: BoxClamp, ctx: &mut LayoutCtx) -> Size { + let wnd_size = ctx.window().size(); + clamp.max.min(wnd_size) + } fn paint(&self, ctx: &mut PaintingCtx) { let Self { start, end } = *self; - if self.offset_angle().to_degrees().abs() < 0.1 { + let size = ctx.box_size().unwrap(); + if self.offset_angle().to_degrees().abs() < 0.1 || size.is_empty() { return; } let start = start - Angle::pi() / 2.; let end = end - Angle::pi() / 2.; - let size = ctx.box_size().unwrap(); let center = Point::new(size.width / 2., size.height / 2.); let radius = min(center.x, center.y); let painter = ctx.painter(); diff --git a/widgets/src/tabs.rs b/widgets/src/tabs.rs index 62996417d..f6f5addbd 100644 --- a/widgets/src/tabs.rs +++ b/widgets/src/tabs.rs @@ -160,8 +160,7 @@ impl Tabs { tabs: impl StateWriter + 'static, indicator: impl StateWriter + 'static, ) -> impl Iterator> { - let TabsStyle { icon_size: size, icon_pos, active_color, foreground, label_style, .. } = - tabs_style; + let TabsStyle { icon_pos, active_color, foreground, label_style, .. } = tabs_style; headers .into_iter() .enumerate() @@ -172,7 +171,7 @@ impl Tabs { let label_style = label_style.clone(); let indicator = indicator.clone_writer(); fn_widget! { - let icon_widget = icon.map(|icon| @Icon { size, @ { icon }}); + let icon_widget = icon.map(|icon| @Icon { @ { icon }}); let label_widget = label.map(|label| { @Text { text: label.0, diff --git a/widgets/src/text.rs b/widgets/src/text.rs index de315cc2b..5462cd2cb 100644 --- a/widgets/src/text.rs +++ b/widgets/src/text.rs @@ -54,6 +54,9 @@ impl Render for Text { } impl Text { + pub fn new(text: impl Into>) -> Self { + Self { text: text.into(), text_align: TextAlign::Start, glyphs: Default::default() } + } pub fn glyphs(&self) -> Option> { Ref::filter_map(self.glyphs.borrow(), |v| v.as_ref()).ok() } diff --git a/widgets/src/text_field.rs b/widgets/src/text_field.rs index d20f4c62a..c5b71b8da 100644 --- a/widgets/src/text_field.rs +++ b/widgets/src/text_field.rs @@ -288,7 +288,6 @@ impl<'c> ComposeChild<'c> for TextField { align_items: Align::Stretch, @{ leading_icon.map(|t| @Icon { - size: IconSize::of(ctx).small, @{ t.0 } }) } @@ -297,10 +296,7 @@ impl<'c> ComposeChild<'c> for TextField { @{ build_content_area(this, theme, config) } } @{ - trailing_icon.map(|t| @Icon { - size: IconSize::of(ctx).small, - @{ t.0 } - }) + trailing_icon.map(|t| @Icon { @{ t.0 } }) } } @Container {