From bf580aa63d21d22ab5f3779c631a9cc1bb2f0519 Mon Sep 17 00:00:00 2001 From: hsnclk Date: Wed, 3 Jan 2024 19:06:44 +0300 Subject: [PATCH 1/3] Updated post --- _posts/2023-12-28-java-module-system.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2023-12-28-java-module-system.md b/_posts/2023-12-28-java-module-system.md index 2d039cb..fda6a4d 100644 --- a/_posts/2023-12-28-java-module-system.md +++ b/_posts/2023-12-28-java-module-system.md @@ -299,19 +299,19 @@ Sınıf yolundan (*class-path*’den) yüklenen türlerin adlandırılmamış mo Örneğin, yukarıda gösterilen uygulamanın başlangıçta Java SE 8 için, sınıf yoluna (*class path*) yerleştirilen bir dizi benzer şekilde adlandırılmış JAR dosyaları olarak oluşturulduğunu varsayalım. Eğer bunu, Java SE 9'da olduğu gibi çalıştırırsak, JAR dosyalarındaki türler, adlandırılmamış modülde (*unnamed module*) tanımlanacaktır. Bu modül, tüm yerleşik platform modülleri de dahil olmak üzere diğer tüm modülleri okuyacaktır; Basitlik açısından, bunların daha önce gösterilen `java.sql`, `java.xml`, `java.logging` ve `java.base` modülleriyle sınırlı olduğunu varsayalım. Böylece (aşağıdaki) modül grafiğini elde ederiz: -
{% picture 2023-12-28-java-module-system/module-4.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) --img width="100%" height="100%" %}
+
{% picture 2023-12-28-java-module-system/module-4.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) - unnamed module (adlandırılmamış modül) --img width="100%" height="100%" %}
-`org-baz-qux.jar`’ı hemen *named* bir modüle dönüştürebiliriz, çünkü onun diğer iki JAR dosyasındaki herhangi bir türe başvuruda bulunmadığını biliyoruz, bu nedenle *named* bir modül olarak *unnamed* modülde geride bırakılacak türlerin hiçbirine başvuruda/atıfta bulunmayacaktır. (Bunu tesadüfen de olsa orijinal örnekten biliyoruz, ancak zaten bilmiyorsak, **[jdeps](https://docs.oracle.com/en/java/javase/11/tools/jdeps.html)** gibi bir araç yardımıyla keşfedebiliriz. ) `org.baz.qux` için bir modül deklarasyonu yazıyoruz, bunu modülün kaynak koduna ekliyoruz, derliyoruz ve sonucu modüler bir JAR dosyası olarak paketliyoruz. Daha sonra o JAR dosyasını modül yoluna (*module path*) yerleştirirsek ve diğerlerini sınıf yolunda (*class path*) bırakırsak, geliştirilmiş modül grafiğini elde ederiz. +`org-baz-qux.jar`’ı hemen bir adlandırılmış modüle (*named module*) dönüştürebiliriz, çünkü onun, diğer iki JAR dosyasındaki herhangi bir türe başvuruda bulunmadığını biliyoruz, bu nedenle adlandırılmış bir modül (*named module*) olarak, adlandırılmamış modülde (*unnamed module*) geride bırakılacak türlerin hiçbirine başvuruda/atıfta bulunmayacaktır. (Bunu tesadüfen de olsa orijinal örnekten biliyoruz, ancak zaten bilmiyor olsaydık, **[jdeps](https://docs.oracle.com/en/java/javase/11/tools/jdeps.html)** gibi bir araç yardımıyla keşfedebilirdik.) `org.baz.qux` için bir modül deklarasyonu yazıyoruz, bunu modülün kaynak koduna ekliyoruz, (akabinde bunu) derliyoruz ve sonucu modüler bir JAR dosyası olarak paketliyoruz. Daha sonra o JAR dosyasını modül yoluna (*module path*) yerleştirirsek ve diğerlerini sınıf yolunda (*class path*) bırakırsak, (aşağıdaki) geliştirilmiş modül grafiğini elde ederiz. -
{% picture 2023-12-28-java-module-system/module-5.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) --img width="100%" height="100%" %}
+
{% picture 2023-12-28-java-module-system/module-5.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) - named module (adlandırılmış modül) --img width="100%" height="100%" %}
-`com-foo-bar.jar` ve `com-foo-app.jar` içindeki kod çalışmaya devam ediyor çünkü *unnamed* modül, artık yeni `org.baz.qux` modülünü de içeren her *named* modülü okuyor. +Adlandırılmamış modül (*unnamed module*), artık yeni `org.baz.qux` modülünü de içeren her adlandırılmış modülü (*named module*) okuduğundan, `com-foo-bar.jar` ve `com-foo-app.jar` içindeki kod çalışmaya devam eder. -`com-foo-bar.jar`'ı ve ardından `com-foo-app.jar`'ı modüler hale getirmek için benzer şekilde ilerleyebiliriz, sonunda daha önce gösterilerek amaçlanan modül grafiği elde edilir: +`com-foo-bar.jar`'ı ve ardından `com-foo-app.jar`'ı modüler hale getirmek için benzer şekilde ilerleyebiliriz, sonunda daha önce gösterilen, "amaçlanan modül grafiği" elde edilir:
{% picture 2023-12-28-java-module-system/module-6.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) --img width="100%" height="100%" %}
-Orijinal JAR dosyalarındaki türler hakkında ne yaptığımızı bilerek, elbette üçünü de tek bir adımda modüler hale getirebiliriz. Bununla birlikte, `org-baz-qux.jar` bağımsız olarak, belki de tamamen farklı bir ekip veya organizasyon tarafından korunursa, o zaman diğer iki bileşenden önce modüler hale getirilebilir ve aynı şekilde `com-foo-bar.jar`, `com-foo-app.jar`’dan önce modüler hale getirilebilir. +Orijinal JAR dosyalarındaki türler hakkında ne yaptığımızı bilerek, elbette üçünü de tek bir adımda modüler hale getirebiliriz. Bununla birlikte, `org-baz-qux.jar`'ın bakımı, bağımsız olarak, belki de tamamen farklı bir ekip veya organizasyon tarafından yapılıyorsa, o zaman diğer iki bileşenden önce modüler hale getirilebilir ve aynı şekilde `com-foo-bar.jar` da, `com-foo-app.jar`’dan önce modüler hale getirilebilir. ### 3.3 Automatic modules (otomatik modüller) From 3cafa7daccc4cfdc462f97a024754dbd36b2cc8c Mon Sep 17 00:00:00 2001 From: hsnclk Date: Mon, 8 Jan 2024 17:02:24 +0300 Subject: [PATCH 2/3] Update posts --- .../2023-10-05-Java-statik-ilklendirici-1.md | 16 ++++- .../2023-10-06-Java-ornek-ilklendirici-2.md | 16 ++++- ...a-metot-yerine-ilklendirici-kullanmak-3.md | 15 ++++- ...urucudan-gecersiz-kilinan-metot-cagirma.md | 13 +++- ...n-non-final-ornek-degiskeni-ilklendirme.md | 13 +++- ...indan-final-ornek-degiskeni-ilklendirme.md | 13 +++- _posts/2023-12-28-java-module-system.md | 61 ++++++++++++++----- 7 files changed, 120 insertions(+), 27 deletions(-) diff --git a/_posts/2023-10-05-Java-statik-ilklendirici-1.md b/_posts/2023-10-05-Java-statik-ilklendirici-1.md index 9e3e0ac..cf31e0f 100644 --- a/_posts/2023-10-05-Java-statik-ilklendirici-1.md +++ b/_posts/2023-10-05-Java-statik-ilklendirici-1.md @@ -52,7 +52,17 @@ Java’da Hafıza Yönetim Serisinin önemli bir parçası olan statik ilklendir
{% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management --img width="100%" height="100%" --link https://youtu.be/h-MPSkUk414 %}
-Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [2](https://youtu.be/TNsdmcYCckw), [3](https://youtu.be/kJEaDx6dPWk) linklere tıklayabilirsiniz +Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [2](https://youtu.be/TNsdmcYCckw), [3](https://youtu.be/kJEaDx6dPWk), [4](https://youtu.be/1jdo_04jHI4), [5](https://youtu.be/eZg0rbJE_Os), [6](https://www.youtube.com/watch?v=5LH2bZdnYE4) linklere tıklayabilirsiniz -
{% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management --img width="30%" height="30%" --link https://youtu.be/TNsdmcYCckw %}
-
{% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management --img width="30%" height="30%" --link https://youtu.be/kJEaDx6dPWk %}
\ No newline at end of file +
+ {% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management %} + {% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management %} +
+
+ +
+ {% picture 2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma/efektif-java-item-19.jpg --alt Java'da Constructor İçinden Overridable Metot Çağrılır mı? - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme/non-final-initialize.jpg --alt Java'da Constructor Dışından Non-final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme/final-initialize.jpg --alt Java'da Constructor Dışından Final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
\ No newline at end of file diff --git a/_posts/2023-10-06-Java-ornek-ilklendirici-2.md b/_posts/2023-10-06-Java-ornek-ilklendirici-2.md index 5720cfb..5d459fb 100644 --- a/_posts/2023-10-06-Java-ornek-ilklendirici-2.md +++ b/_posts/2023-10-06-Java-ornek-ilklendirici-2.md @@ -52,7 +52,17 @@ Java’da Hafıza Yönetim Serisinin önemli bir parçası olan örnek ilklendir
{% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management --img width="100%" height="100%" --link https://youtu.be/TNsdmcYCckw %}
-Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [1](https://youtu.be/h-MPSkUk414), [3](https://youtu.be/kJEaDx6dPWk) linklere tıklayabilirsiniz +Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [1](https://youtu.be/h-MPSkUk414), [3](https://youtu.be/kJEaDx6dPWk), [4](https://youtu.be/1jdo_04jHI4), [5](https://youtu.be/eZg0rbJE_Os), [6](https://www.youtube.com/watch?v=5LH2bZdnYE4) linklere tıklayabilirsiniz. -
{% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management --img width="30%" height="30%" --link https://youtu.be/h-MPSkUk414 %}
-
{% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management --img width="30%" height="30%" --link https://youtu.be/kJEaDx6dPWk %}
\ No newline at end of file +
+ {% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management %} + {% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management %} +
+
+ +
+ {% picture 2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma/efektif-java-item-19.jpg --alt Java'da Constructor İçinden Overridable Metot Çağrılır mı? - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme/non-final-initialize.jpg --alt Java'da Constructor Dışından Non-final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme/final-initialize.jpg --alt Java'da Constructor Dışından Final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
\ No newline at end of file diff --git a/_posts/2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3.md b/_posts/2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3.md index cb488a9..6c72a36 100644 --- a/_posts/2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3.md +++ b/_posts/2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3.md @@ -51,8 +51,17 @@ Java’da Hafıza Yönetim Serisinin önemli bir parçası olan statik ilklendir
{% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management --img width="100%" height="100%" --link https://youtu.be/kJEaDx6dPWk %}
-Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [1](https://youtu.be/h-MPSkUk414), [2](https://youtu.be/TNsdmcYCckw) linklere tıklayabilirsiniz +Diğer videolara ulaşmak için aşağıdaki resimlere ya da bu [1](https://youtu.be/h-MPSkUk414), [2](https://youtu.be/TNsdmcYCckw), [4](https://youtu.be/1jdo_04jHI4), [5](https://youtu.be/eZg0rbJE_Os), [6](https://www.youtube.com/watch?v=5LH2bZdnYE4) linklere tıklayabilirsiniz -
{% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management --img width="30%" height="30%" --link https://youtu.be/h-MPSkUk414 %}
-
{% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management --img width="30%" height="30%" --link https://youtu.be/TNsdmcYCckw %}
+
+ {% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management %} + {% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management %} +
+
+
+ {% picture 2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma/efektif-java-item-19.jpg --alt Java'da Constructor İçinden Overridable Metot Çağrılır mı? - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme/non-final-initialize.jpg --alt Java'da Constructor Dışından Non-final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme/final-initialize.jpg --alt Java'da Constructor Dışından Final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
\ No newline at end of file diff --git a/_posts/2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma.md b/_posts/2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma.md index 4d4b132..fb8d53f 100644 --- a/_posts/2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma.md +++ b/_posts/2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma.md @@ -43,4 +43,15 @@ Bunun yanı sıra video içinde Robert C. Martin'in polimorfizm tanımı ve obje * NullPointerException hatasına bir örnek * Java'da Kurucu İçinden Geçersiz kılınabilen bir metot çağırmanın getirdiği riskler nelerdir? Joshua Bloch Efektif Java Kitabında bu duruma işaret ediyor. - +
+ {% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management %} + {% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management %} +
+
+ +
+ {% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management %} + {% picture 2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme/non-final-initialize.jpg --alt Java'da Constructor Dışından Non-final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme/final-initialize.jpg --alt Java'da Constructor Dışından Final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
diff --git a/_posts/2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme.md b/_posts/2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme.md index 53272c4..886eaec 100644 --- a/_posts/2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme.md +++ b/_posts/2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme.md @@ -39,5 +39,16 @@ Bu videoyu Java’da Hafıza Yönetim Serisinin bir parçası olarak düşünebi * final olmayan örnek değişkeni ilklendirmeleri (non-final instance initialize işlemi) * Kurucu içinde ve kurucu dışında yapılan örnek değişkeni ilklendirmesi - +
+ {% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management %} + {% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management %} +
+
+ +
+ {% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management %} + {% picture 2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma/efektif-java-item-19.jpg --alt Java'da Constructor İçinden Overridable Metot Çağrılır mı? - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme/final-initialize.jpg --alt Java'da Constructor Dışından Final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
diff --git a/_posts/2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme.md b/_posts/2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme.md index 5e3a991..8c0c442 100644 --- a/_posts/2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme.md +++ b/_posts/2023-10-10-kurucu-disindan-final-ornek-degiskeni-ilklendirme.md @@ -42,5 +42,16 @@ Bu videoyu Java’da Hafıza Yönetim Serisinin bir parçası olarak düşünebi * Java'da final anahtar kelimesine sahip değişkenlerin ilklendirilmesiyle ilgili kararlar ne zaman verilir? * Java constant nedir? - +
+ {% picture 2023-10-05-Java-statik-ilklendirici-1/java-static-initializer.png --alt Java'da Static Initializer nedir? (Java statik ilklendirici) Management %} + {% picture 2023-10-06-Java-örnek-ilklendirici-2/java-instance-initializer.png --alt Java'da Instance Initializer Nedir? (Java örnek ilklendirici) Management %} +
+
+ +
+ {% picture 2023-10-07-Java-metot-yerine-ilklendirici-kullanmak-3/neden-initializer.png --alt Java'da BAZI Durumlarda Metot Yerine Initializer Kullanmak? Management %} + {% picture 2023-10-08-Java-kurucudan-gecersiz-kilinan-metot-cagirma/efektif-java-item-19.jpg --alt Java'da Constructor İçinden Overridable Metot Çağrılır mı? - Efektif Java Kitabı Item 19'dan Bir Kesit %} + {% picture 2023-10-09-kurucu-disindan-non-final-ornek-degiskeni-ilklendirme/non-final-initialize.jpg --alt Java'da Constructor Dışından Non-final Örnek Değişkeni İlklendirme - Efektif Java Kitabı Item 19'dan Bir Kesit %} +
+
diff --git a/_posts/2023-12-28-java-module-system.md b/_posts/2023-12-28-java-module-system.md index fda6a4d..5652d30 100644 --- a/_posts/2023-12-28-java-module-system.md +++ b/_posts/2023-12-28-java-module-system.md @@ -101,7 +101,7 @@ Paket adları gibi modül adları da çakışmamalıdır. Bir modülü ad Bir modülün deklarasyonu bir sürüm dizesi (*version string*) içermediği gibi, bağlı olduğu modüllerin sürüm dizeleri üzerinde de kısıtlamalar içermez. Bu kasıtlıdır: sürüm-seçimi (*version-selection*) sorununu çözmek modül sisteminin [bir amacı değildir](https://openjdk.org/projects/jigsaw/spec/reqs/02#version-selection); bu sorunu inşa-araçları (*build tools*) ve konteyner (*container*) uygulamalarına bırakmak en iyisidir. -Modül deklarasyonları çeşitli nedenlerden dolayı kendilerine ait bir dil veya notasyon/gösterim yerine Java programlama dilinin bir parçasıdır. En önemlilerinden biri, [fazlar arasında aslına uygunluğu](https://openjdk.org/projects/jigsaw/spec/reqs/02#fidelity-across-all-phases) (*fidelity across phases*) sağlamak için modül bilgilerinin hem derleme zamanında hem de çalışma zamanında mevcut olması gerektiğidir, başka bir deyişle, modül sisteminin hem derleme zamanında hem de çalışma zamanında aynı şekilde çalışmasını sağlamaktır. Bu da, birçok hata türünün önlenmesine veya en azından, teşhis edilmesi ve onarılması daha kolay olduğunda, daha erken - derleme zamanında - bildirilmesine olanak tanır. +Modül deklarasyonları çeşitli nedenlerden dolayı kendilerine ait bir dil veya notasyon/gösterim yerine Java programlama dilinin bir parçasıdır. En önemlilerinden biri, [fazlar arasında aslına uygunluğu](https://openjdk.org/projects/jigsaw/spec/reqs/02#fidelity-across-all-phases) (*fidelity across phases*) sağlamak için modül bilgilerinin hem derleme zamanında hem de çalışma zamanında mevcut olması gerektiğidir, başka bir deyişle, modül sisteminin hem derleme zamanında hem de çalışma zamanında aynı şekilde çalışmasını sağlamaktır. Sonuç olarak bu, birçok hata türünün önlenmesine veya en azından, teşhis edilmesi ve onarılması daha kolay olduğunda, daha erken - derleme zamanında - bildirilmesine olanak tanır. Modül deklarasyonlarının, bir modüldeki diğer kaynak dosyalarla (*source files*) birlikte, Java sanal makinesinin tüketimi için bir sınıf dosyasına (*class file*) derlenen bir kaynak dosyada (*source file*) ifade edilmesi, aslına uygunluğu (*fidelity*) sağlamanın doğal yoludur. Bu yaklaşım geliştiricilere hemen tanıdık gelecek, ve IDE'ler ve inşa araçları (*build tools*) tarafından desteklenmesi zor olmayacaktır. Özellikle bir IDE, bileşenin proje açıklamasında (*component’s project description*) zaten mevcut olan bilgilerden `requires` cümlecikleri (*requires clauses*) sentezleyerek mevcut bir bileşen (*existing component*) için bir başlangıç modül (*initial module*) deklarasyonu önerebilir. @@ -161,7 +161,7 @@ Bireysel modüller(*individual modules*), modül yapılarında (*module artifact Yapıtlarda (*artifacts*) tanımlanan modüllerin yerini saptamak için modül sistemi, ana sistem (*host system*) tarafından tanımlanan **modül yolunu** (*module path*) arar. Modül yolu, her bir öğesi ya bir modül yapıtı (*module artifact*) ya da modül yapıtlarını içeren bir dizin (*directory containing module artifacts*) olan bir dizidir (*sequence*). Modül yolunun elemanları, uygun bir modülü tanımlayan ilk artifact için sırayla aranır. -Modül yolu (*module path*), sınıf yolundan (*class-path*) önemli ölçüde farklıdır ve daha sağlamdır. Sınıf yolunun (*class-path*) doğal kırılganlığı, artifektlerin kendi aralarında hiçbir ayrım yapmadan, yol üzerindeki (yani *path*’deki) tüm artifektlerde bireysel/farklı (*individual*) türleri bulmanın bir yöntemi olması gerçeğinden kaynaklanmaktadır. Bu, bir yapıtın (yani *artifact*’in) eksik olup olmadığını önceden söylemeyi imkansız hale getirir. Ayrıca, bu yapıtlar (*artifacts*) aynı mantıksal program bileşeninin farklı sürümlerini veya tamamen farklı bileşenleri temsil etse bile, farklı yapıtların (*different artifacts*) aynı paketlerdeki türleri tanımlamasına da olanak tanır. +Modül yolu (*module path*), sınıf yolundan (*class-path*) önemli ölçüde farklıdır ve daha sağlamdır. Sınıf yolunun (*class-path*) doğal kırılganlığı, yol üzerindeki (yani *path*’deki) tüm artifektlerde bireysel türleri bulmanın bir aracı/yöntemi olmasından kaynaklanmaktadır, bu da eserlerin kendileri arasında ayrım yapmaz. Bu, bir yapıtın (yani *artifact*’in) eksik olup olmadığını önceden söylemeyi imkansız hale getirir. Ayrıca, bu yapıtlar (*artifacts*) aynı mantıksal program bileşeninin farklı sürümlerini veya tamamen farklı bileşenleri temsil etse bile, farklı yapıtların (*different artifacts*) aynı paketlerdeki türleri tanımlamasına da olanak tanır. Modül yolu (*module path*), aksine, bireysel türleri bulmak yerine tüm modüllerin yerini saptamanın bir yöntemidir. Modül sistemi, modül yolundan (*module path*) gelen bir yapıt (*artifact*) ile belirli bir bağımlılığı yerine getiremezse veya aynı dizinde aynı adı taşıyan modülleri tanımlayan iki yapıyla (*artifact*) karşılaşırsa, derleyici veya sanal makine bir hata bildirecek ve çıkış yapacaktır. @@ -307,7 +307,7 @@ Sınıf yolundan (*class-path*’den) yüklenen türlerin adlandırılmamış mo Adlandırılmamış modül (*unnamed module*), artık yeni `org.baz.qux` modülünü de içeren her adlandırılmış modülü (*named module*) okuduğundan, `com-foo-bar.jar` ve `com-foo-app.jar` içindeki kod çalışmaya devam eder. -`com-foo-bar.jar`'ı ve ardından `com-foo-app.jar`'ı modüler hale getirmek için benzer şekilde ilerleyebiliriz, sonunda daha önce gösterilen, "amaçlanan modül grafiği" elde edilir: +`com-foo-bar.jar`'ı ve ardından `com-foo-app.jar`'ı modüler hale getirmek için benzer şekilde ilerleyebiliriz, bu da sonunda daha önce gösterilen "amaçlanan modül grafiği" ile sonuçlanır:
{% picture 2023-12-28-java-module-system/module-6.png --alt Java'da Modül Sistemi - Bottom-up migration (aşağıdan yukarı migrasyon/taşıma) --img width="100%" height="100%" %}
@@ -315,33 +315,64 @@ Orijinal JAR dosyalarındaki türler hakkında ne yaptığımızı bilerek, elbe ### 3.3 Automatic modules (otomatik modüller) -Aşağıdan-yukarıya migrasyon/taşıma (*bottom-up migration*) basittir, ancak her zaman mümkün değildir. `org-baz-qux.jar`’ın bakımcısı (*maintainer*) onu henüz uygun bir modüle dönüştürmemiş olsa bile (ya da belki hiçbir zaman dönüştürmeyecek) `com-foo-app.jar` ve `com-foo-bar.jar` bileşenlerimizi yine de modüler hale getirmek isteyebiliriz. +Aşağıdan-yukarıya migrasyon/taşıma (*bottom-up migration*) basittir, ancak her zaman mümkün değildir. `org-baz-qux.jar`’ın geliştiricisi/bakımcısı (*maintainer*) onu henüz uygun bir modüle dönüştürmemiş olsa bile (ya da belki hiçbir zaman dönüştürmeyecek), biz, `com-foo-app.jar` ve `com-foo-bar.jar` bileşenlerimizi yine de modüler hale getirmek isteyebiliriz. + +
+

Benim notum :

+--- +Burada Mark Reinhold, `com-foo-app.jar` ve `com-foo-bar.jar`bileşenlerinin bizim tarafımızdan geliştirildiğini ama `org-baz-qux.jar`'ının başka bir geliştiriciye ait olduğunu düşünmemizi istiyor. Böyle bir senaryoda, `org-baz-qux.jar`'ın geliştiricisi, bu projesini modüler hale getirmeye yanaşmayabilir. + +Biz ise kendi bileşenlerimiz olan `com-foo-app.jar` ve `com-foo-bar.jar`'ı modüler hale getirdiğimizde, haliyle bunları adlandırılmış modül (yani *named module*) haline getirmiş olacağız. Hatırlarsanız, adlandırılmış modülden (yani *named module*'den) adlandırılmamış modüle (yani *unnamed module*'e) bağımlılık bildiremiyorduk. Haliyle bu durum bir sorun teşkil ediyor. +
-`com-foo-bar.jar` içindeki kodun `org-baz-qux.jar` içindeki türlere başvuruda bulunduğunu zaten biliyoruz. `org-baz-qux.jar`’ı sınıf yolunda (*class path*) bırakır, `com-foo-bar.jar`’ı `com.foo.bar` adlı *named* modüle dönüştürürsek, fakat o zaman bu kod artık çalışmaz: `org-baz-qux.jar` içindeki türler *unnamed* modülde tanımlanmaya devam edecek ancak *named* bir modül olan `com.foo.bar`, *unnamed* modüle bağımlılık bildiremez. -O halde bir şekilde `org-baz-qux.jar`’ın *named* bir modül olarak görünmesini ayarlamalıyız, böylece `com.foo.bar` ona bağlı olabilir. `org.baz.qux`’un kaynak kodunu çatallayabilir (*fork* edebilir) ve onu kendimiz modüler hale getirebiliriz, ancak eğer bakımcı (*maintainer*) bu değişikliği *upstream repository* ile birleştirmek istemezse, o zaman *fork*’a ihtiyacımız olduğu sürece onu korumak zorunda kalacağız. +`com-foo-bar.jar` içindeki kodun `org-baz-qux.jar` içindeki türlere başvuruda bulunduğunu zaten biliyoruz. `org-baz-qux.jar`’ı sınıf yolunda (*class path*) bırakır, `com-foo-bar.jar`’ı `com.foo.bar` adlı bir adlandırılmış modüle (*named module*) dönüştürürsek, ancak o zaman bu kod artık çalışmayacaktır: `org-baz-qux.jar` içindeki türler, adlandırılmamış modülde (*unnamed module*) tanımlanmaya devam edecektir, ancak adlandırılmış bir modül (*named module*) olan `com.foo.bar`, adlandırılmamış modüle (*unnamed module*) bağımlılık bildiremez. + +O halde bir şekilde `org-baz-qux.jar`’ın adlandırılmış bir modül (*named module*) olarak görünmesini ayarlamalıyız, böylece `com.foo.bar` ona bağlı/bağımlı olabilir. `org.baz.qux`’un kaynak kodunu çatallayabilir (*fork* edebilir) ve onu kendimiz modüler hale getirebiliriz, ancak eğer geliştiricisi/bakımcısı (*maintainer*) (yani burada yazar, `org.baz.qux`’un geliştiricisini kastediyor) bu değişikliği *upstream repository* ile birleştirmek istemezse (*merge* etmek istemezse), o zaman bu *fork*’a ihtiyacımız olduğu sürece onun bakımını yapmak zorunda kalacağız. + +
+

Benim notum :

+--- +Mark Reinhold'un burada ne yaptığını anladığınızı düşünüyorum. Anlamayanlar için küçük bir özet geçmem gerekirse, Mark, `org.baz.qux`’un geliştiricisinin, bu projeyi modüler yapmaya yanaşmadığı bir senaryoda, projeyi (yani `org.baz.qux`) bizim çatallayabileceğimizi (yani fork edebileceğimizi) ve akabinde modüler hale getirebileceğimizi söylüyor. -Bunun yerine `org-baz-qux.jar`'ı, sınıf yolu (*class path*) yerine modül yoluna (*module path*) değiştirilmeden yerleştirerek otomatik bir modül (*automatic module*) olarak işleyebiliriz. Bu, adı `org.baz.qux` olan, JAR dosyasından türetilen bir gözlemlenebilir modül (*observable module*) tanımlayacaktır, böylece diğer otomatik olmayan modüller (*non-automatic modules*) alışılmış şekilde ona bağlı olabilir/bağlanabilir: +Belki sonrasında yaptığımız bu değişklikleri, `org.baz.qux`’un geliştiricise merge etmesi için gönderebiliriz. Yine kabul etmezse, çatalladığımız bu projenin bakımını, ona ihtiyacımız olduğu sürece yapmamız gerekeceğinden bahsediyor. Bu karşılaşacağımız senaryonun çözümlerinden sadece biri. +
+ +Bunun yerine `org-baz-qux.jar`'ı, sınıf yolu (*class path*) yerine modül yoluna (*module path*), değiştirilmeden yerleştirerek otomatik bir modül (*automatic module*) olarak işleyebiliriz/ele alabiliriz. Bu, diğer otomatik olmayan modüllerin (*non-automatic modules*) her zamanki gibi ona bağlı/bağımlı olabilmesi için, JAR dosyasından türetilen, adı `org.baz.qux` olan gözlemlenebilir bir modül (*observable module*) tanımlayacaktır:
{% picture 2023-12-28-java-module-system/module-7.png --alt Java'da Modül Sistemi - Automatic modules (otomatik modüller) --img width="100%" height="100%" %}
-Bir otomatik modül (*automatic module*), bir modül deklarasyonuna sahip olmadığından örtülü (*implicitly*) olarak tanımlanan *named* bir modüldür. Bunun aksine, tipik bir *named* modül, bir modül bildirimiyle açıkça (*explicitly*) tanımlanır; bundan sonra bunlara **açık modüller** (*explicit modules*) olarak değineceğiz. +Bir otomatik modül (*automatic module*), bir modül deklarasyonuna (*module declaration*) sahip olmadığından örtülü (*implicitly*) olarak tanımlanan bir adlandırılmış modüldür (*named module*). Bunun aksine, tipik bir adlandırılmış modül (*named module*), bir modül bildirimiyle açıkça (*explicitly*) tanımlanır; bundan sonra bunlara **açık modüller** (*explicit modules*) olarak değineceğiz. + +
+

Benim notum :

+--- +Otomatik modüllerin modül deklarasyonuna sahip olmaması ile kastedilen, bu modüllerin, tipik adlandırılmış modüller gibi `module-info.java` dosyasına sahip olmadığıdır. Yukarıda da belirtildiği gibi ilgili jar dosyasını sınıf yolu yerine modül yoluna yerleştirmek, otomatik modül yapmak için yeterlidir. +
-Bir otomatik modülün (*automatic module*) hangi diğer modüllere bağlı olabileceğini önceden söylemenin pratik bir yolu yoktur. Bu nedenle, bir modül grafiği çözümlendikten sonra, ister otomatik (*automatic*) ister açık (*explicit*) olsun, diğer tüm *named* modülleri okumak için bir otomatik modül (*automatic module*) yapılır. +Bir otomatik modülün (*automatic module*) diğer hangi modüllere bağlı/bağımlı olabileceğini önceden söylemenin pratik bir yolu yoktur. Bu nedenle, bir modül grafiği çözümlendikten sonra, ister otomatik (*automatic*) ister açık (*explicit*) olsun, diğer tüm adlandırılmış modülleri (*named modules*) okumak için bir otomatik modül (*automatic module*) yapılır.
{% picture 2023-12-28-java-module-system/module-8.png --alt Java'da Modül Sistemi - Automatic modules (otomatik modüller) --img width="100%" height="100%" %}
(Bu yeni okunabilirlik kenarları (*readability edges*) modül grafiğinde döngüler (*cycles*) yaratır ve bu da mantık yürütmeyi biraz daha zorlaştırır, ancak biz bunları daha esnek migrasyona/taşımaya (*more-flexible migration*) olanak sağlamanın tolere edilebilir ve genellikle geçici bir sonucu olarak görüyoruz.) -Benzer şekilde, bir otomatik modüldeki (*automatic module*) paketlerden hangisinin diğer modüller tarafından veya hala sınıf yolunda (*class path*) bulunan sınıflar tarafından kullanılmak üzere tasarlandığını söylemenin pratik bir yolu yoktur. Bu nedenle, otomatik bir modüldeki (*automatic module*) her paket, gerçekte yalnızca dahili kullanım (*internal use*) için tasarlanmış olsa bile dışa aktarılmış (*export* edilmiş) olarak kabul edilir: +Benzer şekilde, bir otomatik modüldeki (*automatic module*) paketlerden hangisinin diğer modüller tarafından veya hala sınıf yolunda (*class path*) bulunan sınıflar tarafından kullanılmak üzere tasarlandığını söylemenin pratik bir yolu yoktur. Bu nedenle, otomatik bir modüldeki (*automatic module*) her paket, gerçekte yalnızca dahili kullanım (*internal use*) için tasarlanmış bile olsa dışa aktarılmış (*export* edilmiş) olarak kabul edilir:
{% picture 2023-12-28-java-module-system/module-9.png --alt Java'da Modül Sistemi - Automatic modules (otomatik modüller) --img width="100%" height="100%" %}
+
+

Benim notum :

+ --- + Hatırlarsanız adlandırılmamış modüller de (*unnamed modules*) bütün paketlerini dışa aktarıyordu (yani *export* ediyordu). Benzer şekilde otomatik modüller de (*automatic module*) sahip oldukları bütün paketleri varsayılan olarak dışa aktarır(*export* eder). Yalnız ikisi arasındaki fark, adlandırılmış modüller (*named modules*), adlandırılmamış modüllere (*unnamed modules*) bağımlılık bildiremezken, otomatik modüller de bir adlandırılmış modül sayıldığı için, tipik bir adlandırılmış modül, otomatik modüllere bağımlılık bildirebilir. + + Burada tipik bir adlandırılmış modülden kastedilen aslında açık modüllerdir (yani *explicit modules*). Çünkü açık modüllerin *modül deklarasyonlarını* bildirebileceği bir `module-info.java` dosyasına sahip olduğunu hatırlayalım. Bu dosya, adlandırılmış bir modül olmasına rağmen, otomatik modüllerde bulunmaz. +
+ Son olarak, otomatik bir modüldeki (*automatic module*) dışa aktarılan (*export* edilen) paketlerden birinin, imzası başka bir otomatik modülde tanımlanan bir türe başvuruda bulunan bir tür içerip içermediğini söylemenin pratik bir yolu yoktur. Örneğin; önce `com.foo.app`’i modüler hale getirirsek ve hem `com.foo.bar` hem de `org.baz.qux`’u otomatik modüller (*automatic modules*) olarak işlersek/ele alırsak, o zaman aşağıdaki grafiği elde ederiz
{% picture 2023-12-28-java-module-system/module-10.png --alt Java'da Modül Sistemi - Automatic modules (otomatik modüller) --img width="100%" height="100%" %}
-Karşılık gelen her iki JAR dosyasındaki tüm sınıf dosyalarını okumadan, `com.foo.bar`’daki "`public`" bir türün, dönüş tipi `org.baz.qux`'ta tanımlanan "`public`" bir yöntemi bildirip bildirmediğini bilmek imkansızdır. Bu nedenle otomatik bir modül (*automatic module*), diğer tüm otomatik modüllere (*automatic module*) zımni/örtük okunabilirlik (*implied readability*) sağlar: +Karşılık gelen her iki JAR dosyasındaki tüm sınıf dosyalarını okumadan, `com.foo.bar`’daki `public` bir türün, dönüş tipi `org.baz.qux`'ta tanımlanan `public` bir yöntemi bildirip bildirmediğini bilmek imkansızdır. Bu nedenle otomatik bir modül (*automatic module*), diğer tüm otomatik modüllere (*automatic module*) zımni/örtük okunabilirlik (*implied readability*) sağlar:
{% picture 2023-12-28-java-module-system/module-11.png --alt Java'da Modül Sistemi - Automatic modules (otomatik modüller) --img width="100%" height="100%" %}
@@ -351,15 +382,15 @@ Otomatik modüller (*automatic modules*), sınıf yolunun (*class path*) kaosu i ### 3.4 Bridges to the class path (sınıf yoluna köprüler) -Mevcut JAR dosyalarının çoğu otomatik modül (*automatic modules*) olarak kullanılabilir, ancak bazıları kullanılamaz. Sınıf yolundaki (*class path*) iki veya daha fazla "JAR dosyası" aynı pakette türler içeriyorsa, o zaman bunlardan en fazla biri otomatik bir modül (*automatic module*) olarak kullanılabilir, çünkü modül sistemi hâlâ, her *named* modülün belirli bir paketi tanımlayan en fazla bir *named* modülü okuduğunu ve benzer şekilde adlandırılmış/aynı isimli paketleri tanımlayan bu *named* modüllerin birbirine müdahale etmediğini garanti eder. Bu gibi durumlarda, genellikle JAR dosyalarından yalnızca birine gerçekten ihtiyaç duyulduğu ortaya çıkar. Eğer diğerleri kopya (*duplicates*) veya neredeyse kopya/taslak (*near-duplicates* buna *draft* denilebilir) ise ve bir şekilde yanlışlıkla sınıf yoluna (*class path*) yerleştirilmişse, o zaman biri otomatik modül (*automatic module*) olarak kullanılabilir ve diğerleri atılabilir. Bununla birlikte, sınıf yolundaki (*class path*) birden fazla JAR dosyası kasıtlı olarak aynı pakette tür içeriyorsa, o zaman bunların sınıf yolunda (*class path*) kalmaları gerekir. +Mevcut JAR dosyalarının çoğu otomatik modül (*automatic modules*) olarak kullanılabilir, ancak bazıları kullanılamaz. Sınıf yolundaki (*class path*) iki veya daha fazla "JAR dosyası" aynı paketteki türleri içeriyorsa, o zaman bunlardan en fazla biri otomatik bir modül (*automatic module*) olarak kullanılabilir, çünkü modül sistemi hâlâ, her adlandırılmış modülün (*named module*) belirli bir paketi tanımlayan en fazla bir adlandırılmış modülü (*named module*) okuduğunu ve "benzer şekilde adlandırılmış/aynı isimli" paketleri tanımlayan bu adlandırılmış modüllerin (*named modules*) birbirine müdahale etmediğini garanti eder. Bu gibi durumlarda, genellikle JAR dosyalarından yalnızca birine gerçekten ihtiyaç duyulduğu ortaya çıkar. Eğer diğerleri kopya (*duplicates*) veya neredeyse kopya/taslak (*near-duplicates* buna *draft* da denilebilir) ise ve bir şekilde yanlışlıkla sınıf yoluna (*class path*) yerleştirilmişse, o zaman biri otomatik modül (*automatic module*) olarak kullanılabilir ve diğerleri atılabilir. Bununla birlikte, sınıf yolundaki (*class path*) birden fazla JAR dosyası kasıtlı olarak aynı pakette türler içeriyorsa, o zaman bunların sınıf yolunda (*class path*) kalmaları gerekir. -Bazı JAR dosyaları otomatik modüller (*automatic modules*) olarak kullanılamadığında bile migrasyonu etkinleştirmek için, otomatik modüllerin (*automatic modules*) açık modüllerdeki (*explicit modules*) kod ile hâlâ sınıf yolunda (*class path*) bulunan kod arasında köprü görevi görmesini sağlıyoruz: Diğer tüm *named* modüllerin okunmasına ek olarak, *unnamed* modülün okunması için bir otomatik modül (*automatic module*) de yapılır. Uygulamamızın orijinal sınıf yolu (*class path*), örneğin, aynı zamanda `org-baz-fiz.jar` ve `org-baz-fuz.jar` JAR dosyalarını da içerseydi, o zaman (aşağıdaki) grafiğe sahip olurduk. +Bazı JAR dosyaları otomatik modüller (*automatic modules*) olarak kullanılamadığında bile migrasyonu etkinleştirmek için, otomatik modüllerin (*automatic modules*) açık modüllerdeki (*explicit modules*) kod ile hâlâ sınıf yolunda (*class path*) bulunan kod arasında köprü görevi görmesini sağlıyoruz: Diğer tüm adlandırılmış modüllerin (*named modules*) okunmasına ek olarak, adlandırılmamış modülün (*unnamed module*) okunması için bir otomatik modül (*automatic module*) de yapılır. Uygulamamızın orijinal sınıf yolu (*class path*), örneğin, aynı zamanda `org-baz-fiz.jar` ve `org-baz-fuz.jar` JAR dosyalarını da içerseydi, o zaman (aşağıdaki) grafiğe sahip olurduk.
{% picture 2023-12-28-java-module-system/module-12.png --alt Java'da Modül Sistemi - Bridges to the class path (sınıf yoluna köprüler) --img width="100%" height="100%" %}
-*unnamed* modül, daha önce de belirtildiği gibi tüm paketlerini dışa aktarır (*export* eder), böylece otomatik modüllerdeki (*automatic modules*) kod, sınıf yolundan (*class path*) yüklenen herhangi bir `public` türe erişebilecektir. +Adlandırılmamış modül (*unnamed module*), daha önce de belirtildiği gibi tüm paketlerini dışa aktarır (*export* eder), böylece otomatik modüllerdeki (*automatic modules*) kod, sınıf yolundan (*class path*) yüklenen herhangi bir `public` türe erişebilecektir. -Sınıf yolundaki (*class path*) türleri kullanan otomatik bir modül (*automatic module*), bu türleri ona bağlı olan açık modüllere (*explicit modules*) maruz bırakmamalıdır, çünkü açık (*explicit*) modüller *unnamed* modüle bağımlılık beyan edemez. Açık modül (*explicit module*) olan `com.foo.app`'teki kod, örneğin, `com.foo.bar`'daki `public` bir türe başvuruyorsa ve bu türün imzası, hala sınıf yolunda (*class path*’te) bulunan JAR dosyalarından birindeki bir türe atıfta/başvuruda bulunuyorsa, o zaman `com.foo.app`'teki kod bu türe erişemeyecektir, çünkü `com.foo.app` *unnamed* modüle bağımlı/bağlı olamaz. Bu durum, `com.foo.app`'in geçici olarak otomatik bir modül (*automatic module*) olarak ele alınmasıyla/işlenmesiyle giderilebilir, böylece kodu (`com.foo.app`’in kodu), sınıf yolundaki (*class path*’deki) ilgili JAR dosyası otomatik bir modül (*automatic module*) olarak ele alınıncaya veya açık bir modüle (*explicit module*) dönüştürülene kadar, sınıf yolundan (*class path*) türlere erişebilir. +Sınıf yolundaki (*class path*) türleri kullanan otomatik bir modül (*automatic module*), bu türleri ona bağlı/bağımlı olan açık modüllere (*explicit modules*) maruz bırakmamalıdır, çünkü açık modüller (*explicit modules*), adlandırılmamış modüle (*unnamed module*) bağımlılık beyan edemez. Açık modül (*explicit module*) olan `com.foo.app`'teki kod, örneğin, `com.foo.bar`'daki `public` bir türe başvuruyorsa ve bu türün imzası, hala sınıf yolunda (*class path*’te) bulunan JAR dosyalarından birindeki bir türe atıfta/başvuruda bulunuyorsa, o zaman `com.foo.app`'teki kod bu türe erişemeyecektir, çünkü `com.foo.app` adlandırılmamış modüle (*unnamed module*) bağımlı/bağlı olamaz. Bu durum, `com.foo.app`'in geçici olarak otomatik bir modül (*automatic module*) olarak ele alınmasıyla/işlenmesiyle giderilebilir, böylece kodu (`com.foo.app`’in kodu), sınıf yolundaki (*class path*’deki) ilgili JAR dosyası otomatik bir modül (*automatic module*) olarak ele alınıncaya veya açık bir modüle (*explicit module*) dönüştürülene kadar, sınıf yolundan (*class path*) türlere erişebilir. ## 4 SERVICES (servisler/hizmetler) From dafbd4384c37675125bea0a59883c1028c30fe21 Mon Sep 17 00:00:00 2001 From: hsnclk Date: Mon, 8 Jan 2024 17:02:47 +0300 Subject: [PATCH 3/3] update bio photo --- _config.yml | 2 +- assets/images/bio/hc4.png | Bin 0 -> 48680 bytes assets/images/bio/hc5.png | Bin 0 -> 46490 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/images/bio/hc4.png create mode 100644 assets/images/bio/hc5.png diff --git a/_config.yml b/_config.yml index f69371a..6dd70a9 100644 --- a/_config.yml +++ b/_config.yml @@ -105,7 +105,7 @@ analytics: # Site Author author: name : "Hasan Çelik" - avatar : "/assets/images/bio/hc2.png" # path of avatar image, e.g. "/assets/images/bio-photo.jpg" + avatar : "/assets/images/bio/hc4.png" # path of avatar image, e.g. "/assets/images/bio-photo.jpg", "/assets/images/bio/hc2.png" bio : "Kendini geliştirmeyi seven, tutkulu bir yazılımcı" location : # "Ankara/Turkey" email : # "hsnclk1985@gmail.com" diff --git a/assets/images/bio/hc4.png b/assets/images/bio/hc4.png new file mode 100644 index 0000000000000000000000000000000000000000..2628c9894303d46553e6d32cb55b8d0070b11fe8 GIT binary patch literal 48680 zcmZsCcTiK$_jW)&5Rj4}3Ia-qh=2$L>Ai$5RcWC~uc7xYMMCdL5l}*}QbG?%kt!f9 zNbkK%??1lp-|y_~y)%1f?#}M)dCob{b2eN}MUISwmIMF*kSWN+HSXUj|LZ{f`)9T3 z8U_HsGqIMIRPBW>1m2Awut#~-K7 zKH$b+Ji9lY_GW%eGWzM0h4}DfWF+z2%jYmF)}`Ww=Kk)WQI2fktYovV=P5cPBsQPx z71#@ek9~>0M3|Rhg8$BCk86MVMZcx~+xQVPO@x~ICxZVL1FlD7#ADt#YkySZh{b2` zgDZd^RdpWy`EE?f?F5wEimP|o_NOSj>O~^=AEzQ62RWyvq#g)leoq{qp7JE1p#|7) zz2p5LxApyW&H3jQF;^=7=Y5uHVFp*y+XVgSTcUPBoG@MZ=80z&|R%lo0g4FJH63jo;q2mlDB0sz#GUmMj$?mrNk zD9OPAcmHeOumy?tBgBsKx-I~~L(2bkypdV|>-#|>R|RDmq76JkFb^oX(%}pMz@PN~ zpyR4x>;Z9fcCfIvGl#f(IhsR^9UWo!^9V#MCn-_BWChBsH$)f)1sDsmaF^f2UK$$0 zWmZ=Lp$UP$r|YV3<^!%zY3B>8qf^n>H-oSW*4-(MxM?~;-`rUPm%LBxFI?^KoQ^LyS6Mla9Ywr^RQjrlL^m4eq5y_-b>J!Lol zy93CZ6DJIXoNqx@ya>&aP{E)d_*s$$EQBZ6 z_xnok=VNB#u0)*4jjSy>dzNHcgM=34gaze1oF`}Q7t+IQveLpQ&)_JaYnKa1q7;3G zCCrW-w~<=9RGABJd>>n8mU@dD2-VUk^ittU&%u`p5s*$q9#J;A z@nxr)lY0+1LaHjIOP`j@KX8)Y-NK{B(0k-;O2(59Yv)r~e@`&5{xbVpao3k`FLt*i zFBqe|Mge5?3hoF&px`uZ?~@hM&i6bcXNF8djfoB;!^T$pWOd8b6b!uj26Is>!6xVg zp8)ZV$lHg4Y-BM1`qnwTF$W&XWoZ{5z46S?e&Sj&&lTmvfq<`g-OGLQO<$PH$M z>z&ZgtK{}`jc?;TIZx0F571mh8E||0jH02$EK_eKqLa;iW_Ny$gvQ=>SVFt_{F(Tl z9}Y8e&z|?)16TI{_mKZTBol~Eey;rc@&BKl3asq#C7?nMw&1JjE@w-d*iq5dG*moFZ~;N$D7 zE^ME9xciJB!0khJxwcR2(=-Z_Ldp_q+w%^Q4XddKwK)aR zB3U0f5fS{>XB6U{m0|awrI%~!yb*S# zs!m!u)6#81K>rjk2USs46cKv($HdTfV^N8BW2w}F$9#Q5tFSCV^F1CDgFXQ^S4Att zF3nr7J3SyGhFyu8zNW&x><|dRHMXj!S*vKZJ+SB3XuuK(K*)IB9*hrw037_AW+@l8zHTYky{>IP!+v=)Y__sp zW%#E5R|3^bFGEs7?4gyv_i5Su)lJ>pO<(eKomTba@k*!Q+0KR2cKg7D;kGI>!|lbD zL+csuz;EbJ=z2kcnA~h2Gk_%zmE_!Z5od!Rxayq8t7|)zuZaQ!z~MlN zgQEv=0KCVLX6RIF^EF5vRH`Mh^wgyp#0bU5m(w4^3nYm=&ci487*7M@ZN4NR01*(v z0ZIMBV9vbr3uQPH6a3?vh;kXP@+`Bp`ymV%E@As$pkh3qkS7KG5&VSRKH3NEpD?yv zM%U|`!c>{{r3^3m`!^JKI*O_&=L@=Gov7q+&(Kw&3__6oI{D<1Q_O#SYjTj;E%L9<-)WZNWfd9ouxbH}usaFA1PO5Ud0e@(BbA z6 z*P_Kar3-e9oIxaUktBf}J3m+30vY3e_VfSyH@+Cj4+cvD@De&{(8%=kF}A#sF&$gG z1WZMP!Bk*I(SXaP#o#cRR`FCjYnh~% zTC4<2c~s!|oY@lX^--DW`slK77miCB*LN5wT%)*W^l0?RUsDh5Ba`1~8w>z&4y6F_ z7k^FOOfnz0cQN7zHv1k(QGk6r-ClE?U&*~3_H_BkOB~6CrbtDQ0okoSSTb-X?JT`g z80}d;y2NR5{~@R-{7zu?fR+sP@50EinQW`n%0oXQH8m|QSqh9tRgw&Rv1B54#7H86 z<(Tfm){d^P+4&vxyz2NfPxd-ZR7^ah+-N?P^vbJ5jWrYikwRgiwpygxFXm+Smruts<{0L#t8QH4~QLxa*${N;PpH_st9i}E3Gsx;z2 z)VqYJF7)lk^PR&-F)-x>W*kb1ViTzO-LQgGE}s-!}S@i>YhmYDv59HX@1^z5-uaD@OPlI2bi$om{P& z;IM@n%(VmAH-{d5#TP@jZSyUcQ?~t+QKmnv6L|P!Q)q??swehlW?E~F%IV-^Q-A;P z(Mx&!hX%?K#t#>YGmxsrsze%o$KY_s={O>0f-=p7m!r$cXW!@d75Xk8){?{p8ahP= z2rgnNe+5E@m#MeKuZC}M4PA2G(4c}>qh;z2-0Y|Pa*6(Ydj)zoxx_m`R`?PU1O#Sa zzybN-L>43^n&=%$=Ugg;qc3vOW@JL9xRnN{Zz$osNfn-?rT9Y5m>4Awp%>(gU?0+o zT-_76TdgphAYj7Fp(xq>T{p#~VA6SoS8?V*YE+X((FVFg6FqE_L_9T(Fs%G~VaG-9 z;6TIx8fIo~W4k;J-oIOD62CsrFbX(}uJ9kA3T|Xarr`Zde*(=kRpI03PaX*jl%Jw` z0ci6B9>||Dv@0s^^+a-xBuNF0U+}H5qFaIvL2iO9Mf$0CK37)Zh@0s zm${EG)Hv5p79SC}a42b~lpAtdJ}gsL5b?Pc7%p*5pv3o)1Iji_hIipmn?UpYoe_ z1skxswTz;hI*LMn;tfj2^xK9L3aD0Il5bP0g)bGNV3G{&j06%8b9`9hWNhYSn}1!& z@^b*2rQzVapZF^I>?ardNT1ixLXfR*Do1fa_j;_V<>!s9u7gud=773`2U@<2*+hy5 zaq3njtf(C=Zp0V1K2Z3hD^Qb1e)A;LpOpO|aky0eOp9}#B5)k>8u3P(852^7iW<%Z zfk(!~E;q_`pRE_2D0j?#54rtj84Y!>?vA}OeH{7hl%osyQ`S~m=RuvDm$#?y39f9; ziU|->C{OHSFz&%1BA8ZD%7^tA?{$GFR*~YF9Khfph?Mc^;8W?}?@;MftYwKjC(5J0 zj9ZW;#k8cCZ~>ar5q9Mfp8oe5V|>a{FamqM?9;dVQkpnxlNv40Man#v&5( zr>A$;izGF|gV+`Lym4~m>cz}F^rf1ge`wR-UCg*EQEMzxqoF*X?My)GA^$;S$r)Lo zGV+QI5Ki(z=1}AmZd}=zRq2swQav+finOlTHdI$ft&>)Ug;F}IQhWz#=Kxj*N}7-& zchf(omGMG;)HPJrHAyR$Fky7}GP=f3@{n?PC`RWfl)U05$LSC22*8|R9!9y;W!J{w zGtJ0vdv*3RuMFgMAtTvHaZsepw44mH?SfP1YW$>+{l_PE^b+Lxht5yPy zRc{rdtwSHU_})z1_SI)&&Tgr|0tE4efx{EB1-PkRPm@t9xI`)t@RLS5B0_|2byC;? zTZ^fao3crK#5&KzhY44j!m;90fsLh(k)tU}v$e`W-;~o=bVF$uz)a3_uMO$5M7(`HPbSyqaAtA&(}{DQ zsg~h`?~|$7IN9Okj3hlWkYh!6Cq_5{fjXR;944D5Zwqa2ENxWvSsmOR=5P7Di_phn zu)JKP)zstHq&#FbUyfd!lH;ZNxn})hl|j%+5tM;oUGi`ovzi135fli!+!|av$Vaw=;4ndPa!0X&FK#fh1xm6i$jm*Lf=T^K|sNAX71<-y4+fM zSq^!sBE-ZcO`jHlLlj}|hF#0v`sSLafL^K2M{e5RvbNn-#na9P;$k9CW5YV2(Sy;K zURh}aPO#_qPLP_oJG9+zj}RRHqsYLZ7ETbTSOn$Va`ro4x%g-r6ryW0-^fj~$y57S zDQO{{T~|fdMPIy$bM-eZcb8QjhBrt4yW?^DJ4K}^NNL$BNbS2L6Wn%SZHM`)ZESxuCipjDJQG%BJ-V~R#{i{dh|_fPkR43DIi88WJRwGlbhP1N1LdWp%H zxV@~vCNmjDS#qrW^-=)*ob=U9ehijnsL_&XP0h?4$Uln4K8so0Sy*7nvbaJwmS+?n zx{W7o=NA)pIXg`6V683BcD$n@KTAnJz7I!fv2n}oM?D4HQ*E6ze$&wJFv80IF?Bk` z*JsZ}>q{^(bD;}DuUXi=vh3~NWr_J7TyMIFiVN!xjCs10OfazJy^KJO-~j(zg`~sj zmTxh$+jJQj6nmm96a7qYWw*x?9G>9;OcH1`NEUPGU053<|E%3HEE;@OWC}7Yt`>Py zx|tqyenbFAF%>NNdG{^L0mkm?|Nei6P6I-fzvrTaeGV z9AYAKzJMd@3GpOeF~zHam|j=m^#0*P`C!&rSGBi;40o(h?A3q+;RLOW);2AD;BS@K z{kwx3{`srMfe~~V#VAkY@GqKwP`~{W2VBYOQNhq&^Wju79e)jw&a~O31&K_55u}m+ zq9WxrNFCuZhldw8=3L3)J?Y6kSjFSXNtvd*U>+K62>u;VL()R^9MDrzDVi`$0@V3f zOOB(FP>-n5Vh>V`4GZS4i17}^4~$;ivy3f>rBFGo?W#Mgdt!dlRc33{P?@<-!17Zk zx7W2rO_m}o6i4tg@W6#!3IflQx6Y%YMPs0eOnq#Hl@t4#8N!_Dd;?(#TkVCz`LGWU zuha(Fz1gaG8A;^!Q2^8J39{~w3BPq*_B&$t<^rxgZU^T_6oOESw&p@^fvY?0Z@e9R zm%kLe>bB%GM0E~A?Dp*j2G=R}MVsA^x-c31iOqkIqs-QXAg%t3z$753l25@-su++Y z+X>16Cgha%*d^o^{r5AUZ_w!gMz{w}%~n6S?$;g6PGErI0fPxrSODOtplv;30N??T zCFkB+&5ufq8s=Un{cug5IK>_FmzOPq!J?EupApLDADz7Q{r zAgNG+t|T6z!6Pbijbpey9H8Sj3|N0HMliv{UYeuXOD&K81u%*Ee?NQM|I? zGK*@5o9R18F+J?jxW~V?9)4cHE56MLrp!bw<`)_UX(@tmhBeF4Sn=~xmWb(!Sq?&J z=zmaefz%bRth3Ls!7oP*&@BqtuC4Otiy2*r$Pi9LdJgTp5n6akqK9Yq z%|Kg+B~g5+t^_Fcku<_sJB|_hn506r^xN2 zJzCsw%*qBsCDrWXNZrPKl5%7*VbFsRzUg;0y(Q9UH9LEI-*NT{t^oS4S1Zdt4E~qr zWfSEN`}+wRsMK5q$1?RkgdT@B#lCp+>7|b%D>SN&Xgx$QZ9D9Qs(Yq3PMk6C?1o<_FoEM2=+&v~hz*Z7 z?v_K&%>Om9__*;$+y|nJ+;3&umUScjWZMy$B>o#>;^f%jnA(2=95DaCG{MH+dZ)9C%cY zpaVx1dEtMoW_fmJRrfj8mGZ`wzI-^o9B%S&4LHhw?(mLd>%m_9n_vF9jf zq9~nND)g&miyQD;H07tBuT0@1YdgM#5XDV)C27>`t2^D8191&cqcO=in&mySgSFeA zeB?ts32z%cLyJu^4M+E|0N@v1GB-k72_5K)8% zbUcU-B&Ri|__jmO6_ME9z5wJ<aP;jUS%U|auEpr)(){h76?bo>vB|EdNb^+vp;^M&<;|g$ zyP5tdNucsh?`Dxgf?i$4>pXx2>pe5p4hBcV6zMW@pWWhvrfbJ2eG@F`^rj({rej?! zdC3|ICh;r;PrzFU?hr^WX7cZ(x7PSj_VXR1>7jo-vRZJ@;g6o1T`Qc{f&sPHfFHKc z7IH14@hmpK!a3hN%>FH!)?zF!AH7Z_1dqTeB1#Q4<1Y?;ll4q_y;7(PjuMYpjS6=| zZ(-F{Yu)pA8+v!QezG8ta^a&lP?$4-sU%v9e)+=A$=lig>^3pqt{yx z;NQw1<*K}!PFpi9`yTYMR;$3v-`TTjS2{r_=H2mss9$;d{_Q0<-N1c~|C-imrPM%r z0wT72pZVV8ez8GE_Y7T|Lb(v1dVciG{mqW@iTF?VqtL5$`u=smLkle#ci*$a)+-8e zGifILPnl&lz=e{2N1Hui7b-!QwQ+vBjrhe?%s&h;Tiiy54*WO=jmx4%! zbDv5?!17bCl?Dkx4NN!dsqILovsqr@>vu*$zZW$7PrYgn`ewzoJpr8HFd#g;L@A7M zrzMV~jS~vNmlr=#g~Ppzo}JZ}@T<&f7RvsR^x(^#tGTLf&kKU~ZT&P+^3W9$; zWT!MWBW}lsfY4l#K$K^UI!#=2kB9$(6V(O7Ew(jfO;>9rDWBeS*|(*-b)1gb8aF*< zQ!ldW<$iR!S0)^}xoM;OB>0oCSXCF3b;8Qizz_Y&T(3=q79KKofxKk`oX!`{?&if6 z-#59ODC(7qb4sG>iwTn!yYdHIwtVx?T8g$#oW(>150EZb(RCy2!s24X>2@YHFzfVV z%4FT$DGPTohb^4WBVR`j78!WvA2Elw*yaF*-Rg~n!AS3~cP?@l7Uz#?no`rOujzV z62KdTnRT*$j?zK9DyT$(O(Q?w?KFwkUoBc%r?4S?r;|!vLi2766D;`#B6@Q_cqQ7u zE7u>o3Xb(ZUvzHSAq!JTu_=p!@hMvtyrK|4cY3b{fj~o;pe;y#zR!_I)jkXX(BEwh z&EoRaNhtVV&Bv_t_VyOo=d6%wcea=E*8PO-JRb76tXV!<9jl$d~~xI zt&{VaD;e$A6%C0}B-k};>i?dZ7j!!X5OxYB}ihXx=r_tW@A#&((c<6sB>qkvPgZVDv8BIqG z0Zz5v?w*ZobTNmIe}8jLXbNzRHdMRL#TFRE^^mw`@Bx(PR7!2=;waz zeKV}XiW~_^@;*Gc-M^b-&=0tY=AXOz4D4P|U^Tv72@}`nn5gi(+19OaNQBd&sb(9! zUS6KwTAo$R*I!OeI~;dCGJW$=d!>y>DJ+pJkttJ;a$mvZNBF=$Cgnu-p-~aeFV$h$ ze#hr?ueym;hlUDDR@2j7ex_;vZwwA0kPT!~wlj&P7_zL+JNlgir+V8J2n!5Rp#@3+ zj=wxvq((9Vy9L-IGM(aeME=?H6%Eb$Mv zZP1Jf2ER--D_hLxoC+*O3d;PY#w0Y#{FYgDWGsD**48a$iih{vXa3Qy!pJ`Iw-4J3 zvS-WsF(X2robA6pa!t)JeSpEqD_Q%+uM+pOz7C$Ax^woODq5FiiTXJ0S6^X=9qTJ6 z8KN;5NZi@K&aHLT?ET&Sd9SP8+zmGpMwl}&B%MFe6(Q9II}EZcnUQVUe?6Z&+P8~Tt&5@#H~pO0|C8=1cJeB zdKE@kf0v_wAuUPJjv--x%2+0daN^?lKnn~&0^q9bu+*-7-YPI05q10TGZ+%(J=x2x zo3e`Tu+FlxCIh&(SgGXqgYxViJp7ds-Dfj&l#!1(qXi_P=`g8}J274sTNftg3%Ag#&q%eNLw4 ztVEd0FvIQiLE_#{#|LeRvo~1&xf{iV^*JAKObfD@J47N7VY^0SO0a*oL2zeC`Fng|tOeagtrR%FNa@i3VLm8E)_s z+8*p*S>03;&1jyMSJqc+Z73ovKXP2=F*kS>yhpi4V-h7xm+?2hxTz0W{q=5mKVW-0 z;1U~f9((J84Y<+LEKm0yXm2@%buuYWlw5Q)WxFOama|U0mI^7G-8F12)UpNatcL3+ z1m##Ial((>>*#vmATuSOo322=|5EqZctHqFld__OqmtP5NRPWK}Gms08Fzn$aQ+l}df zV}{#nhCAxJ^MK3N+j-l>+@}X7{#wblwu#L&aa->aQCt8}k!{@`*U^$M-{j;N4#Wy4 zVFU%)>cx~M^+nC?y#zo|;2xb0=#lxw!eZNPGTDfDo>7n^F?|y|N-^wLfad22tKm*V zC?p7&(J{t`PiUGnGUcNE;8Fo*_(UfZG%`jL4blO~EY)WlOi!0)KW7BQBL=ieRuy0O zvYYEdq1CH>KGco(vDm8)$@q1~5Oj5Q$EfuV|m~Ic%kBENiX1N|5jx;*ic0k{0UHcFYp}``jIn+NWkSkA}vb$e6UQ)d(Rn0 zSo6J96w{J&m&pH)_j2<)BELmp3Jb}krg)-;5N8{`i`sK74H$l^wd^P*&fN0|o7*Iq zOec$DRcXJC&Poj?O@iuxK8;@5po!d{)5s<`UWy9-jxvH#OjzGRxyq!_r)XS}7{$Fc ziC!1uF2tfvz6~Y_okm0P=Ko`v&E{uf4j4O1GQXiv@Xuq)f_0ckK?-h z%RpZ3zgHZQRIBUmeqh3DWM|ZrA3cmyyE&8=~r1<6imRujZ{^fM9t!rGjW?G|Z!Wk{7B|iimb9Bp@Ybq;iXm8G^wn6YG z$KFrvp;PK9u#vaxVY_A6x`X}6TqEBCFhqy<-{f*4(U3~Fo}PGj+!PaWkomG{2+d1n z3@-sR7l_iQn&>*aJNKc);%lxnKzSP1GmVnXS0o4!+heq7R@o8w=MTF4a_evLo~~K9 z%5$S1yu~laxdk*EBbPE{UlrLFGx)DJP3$+PnEwZ6%|j-9Slv4BeerQ3+KE^mwz1ma zbr38L<0EV91_5+Z1-llW;gj<75jgUS#?GPfA>3U|TKf($Ll)at3<3Wv#KsJ6-kdYb z5{9tVK>DWG`>RfD+#1E+RhwW8vofQm^CcncnHsre#Dl?VDS2((d-{=F_|Ph;4=BaO zT>1R|t-0U=?Q;7EE(ZJ#%}z2eFOz-g#Tmw~i5Cs{?j#&F>nJD&UtyDgItv%QI~4PG z=cA)16)Jp-mJDzfz^kLx;fs|%t*WNX2X8&YNhLq7eYaU!@-62I{K%;q)s>jIX=1=% z&WkWF8iuF;p?&ci@oB3|ip(jl(VjB2!;r6U)G`R`?@(XahR>|fu6wk26>!_zeKzO4 zFS4XQXwVaZ2qR{*YGDXVWD>;1dV%)L{DTPif@^yKCb=cLsp2h zU5Ww@2FJ%6i?$RhsH0BH2j0K9w-4rns#C<(U;%3x&u}3Z8Y(K55wI@Iz?Q&MeNT&= zY21wNVzbd<@#ZDj^K;XGX=n(+Z5Mq(Ko^2|&hd7Y>v$PJe#t+p+QzD6ceU^;lA&13 zf=F-WG?nAM@l1xBZ!p?OsAL>e=^qaDUuBj}rPDA{Q79E{+ z4697{6*xafM^D!YcCH@p-0a^#23%~TC=6}MfJ4~~Lez!<+sdXwUy^5`OcFkk5q&a(n;fl*P{6|6i9~`_+)4)w+S! z3U2BNY%J@=tMKra%*<@yr%J-!&YvxA!%gJhTMXY2p^Xz>;hPBk!Dw+TH4+DpJpw*t z89@}mM+<+9nqMp(xSERm{Yzt=$5Gm&nsvgd-CaIc#ZSAVOp+&I{hzx1Ud-K~gKu=p zQGC00qrZ_wNRwR5;1|o$mhqlIRdP#J!>@z3DM7eubI#KDXtK6%Usz>yZMLhd)1MHO zjzGb9HCoV8P?Xj$&m~{FW+LM}UXV5SvcKf^YRA5>$K5W!!6;y<%k1l#XvVridK!~) zikoKa=is?-6-a!5Lc#}47jJ+6?dZBQ`#H)*3+xVI#bvMw*Q5j-S>uqgIV_1|kor=_ zs!1gizbb1R%GCKTH=~ia@i;$zkm@sy+lIv(R1FZMXuxSC@&?b7ds6<$4ucT!S*e(* zFS-XY5=i$qpnR$XP%Y$>X;i$t^5y2m%wQk$`Irtm>b8h!k9+m*si891j^dy3_soaY zN6e~jtqz8*m40^zHBp`H736L$-mcZ3WzuIFs(7C=li~-;*f*ue!j3o4Ln`9fCf?_i zlJVy4IRM_AaT0jY!#S4(W<<$`C~Lw3GK-c6kCFQU6!g6ds+{8>dv&E7@WZgYrgB<1 zqma@(p?{I|UFm>EqLh=yhiYDlYR+dmhJPMh=`*PQJ zb)FG$EWDK^w%UcNi{!LsqGw3)gu#W`v4LGsaQq}<$vk46YRm~W;hJh~cKA%hkV-$gO< z$SP6IdlS5KP0&#a!Kcp|iVRAkjNkBce2#~yG+3i)c9>@F;&c9>m=}EO&1aiI2#zo` ze!rdG#jDI;X%(%JelJ5nb+O}QO-ZQqw+d`a_AA;T z*AT+a0~f^y2J29zckyf}k!(Rz*H(u;{b?b@2js_+ubbu;m>9?)raecQGUuq=JcjYy zzoH;M$TrP1C09LT+{Tc~Pc~}!ZQxmpy@8{DmFVp;k+=O%K}9%U3#iIcx!c{p$=EEuA-X$Yh;iP|9P-9C>pzrB z)Ul1yfFr7b_*-3GP!qg75jKtDU}3I^Dn7=?O$|aCB;oKtK_Lbj`A4A}0 zzE5Wi^=T?RWt!{pfv`%p&V!}W=BiPmXm~13Xzt+i%*wN1o($Z0W3h(mc5yMTWI-DB zE+jUaVX$9r*}ui`%Xa>zdGDNAJ>qxGF#Tlc&-VUeU-s7$%^i-aO; z8J;>FS^;?&wMo`u@BBR{3rku+M@ms z`eQ^P1@;yN>_2R4a}@afwu2G!)02B+A$=C2Y^1-P0}(z>)1x;0v&mtn#+`{t0hVi#O&x*fZlw=k7zHm z4gaIl@e@XX|14BcG3w`U#UdInm=QT)Fw&HrOG088GIR1isg_X|Fot+3>k#WhVfave6i9 zU{}b>9zsydreQ1J9x`SPYMXEKMSght>_15;7$TvWqMF_OcYc1q{-byBTp5q9ie-DV zpLy&1PMT(qGEDeLG2+ekiO}cs>x(ub4+e+mZkpM{YPszTK~^cL)8Qs9c#W1KD^p(b z?Q!*0>~m4v{n=B9-}-|@E z2LwQW|IA4uVU!2H`$nZqxOv#%eY`O_(R#aPR=^p5wJj-RwRSVb#IMydDruSXX-;2t%q1>A+HbEn z8bb=Cb0pR0bpDzNUff=Smt(Hv_ST05+0TPDA~Ko2nUYJojfC7fLA+L%O# z1zcC$UVN-FjwVBHZ)pfXgEZhI+L|tWnc~8NbjMejZBdL}97RA_R}ZX9Wr&J3#sJ$L zw(*^g2c#9`mA<#TZ-jMvAE+`kxK^zT*ra(&^XX*}+`PsyYETIku6~cO{{FWc!!8T0 z^|A9WeSbq?`cKdJh`dN=B>%_-ukg1XuIc%hK5U0(o8}qbn8uge#Q+$cfxm;4`<1sV z_Uv|$G1DNlylW-$#?vKO{!PDg3&*D)*{>1}7t;xIhBQXE*MEJh!&awFhUgF~XyjT? zUdoK~WeNVX;+~tC?~R}WNudCRH7aEle^2;guv!UulUY8NE6;9^}O3 zE8Op@p6}`5J^fNY%&^`bV5}Al{Ry)_t=?4_sa?G2bsih~j6Uu=J-{)Y4ZbIZoW9ij zwJuAe4uDqU*7{D(xK%z85Y$N79z&EAQb;6SHZ1vuM*S-UvWL>s7|t%yhGLu4X>&_7 zpyY8vzfx^;n~g2pUmYKwY+SUS7IKuY2;-ye@##ZKUb{qYBVmX}pAQ4p1KB}eG1II` zD*KF-94|sLpdO=1Du+5gU#8GHO4A^bNML_TA(y$AuWJzoALLAe(Lb8a2&s(M04%wG>P|KntAh(D1jgtxOcU4oi;L4o zye2+r`EE}Nml3Nm5fH<8y?tiH#RR+^@16pox7T0E0YAIz?Wd~93X@}<_cyJV@vTCC zn?`3eK#l9)Ss6ktb2GReD+InRx$?sQgnqQ&NyGh_QrWKr*lWeRVeT`XxEl>430a_C zy_Z1=2o1+~5A9B`k5|kZgwi?lSF7CLD3Pjb-QPP?-ktH}nVOx~?qaqsuHjRVQpA%m zG)vq?Cgyfc-3K8z!)i?2N?|rX6zq?rST7gr?mAj8sP9IE8Jf=qpCY|w$}wA?Yah!` z)NcgQ!l?+$G*ezGe%I;?`<7P{Rqcw>h8~MKe#w2orUw2`AOfNe+yF~HeH_FE#+5jW zYEMzgsB5k^mX~R<=P1yXX>v`mQEH&tVczNp2hzx+$$!MF9Q!;IJavN z6VEQw9-oza@MLm!S|0-wtcZzS8_Iv2YrVhV+lq`7*^TviM%^jn4*okdr>D)~ zIPo^$fPY}oSGVpB2=Hfc&|c-D%HzAwt7T!z}3Mrlybs>Q2hNCTlcNjSxDINlTR zGZ`xU9M}KQ8wfOj{L3o4!6y>(si%ML25I%th$Q1O6s*?T7J)9FzOOe7x{-e+# zpa7Io{kKN*g0-)7D(je>oc#H{Y&JMyBzK)Q8R~E|>FR!ceE9EIHRNC@TWoT6((`6; z{9bVV8mm0Z(Qi@G(|Wcj>b|?1p*`ofyml%(uk%Jd&atx4|DY|nOL+6WE~eAf@xb@h zVrnhsp_AzB{v;2;n@cu~=1TWp@`Qu$ncPbVd$Eu~>Hf}si@!^KQ#pbG!JsCf>8H+U@OmuBWW8TW5JZB7;);DizboEv?>5-Es_f ziFaGsH$!*B0k>-v*CV|*L*8ih1B^ADsVjk21VNx36ggU&0ww(!0{n?!1aKQgtra`8 z`0?^;u{tl}`#hKK&N734v&IIx23zKGY%s_K0;9*}JAb1-mXZxdMi%jf-?y%*a;iTA zLXYsmdY}<%uZ4uOdBx_ucJpg#{bd`NYZfOH?**ls@Uy{QSM0TlAAkHlzk}>l_Blz zK0yEwhDf4cO%%V_`^=}C!& zFkB}FocbttzRo~9#q+E}&uiak!#+>CK8F_QPHmG#VMdobcvO#WK{_S}<<`%|yjzO5 z%MKwCU*9Mp!=ZB2e?$Ka)N(z1_&TSD-te z9F-HzhwJKrI>Is|>YHFObD0bbb~`)n3eQ;0qtrR@N5UBVrc(N6XLn0CY;E!4)4&RD zFL~nZgQVo@1M^sHp^H(iq8FEUjRB?fRfv;Dr?MC+Mn z4)?W^zT>AnKL8^>``F2$4~|IE#X(zsqJ8Ye#;xc)Plr>$-Bi{l^*y=eHBM6!7L13V zmHjn0^|ef_c*B)#>y2I$e>oM_#Lv0UTqZmQIw)gI@DsZmy=%Ph+Q4C;M-&D~cA$2X zK}8>NI0M!|R1xZ*0hbNWC@$60!ul^(7X2PeT`U3W_?ergoA@hU>DGSbBw*}y$uI+i zuyoNNe_Qdi)MC|-y>BFqthcATG#^9R@@n|Do!z}#t`FuqY#RPf&EzPh;Q?5c72O__ z;(s6z;dLCc_^hmmKqIt6^k z+w;EtLqqA~toPRlzMOhbYPa6XCgd@zQcNI^jWIf1EDrvwyG#mVUUy-doIcC5b^iyn@-S2T4{nnI*F3Vdys859&`|ZP909gz-J75Smooz>sJtI!Sgz7Yo}c z2=`y_y1l=(cC&NtIkx|@t7rI7YqD8DjH1hK$6h4?uFTx1eV?1?yrFL5w+}}tCqxhb zv9Qjf#xb{-)^Ov#t>@eCiFwutK3&z7%EgOMTB7mYPQAeA2`!AaN3ZwL{zq`{c(rF` zdq$Xs9vL4py7p=T+pa#=5CWcj`1A5df{wC$+f`vSFCkD1`PB5CW`1HwlC#?*Q#jM( z7m&D|1yj;CL^bSpb{2<9Oo5&c9pJ#+(Si6==r5g2v!Y=Vb)kHRLwYdVgbKBJf>kD4 z$)o+vu7U0028Nr9EA5KC2`HmfYmaL}^C50~-EzGvzan6Dz%V{6pOWXsUrc+&4}|oK zg2BhUn_*k)z0D(D>0ENsw7rzjAV;~fC&Z!Z0;;?2t@BEc_LnVM&yq7H#JtW|64!_L zE<5h4l8!fLY1%g%uW@17G2Ou)t(T{qH(i`fRrK@C%8D1Ywc&eb4|!zi@}jj!4677` zCTa(xKi_Ch+N;Ro5Zc-XlO-AA+z4XI;xUk~5lF`Ms$E>pgv&jM}wQj{6Yx>4mv0 z_OvVWrer!WFvq`<$EA1nMH;1b-%0V-ncYDpa=N%&Rb@zE%hkp5_S$Pce}?Czcy4+U z8WP43(AO5rcVB!*{I+i3zP>P;Pj>mx(bh*;nM%slO>;<9uv4NBgKXen4DnW6(zmbC zOkxS_L~%ueBv)9V{|5;{_P&|`6iF0~W@j+m7!=xQ5k!TrU*9{P&5u{>le4qbS|OhDMX(Yty1AihdzT)*3}f>T@KR(v+nZ z5j3Giln_Z#nim|rhz~vxhy*_z^xpgWySsb4>KER)auG5DAfQqtz&?cTO*2b3I*I_1 zxf@gQK6WHma1p^qVP;|9df)gEW8)ox6j`CPVU8%EwSt$3LlF`nrLMj8*45kBzBC-Y z1eOX5xT>t@Q;1HHS}j+H&tKH#^6=TgwVOBZyz$!M^TW1n2cuz<<-5C^S|KTIlVp2$ zcXMkaO*8>egLMa0wW#i7-YM20>JW zg3K%|A#ya4wNXTeU7KcUzgL{RIM7=1JkPTnP;R|;Yc`z@M?;&WD9ll=T;1pB zjWu2SNe~1PlnpE)1O_CD)nXo+1{D#2MfmY|f0%1z*WQ2jVo7x4+I}xfo5m9oSp*SH zz|4rqkyVluiB62^*wjSCd9O5%Mx(itwQoZRN-JZu_r8}V|Hc30Z~wxTtv~$HC&y*^ z{P5_rZ~w{WFMbV}wIZDu0X%;8yjNs4O=IxQMek5`lYUGHidck1I7Z=^Wa+Q`#;<|E zCqMq^;}1R%0NpqzjGdje8VJ!SB@(*uw0+|GZ4iQww_m$s z2-74<5;GX~1;WPmZkAbT+l|SvSJ)&;v^Gd6fLar<3X#2MRH_TXkw`AO*|1*Bs`E4U zo<%18!Q&r%xRIw8W4SJ;>++oA)xE9ET8<$`E)o-?mlzd6k{A$>7*b<2l0*&w3P_Vy zN*~OY)7BrZs@H-uLATK-S@z=Dvu979-rU{&8?WCe`uW@MeD!EqR)d?x@M?B6pPwAP z|DEq|Z;XEPZ~V3~wgCVT)8SJPiIk9HR2{4OdOkmR@-WSd#j5)3le=xxT)%Ps#+}<5 zffP{}|259H;Hf2biGfi_%-qpnYOP|7F>+TdMTBl3rqjH(brJ;?B4TQj#3WG|5fvb7 ziavzkfx6zL03ydwmg`VC7H;as2ftdcTwT^x>q7K_%h`gP5+&A6xUnI^x)|wOn05hA!q$ZuN+aEnTw0ZVy zQJ*i?xyiDkXzSXyF3q!p!z15@D|hzWvR=&BKYp-y``3PD|9^0+cy@pK@4q$Kw0Yi( z!d-1zb#-#3v^F+LMQK-82&|M=%6#w7zWemx?BiLT<@GI-q8cn1~>8=N0wN*+hh`=1YAd$8vc#nvrlugrr_oI8I^Ldsn z=FQ1sG0xI7F}+@IV{>b{oPYA{?mO?kGuqjCdjG)>KD~QT7u+8tSuvX2{H6cJKTc!2 z_UANx6unoZj8=qbv{niU(dv$SD)o7l_lx0h^tJKUSHJP~@%DD!>yy^nM{l))&a+7b zL910}lhj&35n&$!N5#<*kv57&l)@x2b?pG4qpkHm0BRzD03LnqnsvRF2&qkngRvsg znnFPD9fu&+D6LRwV@ppk>PNJhz}nl!JF#w>g!Wdl;jNRlh zaAtd2DXaB(*sq%UWIC^-0|2WHw&1+ix@(4DN0h+KK_a&-qO~RwDX~JtR9i%BU2RRO z2o+HP456b}ATZP)PkQ4)baihyQYZnWHy9FW7eeDA5-%!uy!1X;7qyNA9Xv}(46&}8 z#d0;DPtQ)K$A>5D)oOY^KcBAiJcYTojo~vdY-f z(CPW?_N2V_*41*gFk03R!u!9a_77Y0TBh{g4SE4_0D-TmrIno`6?D>=8lWahgeos zHnP^5;3JA-LLz01b}@8>)Lp(jo(xb5W0M$~*0Z*mG6ujmAppx_U9Q&EWIWM2S(SCU zF4xP|>G8?Q(dpUw?C`}&+d3c#A#QFCi##c=Y>Y>}JhL6EE^~0LE7$9j!)mpvtGcPG zCS^|l#$OFruGioH*Q!9YpQm&G#sdQN^8)H&rcRl9uAsi|E)VWUwiGwYp*wT^PPYH?dj?H)tlEz zQCpS4I}s*DFS+izrnnvy{XwsnC3e0ni#+qugb-Hc8j%zc$EZnJqa()-ib6!r2Nweg zV#gIoon?bp*K36k>bl8PqY^EoqQE5yxb7Ol2nvynF{Bbf6u}s!ZCpKFtk&gxwy5jI zx%T^T>+NL_5&&#qdtEQ^j z)`b{_nMoUEE$ZUxH-2%keTz;`?)|$z?DYoQ!(mfa>;oygt}A2Iy|d&0>UaP7-}@i^ zr@#6)e&_MWKc1hRD1;=#8M;(sWBI^kUv0Wc>WF3B2+4o$tN>y$5$6?CkIT z%5VL~U_6Y$wRH%=hZvw6tmPmgA^6~&9uEg~)67?E7yPiu0H_KMq5_DksvH)*?Lm)0 z%DVQ!BSNo8L*(VU>fkmZMy-?<#mq4ZBF4zZD5G_Vp{gqsLPA5DB>;#vod_93fQ*n4 zL;#8c)9LApr-#ecia9oA9b*)UZCx#z7zwY9Q|A8Zsvd6-i%jLIq8RH{Jv}{jjcZ%q zw7zLV>qFPR1_Yvx(O!{Of>2l0*M94-Zrr&un=kv1KO?v94F`kF`l=$WmW$Q8ZU7<6 z(!;aU|MLIwe|zhVx9;4!E=B)zcAn?#BG*m5uA8Iz>SVcUg41M;GR)F-0yxBO*;wgh zT9(eW3LsC5D$l2j=|{)2Y3<&a6uF_$mQA@Ng~59yA|P6xFU5^^CSkT%e*Z&NHSfIl z?yWc8Op1OCK6p<`#o&zA9)wVdh-+%^oDk{ds&wA3n+iA*2m&y(wU&qkP!It{n61%S zWI)6IWt!K7!XicbiH1Ll^^#{&JO3Z>E63vx%S@IK^r73AQ~iiz94D@ zsOvSYjmmp5%RL!gl~okx5VR(nSWwgi-=SqhxM~{DzUw0<$|9n34gk_LQHnx{%c>5M zHL=!8b%RD7zYkI1NDzR)`4$0EYZa0YzN54b-aY^H;~#zS+1aY}KJ-VUH{ZV9H|f)7 zFYeucdU`r{&My`#LF^3%o0E}>{bz^gFHUBoVb8bj{Cwf6GK9!Lq%P_BI}#+M&S!VL zLB4JKiTSHve|_}LUpQY?(MQ)bXUpmr-+kN1xLVF7@_N1UF^Y&nLIfX!BH9=anWgbA z#K_D59m^+o%PNJ{1>OjNLsx_DXnA4)X_*NmO^f+r<}rT%#d&1e8`!`h(YdMpa=rHb ze&h>UP4cb@_2G+y7t_<_V(B7G-hOj*>t+Y^j^IEJ}PZiTr5uxPCxqO;e%&K0^~yo0meN$820LbYbPO!CUULo znj~%=*?VP-BBqBrth+5bO-&6FBw{Ly(_I_r}_o8rYqHA4M-aR_o8^qL_5M{Mo z0yD&zSc7#d0^J0~yI1UF zC)$jK1f*P?=n%b9s_VsrhxNBD$t-DTrh@rbAi3kBBGsP$%-A5I% ziLyo38w^ISac*6=ttUmAI_6nX)^6OovvvD65v|wjCl4Pze{sBM*fSTY&Wb`O$!xlq z^s>F}N%ZdYa9yv2RgqC81_2p5H2 z7Ljge7jz8`MWnm31ONzdU_t^A=RL)4{fJ7mNwo>JZxfdlg(6ihmd<&y8W2MOtHrP9 ztK$PwiesD}JU=@t@4WqnL4SI3f-&rD?ii(Vqqeq2cOSgC_whXpb&{w=X#`lTs>s3s zz1-fows&%JRyXb5)?_puSL^lseEQnn=6~|FH+mEgA3ut%JFlT0H%;($Q?Hk+7{Vuq zCk4pc+Z#&hG_k9?(n=u_OTY_RT?nreRg6(C)*b-!MI+^>zYBm;YFajj%Zf<EZM&&#aC?m>~xAWsE+wRTKRAa;c3@O%g@Uj!z!F|Nj0j|I&1Nri_8D z9kxA1y1TFdK>#0o^20y+*WXgN_Ie@^<$`3DMN(tlym=$CtgA{yfY55C>5`FxC3x?A zh#>+H132$O@O;sE2NBjphA34=i)vb@jZX3;h8VraEV z<6FC1SH>e3B8$xD^J(kPBA_DtqWmtz(*bU=bG2U}iT_+#L4af1_)O!XsZYwfuo^)S zWGmC7EUnrWK^ABr?Lp)=R^nQ-nrG5DA5)Wr7?jq?(r_HT`^F#q{vQta_j*@ucXK1% zwS`2dM^FCcKlyJ?4(B?u1o4QZ6{W_6827ff|N3A5?eBc={U zHh3R9@)S~+D=RxjOWoC$MIc0AM#Uk7+1Yt;{Uou>+_p7}ps^e=`T&3?$#i0q)Jna) z|Kkr4=__|`_WJ$Z+c(!PxVkC^{VdOZ`>+1yZ~gYK8*2pk6molC-I-8g+W( z_MI0`pFOzyz}ocS*}<>h+H6lxmOd=cr`j6Nv0SZ|r>9O(m|as3H1#zx!tZ~4cU{%5 zZHyJEEYItcsfYsk92(g{qA#uJ1Q zp|I(?sU~SSYSv2Y(6-#v&bLbr!&Ju@LX36OYzzj64;~!-*Z*{`sknNBf$$<&1k$=( zEx!HV|K7ciACEW3nmeNa9HKY`1gzV3dOo$B1Ezz0Nr}x7=kur zv=%|FNlD0!Hrgb{ZuEzPqUU@-2oiWTpW|p`)1(Tm_kl<&7LFW3WM&Y&dgJ!y{;lC? zG}+qd^@=phlu>u@K6v=}nXxv{lAXQn?Y%A4GY}v;x3@W1O;1}eG0I?b^Bcc4d35jI z^nA6NKfATn+t#vJE$ej^IVx6F-PTQ6&dyt93@P8Vn<@f_zO`-e|N5i5U)|sO+RkR{ z+gc<@)RDRw)R*Ql#tT-DmpaEB5%eo^yDXLK*-gQR_K^M1d?xmep#+ z?NPl5Msw4+#x;#Ek;gf#T@xj;XCMq!O=stS4PfChBsfQH;?C?*oJwtqUETi@DND_b3MejzN?* z+Vt~WT`oZnF*d&SAzH1)<7$b+(Ktync8()=Y&8fNd>CzyzwyRbOp=hkSV0QHKx#7V z9a^nX_O~b3ZeE?wX8za}y}q^P&g(bV^Yf*{=<5&u^iK!l$zT7wf9JKYymfYR^7LQ- zxAp09Rkv-^v`wpwu3fXPs#UfM##&MkVjA7r`+-qKW*64~$>W1XRll(@M5RKAn&1^t zU8rCuzgN`}AYPa?xPaFnGXaPI6DTGH3?RXCKe0{V#xsZzfFdQ)jldsOjsstu+(fUP zPZb)XHb#!jAzt0wym{xX#>L37t;(Z=r;i?dHa|Z;c>cmWRs`O8_4L?T_5W z(tJFhv9KZq03hryMxdeyvIqziX*$S@&B-XS)HIDoC~VSIn-I`P?%bsF9zh5&`lyUG z)__Dr)Yf{}P};lx`s>-a0CiD@?M@ORSOSI75Ll&Od;K-vwvX>WvPrVFv(+rmrbo}2 zB~47VTE6kM_ul)BU$U7Q?Oj`Z`tkJPeIK~2%BF6TBzbyr{P6tTY8R(vv-ELR)&0z_Lq`qw1uOdUmrgaiKu=KUVknh6Cq-j+H3#Qo(`xT}24jq=qD0$u)AsX>LCWRo#xH)eYMU^hVp$zL{OsYQ z&s@{aPs{ny0s_Z2QeMQlkr#IytBJGMv=fVTok6YR;C+q3c;t=Uf8vzsc#x%3?aAW>YZ=?(tE%D zOCS-Dnv;X``}cxK-L}*DDlk_~eK=b#TOWKa!8;$ww-Q_ozMrJy{t$#UVrG;!s%h#? zLkM&Uo#mImbhflh1TTy#pa5Uy6?_@-2m)~AY3UYq%Pb0nAf^VR2%w6>1fT#5Zd6nG zx{a;x#*za|h>QTJsBYUNO_yh9r|A(1=|4ab# zJY6jp&IbT6s%y=2j9`pah(7olK`R~Grd&gwZ!1N>oEN>(#sm~X{8CsxDrJl@EY35AANd!Iv0@b-Tkk8^P8ZM9h1%Hj~+I&v*~KRS}c8Jt!c5Y)~ySI z(liQHWJdNZ4ul3--iF8=`-$QhhG{mf>a)6nEEWDj+INxuevxtd)szwV^Hfm)0}BeU z00SnLSlA%c!hs_LMvhF7KpZMn20;cw^pPzADvS^TWL?*JngPhkr=J$rZv6P84?q3* zvrj&KyjYa%uTOS1A%yPiHnZt!y?XHCFi|Eodatb}bC2)nZvygI=Bi`3nw3@zEz7#YkpSLpp?5H+2_wgbHt{_~lR>~ODFOV+T4}Zq87(~1PU=d|`qAW>- zBr)4tBlc^pDen~>$zZpScXf0yTP~)nRgosGGaw-3L4ZZ7Y6apVBU;Vi6GQ6|rsewD zuxLD`+T^;U@n9|766cATo+mD+j?T{TQ_#5i}lG_1s9Pg03fh1fR2&t)+ucO zpl#X?uj`|DA5*Q0#2T%abrk};5JO}_RDedQb-8+a|8B3y#-ovNZ0m+wCx~t2#(86m zwWt+^7(Im;5rq?zG%*D4dwI{-^;%db`OE#nUvfw{sLlCcXstRwJW%dObT^Pv^a@338OSojrf*LI8k8RU33#VGv;m7KPAwl`7yIp>17}7qfC*XiSwc zs5A%)MD7?f@F(Pl7b7Vz!!3E4a&*yr#~Sm}_yVD}CbTh%xFC6=G@}T&-eopp1SVmG z9>q+!iB4k_ftJBV=xNB5@ysDg8UrER+28)k{@(i^eR?)~D%>?pfCvP^TGCb3G|rEP zRuMS>5yxt_R#sS}0f2qr z5bC-CLPg}gXOTqdQ2~fR#u$Z~Ftm+pTIQc2KL7ye3b5ALK|edV|H*?-?`1{*&h2Z- z-p;xz5ddQFZ3_ZG$}Lu_<99F`{r7C-$;z3nJ`A zM3Y?XF2PqV=gayTz{TX&MIhhB(XTM8UL+udjEX=42OkxRFo=&)m}86`AE4HdNN8g~ z1&r7P(Ex)~dEp2Q2(4p-aXnvVSFRv{Mu^?gkBimw&@Z$GfFet8?rztuYZ`}uq|j)p zLt8g7Mz0&)c&`;^)^Ln5MAGC#sG7DuJn?~VUfEBRq$1?5w5F+b###$Vr|T6W7^8`( zj*%1@r4ZS9m*s_4+SO%UmE)hqL4$w*im0tt&lmIIXz-PH-Z(p-m&zRV~325fTy$cbv~Ch{7UzRP?qcli&K)Us)^`&7Xbmd{ws2A!wyA zvaqlZ9+(Bl`@k^{isH_-8)a3utrHY%{od}**2ehY@c3-G1YoVm1(&61mL$u%u0xAn zj4^;%H4OqFi1RJSn4~!ohPH*D#ce4UG^gcy)mH86Z@<1V89jRN^yBy6*HV{dS(kOz zYdLmnW7P8CpjxjG6^Dp`tq){@Sp*_N0QO2HkwqI-`glBF-QJuut_c_wpdos;tk)3= zrCtqQ;DS0uPynMS!YF{;4e>EvjDLJil6%po1YjT}V8D0Cv zM=uhA#l;vIv?gmzN1bMr=_(&&2!DnKUdXW92us*D&HQ}cl=Wi1I-8aEKmKSu$cK5t zF!Vw|()_E@+eYED;v`iFr%Roa6fHHIO#j3W61w?qI z`G72+r}`otXr$XwD;K$}g3k-xfL($0f(rrz%c6?gDRhgDU5FebAw>=yKq5uv2%^At zWdZ>a43T$wNiVZa@QL%|LEo2Ub~Rt^Y;AUP5xd)yKmXvv z*}5F}23o1QX^}9q)`bu_zBoQLibUY`J2y7Bw}^;9#?Jpt> zByz-96ltO?$>*)Om$G_wPuI&YL?ES%(jCo1mZeFS^!s_5SZ3)6LN3EmUY{H}@2WN! zrL9C0p$ajxzychZNPq$nmLa&d9cIc!?>T59K{zU1K-JAibnC;ISptJ}Yvu4_LF3Eh zo#9e=z;b!HU0C4DY8)^ElmS*=dZy#R77?*p3%8k44gr{vMBznv5+V@5ATy}2a_zcu zxlT8RlbH1gPnAZA7rO(!uFL=H+rnj~%A5O&MvplKb8ORP;3gM^?2K^HbLq*y?sPP;i9 z?n2|2EO-|`5d>ljNTIE&x&qXQU=%_O&V|jbUNT>8O?ty`zJ73c#(_noW9xz7=LawF zvPNi76&lv9TUKo^wc?^kM6F0YRlfnWEM1d$lGb%(zkjQ|j5fLRaGDsvz6;_^CO-L<{ zQ=SItW6BuRDXSyH4xn7cqG zGD`&NXpew9y}A@)hlgWeM1=_4oxzv(<1*{OivTDBc55szcU)?!8g8P9Kok%ZrA%Zd zU}i`XrHLa;q>Jlf9Ylf<3OHDBM6A(T0k+0ity}L=Aqi5q{uEFbX(q#gQYgU}d6H)4 z?5uk5;Bj5I^Tn#Wwgy?cF&r++5|Q?{w|94UPS4H=ftl;34#78dy;xV?g)~n^Bv9zs zqhgHAQ6n1C3J8EuYa(u&Dn=$!SspG1>$^+Zx7BLunwBFFNmI`2x^=^eYfB=VB)Tmt z=Oa-sE3!d9uhuPd2f;;-(R9#q-&&)VZBu(8M5WcVY9>Y2v&wtXi47d1L;(YWF*1O7 z<|uSQ-J%EuI=0bb~g`g1PB_sd<1HdxKY+lw%y{C;;%4nrjWQvSH>f+^fj4?}+<#KJ)Dv5C}x!1<#Hkqi`3yUy?Vx3~{=Kgh;n?QvjGnscvA80EC$@5`Ux+ zd>7ZaAX zRyu++K ziZG!nieA4c7ESF#$diNtyhP#1Q4-P^nSBsTD8#@*sI(md>iV zj}jRPKnq3yqg2`YvDTKLWnn-T2{D3TM?P*9A$F@m5d{T- zA*M;vI6qy?71D4x6oHNLW?tlVUB?(lz056Wkmp5~C(Z+5;Lx;QlNP`bSw}$%!V#42 z8f->emM}klSlt+|m*;2G`_+1Oc6uP2lu&;NXVcRR@FY#&L^bnZlEnPUVyqVL{?pO zh8Y0`6?6>oBFF+LAOK3e;`;E_*y}PBy)4#r^qUtVgbN`fFe3{@hHjO2 zSB-=Kd5V#NBY=oi(9^Ipv_q>tc=BXg&ck?^Sfkp2bQ!B7MTmM?RaISsjPhRI?c~YQ zB(?TrHfx&pjhi>J#0HjLkylNF2uWhCwa$AR?3LHAjW;$QeD>+t*_jG%q$yWQi5S8x zO$D%0PDDCzkwjsL7sV-#D998|l1vYuJ$*8W(w-kbU9HM$T?ZGdW!W^bsk~O{mFp?8 z64i`0Hc_ehe6culy)YU3D5(^SVjsk?5E|h@&e{H>2u%+2`9=6und;jT#d+)iabDlf{48qI+ zg8>LYAVClWGet_IO)8i!sl;;GmQ*gg%2j%B`9ZeJFAfh*D%m0_mLvv|1QQaGCSWiL zGd(@s(>dIH;ve?jYb`(g=iF}4KGk*W-cz@#yU+gj-fMm93j{HOXgQheZoQxNI+1xc zE~}ZZX3c0=BU)>1Q`c2F?Wf(&=JNR`pXzk-;r{6EwfCFZWN&*nhQI+t7(i5bQkGR{ z@+9qN+19L?c@C`38EY_i)YKdzr{J4Lv}k7}tsWSJ*?`P{VguBE`t2!*NCYI%W^FAH z-9xk#R9lcuaUKc1faO2|7!(&2DFqcpFB(Mps-fWVLeL_ z#b#M=uxziPCBpem1_ea~+xTe73|3c=kR=+TG)-1k2Axj-*4;b9(Wt8H)xn_O>mky$ z+qWXe-Ti$)eC+&LBG}*E@l7~>Y*Qwq;i6#S5WQ&(xuyxK5z!(7OB6u^hN0ylw&8r- zG|j=@ZXaWdr_82JIc-`s{%lqw5{S4gNwUm3BcdirRyH?RH#YXSwo(I4P!0jWZoTtv zHJ$EovnNi;sd451E(#{LDY5y=X(`_MZEV#nt5qdxi#4n0cSBy5D})e8U#mk z^Su=Zn+1iY>VpxPp9k8)e5e^aJqnPu7fU~O$}aIm+(y}h5NX_6;Z^py|Gs>~dk#u;SNswx2hFwDuQ#)%5d zz4XuksY>)b9Z$)l(x3tB~(Sz#&H9(C<|L-3?dRH z2J#dvfrtvAF^HfIqfuSU>9LJ&C(XcSOHq%n40gw3B0^HKWD|-}tRb|PRHdn_x@zjm zH%)W(=B>MXqm^E^xv@4Jjg4^tXi%N8ld>AD3{D+C-syD4qp_H*x4H%jd((P*JR9^o z292<^_jsP=E8Sl3VQ(@ltJ+z%*0lCTYzRn#5BYMjdi3b-{=MDZQR-5aIIEiFB;8nB zLZsdO$+hdZ?rm*vZVbBJmF!$E$!&}^#M&6lyB!glO-Fl|-<8?;=<4d-{o!ypV3oPeN^fzX#~A{{aQZ+ zvNlVyCr+JYy#4;c%(DjKI(lod3_PkMAsR&ZKnk-F;eI9B_$Fd zGq<8@>rYkG`LE%^FL~Y|-p|Tdz@~F+7sN%jRC^LA0227f&Lx>OHi!yX0z+U8ID*td z3K~4$+>eNm8cd*!AwK=#$M1!3tsEk%vSNxzXf_M8F<5%!;q%s7?|tj1*za|_S+>5m zy1djqI2Zz$EX~PKIh*brjF$V$F>sb9r%s=QBu|{n6Ehl3#(VpTctB;9Bu$Z!gF2z% z{{FCcpm~Y6+KM~A9a6!*k9_etq)e#x@#LN1ZFZSXVYpttwyt&MF}Z& z)|w0nI28=-P>PRUe>wL5G?z_YNp&HXmla8aA_cbdJG#m|)A*=$|p4-nfwYZeo zz}&E8&LL_O`Jj=OtkY7~h_F@nBh8yaVLhCSDG@#xRfCIQ?^ewY^Z7;sN`y75M#!uh z#jZh1VyVSw3?Wn;YsS<-YQY&mfs`OMKnN+~Qi2b!cb|Xcp~udi^F9QCo5QgWN`|u3 z`i8AFw6fewk`xiLG%d@TS-aid+G-Hh>14WhFwBZJ8W>^-d6um#^|QqFdfm0nO&$9d z>Odk9T{(8_+0XyPjkn+0zINs5&whS3njT!aYRqz&?Hgf26lNB+)@ErIK${p{)afwn z?apG9JWsmIju6XfJvx}qySFGc#-07)of}s+2DvkvHjA}XbzOqh?&=bSG|c?fy}e8C zU%fi1tg(60@`Qv%0I&(1CnoE;gNlbGI|mklMYu)8L|NF2s_2|Es|&|+pt)cYSX+E- z(NX}nb(-H^#NK}N)cp60##*;Rs|w!dssVwP6}NMsYPf(P=#UH zym$BR)wi$g&#H$XJ?X4bi7jB29u7t!$#XTk18@uNL|Ctl2I-0~$m^O&nTdnjnTCwdf3_mJ(~IRR^^l zJ!;_lIvAPj$Po=9DYnU{htrf+-*i}d&M(HpnIQrYDz^@DEg`<;3pWgoAh4=wi5Bf< z7GtR47IM=@VeCN^QlmWw9S4B0GY(<6R|hz=nr@Xd1_gqJA->wy6R+`pGHpQFIYe|> z(M!{;X_~q$Q6+Is6!RiqT^(!;C*4jL(J*s4nR-v`J(T6n_HNlUmoHxYt^fId5%0sS z{POSoc4F=0A9*V8c0=$!1QB7CPN!gnH?QBgc~F8e@7%ig?1w+}%fI#?-@S3^jaR=j z9FNMX+~1oJLARHz0vprgvw}`L*7O z<<9lt`1+`+SpguhSb{bej12Y*L#l-}hESxHO?0t~7b7l2Dwyk4XS7g$MKm3XDXbfSb5?qolFD;+gsQbMxhxp#5%fs#6 zBd5;n9Zc)lcrq=Q*EX}&)$RRpr|4{)K98Wv48@9Onc5^x-Ptpzw|Dn$ZSCw=&86Er zK8SIyEUR00cRQ;`pEz;q=($Jga&+s;>sz;PkEfHon-b8fU2;xlWpl7UiaXktc%4oL zh@;`mSvs<@<}yAx=sk1c^sT+&jjb^f4GKH+I`b@oO;im^23R$-*mGLgwsrv(B?O+= zA4vBPMnohK1cRzb)ZTG&xKkH4xcA=>Q6gIO^oQ%cm}MJiIXa5kDv(kG%u3E68P?dg zB!<8d(1O_?7#IK%W)Ti*oyBlrBXza`1s3UbIwy~8T4wek=%NVA(hSMO7=`7T&;7!O zf9$7cv-0vwU%mF~*HvUPnGA=+_4SP;u{Z8)Sq^7UAD;~OcJ?MkCr^95yuY-P=K#=I zUOoTVqgCn0Wf+(B@l)rYfA;aSk32l7@dq!z_;3I3|MTfVE~2m8oA&c$c>Ud%|NKus z^Yg#BapIv+O*hw%aH!t>!E4uVT%3$%K1x<#k{V#Cs~U;2EUBu{R6LpbqOkY2_qW6D zt@keP-y8RfOEOEpESs1*$LuD4+!-AUG^P z+rW+mw1&9Q47L2k!-I4&*_dzM++u_|7SQshM1Tp9fQVQkU}}(rl?)o3w=XRB5m*6i zABx0cU@k{>FU$5#W1USC*UfXwtb`OJ`^FW-V zzINmKvGuk5$dQ$mLEc}vw>u;DnIemrQiAA z$Gcl;W)q7?j|?o4XU>ZZ5Xa-u-f%ptT#==zr6-PuJ8!@?!xMo-1Vj+<5Pu_RK{i!Bgka`M&>ucm4^whUGUOORPe2vUN&E-~o< zf^{^R&4#0i6;*3ZT{q*=B+JZrxPSS^U3A%WGRc#FarArN73!SbERL>rUw!-br5ksf zs&QlpX;xM5-E7VZZmtielUX^fj%=)*dH77Ir*FOf_Cd*)zjyK8&i29HmMHrWuV26R z8~^AxpZLrZ@y6Z#gK2{{UtalWmW^k#Y2(39Z~ow=@4oTw=CPyCJoD+5M?c?t^r-b~ zw*T*U-hO*!(4DDDh*^=^g!Xs$q7VCf2PparZYdHH z3d^M(U+FxTPZ7A)(HzojKvlt7bL!OK&fOui98MXlpxo1{ZmXDt}W~^fYYu&Lk=T1Fzj;DLo^k07Yo0qnRI|qCBLgN9^8T0zP z*I&7`b>UOEwKaVE;`^4+r5QDi_p#q!`QTGeIU_HB?{$l`d+)MIvw=B}yEiU$l1IMy zQ)y=Es&dwKx`krs_WRD}v58q$3=f9y{@@2sJ$=q!y_VT46Or9V>rvXC8Xu$q)sN8LX`)iJOiNng}Z!N7HUs(Yj7L+uMET%J%zrZcIlztsg$1 z5kTwk&gFMr`|4MA-+krga4hwVRGYdk^8C?rXR5vJ*RNi^u{Yd211l^2PBL9j!p70{ zl}~>5^wS^9J9$$#)({cK;FB~_z}>x}B8U%5y+P;R&5Kud#xdM0V-x@six?EAZR-c% zECnxQz>xx~hz6Fn?6ihvO=v^`L=hM6CkV($1Z044!8d$hBR-&PdTx1^tZn9;x81P zk9_vC(H3>m&sLYLHJBwyf_XiC?OR`c@5Xj#uyN*t&mG%X`PT3Lo3Fm~z47Egf?p8# zNL9#KKfL$mU;g3u-+uMp_O?;|nIHf3MlYkuXk%@#edp#^Ui|*`t#Nqy)t~*6( ztuyvq{{R4}tPlhuw-+oZLDl%8*S)#3`_#jyFTQnIL|K4nzLo|cF^~}C28tAmB!h;V z@%YT<>aYFHpFV$X^Pm5>|AYOrzx?y(pZnOyKl7QB=gvD5n!qm4AN%;nPdxnaAOEl6 z-~79O)j&E7^7U`MG#u`4&zi@d|LnzGA z_V&S@F`vawjKNu(E*Ah$mb3ls?Sm?)hz}8vF#3*$ypxWHTjgvrUESFBmldg(U_Zlg zBh#RswQR&7T8pBfAbCb^j;pj-C4#6A!M8#$vk+2QLJ%-yOuCr43m`tYgm{Q}Kd>_o z??nJWv_OgyRa?ykw2H$f0woX>oPr|+VP|b!hy6*Frb$!zEXBkE38;XeGDBnx3XRc; z)C1KgKk{6h4KF-=B9`Nwtpi)v{sSL=cKz7#y7ZIK0Qg3H6O9s`dF08ZZuj=Edg8*V zpZwxyhx_|~^7U`M^u5=zPM<;6mzIwI(|^4Ap(jtAfB5JB=C8O@k5*Ol?LYtW-tIjO zQDwe@3W_KIkmc#9n%=v%eXu(ghBDOu>bL&wM;|-ohofw~zcrpJlArmdjkNcn7ynmN0= z+<)@vCp*3Vd+%O;;|DjLi;sTr1DmHWtgUZ!5=;Ffk3IkCV{0pa`mcZIwHLn)%q?1l z?ZuCXsEA;U8IHyWI|nC^u0Q>O$4+dnRMY)lk@m7Qcz@~c{{F;gnfu%?{|8Tf@<$>| zRW)T*Ps_UY&2(B$?%g?gWOL)lF(M*>ZfcJn+w2v|OJD!Wl^b^s4)!+;TjeYyt9R`Bz_k{kz|k7_dd0=41K!6N&(n z;W*FIU;W#E^QV9Lmrg(Q&}8S{#g|_+MQ^&lbLGuf&QE=kjGq0ezxClSe5r046>NeR z(J1Pyu_|}pzl8f+<#e`p@6J*x&wS$9bZ{iUYZC(u!XX^%<&$YOu0#aLl4ogVnx>do zNPs*+VWIC#jBKp6WCAy+U_gC4-Xx1j0;V74v zyNZg2%se6z2!T*kqe5(d0x(f>s|CcJy}inPy#-uUPxn85cd1oDy1S)WSQ?R7N~F6a zmoDiJK|&f7q?Aw^X%VDFq!EFoq$C9a0Ra(#-$g&_^Lf6{|G&I;?_tjSoS8W@b0+Sc zxr(y<`_E;t-qjTvzq`p3X1LjHJYN6oNB4?j|LL6i`M3SUT=YdOcwG4%wWWJ(@c{OE)_u zZ`(gPIbpUnCwv}2kMnr=JxTEHS_pWK!oEmiw%8!9?uvTII`MH|=*FVrjc+i$*P9|P z^QOThy@=ZTy3E6CrPd6pPV5chE&8`Zf_!}fxOHoTsyX|8z!Pq#2aN-8Ug1}KmHUEI z`^f0#C2I6#c+z(ut(^)hw0_K!XS@_mwaLu|+-2sO(H0tsd)C9KiPON4-sDrcCYqT}$(E$-!53swl` zs=r=5IDk*x*f;w=@@d=jB#-<|p=k8sTsw|t>g6d;8^0Qo&d>F+uCsIWsPsANt!=tl zgT7t`HVZ(-frf&a$zGEs=Cr$^tv1AM;WLe#Lk3&y6-e}euTjWeV^JG8t44^{(1DK* zl=L-Ogl@&UwjZu^V{X(3&Iu4)8s@xP@R1T6X}vmEiZ(*(5bi?AT3Mqu8@?F(1B@+|w%R61w;EfJ7SBcGk&N;XEP~MD zT*5dkU_cqKxR)l4$KcA=kRm`JVNmZY4p>cGohAF6i!*8)c9X-CSc@M<(UVm4`BhClhT42NFKp&t09$pI5TRoW}Bn ztc*ACQp;kIJ`SOY4t*Md2^&>D{SZZe9tEyd_%H6VYuPHE;JgxXO-DJKK#3Y$=cn6N z^wBsi9SW{h3Dlccn&zR53Q)aq=4*@VBZFO;4#LOXDwXPetDRQh3G?cwBs#U{i;3s4 zuW-&f{nvWlyT9{w)VjJksX9WDBTSV~6}rNrTw#$s#ztxvZS+)+5ZA(*XS2J|?=}m< zXUgSHNHTcXYsih}t>B&`OEqvq?=_`W4O&0gGt2%?#b_u~F0A`*B2~UOj~Gy2=zPvB zUHRlWpHEuTu~q}PapB_CgaR{Dv|dr8gWY_Uc-NHagSPzwzW*>xXHnHn*l|`&WaH_X zT<}9YPr5ZS7*&ur;BwvbY-DR@V*YGsqFhD6$0c%iz-RwcSIfzCR>+r~b6MS9${1+r z{x^0f3lqqy*^lGl^YD;8^Ajj%&1D8ePAxh z3%5V+p52;BEsX2AU+REo6wY<2f}AqSE=MIhNBChh37QCLfp-&Ai!RROqj*b#f*yn( z`quZ6!s)__&r9DMA7+_>g3H%9zTCB506?oZH;rRDK?s~HMO{CgReKQ?|#`u=M;bbwc&hat0JfQ zRUFXDJKwhFjaD9h{@9-hf8_)KSZ$P%GCG^_KHw4I_iOP#H2>HhSK0BxR-`*$UQ1x% zc>6MBZEm9N@ZgS^%4pY$@}q~`xDgeOiqVWJpKlz$J@4f^J)Q4K(|;gOkrl10o8B;o z@0G!}7DQ~Ds=NlC6vz>1Sco3!sMsBI(KW!@eQau($lIumVY~FSDVQhZ^X^obwStIM#%LQAsNPcB#?!fKNQ=aHpy{eV&x|?D5>UQ1iV{}L;z>QhBnO)E@e&#{i zr%4*p@)nPS=jN44&bWkt=*^kMVrlEEaTy+EiWBYDa5wFtA9hZg zg$j;^0TPwXKeoVy-3FL2+%V0LzK7NDv3JuOmHB|pp6= z-c$y!R5Z-Js(!^ckc_w`C-i)JZJY?`+|$}M19!B1B|jgkluO}!OL0eX|71p@;da2m z_8XDSsV=i-gYt^;L>H)&4cml}1 zo`G)G#_MJ5O1V`6PPeDOm)37DX9x}lZ(vnLW=;C? zY`%O|+YqwULhah-e=zIAB7EGp`skSf z(X!J6k!}erk+T+`=Yi)E^B*$CpPbjX`J8pdxbUs@plD+suHfGm1@B8A;=f>vVO3d( zs~&q_Cl4c5Df7$k?0z)Rh`1B|Kw_<@1|g#fu^csssGHGDwlTs9hkubQ+B{#ow_j#t zw8Sp0BcMhqy_&*qN84f$nmbrw;Szvi)zH+yC{JQ2W+Gh03?FFP*4osf5c5yFTP$=n z^ceHfx>4I#oO$sg(S|JS_ENvOw|i$>*uJbjC)Xh85G0<}i{_%I3uQ zghJJ&({BsrbuHKDn*4V6UNtnlIGG(P86RXB%xt=P+b2?xvfQO83%9?ve`k4RD27<^ zm5K`WshYOBYs|zH*FcT1>Y+xKJC?=IUr$#TgdYs?k9;%Ze*nUe{L^fV9hj;Hlo-4}h&^8~4(Du>`9m^jpL6U=^`sogzQYqe`%Wj1v%h7l;daomBVXHX5h-|W!%=GvIToaAVUwchbYrG!O+yjG7-FYsx zpLBusR)&4e#@6$5#G784e&U7SEaA5<$YJZl6%-<00YOYh2fmw&&2fKG+gTwd1=ks?9UhG zPt_{5}k5V;$ze*I|=T$63Q}MnGaZrugMNtqOLRzJladOoj9ADKYf@O{P|vZ zR)e?8{I=9tTo(g3l4T&5hlnsJy5NqOIEAX>lD}SL(`sQhty9bQ@0-T2h|LKgA|ZF&KkF!4(_U5I>kk&kB+Ok+jxEIF*h$4ys4b|l3UwdX@N+# zGrT4+#FmW67LpA?vP#R~mOcdd#aXbMMQB=@gr+MQe5{kR7+zBuu&}bEI#3n3$`bbw z)MGZ>`}VbC$#YJrc%YWXYcVaC=TyFq7I|ry+>{WAueFYMyMhH_QtD?y+SO{_$L-5$ zX|DaTbmL?+re>mAAq3wH;^k z`K>ny-m}EycN-$@fSFHhOuzT<$jOxrPk*lr74QeBE=>)1^ODb?msZb?F&)yfR_a zrKJ35H!dg^KcL2{?(AT%qvliEO=Z%T`-CFl!?kUFN%EHrl$+A`3 zGHMl%j<&y#-oqIt^(4l z9QmP2I0e4J*UuH(&Qi_3y(dpmbA4I6KjZ^Ww0znE4yV+ive&st+lOl%!6!v_Oj^j~ zUc;fel_~%~nghqyxouuf#CXHoUj-{)wLEBValeeKKm5R|yAVghr!jf5(d}#3ckQe) zs;uxWiFv;j)}7Y_`oKZERN%-j#d}yQ!(}iNoY8CyjLMkO{D)OfG&G%5i#%l-*r8Q@ZX9i%FA5IdI67%N2vEfhb@omp zwa|>Gk@?ysmzWc_d!{UkkV8efW1O~K zE^s|V&dYGN#rt#vf3Eo(+8C~k9?oIa*`db99M=d)2#b?R`qU9T{RxnE3ZGz6id*_* z9U>aEwl|2lqingCP|^3Y;nn;m$}m{y4*KLKCXvb}P7pDgKKS!MiB(p~^|qj+g##Z~ z)48nsT1yO=ZC?O+CgK9AgHHDOAFpq4Gy4#&VUgU`#MQ)e;D6W8!-3G0EQ7IN=5!@c z-H2s~=r%9UxRuJgBJA~nAW{kL9@kk4Q^-iljkh(`5!u4r4GT6~P1(W{#+6>q2G95q z?OqRZS^*+7g*xt~@|y!+G?DErUsiq0sODasd?>oHyK{c9bB{sFm#{<66OD*|u-e$~ z9^XOH?04*NE8Vz=G%la!k>QM_EQ<6^%JJtKaK-H8%8etH8xyqUct`l#w;Kaj;&~$uMWF`+Pj9L)~ zBe?n3Y|mH9a~biGGM1D=H43^m1eiAbq1=)U2l876OR)Z)QKe{WVt~X<*p9=D!$br% z3`g!sp~J-ZqrXY(Ij5yC656xgic%^ml_hb078UE5id!#Va>V$ZfjdzLx*X;xFbgFakD3X6@DW_HTP;I-?sGd^^q+a0 zcHc1;I(u@v$u49VvtPlf8sWM*qMXD@Lj06;&Kt>c6IWqTyQm9&i42tUhvh0 zX5#*PW9WDl_IvnT999+4(~@@#(ZgihHtG-t@V{GW%(VrcY>c;rSKG|S7txu`NzQ%p+LwGY`K_C{5L``Q+%!oM z_R=PiFPbUXPi$=7-_t+;TrV=;80>hmJ+!=Ywn2X5Y&TI?_Zd^f(bn4ZBL;!}y-Q@o zikszB0bf6SulAsKdYu>V<<}6fJO+2fV+gIAeQw?2Qe8vCSKCX(BAlCM#4kr1Do?N| zjwCcxw)1#)KD#-i$*&+k^8$zMlW12Hm55U6(=3_I$B&y3s;00J#X}jUsBUUUax1w| zJuhD8qsf$}HCHY!X%nZnC;mv%m3z{1$Qcb`vU>2Id+$R0PV*1#bNN=m6K zTfU#Y+SyX)Y>=do^k&>SN^K5Ty5DVcZ+y&%*y@XyvT(Ihx0so}>L|<51256N9&P+Y zn~=l$^yfRb(zHCjeybkz0H>G)#&S>=rW$9(IBOmNwjZcCjFK2KVjdXipn$fQE2Zl< zMUp&CCb)al5nyF%i+V$ply|rf2NDSIViKbmY@hqPI7_4BOGD9hPui5T!5iIKtd}(s z9i;_IupTaqr&On<4A^hzJdnfH#kf-88X(Yc_|(n!QfFYRY}D{_c6uHWgoJ{e%*-R6 zq)PTag<;%1;~le^raMama%(L(;8J!MMY&3^sM&;YKk1jbtu5{j2L8GEYWa~%=x1F0 z>QYC$4?En+*m5Le%E1Mm*=En(!@(KS$?e_RoE6qAwoq_;Ie)B@tv$zZY;&sq!*qf; z6;W&(NbZz%noXlnWRE0xv*?r$rwm;4KN@a3?+&o$h7#q$?b?e=?+meUypYtdDeWA= z5M?RgEOtogGQ?nl8wp^R#(02JTl7#y)1KE#_|g5Bp4P9$xIz``H=S&pGY#aFbnP!0 zu*h#)Zx4(V@R_!a3e1H`>ppl$BX5JSuDHZBSf_@Nlfxuv!5`0mII8!xOUdn#-8;1} z_(hQwy}OL0)uv;@-6|AF5?q1dsM4(kg0<%k&VDL+AH#FDh}VV;Ft}4zGK!^fV^omi ztF$%G4^D6wBdbZJJ!CJboZ6M7I_Bw85lwrlj2^TdJn{b2hv?Uo36`%Q1(O z!O%|V2{`E}>En#Zy&sQXYKNz+ZTa}dVYT{?r4aOa+u7Um;3{znr{{NI&SQ&#!4A0Z z@5VAQWfD?KFQ?U7!w9(nX*SN>eSRYV%D`k5KaOegm^NUYam}RQoq7sFHM%N6%dh2n zcs)0-SbC~Ned|co?dfTC8g%YWY|=@^QL5WiT2|BF;ScIni3E_{uuvrSZUsHbha>c3 zGi=}a)U9{#m#ef)5qo!u9!3MYGCGL*TuB@s%T1wJb0v6~Kf*}-PX4P8S-M`CDB)hw zZ-vh-mxtaHam6ADNTq9HW+m^urwWI?UhJ@bX_gq7^DLNeeY+)R$lQ5l9WG#9EL8sB zusth^pL*0^pTqKcRx}frn^TE7#YP{>&#uoVuKV2-e&838^Qn+;bgu^Ht^AoEtEyq}+N{Pg8x%(vwy?0hwl7IhZb}Y1)iWQc8{Vt>qc9};SBLYCSu6}a!{JeOjKU_v^ zilg5!(<|xPP2Bv5>01hUyW^fjR-X1Y6Nyi9UnEHbNrCo49(4grd%g&Xv-MQJA`MN4 z0$TEY_;{mw!vL+MT}=bCgoMi5A%Mz40l}G16kpxSYbqv;Eu!{BH>R4ZVQpaS8){iM=~%r1%`CKMAJSYrM54wG)1$raOHfL zO#mYJ1TAA-A?b7FmC$sEk8Rr^%#K2L=H1QvjMIMZY}y-f#ij1nh+HN+lEvW99ogjK zX2M3_#Lf>4yJaQC-%bM^6tYP7$QI5TdGkngNE#L{Q#fp)9J~J0?prC*$;nB2=X(Tw z4rxu8unHlrEcV(t&dK*Hv^EMzN8$+^{JN+}nbNB-?xheX=J5FkA*EH2W0B!>nQ_Ke zK)b;x6B&AHcWAb*A^T8Y85{#7=RL1=q3_j6O%{p>RUUbBRw_*ShLWj)&k9C@e0G3W zH>;7VisW94 zmBy<34yS}pvACk6QkS}=9da|+_3a2)>Hs>DESQ&WYV}*S9GbRs@B}$8Q|f#IOOj7l zvF($Y!=U&1-`d5iUY+ueE`}AZ<9`oF3=@t}$l*7y784H0&Bw9YXj-_(R0|J8D%%>8 z%E2Nv5~57UU?1;4?mg*=8M9h7lsH0mc2Q(!Sz7f!Yq-=s>E5PcFx?IB zR*Hxg=9duY7JL0(>Q?@j#wW+`Roaeb`cH!^C$w4U{SazA89-@7z}!5|3Bw};g05Vp zA%ID&&eAHHCIg^grj#2h&-k#7gvfrqm9R1^wq96aGKFepty^)~VaSg7 zb*oxwCISryLS<9SUf-PdBLCWJSkB zGYX(%x~9r&V4Rkz;CZGB63Z!;2NZTxa`%|3d3A+&nvx4H-M&W{(bT^nFiuKbq~New zu8;s1U&}oxgeG|lyh|y`Xu(&`hb!y^rJ+hUT3qq!n_aJAW9oEmo7cDc^t16Qj}jE2 zb3NFGMDsAEb;g;PM!L$XE?=R9vLMWfZ~(XfQbGD=`5iK3I6l;zyVRVTuLJj5>=)(0 zD%$2sMrT58Qr7TpBEu_~)rVV110=?P$kS?ROuW~1m%`PISacvqdJ}=8h+6xiYcOo6w2xaI%CcrT0*)yVDolVvfAx>cX{y~@u7E5?( zS2A8%H4k4P-EFeF?45q&YRg*0R@`Nr%0#-?ik^A!_STFO7d@YUN!H?{oboh7Na?BV z&|}1C&=>F^pYVEfQY=E*6};G9TEjAQU0@-_qcBJ^k=zi~_&PI@L2S2y4e8@3y9SPR zkF;A^?X~M%(?_b7JwuvB8V%I`LvC@<+YpE)rWHVWlkYy8s*vo<{kZ^|aO9K1k|QtJ z2TPx=)%3Kkk!dZA>6TYVHmUYvWr!WteidG2Bd;74qR~#)eGMCX@=Dg8nqrmd{+JF5 z!UNqcli?NG?7>496Q*=;oHFZ~4As}It6hHcEJ=X$BV5(%sdJfI_$Dt{9w-C%-d*(% z)Hb%I%}5(kMRrdWmd?!XWXt9IJ-8AJw~oanjIZ@;5cS{wd@}!oic$b=Ng|LC$}73s zvwdW?yF|&A6sB2m-;Ow?ctp`6EPwW%f_!`_QZtThOw>^uCl`*?s2-Z^x*v@svq|>m z1elJd=6FtOX!+~wf=Mswj(VT+WM2l7^DNd4>?8p@+4X{YDD@I zC_7mgT|CBRJ02nnYT>wO*x{_c87&>nhenTy<(9RO4cioM*IpxQT1u|YG~8r}MuKL% z4DwQk0T z(5_OaQsZ&YOuh=T9GBK+MtPi0+>c#G;kg5n^g1PXWxp~SEoD1qViQ!-Tq8xuV^8xmY8}5)48SeV@w|NPDzqMj9HUpc+_8mnhb}1EKu9 zr#Ii0NLM$p<>Sm8)krGp>griw+Q~ZgY8|Z& zb;MSEtaEoH^cs_)V|Es^ESe*;sr+nf=lm0KqSdYiea5jW5AY>q_wZH%O|X+lSy z6HfocT;Rpl{Q~K7TmB4mt#WO1=8=9)UAQnt)n_40h&7W#J>K0EQbUP8rEEtPY^z&c z*GjQ_DCBbcs@M5gb9gCg8)_voZV@svPqx0gUMf3toJM$;fhuz%^kz~n=5DP5;PjX% z6tcp0nG0aXc1IUpg?G2-UFs$fvnp3DkC7UXc>dyMm)uldG39jy|>S(5u7?_`a7Q?z$H2U~W7fN-jLPZt^eMEAPF0H$i(|rC_!&aGp$vk-C zFTHNpLd#|16akE4cm%9xvhWrMaALQ{%0zSZM#fUS#0g*P+1kYOxo;nArA9W7Vv0Fz zciO&h4GQ8{=7?vJn6`7GQCwe`?3~j%gyV<02S)T!qoy}wT~c_wQWGLCzZB4ldKibm8Njj$+J3rtS6_T%Qb+~6-7vNqI|SBmGfpe2cU$3*ZV zTIq^oRXV@p16B?#rR@6-#H1K%qYvl&#@`HvyC%w?)nASn=;IzT)Wl<~tCuroiG@L5B5HGnT12+# zuHTVVzLhdL)?}q9GT-@hkt)pS;natEfP9Drxeyv2(HCCIrIjU0u+l@t>druzYLGgl zuSp1dXcebwFu=MhAxF+s^k(IoxqyiyEhfy4yE>g=VO>gkfgAH)bXD+=^&FphN|LEQ z^ZHW9O`1?~E3}BPQ%YB9=LuiUlke0|f_}WFH@zM#D-VQ4o22A25-@JYc~}=$X!VL~ z+)?T_vcfCwUPyk&Cd?(CqXq#^Zy)t!)N*ZRIlfgh3E6t%R;9Z``#CI5oo0~6OHUY6 zhNE3QoKchB_W=UA zg&wq_Mn~7+M&Cqh&(ixn0h5--=9)2M>JN>6Z>d57pfs-iZUO-TjPwBk91gcDZmwx! zsy4hU)z#j~sY*hYCBDSX&`l85UWj?0=w5*xwZ`d0J_Wfjn+GRNGCU%}u8PM|UK5i$ ztoSk$^XFU4DEnmAqq#QE)x3TC%A#o1C7ke%a)+jzt3-tPLkF=?>BD2bz?eAub1Y=H zSQ!AvbacKV_l>QtAbPz;31JP9iI5v*fTA)gv)02^%AumRaxmfkVeocklu4vDgJt9>ogZ14N%No}PqhZoUz@K~%c}&* zW0(oe_->;xhDKXvI~N@zyJ+I`o;@Vpv4SPb4eaG-*__@!FR{JhzWXs}g|zNzJOHh0 z<)3_yM}Awnn+iKl>b}zZL8nZ>mvQkLje&u)LtL#=PuNT}yrwv`Z~xHtaYS?!Tg{dT zGP;|H2ohG+%@CmkO9M3V@?is13$U1bZQp0-KSeogedT~uDW~|n()6sV!(<#oP2Ilj zjGG^=ae_OPXCSW&YqeK*wsFa1`}Xck{B5-8gj87-r?Dex9j7hQZQ~mo;8b2olA{(! zgTY5D=Dj*ao;ER2wkwnJvUx^5#S`UBs<|;$#lhZ6q3;06p$reYs5>Lt>1kYX9*bU74lv}TfKixy|9t!bUwIz+xK?c3cR zN*=7AHEsy`YTNqA+T7qWj)%l$+glsct$0^+LT2!%i4;rT>VEBD84{goEh){r+PVjr z3)+?wrX5qX6S87gbVO9CPI_WjFsgJ@ZpJCc5e=n619h-iFfnH`8@Z5S1fjTiMT08y z-}L4-38=0@dY5xtMm7)APb8`1U+lym?G<=px|3)ARG;(^=^oS@JSmJ3S+G1mE1E zrH-Gwj@%Js$?}qi=9H(7PFZ~#{ey|-s2yf?-Y&p(r&e>OYUbbX^St0llJHoE$DQ1vT7V$o_! zAbL};X?JWu^frJ8mX9- zi5z(Z19o(EBf^jJ?2!+9_{&_WSnjtrdhP3d%ynp1txemD7%0fvF?;2IdYa|Kce=2J z7_M;%1Hk2B>LNbtoM6GM?m{OvoIa@?&-Y9sXah&QjPh$K+)D)D%9C(^?8>ue++H+R zU!)?vr>#?)l_W6I@tsl{4#cC9yu~XFF=Fq^rm%4I`iAVNglw)|Z-1KX9fyJ$=UUOd zZm6;&(_uxbbQ2OqijSq<$4IT`^g(6~JH+m!cieV==| zd_-{`Q`4mdMID)$myipyfx93u`%j+_xJzdbwN=F0OOU`#-zNK-1sb#gf75l74T-M#_C7VIA>2C5K(t1{ z@d3pQ_sG5I2?iqN2WTI4q_oacT1tns_up*<47NSRk1GNSW@l3KPd{UY0_HAd_Sr(b zB^wTPulkdFS=UYaBdBLvOx25)v%9Y4GB{)y+N=Fw73i3NnLAtN9K^dOl5cWT#xWM( zufHlCWLkz~T6*85KWaSj+-68Buv9c;W8E#p%(6K0HJ9u8!nle^LeBLGLt3*&|D`vT zLC#CxdgsjFP-Lx<=<~}{A6BBN^!?Cm6va-_kOg=MxX>omMt9gdwC=yAL zhexO3Kp&uMF;ZL%AdbQuHdX2n!`L=g^Wg%7DKhCq`Gi<8u_Tpxe%QICBZ>(%RoPeq zFYA`|^xn(d0PiO@$>TuSMjfumkW91NKiASB2pzGjYYTD}=Q-M$#bYFCL8ZPdU#G|# zLy1jI8Hsz#J|dNQbZ(~R&Pg_lR5Jnq*kzP~vW==LzzKl=0C*65018sr;I|Y)@RPm@ z(p3;500X>2z&`*&1z`Q80iYE^{fF*`T>A$DYJk9h%Hn{yA&9_FngpcL5XnC}Hz2YA zI8M6I2n8T=e`zT3-?*aee}@C#KrA5R=H>)GmZ4$i>VjerWzcZ)^0)|A0>7Z1Ust#= zFPv8Z00j621jYG<#o_!6a8Yp~A#nkb|CVIAoB2Ea(C2q^{?IR?nf~S_n*AS|5&)6_ z;37|$plX36jNkc!wkBczq2DL{vKxqlt|k%w48NealZgJ%hsls%dLU2?AO!+k{*`{{ zSqk)b8ZfX^Fn)()Tus6JLzAW8{F5HA6jCnzLlc1XA zZ%XpdG++vf!hw{OzjW^Je8Ktob0NQUo`YL1a-qNNkKdk)@teN#E}#6Lc)_wR_>~vP zMFBkhM;0W3r_g^e7c|Cy&{+S_VqiG-e}oJCOh1@roEJ|8f2IwrhdAh`h@UhUNPoD{ z3w|!5q6fbhbrb7UUX=C4ztLdMKpLu0Tn<9xC9viYJpau6i5O508!u?m^oJP7rX@lFahGg zDX;?!0hK@|@B}ac1i|F9f#LL^$!Gz7;3mKV!H0YSW`H)3uLSDl09ZgiBZ!~_H7NnQ z5COIG8~VjDR$7jB$*y zhp`Gofq%|`B4`>OFm)HPFoM5oAin}*13CaDfM!6T5LeI?f}kk{K`pG{R}thVVCX|P zpE0C4~W0*By0a3S9? z=AZ@8S!f|t9EyfqgD8Ub>H?5pTs{zL$YqcpjPV$w2qO=}2!j@y0=bD%26O@{kOsgR zatU(yGyR7cUoj3a$S}4*TXjNOKsy!y*?=D894woQ{DE5@FbW{Afjr^(gB`Nu#fiiw4d1Jku}vat2g^|o;GLK%A6JEJ_TESylf;440@ z>Jr$DF53CU=c2y-=jX=x`H>-T>Ds&V z^K~}>AWsJXl4$^flk*D%1MY|l2wn6-dU^o;@s@xBQbt}uPJst5D|$k(CjG z^9aky$iPKqg@na~;lI^G0D9~~1^}4+9q`W;f)J6Bk(U*b;gJy$6XQV$!sU5ng^>z8 z!u$d5l4uM z3kY)Y^Mmemd3XHqUjojq*7i1j|K9=+%bjn60@wb;@Ux&iEu7u{OGZdQ94`DTlAe67 z3lq^@$e?`fZNz2VQ0|^y?kK&Bq6S1n1cecN0>bxfrpEy zhn%a6jlHdxyM?E{s|&yjevlUR`Ty4D<>Be-tc7y1M!BP`0e)NKsSChgZAj3tI$$mR zUjr4tuy@WNnDbB6zrjd*TYFD?e^BB7=;HR%^c+Dcj{hU24qCz9#lq=-32oqsmVrXV ze}v>g3#;4Mc%VE10fgv5%d2IO{ntttY(12_$3@03hC$Y9x@ZtU^&j$Xt{!0F$l6={ zV|0E#_`-JGz5j~k7fRLD8U^qt)lVyeY_k8OM8netY=2B&xjWQ+aL^OFsl$m!oh*Z<#!9F$Db2`Ul!mlAC^l$E`Wz16Q8 zi-3y?3cB> za#wQ&y#yc{|4`dhomhtCl*_qV

$hOKQfA@NfkLcdTn39C`2Rv9aaF(P;&1Ws}5 zN8pzZcA=7Qp>PFaA%y~b$!iYLmLw%H=-Q>GsZ7`%HVHA0og9yy>w;XR<2OgN>1d$* z{GsvP$zFj+Cf|l`SV}oR$_w&6WA5YAue6FUc-?XOVuDI;-7{y){T;;Vj_+j+nt*`8 z7VuSYK5myIxopa=xO!MDb_Prv8+2(K)C?|iC*(!&3wu;ri1cqLMtp<2EC}-w=G=_| zvi3dd`wsH(Z+s!dzhml7i;Q0Jd4CpwncD09d@ z5I~aMXhWQ~2M4y3ANs=t>mJp8ttxF1O?dq^(fvj^hkuxlL8mdzLz7aIi7!;OzVfHv zzriQa^DyE2D5>Cd%vT_Ta;-5k*G0GWeKu<}UY%&?*$`EEARp^9`k+>( z-_#wjDldxI`CP1Q`doQPaBRNm4V5F!V$1lQus&WTGDqB6w7f#R))x1x>w`1dZ`I2+ zvZ@`PnUvvxo6IG_jc=@Gr6{#!uF*FpEs~n$qCb7)BJLEKfTDWnE_p8@P((L z|D)wE;;;Ap10$Z@V}ITQ&`Un*XCwtZ>0_T0MM&@+k1i? zr_kM!GJg>I*Ij|03gu*g1iK0l26|ltzo3ASm4M;@1sVPY34%TLqKJGT2qOQJ6KyM$ z3rfzy?V|70@pA(mFH;@d3WN~+8}gIKJAJbnoJIpAe|Z-P0F90Ev~vYJpuMd0i@_7~ zU%s7}Cs-b!t3g@+>Tcn}B4YePe1d{vB7))0M(h7p=W65WW8sbhUG&9_J?_zV2gv_9 z_W0S$YkOHbpsYM)z##|#7vvWNT@%=Cb2EVBA@D~)jM*~F78IcQ8^4#OHp=RvDE}4| zIMXGXet*%0QU4FzpHc#0*a{Tjpz1#=myW#?>K`931Q&qV#|43GqCZ+L*!uR?U=ILt zEhbMc((<=v>f70SqGTH^vnfS2QkUX;Yo zfswtHmAI9wo8QmD3n2HKV)!-nRCclAl#ns2<-@OU<%f`1L08o}!Lq3-^zx)3H5Qcc3 literal 0 HcmV?d00001 diff --git a/assets/images/bio/hc5.png b/assets/images/bio/hc5.png new file mode 100644 index 0000000000000000000000000000000000000000..dc46bfde3fe8c1deb5fcfad625859e6190d63ed1 GIT binary patch literal 46490 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