From 4e144158a9325c91601d16507e0f79bb0a6382cd Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 10 Apr 2007 15:21:04 +0000 Subject: [PATCH 001/136] Wenduo's draft of diffpy webpage. --- images/dashed_line.gif | Bin 0 -> 45 bytes images/logo.gif | Bin 0 -> 6650 bytes images/spacer.gif | Bin 0 -> 43 bytes index.html | 146 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 images/dashed_line.gif create mode 100644 images/logo.gif create mode 100644 images/spacer.gif create mode 100644 index.html diff --git a/images/dashed_line.gif b/images/dashed_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..d21a3a8a7eebb8e3378c1ba8c87b056c094f5c01 GIT binary patch literal 45 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 qPcoqS)? + +Diffpy-PDF Package Home Page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Header image 

wz ....

 
+    + +
+ + + + + + + + + + + + + +
+
+   +

 

+

 

+

 

+ +

 

+

 

+

 

+

 

+

 

+
+

 
 
+ + + + + + + + + +
wz: WELCOME TO THE DIFFPY-PDF HOMEPAGE
+

wz: Title

+

wz: paragraph 1

+

wz: paragraph 2

+

+

+

    

+ + +
+
 
 
+  
+ + + + + + + +

References

+ +

Please reference the following papers in all your scientific publications using one of our programs.

+

Category 1

+

Paper 1 Authors Paper 1 Title, Journal Name 30,....

+ +

PDFFIT 

+

Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair distribution function,
+ J. Appl. Crystallogr. 32, 572 (1999).

+
 
 
+
+ + + From 54e8cc7399f052c77254d5bda13d268b43ed2b61 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 10 Apr 2007 15:25:07 +0000 Subject: [PATCH 002/136] Images converted to png format. Removed dashed_line.gif, it is not used at all. --- images/dashed_line.gif | Bin 45 -> 0 bytes images/logo.gif | Bin 6650 -> 0 bytes images/logo.png | Bin 0 -> 5137 bytes images/spacer.gif | Bin 43 -> 0 bytes images/spacer.png | Bin 0 -> 116 bytes index.html | 8 ++++---- 6 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 images/dashed_line.gif delete mode 100644 images/logo.gif create mode 100644 images/logo.png delete mode 100644 images/spacer.gif create mode 100644 images/spacer.png diff --git a/images/dashed_line.gif b/images/dashed_line.gif deleted file mode 100644 index d21a3a8a7eebb8e3378c1ba8c87b056c094f5c01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45 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 literal 0 HcmV?d00001 diff --git a/images/spacer.gif b/images/spacer.gif deleted file mode 100644 index 35d42e808f0a8017b8d52a06be2f8fec0b466a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7L;iE{qJ;0LZEa`2YX_ diff --git a/images/spacer.png b/images/spacer.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7f9854b4d6320446832e3e84f3686486c99439 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^j3CSbBp9sfW`_bPrjj7PV21zE6P31tcuC&wE)4(M z`_JqL@;D1TB8!2v2N=7Z%(eqExIA4PLpZJ{|KMj}WMpKJ-u5mGD9YgJ>gTe~DWM4f DMXDL; literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 25b2b800..57fbb46b 100644 --- a/index.html +++ b/index.html @@ -24,7 +24,7 @@ - + @@ -85,8 +85,8 @@ - - + + +
Header imageHeader image  

 
 
+

 
 
@@ -115,7 +115,7 @@  
- + + +

References

Please reference the following papers in all your scientific publications using one of our programs.

From b208742d38b65008c121c6aa87a36f723f74b7e9 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 10 Apr 2007 15:55:22 +0000 Subject: [PATCH 003/136] Removed java script - this is not a calendar page. --- index.html | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index 57fbb46b..2712a4a2 100644 --- a/index.html +++ b/index.html @@ -3,14 +3,7 @@ Diffpy-PDF Package Home Page - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +
Header image 

wz ....

 
-    -
- - - - - - - - - - - - - -
-
-   -

 

-

 

-

 

- -

 

-

 

-

 

-

 

-

 

-
-

 
 
- - - - - - - - - -
wz: WELCOME TO THE DIFFPY-PDF HOMEPAGE
-

wz: Title

-

wz: paragraph 1

-

wz: paragraph 2

-

-

-

    

- - -
-
 
 
-  
- - - - - - - -

References

- -

Please reference the following papers in all your scientific publications using one of our programs.

-

Category 1

-

Paper 1 Authors Paper 1 Title, Journal Name 30,....

- -

PDFFIT 

-

Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair distribution function,
- J. Appl. Crystallogr. 32, 572 (1999).

-
 
 
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Header image +   +

wz: sub title ....

+
  +
+ +    +      +    +
+ + + + + + + + + + + + + + + + + + + + + + + +
 
 
+ + + + + + + + + + +
wz: WELCOME TO THE DIFFPY-PDF HOMEPAGE
+

wz: Title

+

wz: paragraph 1

+

wz: paragraph 2

+

+

+

    

+ +
+
    + +
 
+ + + + + + + + + + +
+ +

References

+

+ Please reference the following papers in all your scientific publications using one of our programs. +

+

Category 1

+

Paper 1 Authors Paper 1 Title, + Journal Name 30,.... +

+

PDFFIT 

+

Th. Proffen and S. J. L. Billinge, + + PDFFIT a program for full profile structural refinement of the atomic pair distribution function,
+ J. Appl. Crystallogr. 32, 572 (1999). +

+
  +
+
+ +    +    +    +
+ + From 4bf314fe13bf612b2111fe5d84836af506c8d419 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 16 May 2007 17:51:28 +0000 Subject: [PATCH 005/136] Bare bones version. --- index.html | 178 +++-------------------------------------------------- 1 file changed, 7 insertions(+), 171 deletions(-) diff --git a/index.html b/index.html index cfb7ecf6..dfa2b1a1 100644 --- a/index.html +++ b/index.html @@ -4,186 +4,22 @@ -Diffpy-PDF Package Home Page +DiffPy - Diffraction in Python - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

+So far we have only one link active: Download +

- -
Header image -   -

wz: sub title ....

-
  -
- -    -      -    -
- - - - - - - - - - - - - - - - - - - - - - - -
 
 
- - - - - - - - - - -
wz: WELCOME TO THE DIFFPY-PDF HOMEPAGE
-

wz: Title

-

wz: paragraph 1

-

wz: paragraph 2

-

-

-

    

- -
-
    - -
 
- - - - - - - - - - -
- -

References

-

- Please reference the following papers in all your scientific publications using one of our programs. -

-

Category 1

-

Paper 1 Authors Paper 1 Title, - Journal Name 30,.... -

-

PDFFIT 

-

Th. Proffen and S. J. L. Billinge, - - PDFFIT a program for full profile structural refinement of the atomic pair distribution function,
- J. Appl. Crystallogr. 32, 572 (1999). -

-
  -
-
- -    -    -    -
+

+We will flesh this out soon. +

From 3415d0a4bc92aa7947f1e51b12284dcfe8adcd29 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 21:30:11 +0000 Subject: [PATCH 006/136] Complete redesign of diffpy homepage. --- community.shtml | 45 ++++++++++++++++ documentation.shtml | 60 +++++++++++++++++++++ images/checkerboard.png | Bin 0 -> 133 bytes include/footer.html | 28 ++++++++++ include/header.html | 112 ++++++++++++++++++++++++++++++++++++++++ index.html | 26 ---------- index.shtml | 80 ++++++++++++++++++++++++++++ 7 files changed, 325 insertions(+), 26 deletions(-) create mode 100644 community.shtml create mode 100644 documentation.shtml create mode 100644 images/checkerboard.png create mode 100644 include/footer.html create mode 100644 include/header.html delete mode 100644 index.html create mode 100644 index.shtml diff --git a/community.shtml b/community.shtml new file mode 100644 index 00000000..c6ab26ba --- /dev/null +++ b/community.shtml @@ -0,0 +1,45 @@ + + +

Community

+ +

+For a bright future of DiffPy project it is essential to build a strong +community of users and contributing developers. There are several +Google groups for support and development of DiffPy and related applications. +

+ + + + + + + + + + + + + + + + +
+ diffpy-users + + Help on usage of PDFgui, PDFfit2 and other DiffPy components. + This group should become a knowledge base for PDFgui user tips, + tricks and troubleshooting. Feel free to ask your question here. +
+ diffpy-dev + + For discussions about development and changes of PDFgui, PDFfit2 and + DiffPy library in general. Materials scientists, chemists physicists, + engineers - please contribute by telling us your needs or sharing your + suggestions here. +
+ +

+To report or browse bugs, please use the link at the sidebar of this page. +

+ + diff --git a/documentation.shtml b/documentation.shtml new file mode 100644 index 00000000..9cb8926e --- /dev/null +++ b/documentation.shtml @@ -0,0 +1,60 @@ + + +

Documentation

+ +

User manuals

+ + + + + + + + + + + + + + + +
+ PDFgui + + user manual formatted as + HTML, + PDF +
+ PDFfit2 + + Documentation is not yet available besides built-in help system. + Since commands and variable names are quite similar to the old PDFFIT, + you can use this + manual + and + command reference + to get started with the program. +
+ +

Publications

+ +
    +
  1. +C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, J. Bloch, Th. Proffen +and S. J. L. Billinge, + +PDFfit2 and PDFgui: Computer programs for studying +nanostructure in crystals, +J. Phys: Condens. Matter., in print. +

  2. + +
  3. +Th. Proffen and S. J. L. Billinge, + +PDFFIT a program for full profile structural refinement of the atomic pair +distribution function, J. Appl. Crystallogr. +32, 572 (1999). +

  4. +
+ + diff --git a/images/checkerboard.png b/images/checkerboard.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3f817689cd2281af6cdf3719231bec983a2285 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2xGmzZ=C-xtZVhivIab>7y`0(MwA%%4dfFhg) z9+AZi4BWyX%*Zfnjs#GUy~NYkmHj%apa84lxk+``fI>o^E{-7_*OMn$9AI$#e~@D; ZH^X8n9^R0`Nv%Lx22WQ%mvv4FO#sxKAyohX literal 0 HcmV?d00001 diff --git a/include/footer.html b/include/footer.html new file mode 100644 index 00000000..a8564ef3 --- /dev/null +++ b/include/footer.html @@ -0,0 +1,28 @@ + +
+
+ + + + + + + + + + + + + + +
+ If you have questions or remarks about this site, please contact + Simon J. Billinge. +
+ + + diff --git a/include/header.html b/include/header.html new file mode 100644 index 00000000..52f1b970 --- /dev/null +++ b/include/header.html @@ -0,0 +1,112 @@ + + + + + + + DiffPy - Diffraction in Python + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ logo here + DiffPy
 Python Libraries for Diffraction
+ + + + + + + + + + + + From bd0e064a202e1875038b3294af741aa77c2dc4d5 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 31 Mar 2008 19:31:46 +0000 Subject: [PATCH 062/136] Check of post-commit hook. --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 748c73a2..d1beb4f0 100644 --- a/index.shtml +++ b/index.shtml @@ -1,7 +1,7 @@

Welcome to the DiffPy project.

- +check check

This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. From 35d3bd5a3cb51882bfcc16bed896837ec3a09f16 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 31 Mar 2008 19:33:17 +0000 Subject: [PATCH 063/136] post-commit works, removed dummy text. --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index d1beb4f0..748c73a2 100644 --- a/index.shtml +++ b/index.shtml @@ -1,7 +1,7 @@

Welcome to the DiffPy project.

-check check +

This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. From 51272b9061061419f15acd2cdf4396acfae80f4e Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 2 Apr 2008 00:19:56 +0000 Subject: [PATCH 064/136] post commit script check. --- index.shtml | 1 + 1 file changed, 1 insertion(+) diff --git a/index.shtml b/index.shtml index 748c73a2..5d23bb86 100644 --- a/index.shtml +++ b/index.shtml @@ -2,6 +2,7 @@

Welcome to the DiffPy project.

+check

This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. From 69e2e085db6ff921cb4e037d50e3df04fa9f8015 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 2 Apr 2008 00:20:33 +0000 Subject: [PATCH 065/136] Everything works, reverting to the previous version. --- index.shtml | 1 - 1 file changed, 1 deletion(-) diff --git a/index.shtml b/index.shtml index 5d23bb86..748c73a2 100644 --- a/index.shtml +++ b/index.shtml @@ -2,7 +2,6 @@

Welcome to the DiffPy project.

-check

This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. From 3ab5657ca60266c48f64d4ddf33d148e1e414258 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 29 Apr 2008 03:33:20 +0000 Subject: [PATCH 066/136] Directory for released packages. --- packages/.htaccess | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 packages/.htaccess diff --git a/packages/.htaccess b/packages/.htaccess new file mode 100644 index 00000000..3091e44a --- /dev/null +++ b/packages/.htaccess @@ -0,0 +1,2 @@ +IndexOptions +SuppressIcon +IndexIgnore .. From c2687a7431b780fccdfb9346af43909108d604e9 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 22:48:30 +0000 Subject: [PATCH 067/136] Added missing directories for the manual files. From 13a74c10e9db85e8e4ef7b0983ac7e6a81e2a150 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 22:52:51 +0000 Subject: [PATCH 068/136] unversioned doc directory for pdffit. From 722b3d625aceb86da0ac808e751dae166a55db7a Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 23:29:29 +0000 Subject: [PATCH 069/136] Applied some updates from SB email on 2008-04-30. --- LICENSE.txt | 2 +- community.shtml | 4 ++-- include/footer.html | 2 +- index.shtml | 15 +++++++++++---- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 62256cc4..6fff8c60 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -16,7 +16,7 @@ All rights reserved. For more information please visit the project web-page: http://www.diffpy.org -or email Prof. Simon Billinge at billinge@pa.msu.edu +or email Prof. Simon Billinge at sb2896@columbia.edu Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/community.shtml b/community.shtml index 9bb3b8e6..120b9b14 100644 --- a/community.shtml +++ b/community.shtml @@ -3,7 +3,7 @@

Community

-For a bright future of DiffPy project it is essential to build a strong +To ensure a bright future for the DiffPy project it is essential to build a strong community of users and contributing developers. There are several Google groups for support and development of DiffPy and related applications.

@@ -55,7 +55,7 @@ Google groups for support and development of DiffPy and related applications.

You can also share your comments, suggestions, praise or complaints by sending email to -Simon J. Billinge. +Simon J. Billinge.

diff --git a/include/footer.html b/include/footer.html index fb26413f..7423c185 100644 --- a/include/footer.html +++ b/include/footer.html @@ -17,7 +17,7 @@

diff --git a/index.shtml b/index.shtml index 748c73a2..c74816bb 100644 --- a/index.shtml +++ b/index.shtml @@ -7,8 +7,12 @@ This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. DiffPy is developed as part of DANSE, -a software framework for Distributed Data Analysis for -Neutron Scattering Experiments. +a software construction project funded by NSF to provide data +analysis software tools for neutron scattering experiments that +will be carried out at the +Spallation Neutron Source +at +Oak Ridge National Laboratory.

This work is funded by the @@ -67,8 +71,11 @@ nanostructure in crystals,

Developers

The active DiffPy team is Pavol Juhas, Chris Farrow, Emil Bozin, Simon Billinge, -Dmitry Bryndin, Jiwu Liu, Wenduo Zhou. The development is centered in the -Department of Physics and Astronomy, Michigan State University +Dmitry Bryndin, Jiwu Liu, Wenduo Zhou. +Early developments were made in the Department of Physics and +Astronomy, Michigan State University. The development is now +centered in the Department of Applied Physics and Applied Mathematics +at Columbia University.

Funding

From f3d36a0355089bf4e6a96ac10a186bca32dc9f19 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 23:33:34 +0000 Subject: [PATCH 070/136] test of post commit script. --- z | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 z diff --git a/z b/z new file mode 100644 index 00000000..e69de29b From 2db4d0c7104b9f23c4920531dee9e5c3e1f05380 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 23:37:39 +0000 Subject: [PATCH 071/136] another check of post-commit hook. --- z | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 z diff --git a/z b/z deleted file mode 100644 index e69de29b..00000000 From 11fe7f7820e043e5bcaeac027b771f5ff45996cb Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 23:40:22 +0000 Subject: [PATCH 072/136] removed duplicate funding statement. --- index.shtml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/index.shtml b/index.shtml index c74816bb..7fe3f1aa 100644 --- a/index.shtml +++ b/index.shtml @@ -7,17 +7,18 @@ This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. DiffPy is developed as part of DANSE, -a software construction project funded by NSF to provide data +a software construction project funded by the +National Science Foundation. +to provide data analysis software tools for neutron scattering experiments that will be carried out at the -Spallation Neutron Source + + Spallation Neutron Source + at Oak Ridge National Laboratory.

-

-This work is funded by the -National Science Foundation. -

+

Products

From 864a204b97958f72a7ac1ac327497b88dd5518f0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 1 May 2008 23:40:52 +0000 Subject: [PATCH 073/136] removed spurious "." --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 7fe3f1aa..a2a849af 100644 --- a/index.shtml +++ b/index.shtml @@ -8,7 +8,7 @@ for diffraction and the study of atomic structure of materials. DiffPy is developed as part of DANSE, a software construction project funded by the -National Science Foundation. +National Science Foundation to provide data analysis software tools for neutron scattering experiments that will be carried out at the From 9183e528317cf6d0fb6ef46034a73d1640406122 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 29 May 2008 22:53:14 +0000 Subject: [PATCH 074/136] Converted to valid html. --- bugreport/pdfgui/index.shtml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bugreport/pdfgui/index.shtml b/bugreport/pdfgui/index.shtml index 15048768..d0dbde9d 100644 --- a/bugreport/pdfgui/index.shtml +++ b/bugreport/pdfgui/index.shtml @@ -1,5 +1,13 @@ + + + Bug submission form + + + + +

This form is for automated error submission and testing.
If you got here anyway, please report bugs at @@ -8,7 +16,6 @@ http://groups.google.com/group/diffpy-dev/

-

Reporter:
@@ -17,7 +24,7 @@ http://groups.google.com/group/diffpy-dev/
Description:
-
+

Component: @@ -27,10 +34,11 @@ http://groups.google.com/group/diffpy-dev/
Traceback:
-
+
-

+ + From be8b4d9fc46fcdc547c058b23b98706de2a81beb Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 30 May 2008 00:21:36 +0000 Subject: [PATCH 075/136] duplicated images/diffpy_icon.ico so that there are no complains in error logs. Some browsers try to load /favicon.ico by default. --- favicon.ico | Bin 0 -> 1150 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 favicon.ico diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b68814ec1a4a699c49332dbc6ea70222cd559711 GIT binary patch literal 1150 zcmaJ>YfMvT7(OZifg%?bq$)Zn^mfXn6ewLw%e9nCi$zMMP{DPzfPfPgaWJ%8S_-kS zaxWLPHb|ubG|cSJ60;xk_kL}Qe>Rt8$+9@MCCid6Jo}EMiTktnw`=l!0X_kF&c zkD?BdCoYa6@AH%`jG_`LisBIviZBN}N&g#`sh-31bw#vc?8@P{H*&5QL`M#C7b6|~ z-&kY9*YUULYj4+?HEVz;j<9FEj2P$b$BkybWZlS+GrV!+J&NU|$5~UEVBeENuv&?f z8O1(lL|($wLlJ4`eRY0Kg~SypGQ4F-a~J&--^~|?-%kG~VuXt`UInrr*Fn2$gMPyX z(O8)yq)qCePef1B`+Q#|s&=g?-)hB$hgQUl2!D;65hHO@0{*HR`rS^*gO^|m^dQMD z{wHQg@L579KUvtX3{Q6De^2|Wabde1<|lnfyQ@UlFb8B_oOFo6om4^Re;-|2L(tu~ z;PkQ_^a`29S@=2A2YWDAEuYi>(6rHwibWHmCWPSl%5m;NF$9Yh5V*@A8P_1zP9xIE zNBTkuYIdxsSTg+?nj@u8k`g;C`Z{bd4e_LJ-Xjgs zeJFPu=NN6$P)<7O?Qiy~9A{P(IPH-^G+T*mml}z8a^84&YDI=rUn%N#+mY+lLNnL$ z%IxW6Gx}qrboX(O1nd<#YM)$%a{UryOM1jQGr{r@xM<`DE~0dY_^?rjR`TuG+rnR> z2DtY)z0#v`AJcm7QW>)SS`=-Y&`QovKCMTLCkxU*12TwLImJ5f%US+{JyZCm&#ZY3w0;W=o7Zr4{pOxzOyf+QRU+T7 zhwiBj^_v~gEnRuW=tGe(Ad-oeH2YQC78rNBQMYP=!mf3jK50KI>Qx@$I#l=bygD=o zKY-Qu;m?iJRzXM`%KWk7Tbjj|-wpnbSC{9zT~|M{QGT!!4L>E`PCi8khXpa6m? mih2=2QC|=|KSWXA5$rMf$N`=c{tg4eG4;JRiu&u11MR=*FR={( literal 0 HcmV?d00001 From 41c19573b01350283221849bb6d41b214045abd0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 15 Aug 2008 20:38:58 +0000 Subject: [PATCH 076/136] Show full filename in the package listing. --- packages/.htaccess | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/.htaccess b/packages/.htaccess index 3091e44a..1efe0d57 100644 --- a/packages/.htaccess +++ b/packages/.htaccess @@ -1,2 +1,2 @@ -IndexOptions +SuppressIcon +IndexOptions +SuppressIcon NameWidth=* IndexIgnore .. From 3ede2fba94bf9c07fb8cd09c45c452e5a0ff4af9 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 15 Aug 2008 20:43:12 +0000 Subject: [PATCH 077/136] removed icon from package files listing. --- packages/.htaccess | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/.htaccess b/packages/.htaccess index 1efe0d57..d752a407 100644 --- a/packages/.htaccess +++ b/packages/.htaccess @@ -1,2 +1,2 @@ -IndexOptions +SuppressIcon NameWidth=* +IndexOptions FancyIndexing SuppressIcon NameWidth=* IndexIgnore .. From bcd677b66dd9539b9ec30a9a4954632dcfbebdf2 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 26 Feb 2009 16:38:34 +0000 Subject: [PATCH 078/136] Directory for srrietveld documents. From a662c05283270d9f590e24ea9aad585f9b4aba10 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 7 Mar 2009 21:21:36 +0000 Subject: [PATCH 079/136] Fixed broken URLs. --- download.shtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/download.shtml b/download.shtml index bbd90596..1d572c31 100644 --- a/download.shtml +++ b/download.shtml @@ -33,7 +33,7 @@ unpack it using

DiffPy requires several external libraries and applications. Consult the -README.txt +README.txt file included with the distribution and make sure they are all in place. To install DiffPy, execute as a root

@@ -75,7 +75,7 @@ The installation procedure is the same as for Unix-like operating systems:

The DiffPy subversion repository can be also browsed online -here. +here.

 

From 58adddc1deec43d5bb894608eacbd74dfef2e924 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 31 Mar 2009 22:30:53 +0000 Subject: [PATCH 080/136] Improving layout of the media directory. --- media/.htaccess | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 media/.htaccess diff --git a/media/.htaccess b/media/.htaccess new file mode 100644 index 00000000..d752a407 --- /dev/null +++ b/media/.htaccess @@ -0,0 +1,2 @@ +IndexOptions FancyIndexing SuppressIcon NameWidth=* +IndexIgnore .. From 7c457e6c87f7d4c97204927042b407680ecf9db4 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 00:25:53 +0000 Subject: [PATCH 081/136] Freezing published revision number. --- PublishedRevision | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PublishedRevision b/PublishedRevision index ffea877c..d15a2cc4 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -HEAD +80 From 1469f0ce6f2b5e64be84955f096caeea1309b0d6 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 02:38:05 +0000 Subject: [PATCH 082/136] Included items moved to the base directory. --- community.shtml | 4 ++-- documentation.shtml | 4 ++-- download.shtml | 4 ++-- include/footer.html => inc_footer.html | 2 +- include/header.html => inc_header.html | 0 index.shtml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) rename include/footer.html => inc_footer.html (88%) rename include/header.html => inc_header.html (100%) diff --git a/community.shtml b/community.shtml index 120b9b14..3df40e43 100644 --- a/community.shtml +++ b/community.shtml @@ -1,4 +1,4 @@ - +

Community

@@ -62,4 +62,4 @@ sending email to To report or browse bugs, please use the link at the sidebar of this page.

- + diff --git a/documentation.shtml b/documentation.shtml index e3b7052e..a098fe63 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -1,4 +1,4 @@ - +

Documentation

@@ -70,4 +70,4 @@ distribution function, J. Appl. Crystallogr. - + diff --git a/download.shtml b/download.shtml index 1d572c31..281d4373 100644 --- a/download.shtml +++ b/download.shtml @@ -1,4 +1,4 @@ - +

Download

@@ -91,4 +91,4 @@ forum for tips and tricks and feedback. - + diff --git a/include/footer.html b/inc_footer.html similarity index 88% rename from include/footer.html rename to inc_footer.html index 7423c185..364b4c6b 100644 --- a/include/footer.html +++ b/inc_footer.html @@ -10,7 +10,7 @@

+ + + - +
+ + + diff --git a/index.html b/index.html deleted file mode 100644 index dfa2b1a1..00000000 --- a/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -DiffPy - Diffraction in Python - - - - - - - - -

-So far we have only one link active: Download -

- -

-We will flesh this out soon. -

- - - - diff --git a/index.shtml b/index.shtml new file mode 100644 index 00000000..5cf754a9 --- /dev/null +++ b/index.shtml @@ -0,0 +1,80 @@ + + +

Welcome to the DiffPy project.

+ +This is an open-source project to develop python software modules +for diffraction and the study of atomic structure of materials. + +

Products

+ +

DiffPy library

+

+A library of python modules for carrying out tasks in +diffraction. This is at an early stage of development and is not yet +ready for code development by non-experts. Nevertheless, DiffPy +has been already used to build two easy-to-use end applications. +

+ + +

DiffPy applications

+
    +
  • + PDFgui - a program for full-profile fitting of the atomic + pair distribution function (PDF) derived from x-ray or neutron diffraction data. + This is a graphical front end for the PDFfit2 refinement program, + with built in graphical and structure visualization capabilities. + It is currently in beta release and it is distributed as a part of the DiffPy library. +
  • +
  • + PDFfit2 - the structure refinement engine for fitting + structural models to experimentally derived PDFs. This is used as calculation + backand of PDFgui, but can be run separately. +
  • +
+

+ +

References

+ +

+PDFgui and PDFfit2 are intended for scientific research that will be +published in the open literature and are free to use. +Please cite the following paper in all your scientific publications +using one of our programs. +

+ + +C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, J. Bloch, Th. Proffen +and S. J. L. Billinge, + +PDFfit2 and PDFgui: Computer programs for studying +nanostructure in crystals, J. Phys: Condens. Matter, in print. + + +

Acknowledgements

+ +

Developers

+

+The active DiffPy team is Pavol Juhas, Chris Farrow, Emil Bozin, Simon Billinge, +Dmitry Bryndin, Jiwu Liu, Wenduo Zhou. The development is centered in the +Department of Physics and Astronomy, Michigan State University +

+ +

Funding

+

+This software was developed as part of the +Distributed Data Analysis of Neutron Scattering Experiments (DANSE) +project funded by the US National Science Foundation under grant +DMR-0520547. Developments of PDFfit2 were funded by NSF grant +DMR-0304391 in the Billinge-group, and with support from Michigan State +University. Any opinions, findings, and conclusions or recommendations +expressed in this material are those of the author(s) and do not +necessarily reflect the views of the respective funding bodies. +

+ +

Other

+

+ www.vim.org + for splendid editor and inspiration for this website. +

+ + From 35d7cb35c089338576d40ab864d9a27aae7ec81b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 21:36:29 +0000 Subject: [PATCH 007/136] missing styles file. --- styles/diffpy.css | 163 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 styles/diffpy.css diff --git a/styles/diffpy.css b/styles/diffpy.css new file mode 100644 index 00000000..118389c3 --- /dev/null +++ b/styles/diffpy.css @@ -0,0 +1,163 @@ +body, td, p { + font-family: arial,helvetica,sans-serif; + font-family: arial,helvetica,sans-serif; +} + +th { + font-family: arial,helvetica,sans-serif; + font-weight: bold; + text-align: left; +} + +em { + font-weight: bold; + font-style: italic; +} + +.darkbg { + background-color: #007f00; +} + +.lightbg { + background-color: #cccc99; +} + +.sidebar { + font-family: arial,helvetica,sans-serif; + background-color: #f0f0dd; + font-size: small; +} + +.topheader { + font-family: arial,helvetica,sans-serif; + font-size: large; + font-weight: bold; + background-color: #cccc99; +} + +.sidebarheader { + font-family: arial,helvetica,sans-serif; + font-size: small; + font-weight: bold; +} + +.newsdate { + font-style: italic; + color: #6666cc; + font-size:small; +} + +pre,code { + font-family: "andale mono", "monotype.com", "courier new", monospace; +} + +h1 { + font-family: arial,helvetica,sans-serif; + font-size: medium; + font-weight: bold; + color: #000066; +} + +.txth1 { + font-family: arial,helvetica,sans-serif; + font-size: medium; + font-weight: bold; + color: #000066; +} + +h2 { + font-family: arial,helvetica,sans-serif; + font-size: small; + font-weight: bold; + color: #000066; +} + +.txth2 { + font-family: arial,helvetica,sans-serif; + font-size: small; + font-weight: bold; + color: #000066; +} + +h3 { + font-family: arial,helvetica,sans-serif; + font-size: x-small; + font-weight: bold; + color: #000066; +} + +.txth3 { + font-family: arial,helvetica,sans-serif; + font-size: x-small; + font-weight: bold; + color: #000066; +} + +small { + font-family: arial,helvetica,sans-serif; + font-size: 75%; +} + +a.small { + font-family: arial,helvetica,sans-serif; + font-size: 75%; + text-decoration: none; + color: #000066 +} + +.style1 { + color: #666666 +} + +input { + font-family: arial,helvetica,sans-serif; +} + +textarea { + font-family: arial, helvetica, sans-serif; + width: 100%; +} + +.prompt { + font-family: arial,helvetica,sans-serif; + font-weight: bold; +} + +.errortext { + font-family: arial,helvetica,sans-serif; + color: #cc0000 +} + +.errorheader { + font-family: arial,helvetica,sans-serif; + color: #cc0000; + font-size: medium; +} + +.tableheader { + font-family: arial,helvetica,sans-serif; + font-weight: bold; + background-color: #CCCC99; +} + +.rowodd { + font-family: arial,helvetica,sans-serif; + background-color: #F0F0DD; +} + +.roweven { + font-family: arial,helvetica,sans-serif; + background-color: #CCCC99; +} + +tr.tableheader th { + font-family: arial,helvetica,sans-serif; + background-color: #CCCC99; + text-align: center; +} + + +td.checker { + background-color: #007f00; + background-image: url(../images/checkerboard.png); +} From 3d71dcfcec3a6624d9ca1483ec2cfc9025ee037c Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 21:56:03 +0000 Subject: [PATCH 008/136] diffpy.org needs virtual include. --- community.shtml | 4 ++-- documentation.shtml | 4 ++-- index.shtml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/community.shtml b/community.shtml index c6ab26ba..9a63c448 100644 --- a/community.shtml +++ b/community.shtml @@ -1,4 +1,4 @@ - +

Community

@@ -42,4 +42,4 @@ Google groups for support and development of DiffPy and related applications. To report or browse bugs, please use the link at the sidebar of this page.

- + diff --git a/documentation.shtml b/documentation.shtml index 9cb8926e..a3642593 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -1,4 +1,4 @@ - +

Documentation

@@ -57,4 +57,4 @@ distribution function, J. Appl. Crystallogr.
- + diff --git a/index.shtml b/index.shtml index 5cf754a9..c1e21fe1 100644 --- a/index.shtml +++ b/index.shtml @@ -1,4 +1,4 @@ - +

Welcome to the DiffPy project.

@@ -77,4 +77,4 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

- + From abe9db8c60d162501ec82b1907acf81ee9985556 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 22:05:30 +0000 Subject: [PATCH 009/136] increased h3 font. --- styles/diffpy.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styles/diffpy.css b/styles/diffpy.css index 118389c3..2f184055 100644 --- a/styles/diffpy.css +++ b/styles/diffpy.css @@ -81,14 +81,14 @@ h2 { h3 { font-family: arial,helvetica,sans-serif; - font-size: x-small; + font-size: 66%; font-weight: bold; color: #000066; } .txth3 { font-family: arial,helvetica,sans-serif; - font-size: x-small; + font-size: 66%; font-weight: bold; color: #000066; } From af68fb902bc7fde435694a73ff6e1c4b955711b0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 22:11:10 +0000 Subject: [PATCH 010/136] Improved font size by putting headings to higher level. --- documentation.shtml | 4 ++-- index.shtml | 28 ++++++++++++++-------------- styles/diffpy.css | 4 ++-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index a3642593..3a38561f 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -2,7 +2,7 @@

Documentation

-

User manuals

+

User manuals

@@ -36,7 +36,7 @@
-

Publications

+

Publications

  1. diff --git a/index.shtml b/index.shtml index c1e21fe1..57bb21e1 100644 --- a/index.shtml +++ b/index.shtml @@ -5,9 +5,9 @@ This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. -

    Products

    +

    Products

    -

    DiffPy library

    +

    DiffPy library

    A library of python modules for carrying out tasks in diffraction. This is at an early stage of development and is not yet @@ -16,7 +16,7 @@ has been already used to build two easy-to-use end applications.

    -

    DiffPy applications

    +

    DiffPy applications

    • PDFgui - a program for full-profile fitting of the atomic @@ -33,7 +33,7 @@ has been already used to build two easy-to-use end applications.

    -

    References

    +

    References

    PDFgui and PDFfit2 are intended for scientific research that will be @@ -50,17 +50,17 @@ PDFfit2 and PDFgui: Computer programs for studying nanostructure in crystals, J. Phys: Condens. Matter, in print. -

    Acknowledgements

    +

    Acknowledgements

    -

    Developers

    -

    +

    Developers

    +

    The active DiffPy team is Pavol Juhas, Chris Farrow, Emil Bozin, Simon Billinge, Dmitry Bryndin, Jiwu Liu, Wenduo Zhou. The development is centered in the Department of Physics and Astronomy, Michigan State University -

    +

    -

    Funding

    -

    +

    Funding

    +

    This software was developed as part of the Distributed Data Analysis of Neutron Scattering Experiments (DANSE) project funded by the US National Science Foundation under grant @@ -69,12 +69,12 @@ DMR-0304391 in the Billinge-group, and with support from Michigan State University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the respective funding bodies. -

    +

    -

    Other

    -

    +

    Other

    +

    www.vim.org for splendid editor and inspiration for this website. -

    +

    diff --git a/styles/diffpy.css b/styles/diffpy.css index 2f184055..118389c3 100644 --- a/styles/diffpy.css +++ b/styles/diffpy.css @@ -81,14 +81,14 @@ h2 { h3 { font-family: arial,helvetica,sans-serif; - font-size: 66%; + font-size: x-small; font-weight: bold; color: #000066; } .txth3 { font-family: arial,helvetica,sans-serif; - font-size: 66%; + font-size: x-small; font-weight: bold; color: #000066; } From 1a460093b3792918ed4da5d4fb5c8314871b1390 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 17 May 2007 22:19:27 +0000 Subject: [PATCH 011/136] fixing errors from validator.w3.org. --- include/footer.html | 4 ++-- include/header.html | 6 +++--- index.shtml | 1 - 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/footer.html b/include/footer.html index a8564ef3..56ce2233 100644 --- a/include/footer.html +++ b/include/footer.html @@ -8,14 +8,14 @@ - +
    - diff --git a/include/header.html b/include/header.html index 52f1b970..b06d5748 100644 --- a/include/header.html +++ b/include/header.html @@ -18,7 +18,7 @@ --> -
    + If you have questions or remarks about this site, please contact Simon J. Billinge.
    +
    - + - +
    @@ -54,7 +54,7 @@

    diff --git a/index.shtml b/index.shtml index 8d5a4d35..93fe1f32 100644 --- a/index.shtml +++ b/index.shtml @@ -1,4 +1,4 @@ - +

    Welcome to the DiffPy project.

    @@ -76,4 +76,4 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

    - + diff --git a/styles/diffpy.css b/styles/diffpy.css index 712c6d16..f983374c 100644 --- a/styles/diffpy.css +++ b/styles/diffpy.css @@ -161,3 +161,8 @@ td.checker { background-color: #007f00; background-image: url(/images/checkerboard.png); } + +.license { + font-family: "andale mono", "monotype.com", "courier new", monospace; + font-size: 75%; +} From acb065f771f47de8da39a622e3f59201989e28e5 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 23 May 2007 18:08:36 +0000 Subject: [PATCH 019/136] "Date" looks better in download index. --- download_index.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/download_index.py b/download_index.py index f7318e17..7a790f4a 100644 --- a/download_index.py +++ b/download_index.py @@ -52,7 +52,7 @@ def getDownloadHTMLCode(): nw = getNameWidth(lst) fmt = "%-@NWs%-20s%-8s%s".replace('@NW', str(nw)) header = ("
    " + fmt + '
    ') % \ - ('Name', 'Last modified', 'Size', 'Downloads') + ('Name', 'Date', 'Size', 'Downloads') bodylines = [] for d in lst: anchor = '%(name)s' % d From a80689d6955d9014a7d6a57fc25ef4cc84adaa54 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 23 May 2007 22:33:21 +0000 Subject: [PATCH 020/136] Applied Simon's suggestions - added brief installation notes and link to community. --- download.shtml | 76 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/download.shtml b/download.shtml index 424b6c3a..5bd90794 100644 --- a/download.shtml +++ b/download.shtml @@ -2,6 +2,13 @@

    Download

    +Unix - +Windows - +Subversion - +Releases + +

    License

    +

    By downloading and using this program you are agreeing to the following conditions. @@ -11,10 +18,77 @@ conditions.

    + +

    Unix, Linux, MAC

    + +

    +DiffPy is installed from a '.tgz' source archive on Unix-like operating systems. +Download the latest diffpy-VERSION.tgz file from the list below and +unpack it using +

    +
    +    tar -xzf diffpy-VERSION.tgz
    +
    + +

    +DiffPy requires several external libraries and applications. +Consult the +README.txt +file included with the distribution and make sure they are all +in place. To install DiffPy, execute as a root +

    +
    +    python setup.py install
    +
    + +

    +For more detailed installation instructions see +PDFgui manual. +

    + + +

    Windows

    + +

    +DiffPy is provided as self-installing archive for Windows systems. Download +the latest diffpy-VERSION.exe file, launch the executable and follow +the prompts. +

    + + +

    Subversion repository

    + +

    +The latest development sources of DiffPy are available in a public subversion +code repository. To obtain the latest code, run +

    +
    +    svn checkout svn://svn@danse.us/diffraction/diffraction/diffpy
    +
    + +

    +The installation procedure is the same as for Unix-like operating systems: +

    +
    +    python setup.py install
    +
    + +

    +The DiffPy subversion repository can be also browsed online +here. +

    + +

     

    + +

    DiffPy Releases

    - +Please, join in the +community +forum for tips and tricks and feedback.

    + + From 3bf063831e7aab84975924f1e05c520003480c99 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 23 May 2007 22:36:34 +0000 Subject: [PATCH 021/136] post commit hook check. --- index.shtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.shtml b/index.shtml index 93fe1f32..fbf832c4 100644 --- a/index.shtml +++ b/index.shtml @@ -76,4 +76,6 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

    +hello + From c9cd64d94a5ecb5bbe893c55885e0f24e0ee6ab8 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 23 May 2007 22:39:16 +0000 Subject: [PATCH 022/136] check of post-commit --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index fbf832c4..5d83572d 100644 --- a/index.shtml +++ b/index.shtml @@ -76,6 +76,6 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

    -hello +hello wor From 3122f309072a35a14dcd114ed04d3159f0a7df0b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:12:15 +0000 Subject: [PATCH 023/136] post-commit check. --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 5d83572d..df4079c0 100644 --- a/index.shtml +++ b/index.shtml @@ -76,6 +76,6 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

    -hello wor +hello world From e879da511238ac705824b45aa233ab043db599fd Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:14:03 +0000 Subject: [PATCH 024/136] post-commit hook seem to be working, reverted dummy changes. --- index.shtml | 2 -- 1 file changed, 2 deletions(-) diff --git a/index.shtml b/index.shtml index df4079c0..93fe1f32 100644 --- a/index.shtml +++ b/index.shtml @@ -76,6 +76,4 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

    -hello world - From 5577d5b4c89416fcda31e2e93aef1c85d05fb9a9 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:16:57 +0000 Subject: [PATCH 025/136] post-commit check --- dummy | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dummy diff --git a/dummy b/dummy new file mode 100644 index 00000000..e69de29b From 4776a6635459e87d27d4a2fde7fc2b7e97443f18 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:17:42 +0000 Subject: [PATCH 026/136] post-commit check --- dummy | 1 + 1 file changed, 1 insertion(+) diff --git a/dummy b/dummy index e69de29b..4bcfe98e 100644 --- a/dummy +++ b/dummy @@ -0,0 +1 @@ +d From 6ff4ebed0fc93df8289fa9e163e68e86bc032928 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:22:46 +0000 Subject: [PATCH 027/136] post-commit check --- dummy | 1 + 1 file changed, 1 insertion(+) diff --git a/dummy b/dummy index 4bcfe98e..35442e33 100644 --- a/dummy +++ b/dummy @@ -1 +1,2 @@ d +d From 394b5beeb7aaa3af6a5b6d7ac5051141b83de6d1 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:32:35 +0000 Subject: [PATCH 028/136] post-commit check --- dummy | 1 + 1 file changed, 1 insertion(+) diff --git a/dummy b/dummy index 35442e33..a2d7480a 100644 --- a/dummy +++ b/dummy @@ -1,2 +1,3 @@ d d +d From 6d1f5be239e696ca36139a7ad528b81fa842552e Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:33:25 +0000 Subject: [PATCH 029/136] post-commit check --- dummy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dummy b/dummy index a2d7480a..421376db 100644 --- a/dummy +++ b/dummy @@ -1,3 +1 @@ -d -d -d +dummy From 0815052c81603c0177be58b2003e00701cc561b7 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:34:06 +0000 Subject: [PATCH 030/136] post-commit check --- foo/bar | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 foo/bar diff --git a/foo/bar b/foo/bar new file mode 100644 index 00000000..e69de29b From 9d4e529ff6dbade816f459553de5e1308d052cd6 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 03:36:26 +0000 Subject: [PATCH 031/136] post-commit seem to be working, removed dummy files. --- dummy | 1 - foo/bar | 0 2 files changed, 1 deletion(-) delete mode 100644 dummy delete mode 100644 foo/bar diff --git a/dummy b/dummy deleted file mode 100644 index 421376db..00000000 --- a/dummy +++ /dev/null @@ -1 +0,0 @@ -dummy diff --git a/foo/bar b/foo/bar deleted file mode 100644 index e69de29b..00000000 From d558d3da642952910affdc3b5d8b297b8d244501 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 24 May 2007 04:34:34 +0000 Subject: [PATCH 032/136] fixed CSS path. --- include/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/header.html b/include/header.html index 4fd596bf..0798299a 100644 --- a/include/header.html +++ b/include/header.html @@ -3,7 +3,7 @@ - + DiffPy - Diffraction in Python From 3c339e21de9a60f9a73c1a41cd1c84bd7fe15ace Mon Sep 17 00:00:00 2001 From: "Simon J. Billinge" Date: Wed, 30 May 2007 13:37:29 +0000 Subject: [PATCH 033/136] updated author list in LICENSE.txt --- LICENSE.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index b1b58ae7..e9f4e68c 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -6,9 +6,10 @@ If you use this program to do productive scientific research that leads to publication, we ask that you acknowledge use of the program by citing the following paper in your publication: - C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, J. Bloch, Th. Proffen - and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs for studying - nanostructure in crystals, J. Phys: Condens. Matter, in print. + C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, + J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: + Computer programs for studying nanostructure in crystals, + J. Phys: Condens. Matter , to be published (2007). Copyright 2006, Board of Trustees of Michigan State University, All rights reserved. From 18e93375f15c73e8855cae072277faf9bca80846 Mon Sep 17 00:00:00 2001 From: "Simon J. Billinge" Date: Wed, 30 May 2007 13:41:30 +0000 Subject: [PATCH 034/136] fixed author list on the front of diffpy web-page --- index.shtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.shtml b/index.shtml index 93fe1f32..fe2056fe 100644 --- a/index.shtml +++ b/index.shtml @@ -22,7 +22,7 @@ has been already used to build two easy-to-use end applications. PDFgui - a program for full-profile fitting of the atomic pair distribution function (PDF) derived from x-ray or neutron diffraction data. This is a graphical front end for the PDFfit2 refinement program, - with built in graphical and structure visualization capabilities. + with built in graphical and structure visualization capabilities. It is currently in beta release and it is distributed as a part of the DiffPy library.
  2. @@ -42,8 +42,8 @@ using one of our programs.

    -C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, J. Bloch, Th. Proffen -and S. J. L. Billinge, +C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, +Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs for studying nanostructure in crystals, J. Phys: Condens. Matter, in press. From 18e9e580835086551a8257246379d077ba6d050d Mon Sep 17 00:00:00 2001 From: "Simon J. Billinge" Date: Wed, 30 May 2007 13:51:57 +0000 Subject: [PATCH 035/136] fixed the author list in documentation.shtml --- documentation.shtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 98771e09..07a1754b 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -40,8 +40,8 @@
    1. -C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, J. Bloch, Th. Proffen -and S. J. L. Billinge, +C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, +J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs for studying nanostructure in crystals, From 7a14f2e093ef0e98c37f397710ba231aee21e33d Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 20 Jun 2007 21:42:38 +0000 Subject: [PATCH 036/136] Added project logo and address bar icon. Removed obsolete logo. --- images/diffpy_icon.ico | Bin 0 -> 1150 bytes images/diffpy_logo.png | Bin 0 -> 4766 bytes images/logo.png | Bin 5036 -> 0 bytes include/header.html | 7 ++++--- 4 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 images/diffpy_icon.ico create mode 100644 images/diffpy_logo.png delete mode 100644 images/logo.png diff --git a/images/diffpy_icon.ico b/images/diffpy_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b68814ec1a4a699c49332dbc6ea70222cd559711 GIT binary patch literal 1150 zcmaJ>YfMvT7(OZifg%?bq$)Zn^mfXn6ewLw%e9nCi$zMMP{DPzfPfPgaWJ%8S_-kS zaxWLPHb|ubG|cSJ60;xk_kL}Qe>Rt8$+9@MCCid6Jo}EMiTktnw`=l!0X_kF&c zkD?BdCoYa6@AH%`jG_`LisBIviZBN}N&g#`sh-31bw#vc?8@P{H*&5QL`M#C7b6|~ z-&kY9*YUULYj4+?HEVz;j<9FEj2P$b$BkybWZlS+GrV!+J&NU|$5~UEVBeENuv&?f z8O1(lL|($wLlJ4`eRY0Kg~SypGQ4F-a~J&--^~|?-%kG~VuXt`UInrr*Fn2$gMPyX z(O8)yq)qCePef1B`+Q#|s&=g?-)hB$hgQUl2!D;65hHO@0{*HR`rS^*gO^|m^dQMD z{wHQg@L579KUvtX3{Q6De^2|Wabde1<|lnfyQ@UlFb8B_oOFo6om4^Re;-|2L(tu~ z;PkQ_^a`29S@=2A2YWDAEuYi>(6rHwibWHmCWPSl%5m;NF$9Yh5V*@A8P_1zP9xIE zNBTkuYIdxsSTg+?nj@u8k`g;C`Z{bd4e_LJ-Xjgs zeJFPu=NN6$P)<7O?Qiy~9A{P(IPH-^G+T*mml}z8a^84&YDI=rUn%N#+mY+lLNnL$ z%IxW6Gx}qrboX(O1nd<#YM)$%a{UryOM1jQGr{r@xM<`DE~0dY_^?rjR`TuG+rnR> z2DtY)z0#v`AJcm7QW>)SS`=-Y&`QovKCMTLCkxU*12TwLImJ5f%US+{JyZCm&#ZY3w0;W=o7Zr4{pOxzOyf+QRU+T7 zhwiBj^_v~gEnRuW=tGe(Ad-oeH2YQC78rNBQMYP=!mf3jK50KI>Qx@$I#l=bygD=o zKY-Qu;m?iJRzXM`%KWk7Tbjj|-wpnbSC{9zT~|M{QGT!!4L>E`PCi8khXpa6m? mih2=2QC|=|KSWXA5$rMf$N`=c{tg4eG4;JRiu&u11MR=*FR={( literal 0 HcmV?d00001 diff --git a/images/diffpy_logo.png b/images/diffpy_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d582567219d7ef963c12a0c9f7e00c12d3c3b6da GIT binary patch literal 4766 zcmV;P5@GF$P)gYd(58L1Hj@Su>>H11VBm@0Z|7{$&!^w${j~`94n3# z#quAN6xpi2%%_u&7vc>k}QiNF6>&cy$3e^+>?319gA&q%LrzIb29 ztAEZP2t0D?;CpB`nlFn;^+vV%1JCuo{jD$m)z04;=wJTYKNVi7JoDdTvG~u1Gk#7_ zo}*>eDG8gTyexXDk0Pm!_3gF0|NPgVxg+o|fBjdLi_6cCiyINP5j;FB%R(QjU=26ee|R5v&D_Hq<(H6$V9(U-qV4NH_S5u^e17!v z%|PL`J%=Y3ELB5NMZ!Xy6UR;vkHv>ZvcrFxoya_-X$Dq46ekN25 zto~(B>-kbsQ40DNB>IHhI3w;J#Gr>!aH*B+%pIO4mWmR~hNOF@?~RF~cqoxdeC)vK zxyaDL@GI*Vb_d~m?WdJdd{gOJTuq=}YjD^2G2(WH_3bs1sRT3GIm(4Hs^UMJITHTf z>I=ET+d_Z(w?5@dzsrAW@xeWxsPqbt$g*;ugN+ub<5(`WW)&geFgv=yh1Xu9(9QAS zv2%>cGhD1aMWfneJTZl92vmezV0L8hnQF7V5IEYm28#Zvpd2P09KkjnqQhZY{vx{2 zWny%aF=-Fa?R_JzuYp9=lJ7Y}@-(BHf;G@Sf}h0%i#hNh(xr)SP$ zmTeXT$M6X<-I_*QE^~9^CZZ=|__{CQuENE9*D#4~ux3kDwYHz5at+e{fsqo7>B* zC13u9j#BC!bWX{Gj~6T)R*biO$0$8Gnt~_aPcPV5)d zjH%&0q+=OYZmjHVzF7LB+d^OQKl`8+>O2`$6aH|<&)w6<+1)HqDOE`aMhJQ_no^0y z`2&cC%u4$$x*ZKa0kUHg^k`FP=IHbr1f&pq)g|kIgckoMB<#0(U3x z!z??fA%*FQ8B&onGo!Pto7d2sHnOOY5HtK}{V%Y3{rc{Ut=m^R^B(mH$F=9DCZ;J0 zx7ez#lbsmj)Sic^2XkZ-Q(RrSf)s{cTSqIK)a(MLuSa-P<-qU~UP+=BHj%|>m7oN$9+G(fkivvTV?gP2CXwnHgj!R@<` zmoMnA{uuNlpL@4d@U8u^6EPW@N)U5~*r{$ah-!457Hh3*G^`5u&%7VI12a>5$QO5M zP^7Qf*rG``I)z^jl1wJp%5T!Fw27)Q91AiNDGp`tVQYPh<=j;wN{mD_35v&Ei4$C2 zeU-evNpvv8*ytF&u7Ob{4x=^nE81%@4!S}Vr+9&(^fQS+!=)@Qv8sX&d zd)eCA;^yWuaza21dDQDQZfKVfH5EhDNXG4{W2K`YZ-0kU2pwn_2+Nbl70V^zN4<&QG4L119@yLO>hvy zt;pn>H@Kv}h-`#t*ku%Bjiu-r2Ic@+3y~QgVWzpCmEsi!oi^5lMK~2eH*}_A3#>P< zvp#r>uC39wii`_$EQXI#ad(hWcsloOs=F=1z9{?rOV=V&{2%@47r*xgba>lW-s;6I zZ}Q|&q^ouAvpj=HGK{ACz{DM(!v(=mu=VzfF z>R~$$f+J#h8liBAYO6xG-lJo-@F^0<=T9N3FrJvfDnP?4k{F6H>Yp5zJm23taBBYR zSD(A7-_g_b10R0)jRLp+MZahJ`>Kv%>6ng=Pmz!VKCg&*yS~A;wo0Si;-UFRS>Ie` zcqWZ3%YI=XJv@J6>OWt9e%*ds=r?}2tS{Yv==-|aJEZISY8~u^#_{n7=(e@tVlDsL`b)bv@5lt)dcIVC^uv$-SxqY|n%2A5 zm+-)YLEA-gWe_}kDUWhHj}Uf{d?E=sO}pACm+bH)_uPGyy(0&CW%C7gy0<7ATZE-JX(gKqr~&D| zbH^`U{?Rr2j_uZnfAahNw(DtThkCxrjodY^7cXOW29yW8*y%0{Ba4jc3;3-FS#b{8 z4A9xtaV^j_ou1caW^M|}QSf_V_KeRV`9v1(pJaT0hK<1$%Kcrk_B`_=i_FIkA?gZ^ zL5b;+*~dEl*0(oy*Y4bI-3KEOaWiG}0X4N#mQtF>$R#|3P!j~Y;@wX0NWWg3kJwRV~L>3w*8SZ`lP zYxS6q9>SOM7>Q-)zV+-MpTGXh#^xQ{t+Qv(J=^JZRt&dyT#ULgv*;2`sDu+i`bB|$ zu!|iu>1jIK^>r*?k8mPLwNmAB^*li*hGurCbV`^#6QgV4AC?IDqKq?-W^{4GecFRM zTWdR%N=0P9kCS(u=KR%XQAPv`h5Xv)^W_)r2>M;WI`jT`D*6q%@BhbfC)4-a;h53x zBcv@7LvdmZ(bAiAjTS;%L9f_!!E~Q+Vp4TCo2(!JBV{!5@Exmy+?$Oyb5rZCM zlOvdc4$2@vYpX|kEQunksBwvCAP%O);i-EFIkAaPeDV`d{MDa5^*6`(-+=w>?DXi! z=vM|I{bOZk%fJ8VAr41RCa+dr)AbSc4VTASK zO^6NXRt=iH8m8JoR%Lb?x6n+Ds#c<7wCLAdyipx23C|RX2nlS>LoyURO=94hNRG@v zG>J|GnVXwqRGs3vo$pYr=LyFAtZl5Jwe)Z9yi%>)7CQA_@pmm(KRdm5iiT50NqdBd z)7b5hFXzcbMmf0e5Y2p-LOVw&5x{EN^el~LtAW%E(x^8uECa1*F%ll9Rh@*s$m7Y6!Jw>H}LYAnfHD5{C8jV zehm77&)yYv!`9=XBBV%K^!k6DlpY=8*vx&%QGvzG5|`F4BBdPSz99<5T|Cjl=NB0? zAvmlcIzC*%WoBvy!`2DPA(kfZC9bA;v+)utLE=h^)z(#JC+3-x?#3ULX(?5b>JULA z!STJPkP`xaBSK%Z|Kv};@ckd&_D2k!?Ej+W8J`^8GtB*y57RFTbe$Icutvqole2Ep za%$wZa<~bDh4>)~H>(UHJw#8!?DVmnK6@5skbDx=?Itlfi5{yHNrq@Q+bkxR7^J$) zWain;@6ys6426fevARsnm&5V((YhLeP=ITzZ&BH4tf@}$m-82!?b|}fm*f*-+i_<8{nnHcp-!>zU}c4$jyV5gL0XgbdH@E$hW%jEPm4vgQ;gnu5z@1xqNuv^|i?;2R>6m|=EZQtud zZuY^Ke|N2LTN3~fPy@Ms)I_fiXhe%d{4wgi3U=Azz|b*HagJ5HB7W?k|LvQiw+q)XEKt%{6_ltC52%+K_!B-t zksyD)jlobAMj7qWk4=#Rf{hR;nKYTp?OySQj zxWU2xKwQS@h`9bfs$XG#c7aNxgc$P3sN)TH^Ay%9otGY8 zi@n{H{;`%fd^o1+{oV%*!^9MNgwuXngF2(bqokEA3)y{CojkhPqmVDOhorGzyLG1qVAWID#m}yr|W(G5sC8KSn)#_U?{l$(9` z>%X`4#_fccerf7hZ?f=eA}~Z#uW@kk5SS8mt4!bMBh^D#K@Cgo;x&B?hbHLk8o%_) zf4uek@3_(%7xQlQy!q7F(fFFJyJt2KvE_fF%ZUw&xnO6%g2cD#2yH5I4Z z>SF62o+%(p3T{`tmiCYQ`b&?mKY6E`(%&}p@^iP^k9_!%CmWr*rL{FfHbOZMS4Q)_ s?iT}3FU8ON!|#6S<=6QC@pmx(J3jvF7kf^3SpWb407*qoM6N<$f&dqi8UO$Q literal 0 HcmV?d00001 diff --git a/images/logo.png b/images/logo.png deleted file mode 100644 index 65977acf93e10501b5cb87c2ee444c3a8adf4b2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5036 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 diff --git a/include/header.html b/include/header.html index 0798299a..3067ae30 100644 --- a/include/header.html +++ b/include/header.html @@ -5,6 +5,7 @@ DiffPy - Diffraction in Python + @@ -20,13 +21,13 @@
  3. - - + From 0bb83b572d7759ce6132ea0ed405df5ae326b486 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 22 Jun 2007 22:10:35 +0000 Subject: [PATCH 037/136] Updated copyright year. --- LICENSE.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index e9f4e68c..6d2ebf0e 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -6,12 +6,12 @@ If you use this program to do productive scientific research that leads to publication, we ask that you acknowledge use of the program by citing the following paper in your publication: - C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, - J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: - Computer programs for studying nanostructure in crystals, - J. Phys: Condens. Matter , to be published (2007). + C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, + Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs + for studying nanostructure in crystals, J. Phys: Condens. Matter, + in print. -Copyright 2006, Board of Trustees of Michigan State University, +Copyright 2006-2007, Board of Trustees of Michigan State University, All rights reserved. For more information please visit the project web-page: From 788d6e7734273e73f1d94bab398e66686d8889f2 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 22 Jun 2007 22:13:51 +0000 Subject: [PATCH 038/136] tiny change in publication date --- LICENSE.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 6d2ebf0e..609125d4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -6,10 +6,10 @@ If you use this program to do productive scientific research that leads to publication, we ask that you acknowledge use of the program by citing the following paper in your publication: - C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, - Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs - for studying nanostructure in crystals, J. Phys: Condens. Matter, - in print. + C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, + Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs + for studying nanostructure in crystals, J. Phys: Condens. Matter, + to be published (2007). Copyright 2006-2007, Board of Trustees of Michigan State University, All rights reserved. From 3ec03fb5ca78c6f2351ee9ad692d4f9e4879f1f5 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 6 Jul 2007 15:29:03 +0000 Subject: [PATCH 039/136] Updated reference to PDFgui paper. --- documentation.shtml | 8 ++++---- index.shtml | 16 +++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 07a1754b..3c38554d 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -42,10 +42,10 @@
  4. C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, Th. Proffen and S. J. L. Billinge, - -PDFfit2 and PDFgui: Computer programs for studying + +PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, -J. Phys: Condens. Matter., in print. +J. Phys. Condens. Matter 19, 335219 (2007)

  5. @@ -54,7 +54,7 @@ Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair distribution function, J. Appl. Crystallogr. -32, 572 (1999). +32, 572 (1999)

    diff --git a/index.shtml b/index.shtml index fe2056fe..74fdc860 100644 --- a/index.shtml +++ b/index.shtml @@ -41,13 +41,15 @@ Please cite the following paper in all your scientific publications using one of our programs.

    - -C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, -Th. Proffen and S. J. L. Billinge, - -PDFfit2 and PDFgui: Computer programs for studying -nanostructure in crystals, J. Phys: Condens. Matter, in press. - +
    +C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, +J. Bloch, Th. Proffen and S. J. L. Billinge, + +PDFfit2 and PDFgui: computer programs for studying +nanostructure in crystals, +J. Phys. Condens. Matter 19, 335219 (2007) +

    +

    Acknowledgements

    From 2a1d7f98cb7e4ed2481c18ea7bdae8499efc01da Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 6 Jul 2007 16:28:51 +0000 Subject: [PATCH 040/136] There should be ":" in "J. Phys.: Cond..." --- documentation.shtml | 2 +- index.shtml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 3c38554d..0e5d215a 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -45,7 +45,7 @@ J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, -J. Phys. Condens. Matter 19, 335219 (2007) +J. Phys.: Condens. Matter 19, 335219 (2007)

    diff --git a/index.shtml b/index.shtml index 74fdc860..a4aaa9bc 100644 --- a/index.shtml +++ b/index.shtml @@ -47,7 +47,7 @@ J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, -J. Phys. Condens. Matter 19, 335219 (2007) +J. Phys.: Condens. Matter 19, 335219 (2007)

    From 1835c0062a59157f103b6b5547e9e39938db59c7 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 6 Jul 2007 16:32:50 +0000 Subject: [PATCH 041/136] Using non-breaking-space in author names. --- documentation.shtml | 10 ++++++---- index.shtml | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 0e5d215a..e4105a0e 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -40,8 +40,10 @@
    1. -C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, -J. Bloch, Th. Proffen and S. J. L. Billinge, +C. L. Farrow, P. Juhas, J. W. Liu, +D. Bryndin, E. S. Bozin, +J. Bloch, Th. Proffen and +S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, @@ -50,10 +52,10 @@ nanostructure in crystals,
    2. -Th. Proffen and S. J. L. Billinge, +Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair -distribution function, J. Appl. Crystallogr. +distribution function, J. Appl. Crystallogr. 32, 572 (1999)

    3. diff --git a/index.shtml b/index.shtml index a4aaa9bc..7214f1af 100644 --- a/index.shtml +++ b/index.shtml @@ -42,8 +42,9 @@ using one of our programs.

      -C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, -J. Bloch, Th. Proffen and S. J. L. Billinge, + C. L. Farrow, P. Juhas, J. W. Liu, + D. Bryndin, E. S. Bozin, J. Bloch, + Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, From 3413e9a9f89b1dfcc4c48c2caca55ba5f0d7b950 Mon Sep 17 00:00:00 2001 From: "Simon J. Billinge" Date: Tue, 24 Jul 2007 14:11:01 +0000 Subject: [PATCH 042/136] updated LICENSE.txt from diffpy svn to include the full reference to our wonderful paper --- LICENSE.txt | 92 ++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 609125d4..62256cc4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,46 +1,46 @@ -This program is part of the DiffPy and DANSE open-source projects at -Michigan State University and is available subject to the conditions -and terms laid out below. - -If you use this program to do productive scientific research that leads -to publication, we ask that you acknowledge use of the program by citing -the following paper in your publication: - - C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, - Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: Computer programs - for studying nanostructure in crystals, J. Phys: Condens. Matter, - to be published (2007). - -Copyright 2006-2007, Board of Trustees of Michigan State University, -All rights reserved. - -For more information please visit the project web-page: - http://www.diffpy.org -or email Prof. Simon Billinge at billinge@pa.msu.edu - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of MICHIGAN STATE UNIVERSITY nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This program is part of the DiffPy and DANSE open-source projects at +Michigan State University and is available subject to the conditions +and terms laid out below. + +If you use this program to do productive scientific research that leads +to publication, we ask that you acknowledge use of the program by citing +the following paper in your publication: + + C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, + J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and + PDFgui: computer programs for studying nanostructure in + crystals, J. Phys.: Condens. Matter 19, 335219 (2007) + +Copyright 2006-2007, Board of Trustees of Michigan State University, +All rights reserved. + +For more information please visit the project web-page: + http://www.diffpy.org +or email Prof. Simon Billinge at billinge@pa.msu.edu + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of MICHIGAN STATE UNIVERSITY nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 9e9809d16bef3a0518aac3bd963abfb770672cd4 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Aug 2007 03:21:31 +0000 Subject: [PATCH 043/136] This file controls which revision is published online. By default it contains "HEAD". --- PublishedRevision | 1 + 1 file changed, 1 insertion(+) create mode 100644 PublishedRevision diff --git a/PublishedRevision b/PublishedRevision new file mode 100644 index 00000000..ffea877c --- /dev/null +++ b/PublishedRevision @@ -0,0 +1 @@ +HEAD From b816ebe2d671e03f87eb56e6cedb09c7f7a55e20 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Aug 2007 03:26:45 +0000 Subject: [PATCH 044/136] dummy commit - test of post-commit hook. --- z | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 z diff --git a/z b/z new file mode 100644 index 00000000..e69de29b From 850e7f02f1218ac7e1b685156d14a080deb99002 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Aug 2007 03:30:21 +0000 Subject: [PATCH 045/136] another test of hook. --- z | 1 + 1 file changed, 1 insertion(+) diff --git a/z b/z index e69de29b..8bd6648e 100644 --- a/z +++ b/z @@ -0,0 +1 @@ +asdf From 1b6ce5b56704a99a8a806ad9e3413061ea214060 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Aug 2007 03:31:44 +0000 Subject: [PATCH 046/136] hooks seem to work fine, end of testing. --- z | 1 - 1 file changed, 1 deletion(-) delete mode 100644 z diff --git a/z b/z deleted file mode 100644 index 8bd6648e..00000000 --- a/z +++ /dev/null @@ -1 +0,0 @@ -asdf From 79ddf085358415d1ae7d41a043b1572b04d8620a Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 27 Aug 2007 18:29:09 +0000 Subject: [PATCH 047/136] Added NSF nugget and flash movie - email from Simon, 2007-08-25. --- documentation.shtml | 9 + download_index.py | 2 +- images/PDFgui_screenshot_707.png | Bin 0 -> 206282 bytes images/PDFgui_screenshot_707_500x369.png | Bin 0 -> 136756 bytes nuggetDANSE0708.shtml | 109 ++++ pathutils.py | 644 +++++++++++++++++++++++ 6 files changed, 763 insertions(+), 1 deletion(-) create mode 100644 images/PDFgui_screenshot_707.png create mode 100644 images/PDFgui_screenshot_707_500x369.png create mode 100644 nuggetDANSE0708.shtml create mode 100644 pathutils.py diff --git a/documentation.shtml b/documentation.shtml index e4105a0e..724e8d74 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -36,6 +36,15 @@
    - logo here + + logo DiffPy
     Python Libraries for Diffraction
    +

    Reports

    + +
      +
    • + 2007-08-27 - NSF nugget + describing PDFgui. +
    • +
    +

    Publications

      diff --git a/download_index.py b/download_index.py index 7a790f4a..b2b58568 100644 --- a/download_index.py +++ b/download_index.py @@ -43,7 +43,7 @@ def getDownloadList(): return lst def getNameWidth(lst): - width = max([len(d['name']) for d in lst]) + width = max([len(d['name']) for d in lst] + [0]) width = 4 * (width/4 + 1) return width diff --git a/images/PDFgui_screenshot_707.png b/images/PDFgui_screenshot_707.png new file mode 100644 index 0000000000000000000000000000000000000000..f04cc4718f5a53413be9801b62d21d7e8f721e5c GIT binary patch literal 206282 zcmZU4bwE^Kv^6FI3erdmlG5EscY~nB(A^9@fP!>)cY}a*gVG^6ba&^F0|R^)fA772 zJ{fW5dgt6zd+)W@-X~aDQR)pUAu19Q(i<6RaaAOwXJkl7PZeIh1gTYuf>F#NYlVrWi zS6|GQU-!(!|9l_DNKb`hq9jc9K0C_$PL&>$%B27E`zq?$Dmw|;D%>iw{G_?ru0G+u$HPhA%xA`_rlg zx)y{bdr_&Cz=OEQr%-_Jyuc-8Hyz(Pb>Xm_D3V^kTaOe@;_`ag8GzonKR(8RytE{Q zR8-=$d~#TF@qwl%cZ=uCbbrm|XTbCWiM7#{Q0{*~Tsl zaJU#)wuUY(oTudoQB;6>xvGWHd6B$;HGp#DO?7Bcdqhro6^&F`FB$2WGs5j<#^f8X22(JoHJMnQSPFz`P96)3nEG$@TTG^Xil+^~{C7J=h+J(Y1eyk$14> zd0_m^8Qg0HW=P6oScR}!;f;;4{=HvwqSq{sdk`>t4N7tv-mjFmEwso`XFXUv8Qg)Ye|VK{GmP zseqsLsjRK9pTb}{OLtf7EBW4WjB3ETM2?X+p5(2nx< z`=-?EYqyji966%?uon?f)9OmQhhu@s(|)jn_0liAZ>ijNY_3a?1V)gEyfs6`8!rvQ zW(Mh6O$S|es@k-wK}~~-dP<)_2SHXJlE|t6+M9E4JPcRY;waH*osmXeO$m3<(9Zp; z)H<)zC9#;^yT3+}wWhrh>3^>gXdNA*$(OSmU<22?rc|nBhD|8S`YyM=e%m-*$*p3^ zP{z&--5_|XTw7|IDc#*{Lwn}u=g(g43C9T)D;@r4@|k=uzM`QpA@80L7aY$6aS$eb$!w|Kkm>mKZ8Rq44stf~7uvBjw7%btqg)}8N6ahe3tnyEq+ z=2vXKw)bqdS=^<_8$g>(O!gNJYD^FLrhd+UQdh_MvpF!9>p9I3IV9IGA<%kyWA#(3 zF=e0Ic4d28YI-<*=Nvptsd0OG{47gjFu^~i&hdJL@&h&XiT;`C?wZWv)#at>Z@If` zgIjd(*^7^z0WC31$9~A@`kN)k!C@hWopY1!Oi<^2?q425P2kI9#B2@NBu~7OiXqe4zMfxy3yeU+*Au|6;1lhJCKqCNu{MxB+Dx625d_#cjks zqD-uiwwxuFMoHG)DM5Z63w1WTKmTr!fT`Yvx!F@g@hT$}pZUqjj8PeDs=UD5je#lT z{slg>o-F?5${#TZuO~WL`0cl>tg1#m?b$}9bRj<*VQaIK-%kW4E5({z>U8J1TDZW{ zZAbj??s{8<2WsuOlHD$ok0AAs7l}-|iuiTFgww4Vkzv$Y(#5OvDR^ZSTSiCX?0`MY z7Azz`pvEe?^x|@)_s-WD?Qba{)p)M;BMM_zzYeKD#I-4;$D1)XbfZg8@s$OLi&Rhx z#Uit*=_ZO)Q(tYOvi6TH5GiMR=(QG+E&ON_!N8G){9OJO{l#f({6iiqS(rOndd_;P zUHj%KS7ZU2&(;BNTM}z{Zf^v;=|Lcb<%n{w-fD1x7vy+8!`c&e7u27ruwMEFg!IdB zlOB)hK7c8mZ>-ss8IM_SphH6Llb@Lfc#zYFXxd9Du&}w|61w$8CC)lrNBOkU_U`4@ z-@6n%#uV1`cp0R>*K48jy<40*^q!Z8>#>o-j{d24lR98N5)yuaXd6AnOkT84WhtCz zI&~!_rdZC+uE*K($>R%7O0^99wZ*+AiC66pLL)z!O;@(I0tzhL>7f@yT&z~ZIw_ns z9TWZ7Pm;KdOf#TJ(u#^}p~+A>O{So9;fIczUG~cPLxk(Km48XBzaW#*QX~oga9FV# zkK2xt(2d(usOewhqXXtMn?OW@n!P=53a3?vUHhR)uM)q-aycWC53zu_ygbAEa3ZyA z2;ADHW$%^~BIxt}kkqd8cOuAebC2^csNq$*-lJ7j4QbjsFAoleN|Aa8*=W~qxwX=T z#5^!k31O0nssu+a%(YJ}H`aRcE|yk>Hp|4m^m{`sx;zwqGFoGStvM50 zsK~loT^#0dMMAGx5@$0XmFT&!BJzya^GE^SzLmWk*k&%bQXyDwR+DuB^DKbZrji-+vzKiq= zbTiqpZvr3p_qj@)4wi#tK{S3cAAlidP ztzkREDZ$-)06fHJ=H*cg0zn`xK<~Hmy}hbym3lZh6xNeT7mL*^pGx|D@BJ$L^!NAW z2U>7C!+}FGEW=S=dOZMXp#d|+jvuEct;y9ng2#HHr5pFCFr7br6ACXTwrMd~H%0OQ z9|!as=RnnlX|jp9YzJ6D?!~voN*Yd0OQUI>UBw-ug$PP%<$DJjg`}|Q7V9e9%cVr^ z+r&)3G4W-l-Zr!`ZMlB@4kh?~*GlRuM4P(OOTXwv6_uDwDyJjcGmO{Z z@`s?1kOV$D?W1YylxW|a1r818aGVXQ^a+(f#LXr*$>gg3dK2dtfiO^P#aX{w8Q-#t zNxfOIPC-39K*TC@b>+g#tr?zU$y(D;$cesZfBpBki$*Fcj<}z!((~jO9Cll~Ty&u3 zPiSI^Z=FO-MTUtPjTFa(8)dVE)FLRTeCRSRq zj}#rP!dnolrgyfVFn?V0BT$NmNY6)DvqAOVJ2_&=szJR96`zze!$?oHGp<<$Wf~uKb>7(!zuRru0ul1? zKslq-+F+_zA2nz*Z!Zdr3GSq6*rX|C$I&n*ZAV<^-@kg-Z*{8~<@v?sf<5=Pt6z=B z=l-c5i1c@Eq(GOF@bOyctWy$V)~w}WSbEz!D2YHa{GNQ?Nvqz{J>w{}7?{~l^IVaY z9^p=Rl7M>}uT`2|bcJ~+y#(&y4Gs>ro@w!?l1n`8@9Kx}dF!NDP+nTkYl`$u;Hzp7 zqw{lFIY#%CaucLckk=k}ObE3nXRdr4{Ds&FT zS3#o~wEe`Jza`XI?6s*9#(?_kjhH*;DKc%Da4EDazLxRt-xprJq2gdjbF|os!^0C6 z7N(%23=VG%Zf_@JWvv_@mi_c8d;PPRMgY~D#tBD&o1_J zOVFDhw&DD?K|&QSwDP>p`{T)!y%E*!`&@(*6@lG`tGf}6?Qo`F>U5%=9a5U z55utcpl|K%>f$1OzQc=|L*q6>112vb)DjavsgZt_HU>Y}TxX8j38GPLRkT*c`EDzs zuRQh_eb_(!g8+S)lY>v?ddHM#`VN#1`eDmkFf%EMz_zEG)ockNN^~+7NcK|yV$NBs z>~kAvJB>N9DXKN=dAu`f-d+2{_ijUjUDuB=pW(#}2hO!(f%vMIM)w`v3t^$_raHuE zc#Qw&p%?gqu9mdl*bl=M28lWYRhWtxY;A38%$LG2gb9WQ>=Ielt7Qa6v%GJH*W2zm zP*D1zYxg+}&_X_*edsh=V#Dz5{)r}hrzLy{Vt%l%eme6F$=gsNG z_DY8{JjC6d`DB&Ek^BBmnp~58Klg_ZA7awd{$_Xjux)jo@@{=>cNW%O&CYv;F&^P< zOeH=Z8TG2;kevB2BQOvdiCa|c496^6aD*gbmIP zU=>O!L}L9igd|GZMh%Ks8?yFuW}ujD=cj6FReYihc$|aUw1pw1upQB zCXZV+=@X(VdNsb-q&Ewvt|u%yz!eJZz2W?s>Qg@v5u6{}2gzk&sS&X{QbGj>go6s6 z#6ttZ1KAC_GuAHU+RR4sur7nqBEz!I&0p0#VR(=`T*#o?9sB36pZJ7kNvmhO0u)kr zg->uH5U-udvt&`t_=od@?^x_yT{EqQ#JqU`7PpFtSz|txC(ZoO5@*p%GoNcozdvOMo-Nca zR6O9fCs!gl;MOA=IA}a`xBIL06mhq^RC`7;tG?BZE}^2h*aS9Qiz`kOa!Obl5eyxR zvSROql4NvQvsD^E@$`1Cuq0!H0RtYT+Y}LZfe+X%j;KJ4zba>}R;)qx<73#cC|=cv zw$ykEHoF?ZOEg*#1IpxA(ZTii+-dG;3BQ2d19u$OX%P^#7;E`bfO(L!HpmNd*c{N% zBjfrJf}2K3R`Htnw;9w7wwYEzAOx0|>{bM(}dvMX5 z-}aG@480jjE=%V+UZ{T?GX@1KYjAR=LV;+C`?A2l&gZoFht&vXshC4EoW|u=g zzkoJLIP4FE*K4o6PSLnVOeHS1q(or3UYIL2y^cBB?@*qBIPZ;zgItc^H`m!7 z_Sgu_uJ*@GAMk-HOLx-L%Eu2s(%tfrWXfMBwY7S#GA+a3-cwzD*G^Y7IOcD3fDhmX zy!Lr!$IQIt!zm|Z`Eg?azj})Wa&6BbgCap#F}oOBtX2pc$VxmO03&sj>l*$pt*E}d z)!>bU9JIsO(YwDd8dHsXq^IQXk2M-#;E|>J$GkT6Au$yeG>gGdnJdFemu>x&JMf-^ zc3$0bM>k;BdTTd=M61b~7Y&bjwKdvqbN^cK_7a-skULK;KrNrr!M@m}T5KpmkxP-B z&K6!FHC_Ht;`nz6-Jg+00eXG6@_ua{+pVNCR)RvnR^pBqyo14{V?X>tiDc6L-kFKV zRj^EE-Ibl|v*f4enD1x1w6Tu(8!Pq4us9TQp->WWw^!~ocI=@rvhBqTMM6g$GG{q% zQ)u`xkH;O7UWxFcWy`0LuU?f@^SlseVal};jKi^3eI>L4FBk2zr7Cx)f+0lOpk}!~TXJKeCGL{ftwKt`4@Btz3pYPbUE0gn zq@v=+A2_WRG(V_O*=gLp<6V1042M9&b7;#W=}TCiv~-{NIKY zx-#x=h(L_b&X4kYI#*eUo7xghaY+lz4!wubC37Df8`gvZ9!80ViVPbq^1uG}n(cAw z|1|!h!K+10P)UY*MmGXrMZ8UgqVX|>6_nS>R zAZd~#K~6Uh41=%Y|2#Y119z0`fy?1q)lK$mVt`=V75I3|E8ghOkex2#M+x-twSX!P z`S0B;Uwb(gq+LDyVv7_l2|yW+sj*21=|>TW|5JN|lY)r8ECs$XBoujjUv{w2s229G ziSAE+O`O%>5e6aSjmO74zJ3^z$6mkPeg8iVcQ9g-Q3(I{Ux3QYxh7WgUtfS8bbn*2 zzNBsPxtjQ?op-u;2#@hm^;V7O#*X~gI+Z#k3)i-}e(UZ5!Q^`#VnUgUSXw)DDe#io z#*}SYG;a3alqT)`_aOWEe#1ZRN3MH&wRoC!?&t-7;+t2dUYSiti4i1QIIR2L=H*ad~MJCwS3<;A=#76J@d}snjo&Mh< z*H^DzHJDuNxy*o6a0CPei?p&S0KGw^9Umm^I_w_2{W(sF-X~LdB(9i!w%$${z=9J+ z4rI@6t~P@&ZO(|LRN`~PY#%$>K|(JC^S}^xT9aOiXnx`4EAQSf*VLV~+!Ib%SQ*@M2?6fS+nR>smrR!@t`fuA-w=*w zR^T&;YLM)n8CF+qq}sU`FQX+}$H#h+S}lKPHydf{@NRcWw|Y2FW*3-h6RVtM;l4#w z?Q3R0n$T+Zxi_M@4z=na64413#j5u$XP2pnoB0gzJrFaJUG4(FdzY_$((ea1 zec&*Ymu+luH{q!&g(5~bZwLVST|5JprY*>Lbmr{pnyYx2((-VmEdb5^n5mE%U3fN7 z4sooO5UICd7dHFUj_=;4sf4(LuqKCb6!{3V7b*@&%{`>m51ASvXs|6{E1evcH{>8@ ztt5ri7$^Q%uN1(7ish47zBB1I89OdlnV{Ls)%3%Xa-||+r@ds*R!`Tt8Vj*{+r{ha z^+*&93|If%iDGPQ8bzFEXdQ=mWGM-^32F^B-WFHwY3z|kG>TQGn{1aybHRXjj+M#W zq-*uvl7Q;(g)s+(gc)vQq<(4lpt`*z>tl;7jC?@hdB_mDH_L{pH-BcN|NQfJf{k#2 z)ABC|_KUsAeA!KUc$Ly19wX1mEtxr?POFPwC7GAJsw!K`OF+jJDMi-CNqyr~J@T;R zooG?|LnnLM5s--Dr)%(A)DGux|yy*)_?$cI}2WQ%Bur(`mN5+I^YuRV>>0WiD_aC=EDC+BzPnK#bZMRv^vf(j) z{n5GF2Wv3s48SBL9LST2ooRCZ=(IhY58fSbxmxlpXSrH*B@+@7BIW~2zh->p+R@kR z<-AuoU*#QgKXM{n;mdpN=@YWD0Y1n27A@O==nS1%tVzP=Cm^XBD>zM|W*#54qvU#NN zJ7n)djX^vK+s>A`-XUuW27$1kK55^<_{~m?CFb$yZ$(A4JxbScctfcLXJq_0y1oMm ze-;oj{Z)W~Cn|N37g2kuLb_Q@76s z=ra}~>1Ob-vE{zCgCY!IvCBYG=Ip-NP7UAzZ9+>e+>YW*m;Ft8rkMrguc*SO%Cwv7 zgzvBY+V5{ZrW5^+6uy@Z#bab6X||c?Dp1PIFhbb1Uf^kzsEbrguOArWq}ZVqnKwfpB=NK@iS7#!cl!JUamq!wBuBQ9zy;8VsIvOIWkqE5-Ie#5P zSbquO58j=K?)16u{}I`P!?z4)98ouwPyhP}ea;4F8U9C{$inc)Qa6~3{Qc?K85JLO3IN$>1NxP`J1HrO067Y-Z5_v(aWMWhw)bynXRH*dWp~(!*(r2b7f3syaC2XYZu7TqCJ)>>@1Jb`wLn6^_H8BG_)~gG z86jqf3Zp<+d}NKSSl~ls{rwf_YpusyW+f#o>{#=ebCE=!|C={wApk)YxI+uvg(`lo z^$)VX$Ob-GFVw^fwPp@-$$P`J`F`OfGJ&!!;|G$7==?JB@{AW27LbC1gZt}*j1wQX zA&{eT?TI8C*{^6<^hd>Qa5*I8cRA1>h@;!N@R)w~9t2tjlkMlQmPA|DncR|L8^>qcm9syKN?2owyS|;jiHgzudj?#KP5H(w-$hy*CWoL;(?jW;-PxE5vm5cKBak-b(n-Al&BRP z;FBdPet^0P@NaQ*E!x~(?>K;46w;u`%jS)61N>x{6q(nC$0(A1?N?U9 z@D~y7niYBoAnY*cG(?@8*eAY)Z?6VC3GJqM@%~l41_USaQXdF;78AeTd);83`sCK?!RgKbqAerGw)GEg- zi$8$=mVA90Sg-BLVz59!EuYr$Oo4Qx``*t2Yn&(j-!3E$*@sw7*hmlE5{)6Ud)>?? zkdx%8r^>%dcEfOC5WO$)O18Z?;8N9MtkCU|)#*h~3+TNCA(u_}PUX7Aa-G5wRIysv z_~cWGM%e&V*Au2SAMre%ZXHI%ekyFOoM|FpK$YH#H@9K=-VIKK{*yFc-Rh|oBA?}IHdr9 z)*Q>-c0yEnVpz=cwf`n}Ia;9W!Td2F)VZn;eElN$UD9dhPn}c+^O*MmzOiU4G8SVi?soc#A9i5%-XG7dye(8V52_VN| zeX}FpalGfNQ&GqDy6Jo{PxQ9>OZHCQ?airenqzpA zm;1*#r}2AE6A#aQfcGrH+#N-(xnpklbiYw6q`ZCm_II7l{7kDS_k6wGc44M>jzTKe z!BT5#z#Ae{PwPGJIm{>&Z0cW*o3bx4NaYZKvl+@JpOjWz1hT~#vgYlEic_wV2T1hr>C3zeLfy{FWasjOZyQE^hZsr4g^g+Vfhg>8-n~Wg2pFa^0kwv)LyAO_=>< z@J#pt!43r7wYBch=PzE2wfj7P4KRp#egnJ7F+GOjkrPl!LUdZ)6n_FAl;!_s2&VEm z@15)xW>)F{d1^Y6G1M1L3H2{l%||`k9zoV$?+Mpwal`z^YShDGyTAhs4oFQ)z2mfu zlY?~i_L|*%OL=5Yac-w$*V&hbxIhUGo9uAn@YV71NQ?U!OR_xpcqu(m&x1}aNqzOn z3D9YFmjkVpOo=+K)bJlao|kA=9HDX>^}NpTxp$Y0BxUSo1ln8RU86jdYIr1fIh$KU zsn>A$la>8_Icsa{Is*(+0cmCBx4=eWs-KzB;&VNc2R;H(?|E7Unllfv!1<_{p*}zj zSBJ64fDwzHuCA|($;-cf^5jWZPtV%^eyYukM(O9VR?jQ2ZChL0qt`l^uaA5jr0bCm zwNi#W7|a3e7vyoD3wTdBk@akq#A{|?8IfUs*+*7ZSKt5RxU>Y1%m1}DM9AyraRZ5p zidMaLz1Y(b6%%t``Hrk(3z(TH;`)@sc7Y&wtS_8sIC>9&nuTbwE`Q+RMBG{p_Spn_ zKu6IxiVHKE_PYWVLo|SoQ>^Brl@E1}V(9cnqQ| zmA#}N?Y-;mmWOjAg+g*@cNbz~W0P47I&?vL6hi+I?jQUS0JFmab}GBu&(+opvCM(v)`iZ)qe#5KXuB0{&i}T@SYN!HeaPd&D4< zVwymF*~7)C`9S=|2x~-`0Z@A&R$HQR79ZK^Lz+F=Sr!}`95+?`>a8a#(3Ot#?u%#0 zJW()NSQPhio{qG1g6$XoH@4%?t7qjQ5CO?tOnb#fK96%+5fPEyaX_h3F0cRTI#{uVH5yH|NN&r=K8N(m{Y33Tt< zg;5AF5c~aEDfv|lsYht*c{zWIZ~zuRF_6ri07(hMuI={n<4X);^0FYHn2nLjtLaZV z3yCO<);$i9k56jF=Ssag$BD#rfAVb7^L*uR2(Ff)AyPw=CwKbv&nMFOmwQKx#PfCG zf7W|geeNLuhg|n4)z{G>Hm&B>{rb+Q5DOC%7)bu3TbQr2acWGJrv{Q};*gERygYGv zNp{)?S^*6Whnd5fL$247l!uv+kZ_`@vDNu=+=etDYze3Wk#2D*IO4i+|2LJ~oQ*M&wC3(9nPqa^=$ zfI@>yxD&{$`(U=ZSi7DH8J+m|{5%noot+&6o?M+TCFA$+-)F43xa^kXuZ|Ys0Lgf= zZ7yvId5}bH*%DLZR3G|YQc|t}<>2_es@&*s_Y!al;Dd$uA?>=wI_wr*xH=9=Ny!#3 z!s}}C`6msMhUVlkj!}+L6F2OR!!E;WY!aftlJCR%U52$rEGf1X9$W;KUv0X2yRpge zBPR_d>{t@|LWkPHjiNUHHZ2ZuYqMuYC-toLYcioUz=ltHi0s}H5~BVFEcy7RM|Jq_ zlRt1dtAw69HW=8`O$Z>h4#?@w5|9o2=FZ_|AJ7UA8g*Jda8rl2QkG3Q-l3qO8Ep@z zr#;--5pr1!U){dgH1K|D}d05__UH(4g!VY3C~nau2=>T|{*Cbr-TRz6#t_nvk zEI}*@Wzo}@Cw4(4mLuds#6WCX-983U&8PT;NWGSxTCJZ5 zMdl+dhk}@j^t;1>Io*F~phb=8!;fLBDdVp?q*~1`324LY0VHW_8K)V7`oEEu+_%%M zk9Ug!j~fVt3FG8?04uNq2pTYaEK+o{Kwb&~VveB5$le2>G^Q9RBs$P5nekp=SgNYkkQPgU|b*gNfUF39+7% zU_RY!;pf+O*HQYcK^XBHAIy5O-$3plDjIKeWzFV|+1AZ!)M$jT&iogX9)u$9>#bTs zXqt|Pvlr)4%S`!C7&LaUfAOc0=-w4y*x!BFQTX;0-{l!$iCFi@^a$>f^-E@EW~7D1 z1)yqZr{psw7gvI6{?k|JOrQ?|oP>+N<|nPYQ%m?%3qH?|x8Bh+Fc2$1?a%C)F>$*L zD`Vo4exwHS_oK)VguettxnHxyAE>Cl7Z`95j_$tEiorUo9nL5JvDok=Me@_`IFK*| z;QQmc>0cMp&mX#IzSCyJ0|W?~2E%ScTnYF@K3mFvl5|jHODG01S95q#AFX=ev)I`m zLr0&SXH;-VY&9=c_pVVPOoj4+s_CiiOn4DLzf)R`THbw|YayExEJJmEnzDx@5aBVB zW0j?pyqEXeZWzL+j_lyTT}_-l#(@hW1AU?_vi>5_B5(p@xUa|fsn-gNC?XD)!85e$ zSv^|KsL~&ho|MG}keGQ&K(`^40DTG|#1@{YgMk!#!b(<^n>${s8yi8GxReB@atTgJ z=l8-y{F1%jP-yIrYd6i2rOr+g4d<-s{ZrT_HJd=%xXEA+t>d3ZU(m7G1BCgVsj_(z zFZ7IzjOT@4Tq)Klp8;*`*#mejwtocdfFTsPtslm-u5+>vBq0Z~;@XfI5yW5R33fj5 zHonkZcr#IVjHCL^{F|hxD6wQNN^bvwj#4(SJx`iloh-koQ83E-Tz;sy|Dt^e&Wml3 zMmMzcM_?h%Qo^fpgjWjcVOqnJ^z!X zNlT_4a8hK>@R^9OH6za$KsLJBieJKZso9?|jNo;)oq7*Oo+qd@9Eu8e^q+ zcm9ksB5UqNrf)oqN4pT}#LgE|3mSR)oAQ)8HDS2ZwA!HhOL|4wB;9o)dX59Goxr{s zvm4>8OZ9EnDg`DPw=K?rjk5Rs6RNCdKlNp*R_u$)CFU_z#^PXSGL+(n&#!MW-(m0T z46fPhkM0A-&_(E;(ObQimHI3MzvgYq9V5en$g|Yxa3q{iB6s>|*X)+Stv2#wbigJT zIQ^H9`O)m>BWI@Dg-i!cK5%Jifx2$BFxhtRcPMh4)8^A>RV<-K*od$;<$lzJ!ns-A zdM#e^3?GQ1wFfymqRE!^juBqakD}z2vj)9>v)RF1y1Q8F8L=A6`Am=dGE2AddC8k0 zTZwAG?T1nFVsfXa6Ro0LtCuQ&cxgLXV(~qK-{at~O$9OF;u@M$r4{Q8r|Ag7Bq=Cz zSqWcX-@?~^@q>s8iqPd>J_|+%!el^UYU9k5H?ZL+EhSWNz#+b!N8}V7apNK;PkzlF zbV*8?VHHw2zZH?>`46_9M&qBZ+P{5=>u>40vb+0z$hLR?@9+eYd1dyBy*}iCbCd&Y zQj%M-i075=QZ%i|bEn3qJ20#J0*?$Y6j!;y<^J{L-^wIK>)+W>?C7^ryY#h{rSvY% zf+hj+=zay!KX?9Qi8<|jGJEd#PX4Hfbd!Z%CXI(sWU-F({vy89nnStTgR@)*jq1iU zO-ZqR+~B@u z?`j%Yz#4kLmGj@F^pmLVXU{Mnbe~Qu;_Gf6 z7!E;>^g(0d5K)Skeq-=MEC~?}jhtMg;MRAEY;OjRu&5=gG1C0Mpo1DfSwW9C_+n*%z{kXa3>g$22u`A*gS%%Io*5`X{>#q=ELlUf)` z)hertJ2snPS!hA0r)?A2v8s`z)5h*zK_~SdzR&p+W@s-3I;I0>7uq8(u)jhWx^(DH zP|OLtXu7f`5#fQEB$K8NF5K9nV{6YUX=W?uZHmx|Ji5Q@g+HG}EkQkH{f3G@$;)TN zf{AVSUJ_LCO1>0VRz5BcpM91DeY@}bY|x~kNFmg~#kDggE^IO52G`}q=%{-5bpwyU z!otbLDHF`jisyg}@$_j>WO%nR7q;>o{Isv=MEU?7nYudpgovA#h&b$z`R~E`z|=}s zH~2M=l#uN2dZBUDh#JxVF-7F&Zqcr>++pvPyDKA>)NWdTOfvMzC#V2R&cBUoS)?H_ z`fE}%Lo^d>fxDkmiW|z>fM3M=)pPWVf7v`iw8RsTGfPTTO28J|uM|+=!%{Ay;^F|A0azdW0DdB- z$e<^$Gw}NLaR_elVl(&9vZqp*n(}Ej??fEU5>kj2YH&W-Caf|sJ@*|Kn(Smx5x#e? z$30R&z~V0wolOL+-t}Egb@QK?*B;6rIcVLG(fwyiw@<4ja(ejewbuS*1hKwHAIgzZ z(-_@NqmW6Y;E7pR#dyiV(MpQTUQ$BYk^8dl2gOcxAtu?2ckt1P7R5XhYUXtxCW2mFI|-&Rz5{1XT1I}Z*8PJvXV5E%crNtvV@dxr2|FY| zQrB)-)h=LlKVgLAJWKaQe}M(P+~OGhU9uY#rZ$W3;}7KCX=@A^KU>Kj@FAYwsq&rB z(b3c0hI~Y({kjKw6Ihb_p+W+Hk`dR}&v7LFELwNW52E=9gU*|@XXK{TeLsHgGOdkC ziuwkGoM&N@l(t7l1mQhcyp!~Y9NjGkiD{F<{|MoRIAFR9EnqtBhtxzSOb0+D2qy}? z?yI=&D|RYR^L%bI?-utlaLgJHhtganvGSo2k8!W+%+-*AHcP`Cz=fbc!Yr?}a>U-l zpJw;-srx;XsQ9iY!P<~Z;H*FDClZU?Z(iwH?bpB!={U^$B;bEaBvA7dY{tvxv9l14SjdMC^f_2HW&>Fh)`AE+RcX*(Os@)le(q{yeDrRd7|Z>497xl#ddGa7rGrAhd)=>Zx0m*8*5MRBD-oZgMC8ZIHP|d^}m!D5hPQ=O{4?Q`) zK=qBHQc+QP)X4yaQ@Pp2X36Kl>*>>{0T*`~)8sZW@w|B|lNlGG4)LADf6-(Tut7ku3yK^vl~4+z`7_NB>!o?Om*6RS`q zVUs_;FCJClXiBL9G&Mk$+ZxHl_zh^Fjc#Lb)8GG}4vYgxoWoO(Oqf>hQYlS3zRreD zt=*gN2^MTC6&C%+dNddXz*x4c;g%2HP0ss|Mf9FmN5nk#H79-FMC2bwu;1W* zM(yoAJZ*P-bAttl?lv=i$QW2SIO6v9zXllrA_xc)*f=s3=eWJv z4&jE=nh~+=Ef-EI7{YMmBbUnXs6Vgbu>mr1PXvh^AQKm<6`}*h3~hsUGrtVvGlfX( z%P)2SVYkU>+56VUbU01M-25@O5=OvEA?1om2(&IC*BJGdG*gi1N;SWMxw8+f5*mpi zbiK0tUT8Rjhk;Y>?epv;pcYAgZ=(3iO+G5dxA$TJ#xT3-auOhAF&u-{K{x)QaJ^1Q@FHF*?&Ua%VvzfOF!WTWw zysE6h`uXKKA4&dzM$Qs@XOZ&5AFRZ7=C*59R2ksgefTK_4rk+3kdK;pMmY7?qq`ea zTE0=TJIS2~nP*IqFM3q60|NBgERsf5edhiXSkQ%g_^BN>0Sj0_ilfQ9X3~ z-J&WF6OUA-fkhEL>JZaN?^qvX9!nhp>s1Go9L|RtglI#IIboHs=6qhsxJ7fBx%H;2 zgLo?eU*!p7&11GEGa4bFtBSJ@KPsnWt0nMp4-+Y>Mr0G&^(Vrrb zjBZV=pzz-SNu6)cvn_8g-4Yl-_B6z=QI;0|*`NL?dv#kpyg2SZxR1RNwt91Q=$D#G zgcSIIh;6;SWOtr>{hK#ZfD@wV?Hfe|+`b0ftkXeh#0SS_eH(%a$x_fvO>^CszU32C?eOh%eVZ2TA3QqN42Zp{qjCQ?v|1a_4 zOKvQYAcpLb&a{}23j84gRMq5;4Lqfue_$Mt#;Z3ft1pe`BtaGg(SjUUKs3~R0K;7P$ zs+FU8*~W(x+TDSn&9(K@g{>?0@@l^`@N{-!_uQkcNr+eYe`^6S?w{PB@89MO3eyOS z^ac0MyCT_74w2PaZ=7C|m`|_n>g-!l-#MhtR+}+bwBCctb(@Fd<+kNAD%HaB`ZZTx z013JndVvEMuB+Y7{(L#!dT&AIbivT~CMe(RQ@f;k3V-w0*$m@Qm(9z0fj08nn72~2 zdfeFV(NE5d7Lu;21-O6*(@HOT)*NCtM!Mx4swIA-*&z#mNUAiFgtqBwk8;qfm-obn z`XrJczPD?}0$hr0-O0>EGk0MEW9QChx7xB7O-JsBAdGh^Z;z;5Y?l+5uZTCK%G3C- zxHIL`y6ikJ0WC)wIG*@UV8;YFaatukytz@VCU9wPHGLfOK|q>v)OZL;u=*;G+s{~A zd)&L<2>v(AQu;u$8zkPDr|@aRPPazN?TNR4i%6pNlhgH~dJYzBxxH#eZz zu}j8u2p)p2B&71e{g>8Hg4Y39{8dqz#}I_qy#O|ilF`VL*M|?(s->oHUZU?P1=4Kz zDLxwen3LDBo??YgaDQ*$k#;@S!p~%aO|Gc?fzjQIs{YH0dDOv;kpfopmBDlORd?W+ z1aSOL;N;UYQy;iH-zm%5p=*&wy-@Aml-WjeE^yR==^;ep$e^EF&f0+8!*0TimVNnpB`*Z(6R zpvr0+-5YMf50n8I!pxv-U1vn4nvC1m(PA}Lw>*?fgebo^(YAGb)UKdx7UMWT+G+N7 zo~h1escY#D8Ma7H%U~cIWE70fdYp-c+>okg|4Nbh#Iz=>N(!he z3_9Fe-^jl_KOQ`5&FG$<#s~E6R*x%or#T$Wq`VE|C2u>9D{jl4yYQ6L;ajpO>&ga1 z=~U5Rj9q)K$$p)B1@s%bu7~~F1c>P&(|bu`9zDHS@BcCO)=^n?QNJi6il7353X;+w zB`vLhq@<*jbc>`kh%^Y&-QCjCh;(HXM-NyRoy1lXy%-B;?-U7W8*CU!!ebUy@d_^Q3BKEpfA_y>iyZ>)Fj;6?m?<@J{z7-^DSrYQ#TVl)0+2n{iZP)LP-TJ9OGDak&U0 z4DMOu*r@yRPsSPpp+%((SiuS3|D91OS_`2FL}y0Rs9ckRwqTW;yPDDzx%^@u^q0zw zBLRFLu7HJretvFhmqmZ_0pg#kp+d$47X@P;Jf+uJs@W~wsIfq@Un~d-B)B3jAaV75 zQ-l$QPLFt$l#0&r04 zGYZr0s!%q?xqdr}c{e2`rOY+ooSXBloYfPf+}P4n-ypx=b90<+pEo(p4LZiG|D7Dz zqNjzBuMN3j-4O5(KUw)EN4_Vyw>!1!VBpHt_9QEAqWgQlY*W*ppE0ayF1($~aPO_47@6AfuagterOpVcAJer-#3z4e56;|e zxc1wWJV;RXD|a7Fe%bNUZILiCHBD2Xk)uhfyy^Q@M8UupF`xYUGKjdj@%gUyarhmv z*Rgds{7%PP`r~avRt386GarD$p|K+e8wu#+@o?IMrizF&3V}|-F0;;X(pRrkBBptr zPh|_#m6Z|n>w~0+w0KXRMC?{a45Te}2w>DcqXT8Gkap2N{CPKoXFQG_jXX_Fp zPpL@%u>G%aTk|}h)2I3=;zKu*{g$YqXg*V_jT~&^WkjVM>!ZH1@1jD_X z$!Yxr&JX|2USHuw(0;3ri9yMTraji(coEU5T zV!XP=XVL9O>R{B|GH1*^XUK4{%34%0p(Bi1zI8Gd#Jv4Y1q>L=oqK1iI10-#)c;g( z^fiuk97fy1_>q+*3l8=KqEcD?2+kmL9E74!aUa5uZ?sNQPX&kuh1@WC1Ai07f`obK*uxK5nse{W*;hJDZ7;Z&75?JzmrIHEPoMr zYVT_@)7KiTe_Z>vYifMwGU+R>AQ0Y?sSB zd{|+HK}BpeXvgB%fsPf&{gNqHDeptXlR392)2fh^NB39ki$4Y_2QA+kV_d1qcZ%w@ zapNex{27we?(_N{DO)tWi{(BKNVl5qoD=g0eh&yhc^isJIvWIZoOdu`Pm5&KGiJvJ zac&=czSe)en@KDSCBS_03mGZ%qZ5qn=$Eqx-}!gD=}0CgC#~j}$skz-+A>g52bY$z zvKsa_PfmU)2!i%DYnm8uZhEQGjOxz9>#xvUOl%Jto@Z38C`o<3&Wm5uzdwa75X(q`X3I`~4V za$#w@${P4~R2LVQ^W*I4U`4bdXjkJ97^k~<5z`LeWlk`W%A$7S|a<;jCe0l zaBw`8>i9s^p_Er7OEX^UzzX`y zkk|J~*_0&I32QEnmuG0-XOCxoM-dJUUg(mUielrrlgXG#(eqB8&U7SqXZXcKIG{MxUr_cTbOBP*CgSWGws!dU|@Rf*Rd64EUaT72Qou9$*ErI^I%+I}2I_ zh93i!#x4F&5E{H(#XN~*FRa)YdtR5$pxy*DeoK#NrxQHKEAGkaeYI)|k``G+pf){3ci` zhDDc2gQ0Vf_V-hAq5H&hiFX<;c$oIx{%~6N2!#Knwu~R6lSwaRkGSS$NU|c;3{^jC zpIIA7LttDQ)i%FjRmQLy=61q$wLyM@dtf~=tWqVl6A*#xo$W6}OS&*WpKPMZZqSVf zLOw3gYUJFcQF-?FHA}T=iRa!Eq>jaKVD4a_EtH@`z-BdDU7kX%k_}rtUaQ< zoLv%RGsX0*dq{XZc4ie;Al(IXR4Kz;wQU}X(!G>{CPodi!#OwRA_c$e`g#?GLi#r$ zOKGQQW96hGeb@m9w;tfRzAJa`z^q&!>A7=x*>7I(U67M#+lGOvvbwoS*zJY#fx%*R z;EFO+Nl6LWix(RiiNO&OPuNXIm*8zNVP&O@keG#35&##`%eM(QKfSbGc_*FJ`%7Y| z%=kS*8_Kg=o0e;R`cJ$5=Gy7{>O?E>`*%xgYu%mcDkgUP-n`ml&UMpWrU2(SaWu<) zb2%g`Dk`LWwJI?WQctYZb_Jsme@(FWYUDkADlLtTCC=}kl{J}3^F*S1At^gnH6m}P z$Cp%U;^!G5b>H2;+KPUWj>l`FMy2C<+O2*ori3v=K!1OH6G1>26Z!Ey$Tx>6BC1kKfid_ z3EZ~*BSWHUqFIfbTXQwkeO5xc@5NuE8x00p_|I5#PuJJgG7H|5Yf{`9m-9%z#a3-D zyu9R8W=Yr`BY>I9z{!qoc(IbgThDi&v$P~VgEA~P?7TBgZKlC3>FaIO1z6+o`n#MT zlG4+^E9gDlTP$U-QmM9~#i4p9t7f3D-vUKB8&qs|c6MbZBmQvxd7Ze7>h00Yx`?`H zU|2*)-%8vGCnaOSNTbU zij~r(+NMK z48)A9-><)mLD&v5>COZmgby)UylT7cSaT3obG9+=~in5eOi?kZdHW8Xn-L|0R(@W56s+5~3CW?)g_?@dredbd7nhO=B~BH`iV zv%ty(R5C4b+t_q*eZ3=;Qql;XFuX#bF=TBU_=+&ZjEtawWUL&mg^Y~sXL)%~MNmP3 zd64+)l?YTdH8l)k-snx!muze>*?LmTBtk`MKbdn&+TBd#v>*l%c!*3GmY~tkvL(Hy zBF#IEnbJfy4YM2ba_Vh1Hdk2SA{IfMh1D+B z^iOS}3bP4hy~7(kR)YsnjcKRfWaLTe=#Ytsh#*!WaRtx>n%`<0@J}WRt?G}dq>Cm z!_BjW0H!r~S}Q9nhuc%Q?ReWJupKX*MNsj67r#p6va$-Pberpw#q} zPnkbq)L_95{!qTQyBPr81&WA}u}x`S*ax@LD`|qjsAo_tNrN#9{tl#+p8{!AP&ER( z&_s0wJMG;Z-jN_7I^L7SjTmx%{kmKED#ae_Ls^S!Yhrzge8#i2XQoc(Ku#Er6>1># z@E^)e2XZzi; z>;do*d7a?G3I@)%o?MwhqdMH>;#jU&=j~*r#m$Gs=kOhm&>9>g#*>rPyL7*KC|tev zv{(HwIms5s>QnNNVDM&~S)7+GUPS9mtY4f$oe6t$Ch|d*l~Q?aVgON^H+#>T&1^M0 z=JuA@`QN(?#MKMM*`$jCJ$2UaHN&=Sx5h()m;&Eifh88#Xa={-I`?9M1s4~$!eTCQ zl>;ViarnCTYv(|bo?Dn+Yt-b4HsOuZyY2uUMou*=PDnvGD?@`Vi%c|PX2#NFj+nvR z9L<}8gmUbCoyy_BZ<-m|f|w_bSxHx|y>-|2Jk^WGhqv_Yhz&aa%J@5@(5Fl=YSfdx zf$~8Q_KKH9Dk0hK?u1=Ez!9%_$q{+ktA^T(?aM73NpHoOPIOX|{Io(t88(u%seQIQ zc$;z$iz(wR-4UI>Od9#i((n|YfGAaLWKzu)ir>nuup7Phw6Ya)Z`>I5;`L zC+|Dcdty;4!drzlUY|f6#gtZ%%aVeo`*f!F?LpbaJZ%?Zn^=FN0neJ;&Z_9GHPE)Q+~KgaibC~3107l5Ae_m?H! z)WqKDmg@CXofWq4HxAt2~Mg~fHco-dt;A0$gFW6C4VAV8X=8g6j>f#>nOfh|R5El)) z_EU5E(kgYT?m^mYD*I)arkhTYY~kGY)8&2uittiLit&4KUe6V3k`Es~6xrY`m`gxx zTB*3!XGj1-6Co{7FOLmL3S1sYYr}p(s)?g<`}XX~zM!O995fyj&k;?4JH0j6NJ{D+#g=1d3yvSP5kGaSQ9vdYe)OxvjzOT|g!o$E zCSJGdVE*@mqm!(&>8f-}Y8G*(}-K~c^1IOza89@#%2;12}lmFv4Wo`g5v+Y2Q=KSMm7 z(6lsbe!u>K-_-_E(tQbCGPau~<*?yYn03HktsHmM(LNeW@_w3I8B;1aO_L!(z6lqP zf7_e>rwXejFrc(_axpqO8oA)4@61iLVUM~usp0k3kcyePx$#)$!$rQfkNOdH3EOTr zGt2)51kO&H-d(^Wd)hQ?wF{DZ7p1@()+)E2alJX8G6La_<35L>nFtbt@66Bi1P?p z_zueFPk#lGV(!$1`_|e9AYKf&OT4y72HLT7Ka{simuYW}?L#a|E?WQo@d3xi{o~_f zg&cV=u$=6j?j6{zN@QSzNIE_~K3lztWp;LUqOg8RkrADGzSpI@pcCmc)7qm^I}9Y= zdwz|*#a6}6z1P>*CczB!^!plyEtq-hH-A535OWLK3!~7|=AfVoEKn!)IKP}1S}2Ww ztYLqT9@Ejn zRfv3OZsn)s<4agt(%V73Yqj=I4v-dMo|E2*(eJ^*hKG1E{Di!oL=C$OJ9QVJ><Ozss#{yfM+@R~ z6QGy7ba5WW4t|%jw+B0{7*4+Y^Mw^D#Ra((ThsHcx#0So92Al8*`-CP4^>u_(78~8 zxR*}3P`1=S3L?A|mSHSf8qRqi&*v10F#Rnwqd7Y}qpLHbXTdG5nzoR=yzZx_n0M;N z?86l?bgZ;Ya~``|smZ9K%DI`TYYX1ws2#SJr+G|&c}@Ugjr0oVS&z3|RBU%9X4jY( zU)h`*)!PQ25gBg%>O+rkp8NGI`S|oIv*jSFvb|l5>Rt3};QFIqY9oh)giLIJek^AO z+HiDtn2iD8NP|A@0Y2NkIeIiOA6~tMxoGJdlYes>t05B2$xe;Y=E}4z+2w|!&NmOM z84)vCENG%6Ub07%F?`pUslmB9WqvYMmU2?>vKA99_R*7qsVOy1wLavrR>7;I*SNs z@(cJ*!SMpwJ^LRP*&kw{HRZ6hF?Z{ZR+XW$=Eh0Zi6EXM=C^N(%iP@DfrQNTbK7`p zo2+g-W`!EueF9lGnL-y8Cd)p-dKOM<5YcDwF0OMYVG8^P^j|({F0PbIZq1d3LB?tB z25p1{$5p=TgZfvTU{j}uVQ#(d!i-@xVaqSCi-Ja3i)4=tsc%? zTMqL{VKcLQ=YMZQ?t%FyuuqOys?f84bfm@Q$}#t7OT38Bsh^c2G8t;J|Dea6`}Z(0 zS3xv_7`H(Cv-E+Jl=LgYx0tI)H&Ox#&V$Ln542`rYU~5o?tR1>q~NHLr+j?(uJgr_ z;KoQnn1x1PaT3eV8&oKMA9Z#A3^P&XMa*G7=&tB3B$_(4Zx#5X?FnmR%Y$ghDqupD zE$8LuCk~^JBA1eq8ksC#RfejUmJ=awD^Q9i11}HFCk^AW@^WTo=9H56l(BVl;h3n$ z$^>?tOfxmMa!!{EOxIu)m>Bg72+*B6p4;PbjpwG9az3ugjH+*nTK8>Yc|#l`o91%Y_Mk<4X1XAz}EgX^nHnyc9=%e!hL^ zauq)YT8ca|wTK0{T9~1zHnAlDH!pH? zbF<4w^YPy~NrwCqib}3TVLZHfUi;4#7^_H*R8+4pi31D2enokIPtGwcSXoL0lAE&? zazZyOM=w<0zJ2=$x1MtU$$x7BaN7VP1ni0a;>569!CXg25Uh*bu*{8$x z!oel*Bhv`kOZ4BsgfWktTezRkO*a}yhxnVDAG)dFLM7Y9R-nzc|WXM03-ygnq@P_d@&ecIi@Q*M$? zNs`qU&k)(+Q&q(^FfgE^rUr<1*lIE|*ie&U<~8X8;PVyuD*?-GfyCZ&Q+-Cfy<@!~ zgXP^tq2cYRWCb0iVlrFNz#k!nY_gq0S!)73qK^bagVjR=qQqIObPWwfA@&8rNNzo+ z2@bM@s{)0cQh}6R!H4o+K=3oDRiMldW=IahJ!xD{{fxXb4F&$Lu&Adc?2r)j{+w)y z6jPAQs6Y7@>69;}DOw_~gM)+U>XqNsOoMJ*1Y!ootX(fb$} zRBUVt1+dJfFXDOsTk5hz^i@5#f9^qHMBE zE*i8162vT%kzB|?Ld?4|;Fg?k{0hc@ToMuzU|j%5(Ed07`wk(TT^GJzuop^ zvFp`=1Ge{rXH9?=8Sk6zC!`4Zn0MvLOL_JWKQ8AFz%;8kz;dNmsMkAFjvYayac-n@;H4hDmUN78*cT0EPEK+z zu9!B`l<9gGpM#t0fL&&RAmT}_`7wP1gVt_iEoRGo++6*sirwTO>j6zZz<4{!kl6lSuAkWG&4JFx zkB$CM=v0bzyi6vb0Z}-C!9E8+f{GdjA$upM)!3dDDDhckY&9?Pzi1FxU+%7wmw!)s zRVBMQS9L)0W#_UD^Ukz#rY2u?>CxESDfIl$bsrZF=<)^}mLF|QB!~u+9Q1sV)Ka^& zlAzJl)7Mu_b`*Tf2~A~wo+eQ#`V+iocq-Xp@7|-LzAJqY^qlSa-Yd7nxyeduF78+p zKF5CW!rJJ4zQ2bq(IZ=<+Q6$-Tclt>MgHNAw4iW@Y$(+;=P(23Bg&^wSE?f2SRD02 zw%UHD5Nfh!NLqV;{)|m1N zzUv}3#qsI#=Zh0A@@sA@_eHm)`8hWxE7s@kKYqwUiRm91_&wMeia(M!RIMm^?$$4A zzGj3ZDS4lxQ0>ni4)w%Q+b0Mi6NC(3T3TAXXV0`Pv?B3Gat9!U;zOm$*o36NOxzrTNC1l;&{JXYB13~LLVVE)M zvaeeooRB2)e^)%(SX*KZO~uOKKa-7IA#OpYaqTJeH!+&=Fr#kZ4qEOqjC=Ppc~jZW zDzzjGhxi+6-SENK;9#m^z)G28kMipWhezw983(4~{J;bta4LY~p;LeOE{@|nAgHX6 zJOPko6SP@yHTBN-07gu0F156aeC|s|&KiIJJ5^6%^QP7IBvhfbuh7SkIRCo^Ckmv) zHng_62{Qmmp?VeB8*EBxN0S$%H7jJi9Wov9W>D9)jeDO}*EFvjuw!CC5`;wW+8{Z}}WO-2`so(+gG(7HlC& zNi;LGy?@PUIyG@88S5Km#@h%>-?4 z{?yXWW~==xsgV8rD)p^Lq0aaASkfmV>^07hHrv4F7^XV`vqjJAm@DP*k6sCLi*NM_ z3?CE|IbPSIlu}R-ySi?z4f_Fb8;|-h)%jor`|;kSSSek~z<+#*x`u{z!mte01x`i+ zyy)(^H@-CW9?mXjb*9RL*w~-<{x!PHaF^NIP`nfbz87eKT7E!7J+)Iz@fe&uET!&%OrplQEEfofPsJ{M$wX$XTd!?FNb{%XA^&J0X=r)~gGJS}8A=Bm9Z<@gs^sW5e(<2qD<%b>i|3jz$$)ouKc$VbtDK;pF3`*l4C93Db z=%gK@7~*1@C);%9sqtZ$!Mm8fwmj6*@gISsLP15vdGbV2udlDOGgqvVTEZJzJ**ox z5oA(N8q2}ZFhG9gBzajfTH6+P7r$*Tbuf*fNMd7>3j4|M`*%Xb1q5t70u((Y{Y`D? z`O$`sfvO0y+@-+L+xiw5HpEJ$Lko$Web;!-@Jjln7i?ZRH7p5_wVQkCZ?}g zlmch39QG+-Y-IR+1---|eCXJ|hk`QizLAyf)wwOV&04Z!Jo_F^u5fc_=ZmQl+>Lc- zF>ySvgM7gja9p73{0DA`x(YgC6LC>uKhc#ZsC0C6!>oI^0pK~pVnFr~zKYc(HxcS6ZQ6{|DjKvhq@n#~Ycqyq zLmdym&WhNUKAAZ4{-&0}wp|TExnQU&b>eh`eUOYjLIj6uzCsUh9V3zb5H)1^VZXM; zi*F-wN>5&{w}(4;k!IyRbcm=k0?!7hysVcypGe2Q`V9drB_oKa4xkkgouOVws9D30 z6-C#B6)Ai+d;a@huFj9D91b$!`tFhX2c~3D{`oYMy0@C7tC)7T+S_{#A72Olw(EMf zEQwhjw+^h5nelA=CIP3!&pD5q<1OtkbM-Xx?-4CyLBoY~tVKX&VLMN}q10=UAi|DV zc2oarf6-CQ-cnEUQd%X=H1#JL=2I2L@N^--N1+2EhD1v!S=QIrr{TmGM9%P12M+j5 zw37GX)S`DKfsb`eOeECR;|YuJe7@Ns3YWM;^Tv;C5lij`>kb{uE*-R;ecTTWXFX}6 z;WD^DdoWt4 z(N(ispC`e%Pshp33>Fb$R#sLd5Tw3jXOAGSK*}AndXpo|E6MmcmqI8ezS2%l=}7N z!v}l_i)w?k0b)MK$G@Eab7qJF;VQ%_A+8OAwo?A%P4f2khD@_0XvRxnC0$=0$biVH z3#O3uxrPP`;?!|*8F6jpVB*WsdOkFn#M%%S6Jz6?SWT})0VWF%ATHjqM88i88nZ0d zg-j;E&VbKMGR!)F1;}E#AZ#*L_#Ng=-PXXr{V77Z`=4g2nRS})!GF983K;4fk8}V8 zyTeGrqIVB2I7>W?3h4n6clhsbs9lfLy49^k zKg^KtNYZWF|F_$~Z2S3jNbGs*u||%IQ(0L#b6G_s=K_26UKbOEh;V=Z(0dP3pm07} z5iFyB1YQclUP>4O3DY|_Fs)$CGt6~aG$BX=`1fR`*(cYIyI#hG^kSu ztWn2OqKIgF{%T8a{#f-9BCgMTk`2OI+u>`1_8`Yo{V^SG6w_*Fut2J*kyx-s&8*S; zcoDE58C}{t;AoQH^u%$^|NSbTlB^y^74CGRf#&~XX;G1{Uf@*KFz0t}nDugLrb^We zZpP51aZ=r$OZ}@Z2l0d>UU&=2%GkJk(X~Nx1QIMC7&#%w@*y#=eIrz8)dp9Wpd%O) z5K0_Cm0$7jumX*ruXXzNv}IyI>fO6>IGqT1bF;}ZzsAPbP)HF>BglyEfJUSaIheTR zq%?5%?TPIs%}M^V@csv5oaPISKS+}m_UkJv;av_5PW@r)>D@Gon<4XG+76zmjybCm zw_Rd1!sM*1w(`yEt%;i8WK>Ks$*_rxwDWPq(cS7!FK|MqDH{bNt?X0}`%ch9VwmM-?$ z+?OqT^C^CtHLNHmEkspFhPw!HZp@HP_Gzv@K{qKF@@R`c&2S$c9j#AQGX3$v>{Fr! z<Hg=SiE%mBw;vT5hu(42_>G_Pxu9(@41z&QcOmtl%Fi*gTXcW{rh)CDQP2Z z?KeQ)6i(HB{)-F@!z(@GBoZ7PA)r-@D=Q867FxV!Gih9)jr)AIMvms`J;2Gn{4Grs zjn`3uJ0>9XD1m|$OHdEJ){W%8wKbYBDd_QX0hI@xYgLd9D95C2Y|37Q`~(2Zb_#*{ z$RzRqznBk#t#@#E;ut4b`>><9SpEDjY7ltf+RqMvf0C5-e;xB>Hl$f7{FT+R(7lw< z$Vf()OikARS**q$)!Tpw8ua!aOn!5FgoTrn6ZRh&NV^*t8X~8lNN=3#ey6anMkTRk z$jKG+FHf0OTFi7zq$s+F)!Oc_U@wCTQe*kiCi8zbl^MYvSQ-C#R6~QEQD&>vUuYU; z#2zj6JY9H*$LGifPb3p+?yq0J5P~X2#IUMTVfO6Dz*yRs-C2`O*k+^Xwd&)cl3?hD3&W_>Og}!iFd$}R z)ap%2Of36Qi#H}7M)5pVIES-zG}VMqvyaJYTOMyF3w1(UHI`a6wx;;}L5N~3^MtR7unDs(M% z`p|59W01s{Pk5J`?rShXJY~$RH7Jne^GLAqI{{$*e9=pUl&hTAntVgx>oQT2%MG$3 zy{TiO>3VBaU0q$rldU%g2D`UEpLHr?5c0OWec9Fi_|ZL}l=b$xi+eSQ;{Wwk+t=}nCD2LA|C0}t^k|CKZ=O_QpN|KO;7nSnu|D`YznVNuU5{T0259LcI z8gAJPH`*ik_-xsIS!trFC>TWiO}Qfi3+&d_FSt}Ibne_fKl)?cO%04zsp$!^;=bi+ z`=eeIom*j)J>;E0eLfR{|$sAM||r7wFP$Y zF@R+j!!&6A{rB+awmSRzFp~;y7F0|bc^HU8qvPG1WPRG;%{)D(_kQRabwf}eWBI<1 z_2VhC$5E&CNH)g0Tf$wIbLVjHxPJOKn8YughqHbSn+h{TIodn(#{c{GkF(;Yjg(Zq z-to=};Yzjr;VH8Q&zGk0aXcJd-D=zQ?zFbxkx=i%nVO+&?b}e8ic3m#vfB>0(5c+` zL+&1Jg4EwLC51F$dIk+b80N3;rx;ToSJ7fnA6MVKi$JOq{lqK&hoYehWU&uH0&1gD zDuRufBFA>o=@a?1z}=I>Jm;6)U8LLIB)XfEqX3E`=n($35hR{Xm1Jb3|DmpA3B`PD z74C~|c$zJ*ms>Y#=i8Fz7F(x%VqhyDZ3Pv}Y}R|xFJ*( zzO{*dV|LJHeCQ5*Sk$p;m=}cu#+-m#$MeNg+;#W}mKgvpT)SAi z8mo@>S=TAV6HqEViSdn6QFqJ6+6o%pcnPcAmY(bhn4zd^C`pTMwFdh7hkRGQW|n7w1p0-jm}q2cHEtYa-tnmD_lKMPkTLv&N??;LNFDfSI^%EP}J`P-dod08?N^2oq|h)GKzHCE@7%gGQwA|g(ml(w(8yw3)Ctahlj%<3D#tcDfW>C z^u)3+tSy30;k?eLZWjrYB`JSIa|@F}LGZEZSMl10f%BCOoaH6M*Os>dtfj%6A)_Cn zu#bkhOdD2B$uhuZVhl`zA;8nAc(7^N7GT)iOj+!^f6@AiBJc}*gv_D*92GP-4 zG#;?H0VaxhD^+f!64hXfDM`~6l~3f)FiR7`Q~6*rya{Ni!F)%U%1HJb=rIsT08D)n zq6>eQTXIxOU$L7${X3SS=+W<-Vds6&jj?*xx!%kh6?SyN$;e-X>?u$!^CYTu<0wLc zOz2y21)WUO5FRWYoM-r#wbGH*DVRGy5+m=vR#+4247XK?*xXnPO^glQu1e3!Ois&- zGk55@+r!d1B+q&tFV>VY@RTXO4^D(S8@5JX-r9b~u7d~P+djvf-DLd7h(IAZlqY)n zZcFp&Xpq>{9a%59{JM+4YikYe)IPyXfkIQ-dU@6Uk6=cDu`+4iYm}GOu8=A;A zxQYlKu06`6q5@(j4t!PNoEk>??nFG}aQc=1u)@Xz66p)Yy#CRFfnQ_Bayi(yW#T`I zwgq`={%Tw-H7w3nSJjW@ zv+8tw&~<#NVV=xe+n&_-kn%eZiuTCa*MqckD$V2tDb`V;}I@_ z7a89}xN4J8HvzT%6lc4mH1!q}&%1NVwj6!5avkP#d&L8AAFv?HL6lAuXmHdMy^;AJ=GE&Gs)3J&zQ z-2R6)hldY;(rIyxd6Mxi-TF(4xj${Ed4b_%lhj$h5eC=tP7e?1>8M>e?PhyjT$I8Q z1eRssyDEz+2eTXpQ8c$m>;sZb=?(@khNtvD2Bz2oL(17fxQx)i0#PLP8k)@5h4j%m zv#f{bT@O^ZMt-#EvEA6C{1Z$HE-+QQjWxm^svysd&e_R+>+`2+mZ_4>o6|?myHAgw zfr&2cZYk1>!=BnRW>3HP2n%TU9 z&F$OQ5axAb(;{4FPAO2PT{oh&u6w2qw2vO#EOTh5W63%yfKA`A6s%H4t z7Q?706`C9-_Dhpuw1(lC)$-Yr%aQsP9(%sANY=q0c(GvU|D{hgXe1dl|_grf=9Q$K3m ztL6@kM&FBs)rZ~G^s=}z>SOJ5W|q*o8XHntmQc@r+1TD#O7R#h%5V|P@(Tr~r!F=x zB{-M%wpDYderqIsUMiXbKTIHd(9X0}1*yZTc4W6{exf~6r~JOmJ$DId>E`BEiRYg7 ze;%)|6XNs7_w3e7Zk5J#wpfddj+UvH-Gj|S+QI1n(rP8VQuQbzBq+a}Y=@E9dD1-W z5Z!IAKNP=okMtj%=u~1nbBES?V3H=n$ei_X=)D!8qjHWyxPKfL(v{;0*}M{xwzkah zT|oqwu}(|7MfBg|NVv2yn$w(Bm)nA(yzjKy%lpdiK^lwxn$zh^ zeFBc~#-%i!IF7@UBg&?^hEpnH^gC`rL|qvquCLn~-HCa=$Y;E#b~y0-v6S|D!l(Il zIKCg+UV2807~KEc@N#7j7ZQb3e%kvzkT(8`M^YBOz20(B$A$9m;nqZMbJ{A2o9x7l z#w;76t1;Rk?eL-DJ3KtJ$FhghLz15J(uW_~7~4@cZw@cz6=icevWe(-ioIkL+t&W` ztK5a>)0~UXdmjvJEX0rhI`3H;LzidIU%h27JeC5A`e@tlt)= zgM8ml^pWG|ExfytkuX!=C?)wgc%j>?*9U@%x0Y5=4BqGVo{mMgfn1?4_|+UCAMeRE zhf8F1OYPx%U0fVERemxuHXSnUORStF5eCM_>dZ{+o+nmJq9<==zK{b#BJ85$yp0d0 zLu}iN3Y10m;`|R0okTpL*aTe|U%p&Vm9F+sM4)@I4LpS>^58$Uy{Tm&ryPsURBBPw z)1v?r5dxDz90%3j-fm_KN1+UV0w(9qJg6F+4+licz@q{}0jrhnXGq}C`U8gm7|qr5 z0e%7pEQluugtXmU{uxy&xL0H2$7;PQ@%lg1!PTE;BxXX$#U&+l;6M-cxw7^0o%bP$ zy}$^*;@9^F$uLmxTexT$@<(2>;}=kUhn0#n!OeOfVx3whCSm|`GDIL{o<&7WU{!e+ z%jVacz;pYh#Vjv^9RP@V@87?V*OzBV^dHK65$7uy_7P83m?Mx}%Knz-Z;Neb1?Fm@ zWaK%M1q9pH_6=_zB@VBx^}CL|h;=@C(s^iu5sbGtX%MKKo@L$m=Qdy@j933|GoS2q z5Ih%t<4Qxrz{F-M7&5TKq5F7dIuh3#SXao9`3(@J@CT%uG+!C-?hwCf z1Opn}tkhBWTQ-wrXheK`Xx*lnAWRQ{;}1%Tf0wCq!O%{B-b~K${ffk;xrafmpOrnM z@9S+9r5v)~@WKJjNuvppwc@felt!>{Mn_MtDpvg$vi9m#cG4-$W3$=X7~1!lNG}0y ztiL`tg+tr}^YZB6=ppPio#*Gr=D=rVvpT=pRxSv|Xtz*V?BjQ0m{Ls7D7NT-j(FkE z4Gf^!{jtB>z;p{Y)m`GP&jIIz%O3=%SMYNAe^mt!K6qCCqfrYlFUD`?4kBXKVZjhV$>9#>kh2< z!2nr0K{5?!4*bvutl}DwfO||pNk>W&HBp-Ts;PK*(0$$ zE)fK>1RQ1`*ZNbCfYJ1BxVa{9b8~~AL9qW2o5saK?HF?&+d485K?J9P{{8zKOfHtT zwmrp~pFh8Z6bd$@{@3O7WMm%tU6BYDfRKm?jE;Z6zYI_z9KE0xpO66N;S>PWCMr&J z2BW7~mLA+R7Fp09-bq96QOE|p+)D3HJ_8fw}p}-ehn*ZyEV`ec&90yoY zsoRaD%s-=zdH41EJ)~YV8%v-IQ6tyN>OPPYyZ@B_IWKQKXs#hv2MzelkOFBq+V^K^ z=^uDnl#-D@5)(D&_d))edo_sQ6h6(?(taI7`XlPn`7?zWQa1hFdgGH#B698fG=7*~ zS>MF3Hr5Ng+Hvyi|M{|BE0f=201|N~>W^?4Z=51Awx{-%m02|%wH!Kf#D_tPrEmiF zMQMP76@v-bO`4B3$E;^GwKq-iO-)TB;j9`UFA*Nj(b3V|lJ4f)A3<4>D_6*3K2xp8 zj;^%wFj=d?6;3Dcfl|y2_IjIizdnKtg%@0`7Q}y5`EgV2S!mUsE|%z{aeWCYVEFLw z@UIY>KSH;lSu}a03&$(atNcVFARqv5g6hxLSDuV7UijC1+1)?g(*^Fw7pf|&K{w53 z2SE3!sHpnfG?>{b85yO66dr!IzafsTA49o)`*wGCcQng7t8@Z)g6WkiYkgDZyJu$R zX3^}r_&hh`1xoy1DsYdF^_f{%be8@FSM9hhW}HMs!T-+eu&)OcJOHgagX!WXZF&IS zWU9t8fxLGQNF4P_OD|VT&$pde-}f7-?{hL_4`iJQ1|pmOguRP2bFsBeZb3~U*I?_qtCIKi46bV7w@Y+Fc4>A@^ZZOTWC3&qLh40O-43&Dl6GQ>_~_Fa7$INFOia#BeHI$#@fF5o-{r$ z#bd+?s&5y_Dh+D)_xAn*b$s4enfTK_L@?!b-pGe|%^Z2kG_Lc$Bmo(qsnau`BF|zF z_PJlXaJlT`aTaQ>44#!v@JrR0_Y=(@C-6Y=UWqB#`nSK25H^D26;7a#@WZAAhi`w@ z#l;1j(V}{_I_Gvn1UIa7d6})@`I0CbEiDSfdTD97ctw1>t#PuO<(wsr9gXZ!=Yz`U zcKWqsduqtJ1wG%)oQwSn<0fqTl3`S4#)F9R*mfbzZf;6ZxW@BfFbw}7g$>)J*^MFAC% z6cCV-21PnH0s_(@g0x6?gR~No0@B?`i;~hvN=SEyba%s<`+dLf|Iaw%jNvn$p#t7} zt#!{e;|hxYi2ifXOoS^M!-F32(RULyc!@IZqeEkO7+8t$9J-MK8^xPAH zU8F6R6dQXawe72rD^KBOIvn{C!^=O^2#-phNdz2r0)aLQ=+!I$Ce$RGcx+>l@gc31 z0|{BA;QeM${r(7$KBYYF0EewP8aD&BLCS5gF3nM-hWqw0XBo~9>ni~S=2>hW=UT7l ztOgK<*d{Iwrk5Kl^h^+qaI{&!z%jPF&?>)ZD*Onkd<^<7=8C&eS&fgJNGrtb|0TlN@kOPZn7 z&XTXa7gw&A&P2B;i9DS6lH`cU9^}o~tW-DUgr^(#<#JnU*P&gdzn4^v=%S)2jCx6V zvkMca??IYdz0qCOtIE~{tGa-wGT9KqLq43EP)yD>B#bcQ(yxxc>rlFWXDe8YhE|{K z#Ph1>E{7$_3r&0d?;a`aMaoO{W~#}qk7C>}D4XcyM&!LU-WvDsaE7D^_|BDe|Lu$c zeG9^~nO2}x19UcBvnM(HwcWC<^Md%i<;?Ad%9j{<0RAx>$d}WmFSIyj06fe?>Bza7|_DOV;GQiFkoLCv+JDtI4ah=xl*ReTz~!K5diN zhpO)_C!Z#eyRH*HAYzkB#Y9ypFIOghiel!?SlocL!xHp7x z*cEb>jmthsAt2 zC#2n&)`FA5`Wr`EDpEyd5@G8T`HM%{(b4b@rL<~dBg2cetC{OnjZ)Ce z?*GwF>gH)p@%=k%BhhT82!Z~GR8L2j|~a`ybF$NncE zzv--4@RA|Erq7GwXq#qU_#w#```@^jbWZZg|K`fflsSJk81$VTqS8<2Jb0{S1JZu~ zc}Q-eTV|vXm_?)3959ED&(g&1@>bs9OA5KhdNg}*aXKkzbHj{|uESx&zt+!hOfQou z1l0Td;Ys(<9ZWIT2Jta`6jpu}J3r6%_VWK_kAcGPmN`oq4{LxN0Ju3Wkv4q21hI+ ziQQsCsZvL1l?%D$^VCLEG}RU}N~HAaF4V`Ow_{nBA*%}};r!374ONBae$UjDplT-` z=4}YR)Cg7p_@T4K{^ED~<-YOo&DmjR_|of=CkRe6sj&a7fq*Bdu-*i}oELy%c*%j@ z^YSmrkd5PhH^WjU;5>z=! zWDiMM!}ISkbWGA`Lg)j0BWN>7LPCvAf#}*}m+>T=Q!G6Y4~(8RMtF;SJ?bz_bq2#d z$fTS}MxpIE0K@_?;p>8w>lEmhyzXcAggjmDA07sTnEObG2YFXlSND}ymTuhY0`-j@P;GhN5(r{7UG(lysv?blp^6~~ z9i@wli<5%^d6p}_8MpoWfd9>Y^_2?n3+#X-hBSkj6HNXnld7PdG}RtKOpYr8ba)#! z9c?dU#3=U1w!1-7;oEi@hT5u?&x}t-tY7*x*3{w;E6a0Gdjo)!^;{#`|DgDS`#rBt zjX;AYS2-6KfHC)o*?j=wmLUMuK?_tqAg2uAKHQ9B8;OgzWY_}qua%9oAbc@S4y52Y<$V1WK1z*V08>n z0oej@6=W3@!W3QLo*pUESw^mY5ol!%4@U#=i5MdZc#zh>MnN8tkVm|YP`wLPo81>ptZ#`~s9=tt3Z&Ju%g+-iSXfxdUIw7GP)%590ny&6R4$d(2)7!j1bYEv z>>2bGP@p^u04p9|_Xh=_gfjQ<9}R2+CJz+-U2)I-I%C+7O4cBP9N_2Yrjco{ta zI)?+g--Ipn1BgA)hLC`K2xK;B?vrrLf`|pOZUjVzo4Y%>9pVGll{IWP0Q>&pvAodY zMMqR-bL)*+t&H1inKZcqa1MP@473T50vB5|^(p*~)OI6z_H(+UeuFp8>Ct<&! zW?2)OsdDICc?fA1o{s3(zpBcqoUv(HAXNjKL2=fz+>??GzfsadOZ!*?GP@uRiGhXn z4I~udd7elo10~7s-=7D_B?l~`G-MN~Co37D51+lig;de%O%*=#BY@;WAE+5fSr))i z5wdE&eYapYx8H-zT^N4;j5Hn&w)De#wi7A@k@u@I`G4Zv7;vIu_|epOlBv1Dm2?5X z@$y|G|3BFp63YjbDOlg)k&*p{SJGrCFACufwKk|{p_Qovxd|P>QTA(tk}1;wk6-Fe zk_MC`6xD7gbAD$gE@;B^zY=-vK0|hjdhkJJ(& z$b<+0iaCH}7aM5fgJYSd%m_0udVI{9+S@wFFD#Uh*&`ePk>$KhmZwq(RP(z?upg}BKsF%yQb5IO ze=WZV>;qrqs}#O1)(=3`LTZZiZG-pl4rn}8*{{CmSki;E4P?DxUgVB~B;|ZWy_wm% z^t}7pS=j6GKYy^Kba#>gybca;f zZEbC+_#W%Dy~rN0*&bxL&~{}B`tjps(6WOwXpKK2r8sJcfYNFSHRBHoP91nbu{iVMP zfJgh|nJ${Yc$O@fm@Jgi``l=y%2UW-pgIz%!c2wOBY;aVQ;3o@wVrn*%c+IEf(5-N zs4G9QGjG{h-qe)Qw5+P(6xcjkpdR)cA~BM)24eM`aog|&(3&Kctt2BRMk1>p!c7cB zN3c0X9tWsdOb0g^IXF0^o#EXmHrCNjm6V+87}2p?S_lo0N@1Uz9*Agub(#bhp}@8o z1lzk$&7*r(%i;CJgX-OKrslU*wj9px<1XW*#EY&R#SA3C6vWJ%Af75RQ)*eXg{78ReyF%_-V`31UK)|f-VWCRgg}A5`7e7iL)oq z80XB%CUl_S)t3EcfR6nUFq?*wGsOl$?F;eTR&ucD`5y#BN=2=$d3NSKZkvi<%;*F0Gh@VYNO2b2r0jUn?rZNkQVjLc-M zvd0NPSDmR*bo+I4QS2=$3LKkN+&j0i{sq}C{@Obn!Nq|u`_0_H2T9+jml=Kf6GKve zT({uPj6=J7;xvOm!Dl4EF4BoXW*e~Ea5{Y^7a#$2BMsyFTN;%_HuU*EGK;ci(Ng!K zhA)Cl(5F!jitPQFGA3N~xk`l^NxTbf&!ljx8sW``7mwWBXz1Z*{U?LFHMc4$`wAtA zwX^gWW>z?YPVUd((trQb?$K*<;mwSe_L+dpI7x96@bPs|+#dbOe12L4AL1MDN|TN6qkTOZTYqQdEc9k)Rn-a~;WEpF#*tw~(2On*j=$|)oNr=CL?b}M}A8eEv36jalOU(x2S#+#= zmnCIo4Yq1d2Xl}4IM)Ujg09^G6YFr!)g&I$S}#t$*?bFkf9P48HxW*Et_J;Oq4b zmT+^Q!TdCx__9LPFnEUc(UHcw2A_+4Zi_!E?OVbFMvXdS@q!LCrX-RW*K4Uw9NQ>9 zU~4U25?^?1VFN);W=XBe9PL`OR(vNp>CyG-9caU6%ad~1a)|ofo1cu+IoTY+i)7LW z8ME`2i7v4{RKGe~XaDW$xOcu9F*-hud$61Se?Fzy>Gn8524R#~3NtMSb1=2gqxtM@ zY}@rCvS^R0$v;cJK{2ECPDIdGiI&<=v|-VTfB%I?Ywb4$GpblFQEUxIE)!J%`o^Qqd0J`>$(0*Z>XfcN9~r769WB zGEg7v93Ex?{R9a`2Mspqzn-WC+CLMOXr-Up4L>p+aZUOxJM#`sLUT*Y>i))LZGzhK z?AN6^Y*5I#JzcnLTi$CxXqzcefFv3;vEnYaUV5Ci*x#M1m?(d4*2>}L9)wgz`*-c? z*W_2Cqsx~O)%c@qUXrV1e+1w4XwzuvAoqi_%lzhI%bn-newu~uzCI-0mjAs#>|rFL zV*aVO#7L2jZoP;X5~T>|YR_XbvI@(V3OO>2M0n+)dZKG)Na{6l;A!()uU137M{z-N zj&&uwtt&CMe8m<(&XCFYT8$^43q{iTB&_H6?@v&TkZkf>&!U9H8HPLK0CYu}9?(&Fk8iw%6$DVjEBA z6>7g4bS-@L0E9TsV)~?XN7Z*}62?x=0zs%lD*8iWy>dG)=wlHt?j9XQcZ7GIplZZ( z=(-=SZLCiv$QIRg*x=p#gQ`3{jQbQqu5fePfWnhgp=o-=M;%WA{nD9sgx6-mXY1?n zJGXd=h$<{+o;i0-d|Dvxt!K-Y zCtqkC>eS@(9NsXOo1WIbaG8(&8v7yMQbxWwE~)<8&cVUIqolS|tEoEg>})?}|C;Ys zANihr^;0d{>#3N*b=-P%4f3@rh0(KcMBtLKjTodWeP3EN_W3LMvJKD1L037_PzC0k zl^&OTu(??xzL+3WI7BZG@+copb|~ovj6#t{>7eESbsIw38D!xXfYt$dTQ4|X!-p}7 z9EQOoa~sTHk+d((iaWMR!=`x~|sQYW$w%bd|4q;ZjPzDlxaNQi!`p z_}`5S2M33_)-Tt=>z>tIT}c%m|K!k9QBlWT&Pmv>^=dP=*|q*|^SfH^PAd)1N`{CD zEr=f9VASQxb|7#VPyTv_WOe-qO5Vln2oo(xwVBn5Z@n@*gw84G$+<8hPXFOSm1=Em z{rKtA-kcUt3hviG#)teB$*tRf2$K!0X^_GUPfdNCd&>3^W1$td<{E`Xy&?my0QBa;y~l(?@7S5L}#?s(&#eXSXcLqVv}EAnzU2K*!L@|{+9xR0>)?J((#;D$Qx58 zo(G}2P@q76a5M9M1=>wTVp3^n0N|p-C!ed_R}wr5RIIdZ86%!R%jSJxZ!_50nG=P%S2HLRBjW?qPGRHMi6#p5+T~uT4Ir)?H;~P4cQ(ju@^=P3^^_D< z{QT^2vv7th@r_ij^4?L-gBn3oAF;YPjfDkdEOZ+DGZ#$4J87H(T%o&OOT~|kEkiE; zV0^1e=QKHqSAKzf#sA!?QD&id#;DpDLH6o&%irTDKbZIj%H@VCKSfQz07u)S7$I=< zfq`=?%omVqn@}A;vGRc$=)?JD1u?hfBWQoNwzfWLD@SrpK(4N21L{d8*?5j;&cQ(0 zLP{+{%Uo$6ZH~6}e_M{occ>>R=G$V1b^|UK!=~a&=`YiWgXcP^`0fVf+CFY3T6eP4 z1E$_oKbk;-p}V`W;4*-*T02x}T}$`x-J^N>bSJmI2NctdC(2o%dH_LTvX7e+75igG zDa3!jal(WYSteB4F8T)tBUN+<3pG?t>mJu+Lib$BpaBJj1hfy~IU4OG(gs%Tp;LTD z2F>7LMutGbB$tJyMU8j$qhaM`iyL6DUh`s@EKEfOGRy2bNmY7eeE^^ZwEpY(H%zM) zOJ-QAgaU9$Zu`{_MP6=bKT>f*IAN#s+;Bfj$$Z0C^e1R};q*7tw2}y1 zcOnT5S_}sD+!ye@B6BztR)hIn(WwtI5rH(ctV-Q^kI|jIR5G&8m}s5tH$Qxj*0_us z;mPbvm(=OZ{xQ~Gz!@QxcxxXg4^BXNzUX(Q@)KsCJeqW~UFB9F7z<8n&sRVVG8OAroTX zmu}6?*5_ zumxZG{k|jG#^;9Yl#dR3T;pUsGqepZkKhkVPQpLU?P9f<&8n2KIEpc*|0ouYcqrRA z74$M`Dv%GMl;YXEOmrY`VmDtxs~>3;z=qPjNV=d{O{&s8owLvwz*mv37o5<%yAGxKIp?ndSm2nGH^ECP!-vX_dz0Jy= z?W=&$`HU0Q6F2VT|DX{@nr+rIykusqbg(+1NddQtW?tribb| zmpw)szc&KrL?(d2Ay}VZVJ_saLg)a6VR^zMc-26cw%AoAXiobpFKm}`SL+AJz{}I_gU9Wh? zA=AE$ZFtXWevcB;X4$T{_&q7idQ9uo;wPRIuU&o?;K;G2Y-lbJVc|@Hm1A`DR(dnB zo;%WPGYm&{PmF1I{{3hp_i(p75OfNGpn*VHKF;AoOcB$zYuCG!6 zXq=`gq$@KjFb+%)Ab`1xeeR$f=oaeWs%wH=c%pDOmv^T3L!CRhzz3$h&fYS%i0$={q>Ph>HtQ#W~x+@@tNj!+rlG+B&YU9yJK$ZZOZs{Wh~ z5g0nJGq!olRdrMnA1j zk0Mbggx-+kr*`h*s%&w;;ewXQ=1oqeoeSv!aINn1?X5<$t-k3wF>w`_Zrz%pZg-oA zve{a=;%~Y`Q8c^PB4lG@r+eU&%i(H=a*VsFka+GDOeruFH1^uP-|1{Yk7{doF)!;w z^;^7zOfHR>Qq#_sI}Kf9c9e*CQ?U)+NRR%66p&wWk@_K1iS_-InM*v17Kz=Wol|2gD|y|FUjI<&uH)j# zVDq%Gyk7VF^he<#`hzTC@w0@$#B4B-2b<&T}*j+fypdtmmrc@aO~LWCf3_hg9-`gzs3D zetC#N<2Y|&rwYhDuf^CjjHn5VjaZi~8Y~C#ojy=;?0%~;kva5QYy7^}MTSHU=gw1M z3&rGS9|`+{xz-H*q-n>s40>}-x1EE%)^SEurv!XlJSCn>UD3539*hPbE2{^CzeO2& z!s6p)+=}CKB-$(0zv~sp4-V?PyZ`Byb1PQAPUaP?20U21rs0zN7+J&^)(a)6_!A!6 zfBwoekk`b-iclliU;2#MAk~~?vlo?Q_q@uSpuW^aEHi!h55Ck zw*{K_rRPk2ZbrG0-|gV;)Ues^a{S;bu*j&gw0C)Hx?tt~*QAYC0T@lgQ=wFKVn0hl zvcf|#xwq5DqK&#^PFy_~)XQ1L0?*P0#NKZwt8~xAu%#;r=Me_&L2p@`&4772{R;8f zs+PQTtJjybjY~IM>0?0A$tCA~7N)n7wDQ;?UIh;O4X1Yqqk7A~g`Va|)*)gm^xS;5 z82Xtj>}D@+A_RA=qAyd(Phxg0It})<*e9GdNBHem8lWY-GF{96|2w=HyL1i^&(MXI z?IVQS!!q^4<7bZ_KbD?`_HYdj#q)E}+xqv3ILcP+5OP@`j^iWzyD0Ac^5SB=aGJ>J;`l)8g?Yr zL=Ofg(|ZMmRp}$gYWjWed@iK;=7SDX(Y@kX1DY3%m3!i}sy7&`6pDhM69kSb4tEB2 zh!vD1mi!4a(fZaV+-fCzO@}PU7*wk`9PB-q{ z&$Lmoi4sgAM4Xkx#LBuAX^!BMc8)&5J(}P`;d9vb7T5Le$=7<3t#`h3_-i!xhsry} zWS0SX1*{zrB zB3pg*){st=>yf~9!-_%dQGp|tAuc)Ic(k6#gsu3Ef3vXLV?QMO&no38T+tKJ2Es&I%fEMXRCUutDsoP4wo0}=txzg3m zzt4&PNNBM-?D{y@=E21;2LhcU9cf~DvyB4$Nuf&AimJ;~ml0i*?%SN4?jZv`1Ku;` z>EB1ctZ6O1GtiTMKPZT0sokAtU`D?b&oyP+d|I1hdOzK8I}hHJaJ|Np&Fa5yC%a0T zWXjD?R=Y-M@2)p_&p26M)y3Z~Jli?T^QIB3=}f{)ur3;Grca@*Yo6x$J3UmAGh&IJ zRCP$n`y|pzDB<^*j=VyK54GiyRM4LOQv-P(3MWa|_l2?n%gY2Ay($}BW`EU{(*G#{ zI=3&g8IQ;%DWYEM&#n{O#(fIR=kgZ#(PWlaZ+(S>S$>oZz6^S)J&GDTTK;I$>~y6f zCUc^EG(`9^SF5`Gs^c_O@aDNCaw|C zqVzg-0^m~szhh@>Zi6AtYK7D0cnj2xds>hFp2q6TuPiP`A=VAXuR)^0>3_G+ZD$r0 z=C80mpa*rj5GwTFucny)<+!O1s`Cb=Y}r3uA3P)2{aT4ZS9>>VRcQVo`hL?-aw%`8 ztTY_wi)PkpcHg$d1d4`ge$o5gzWwQLm`Ty2I@fKHY(k6L_KXasWFh649nND4{ZrAn zTPgxPB~iYeLd#OdRI3Yb)CPw}nos3Rh>vH~u*i5?TlggfWRx@d)~w54D|UCr&y#cE zJH3A3dZ~)Fb@_GQ2{%BpH}&<$k}tSy5=>H6{PS};9Oq=VN)(Zv+wX_FWiN=nz6@0N z%gzXt(r~hwKU?tFi9VaR-ljtkQ*;geco{yZp17&3%wiepmqCyvSjgO=_wZU&HQYpl z)&fU^*NMfb$3wLDI~zvOn~2Cfv5cGiOg~f@7~)yS|5bea&GRgxN9aSgRwbPv^)uIk z##xsLiVbD@wVaB9x}$}yH=AbXE61wzYsO!bO3xyO%klw%ilhYqJ^;LsgAz2xUHD+i z*WBEkdCA(f(IX8|b{KDB7$m7FGa1@$vAKSDA`70huJJ6eWA8)x}Fu{7n`ReiBeMy$xA z;w8mEtU|(#0s>{m_uiq><2+c>d$D}-!%{gqtb{m1$FiQsg{+Y5 zhIVN^6{4S_jG;>)j!a!6NSrjfWZq5dN0}1k!e5pQHMF+uj%Ctt-_SETt=|9yTM z{;4Sce%*Jjp2)UIXC;Qz;Fv&mZKaqL`}6M&#jGm41ZXDMqLIFXSoHlG2w-aN9Lk#2 z0$YO>r4MZe3RO ztJ#-i^~Rnlt3o2#1FPxO$TMS$@t&F*AyJ}%jOl;R0bnqqkUDNk zxyA$E?t?C(XqM9A|D-^D)~$uXmhX7KOa+~}FZ=v|n{WQjZ4#IM)s$dG?o(s%*XjD7 zWF@u68|Fbr+;Gm|=>v)&RX2vHSJ1|#ZAd(!f2oIv&5zg%KUd z2{AtT?$^lJ7Z(|Cc{8Bf^q*hz)K+7Tv%eB$k%ckx*Y4K}o~qNQ?oAB$+P>pQ?lL0# zQUpzAwxdZnSfO$B!v6!5;B`63Nz_Gx)O_aNiKbcO;NZL~J*#%35XP|$4DKcT?@vQc z=l}CBoq7kCVSwY+$-fABlwM;Fx1%v5`<32L(0MI!JGJE?`GU}S@d5=5f-=oUz8|a& z1wnaa3xhn6U6%rw0Nj&0!5uxu0V`uAbTB#51@W8AZ{O6-*8xKWKo+&_bqI`q8a~}L z87roZcp^&$D!mii5sGq#DeRuz=5+is$PY(}{L~^??JLRl0PjH}R8Y9gM_&Lu1RVU{ zgRD9z*p`5vXvPJ|!p;M_R`+CQ4){~AuAQL(h9JNveTvi(LzF7i zxP)-Dpk4hL@XywOqSHK`j@x`YpYRynUO+3HUvMa$aa30w@m|J#un#C^^b` z%qeB+7SZflT3Uw_U{U~MGi{ zNC>Hn1VTEtg{`2qZ~!nj8POJxvr_#vae%_GN*trKqlPr*XaQc?Uc_B7FydqWPrsZB<| zTS6GX@$lm<-ogXISO(U*1Re!BW`GeJpmmX+I`IDe02%>`S4Ck=Dn_Gp$HADe+SN_y zX4A4zc!iCCopJMu$pqj`0Qa?YJmX0RR{?;DwA~NiKqmGXkSB;4STGPxyzjI%nFf=b z;77dSP!&9kvXCTy4G#~_R)1g@D{U5T=jP@DG*PMA(E_q6F#y>wHe+~&`NH7fIZ#tz zZgRf?PA2ka0ji4{!~=k)#SYM<+LgDZ?~`uH;%F;PlRc*iLjQE5cT*}&LExGE!U*Xf zVnWP&K#+kACqZ)faA~E0i_{5M5R$qC0`91@AQsB3T@wq>p8~4DJMjPKpk9Skz=Poc zOSc|op-LxYi7*M&2k#_!#&94*A?4wL1PHE{p{4!kUhl#IcJmzU_b!d1q*~yX0xD9e z$IOyLe(d>f_OI&dui=RwyPJPu3FBZs$Hd2sJ#NRGf4>kbVDc#9i5xS}{LNl$T!2D7 zsYu{(lkF}Ev*H0wEr{(jz%K%D(`vRg2l8LXXHmyTfvMQp@pcb0zgIb!QleDuasQ+V|4kJ_{AW# zdS|8;dt=TuO|pM1=%=3yIuV@_wryWXHRv~a033OB$1d*7a~q!-V3-%WdN>iF^s$37|JDdaPuFfL9^Mk3{IwV zdwy7LDrl@5bH;1B4}E`gHz`EKT%xUjc;H|pP}Af;Vx%xus^Ia2k`W9!Bbmw+R!-pb zl-wKU;=W1;(OqN+20}-%?V=Qj2isAjhLakXsYgn6CO>_wD=d;oW%R+X9iNM7AO_J&XH>wUGYDi}$`aLZ!0OL0wZOSs;#5 z^z%xKAF#!N)pBx%NZ#V3q7o6Bsm*c*)xNJShCqYFz`#g@Ikout^ILwj`?Gf&2S9H1 zIfe*j+a$_9?>=FA>CYZTHS+GG;743<>tCd0figw0-La*|)#)t|3ZtdvBye)#?ucal zJIPy;GB3Sae0{;u_)W{NG-37fJUJ!S1(hqMIq!|x2QYi<=!sS=mmyvljSt)p!Y}9R zHFZEPI_q0hKJRUn(G7j7kybYj^U*K>TPNT@tfUpVMOpv4&dr%sr>=nF7M96W;yny> z^mpsS3$H%@`d=(Sq4>a>x`qY_SEgTUg0vrGqGp5XAAmiSr&^SpA@I!@E;#_DBAGR| zjXujEb1pI>lmrxf1M>@wU+zrG{~61h5i3Z4$dSs8brc;G?c?*|Nj-OxMupWg+Y{?} zPK#i`al^H$*Va8{c-h(Rk9y5DqRQV3+}^*{$QqpbSMOq5b=7jP;q$*3W`$E%#sj4PtUjO zLBNfg!u>!oWDh(82tn@y(#(T%z=k%uZr4gEDBuXX93b(_aNt3%?=J+1z=(*5#8+@I z=URsk2D&X-NPF`PqyaV$yjx!pn3255m2s6nFL;@&u(A(v6WzY*k;B6H$szZJ>%wgS zG^JZ4v~inUy~&%^$qKAvPLgZe5_H8tScmQGpifRs8qa)Z0h5Y$_P?Hn=g}v2yZt%^ z=cYHWeSJR4`FXzata4m?1uZku}77WE4V4sHf90j@%g{tOLOcc;a2GCtDtRB5xZ&dul>SxQkV<-$SDC8N)r zCI`k%`ico=$OKSckoxf1C1^}q%qa~4S$UIWY;Cecqn?7Va5g)p|9_0%k56Ptj9e!}w5m^Mst!v{cb`y8+|xVno+{9&N6nIw9O+I@8G?@gxI8ZvbzC5enm@G?x8yJKrS;rkVZZurgR?9>?FSL3VXjeYs=jV^;ycfG? zq_g9pQgrF%;-F)2R1gQYsC8FMr0O-Nt#}rQTyr~*MVgSfXN!2LGcid*J@1L$f!1BY z%n2tD-rhHStTUhd6?aI=^$80+Q@)nJ{u+^$z^isFIJE> z+YxJPMk3+hyUXWvYU;mA{LZY1duXqq{|xlzbdN?T{U;EyipETrtd@g$LC<&wq#X~16UOJ zOm2p|U&CVk%gPAgdZkxT$g-u)Q}*bYFNWO08|mbEtMR*_E9yhU0n4PO7U~Drf9OHx z>Wm2Xb2y|+rPKNq+iIKSJdwi&Inps9qi;0^vh40SZjLqm-mc4#IR0+9ZmnJFwo*F& zsN$7??D)XwSiKYXCZA(>F@u)NTJhkY@$$C!;e*Wr7JhHgDm#wq=s)38wLAwAY zi-Sz(|JK&>|EVSvR(kV>46iz$mw7x405DF#&mH)KrB04d3HeNb6MHH4a(;DHmrJL$ z^k0*BokgjTfB;ocEuA|T1Nqs(`=)PyYxcMB0n-DJ8{HQ(h`|EIsr2H>#3aB4SFll0 zZSp(2y6CTGRB}jf7#uOt*>suIwp-4WjDHDqLH`((L9Jd!5_7=X_VufxVd#iSnK6f{ z((7>BL+*^?Vktb-RY#Ve`y3|ndUV<4vSZGc^EdyH&FPBR-X16oUTzrQg|d|K!xy{&D90>Xcm>UPBREh9>05z zglvxYSG6Qef+?90o96qbkpwlc4JRFO-#ut#b-z!Lr6j4ZuN-Y}#l|Mm)QIkiBd0h+ zRjGay6sV^?=3r+>4R+?>fCrYx{vjc#4FgT09yzz|x27ll)lE%Q2sp%{8Gii@ckh}8 zANwx~_S6QMN|5rm2XezJsCU##jlXtr&;TAfKs?`dK0h@gHm`F))#LCwpi%TItH4w9 z%crz2gEd~+N~LHEGHB(|B-D*HI?Y_a5D~cn1_l=nrbEeq!ydv(Uq}*nvuJ4W}G&qplZ1Jh@ z(9qdjl>p{Fpx(kCV|eX!!Q1!R)B7t$dwXL{$yKM>4?PZ{Tp8r zZsQPCrt`6I+ z!({vqpYh>*tmQ8^)R-Ra%XnLRBu&VCb_-5{i{pC7vCx%qWVZXnFaUCK+-4t(N`$nw z4Efg8x*+<#(HbOB7cIo9I-Vb_eNxGuTiHz+tGGrX-`YCZoC?~~;?wvhn7k$t=6cHS zv<(VGC>zteg?*08mbJ+YSZLyIli0*z9+V`h_5K8z1j?eKqF<`Cd_R9C$!fnR3OtS5 zWPJ92M&_ycxCkX&??BgFAvd`Q-G<>iTHy@|4z#tzJke`$*QLAR3-dN>W%vb~nEF#) zI1fKx`<_K(XZ_}C)q9bA8*ozaIiz|lwMzbu=6O zs}RhdjCCdzEJ&giF^ zLDqYPYma+tGutMn#qE)Tyg3x|b>}_xj>+aay9e{sLd>@hpI+2WW7|!jeL@Ppf7pEw z*CRkp4dH00?X6(`9*wTi2YMeEvP$2ewCQ-TU3;9|zH3BDNg2tiRn_2GpP5Mm7hjPl zeZ)+q>o)nY%J2yxgI7kz&0&?EW#YHF0r|c31K)o#7J4b+soL1JPn`0p@O_E*_fDBL zAeH|rE*ntm_({T(tZ{Cr8?E^J)o$CikI&@OynK^w%#3#C`vdRw-ebP3CDf*3URR4G zjZd{6`}xuh7{WoyKQuF)_m^OFqX|^Vp0AL1*=|n@LdQcPr^QgXv3r{Qi+WR%tCNj` zP0L8z9kcZsg2yd0YQBu_8d+~r71#RF{+L>_5=XHuWY)RdI!xiGSFJ}I4oQ`E_KzA6 z4VQDnLQ{5=NfN-2#WED?zy-Sqj$3dfX~$E@a##SbV* z_=#89&_#aJf!G2}0X3Pd05FQIZGlUbs?2BtxJ#to4iN9oNNG)ecadj_1jyw!b&SWa z#2VYL(5q*@O0M{5+;=0?S3;f1AM2Rh?87gX?KaPxGR*Yw$QAa>sdJu(PN)OTz7ZD- z?=>$2=lYAES2epD&u?W&)=1cflk(lEU$#w_)2i>Bcc%-GllhjhConWgzT!S&!U2*7 z2hLXxA8!=u)^ZOh>6)3{Jym`saNpI*GJ?V$5%OAlOwjX6pv-i*Yl!`t#}mudt~EeCl)6$WwzxOK3to3k{K0x%tC%SS+{@rfxuK2lk(@+%y07SxeD|@ z`*S6SPiFNq8mCl5`-|2U5x-vTwz4RO`EzYC#`|bwe#;9uQ~flYMgLupPKYR_XY!X{ z_LI0)0yo8Jwh)Qk4ihS=2&p_i*{3EPd>q7gBTY&h*pz3izMVn%-!neY=U$9^$qzuHMZ`>`1 z%pR6=H``dqd+wB}2piXgU%#jRQC!i~)^y*Ob@Q`U#?TGNNvV)FT1C;xF4}?C}>cxl^7V5 zdO)c`!fBd$T?4lhGkjETv*BPsdq+VAe6tr=wb1F2wYTR$O8i6TfN|%UDn0(nJw6Hp z`!}u+$@C^2=&)a{yBuEl%P83{>e91*$HKR=?!}iy~mm!u=xUTc{*kpwx1S z`vo2Qt|*=zvBQP|F8TEGG%Z;!){xB_?t!MS#BImvY2!rA7jazg#SOBk5Uj~7v2Wj# zx8jiENt<_3&%f7`l$D9T3t&t_N*0PnJm&-SC)pJTo)^z}cqL_gyn4828d`!(CVj;|faU}Zl(d!U z#bphjiQ_Hewj2Imf?7J8ZYuW-A0p3gPAO)@b2SFVbYUYEpUA{gOy6kDIJ9+PufR_1 zrd?Z``J$B%0%Qbl^YJ7V$HLQx!t+!ja{9i8hrbNuBd}5xN~DPXP5bZ8cQM{Q`u49H z4iaJWvlw$2H2FgZELU!Adg>av3Ry+%=_>hsIh;OzVtYN_IS2dSM6)IHBM275sn8n- z0z*Y-$f9%5UB1bB2YKc=*Gj6tS)C#UpCoLd$We4OqB0UzEidQQyK{0$@m#FklglOp zvr|slPeIKB{NBW%CPf7Z!|lZmK@Tbm@YsYm8)+y3IQJ(O{5(9?r+Wr)50qpYBrBB~ z{*6cKMnQ*G*We9LGC{5~qZA=i>)#2dKgKAE^ii2KNK9vn$z~`7__P;(;&J5`{^Gf! zQHYEn+$@Av#$ejZPjU&YuOg);udV(*XA#L6W_+cR{m#fLwB!pxIXKy}EP0nj1uB<) zRxbRUIj9^yXc~@(*O$6r=|&~_W&-!9)54Tv)$4UjtGL1UTDJw?L^d-ff;{`5--dFC zM|mwS{Ut(iU&%>Q^3q1(J1{b|Gi(UNm62CFpLU>0K=ZMSB|vv?hMAM|4b>CtGmeWh zrhB?K)2@4_o!cZ7Ev+v2ORC4F%rP-=aFrO+0@5ao`|*GD5s)&rc%glFsnxC~x+|1P z|L%8dt)nnb)cZ8apO3XnabLZ9Tx;1;9(Q{AY~lt6&8J(<&hLa0+?^a9mjtUzmYsW? zyZiE2$uTf~IOLPu@1uIW{2=f~Wo2)A3-4566RPwinn-Ji??)7iJi%BV8(hMm0H8$w z^t|?vd4dPcK|?5&rY*KAm&t*h+yaGazVV9-YC>$p$>SI;N8;aRV313Xu^*XT%R*m+a@WD(8QwiGxdhhlDilEQzM2}K6}bz zUt_A$tt0Gi#A?^edOb4tiZt!Gr_W2bo=R zehJ!?Ijg>k52T_A5?KSLB;H3PuvQEuiz(YVL7KMBI!vpP;gWk##l0FpcJM5-zla(cB@zBdmg8yn;FInII_z06^ zl${ikM(^iF-TDxRQ3Ngz1~{#yQ|xNMNhm0o`~1(FApfPrKi$0R?k;>W(&@ICzj;o7 zX8*H{nh|&@5ck$AC!8pW`SG7aY1G#!F{w@|MZq*oJO&t=I~S@#N^eyHM8m@fh>3|4 z23m$ZY~cyA|@YC85{(fB%VnPU5GexphnINjgtlT|32|Xa(J$9#x{L{Pu@^y|Fwn<95E2 z?0oyi%^nvgtUGQely0Y4^2XjzIc27h*<>B44*)MeZ(5Cl3J&t{q9QQJ>Zt#hcE&SO|OEyK4 zV*-nYr|#GY)1U6{H0OQ8U=ka=%d?}t0(6+T*id`*mNEn{97nBrQPe3 zsEg9QzufmiOl+r5!g_lwrd^}>*4d%A1ch&YkxCmOn@U?W^QQ^R>Q`(Z&#DB!-}>Cp%_Xv`2xI15>SBsNCR?Ykl%T&HzTY9=ZDfDMs$r z>FBCeS|aT#N|eOvOH|2dn|US)Ce-bM332BvvKVH?Ict=6PL(Uee1Rc~MA3*w6_Ykr z^oKVG*+iK7B(*IOtT93Kb|@;@!JUhZw3V+|m?fa&OR^@5$P02~zMOxZC`TuBRT^DE zRNGcFRw7sJZgIT++p6AbA&6GmdF9i&$wc{mG&Emup-e8;{qev8thlYpfo z{4qZ~bAy7u)|6g4x0OnkcxExmHIf&^baiDz~)Ky{AAmUu~`&$lUO=6&aO{y$2|Uy zVWKyqD*3~(z5psLwe-ft<}IuY2U&j+MSab15|5viDR>TzXsRB?{e}{Q0i%;Nxyx^o zK3q@DFm$o~D|2R3P|=nXGoa;4_`7)^97sl4 z2zVMT|9k2*?H2M#P%2@#Fcz_?tN!xkQ_~F=l;Fx!6_jX}(~HQg_GcUWp=#8D~>NHv+QRtSHwmTR3Qebnm z!{fp?)yy^J5W!Z9PoA>%zSlq{QCOE*yC7uDeB4d+l0VVa|IWuD(?SsrIgbmc21TLy zx!k9;D08}VU(&hp_0dS)sy=u?uNyr&ef5IoT%;3D z8}CN8rf9M=!yKrB=EHH}fZX=}^dv3qWmz!QPYaDI$5oNgt*QTqrn8O;s`$fhhMJX@ zk`d4#w?uAFnr8-wu+VG`4-ct3s5|EFvNei9O>dwk!#l9evzD8O*k%1)gS9<>`fz>n zU0$rctTh%x(JQ~9q5g^1{h1;3`pB>2rn{e~E$F+WzevBOghX`jB+XfQ@cW1fi*W-Kn8J7(b{t!&9}NVw4@~=x zGzI^DDq^8HvP^&wxoapbju4U_2mRHd@ki_LiR`eH9`DbKdN zpQAO_hxBBL+ z+chSk30#+Nz_|JZ(pJmi2aH%|^a#IdRsuhj?8)kIrvA9pq;iFI4^b zJz}g2R2|9^L3`G(a{Jz#n;Vpbq1lOZsu&`QfSviT>SV48W`{n8?#r=>gma2)$`TU>&c7(EMTVRBN9%8 z7?4fCz%XUb9ZeieizTEVWtPxLFk;K)$K}a(4-5?%UV7d!8=aF-$)`#HUIW|G6JoG_ zDLHX*+jG<3w0rBbhYD8^G>1)Eh*XM(#$|Jk0%jPc58vgh!E#{nr2SEHypJ$wYVI4} zc~GsBl=L0?JhxlK%=E(I0{BPQte*PHE*8Ipd=TV_ch_+ zUCZNz*r7gh8}Ujl*;AquvCw$OKgr)y(g!lJRMCaN#SYLa+v8A*ic!<;i})5Oz*lBX z^aSBD?K7sbGx!MUv&f?iDJ$3 z-4yWrL=?9>e4kH^Q+R;96=3dieyCtnR#xucxDg;h1F>vQW<_)}wXDHnH!`bD$4rFR zvc+7f;pvez3L)WFAi-ct9>$Rs3%A;v{m%4#9Dn>k^>U+KgMP?7>wQqS?}$~tce~d% zHiq3?kED$EwmuXhfy?TNl9u_-%H7)DBcL;5h-x!pKi)ov(1hwXi-16IV(g#^Q<2zQ z_`e+99}P749txJFk}iOZ%+f%eiJd)WA&t`VT*r@#NTZ)QBY}B~Dreapue4 zNTS{@&b8eO@%*Va9p1~!tNZJ#&#n%O-6qTRf%Z|-jJ~+6-^GMs2~_)JFn_7m#r*i0 zj)yNQY97}YQ)WPHi#$qAElvr2Qz%nw616z>V}i_ulS!2DX$KpJpFlAHm7Gz|bF79g zFGktP*t*cV<&WNd4|@KY%_@k00bERpb#59@59Y6lKOluVGUujPXhX-vBozBo?FBBT z)`}+2zEZ>IwqMxzx7YV(eorX94n7dE{e{P#+PHbW7c+zRCFREL*io>D!^Oy<{5Rq;Zw3dY5*hU5`j80U)aszE2J{|= zl^VY1&5<_Pt1S0 z3Ak%iB)8sNEkxF@UwW_|8C1TVX!i!CWY5tRw%tS6bXR()JPxP4ad=p*(91?`)EVF&1YzWm$I!Df4a2#ySNVkli7eV9wYnrLFL zG5@bFiOW{_k zG-S~KPYaOKpz%|%VB?x_6bM`TKvM!jqrqka_wK(ZSzHefZF*nhD_7SuaE=KZ7!CIR z)oJ)MnYRNJqh&g=6wq|p$a3*Y>10nW3{qaOgMgo$PYa$&%5rxEh#T;0*2dfqP-!v8!}qj z!M*K4mRR}?yQXRGad0*{>WbgrhoHAS+%A2&7wrCwMibiQ_shBpuuK22!EQ;I(>gV; zq`VkcYJfGz1v)U=My3?SWz_fH%^p`L_1caz3D=-UlP0GQQgyZJjn6ZM5Dk*z*a<=W z4|l1~rJemklOudcNC^fpn+ zkkC0|g`d>#R`N$$1MP#ZM8Ehzp(a|4+wi285Gs^6)a=Gykr8TdV@A2 z_~Q3CAI;hB2NAnmw%!HvizEJ#n?<6abS$iP%FNF8yA!zg0mA^Bk!aF@z<|t#G;PT< zyZqPv>DbYNnD3ggnsrYWi}eL!$bHj-k!|{wC+eF z#1Je>AI5E*`UeK|0ipg0K>un?C;Y&rf1+5u9RAjY56NsHu!?qz`WD*|In3z7pma{$ z@N29}+DK1IX$2uIV(0HPHTp=h#Tv!p@6Q+F&oKIy^w(`tzHwN`qNssLGshlfwoQ!t z*t`zeHWL{+3nZp}ubh32(@5Z1wVB_TccpMpQZ-SMl6E?rIpWUN0{;b0#z_D!t9jKAp8ZGIDBr^8w3>p!Il$K@t`!DtM2f!g_@yB$$AT zd+Q~|T7Q+-I)k0r5~jK3d6akArW?^gR>~a1pg@!#50)w}1jw$=K{NCU?CtX|_|NAn z&TBg3eFTJvKeGor{+nS;+*H|L@=rou3TnfX$;!Ux0d;AnVok+o8MU=MnKCyY!N3VO`%4oh>~c= zO)St#$~#rK*g~u{3EA1L^g|cu3@5dyA2JlvFaFH^PYPT$r`U+Crt7<1zmhXBoV4gr zvzgx0fq2>v;Gidm=`yqKz^&(Ase?H4J}1><)RDS7iKM7w%sKk&X$p z^KQu;S88e(Ws-whNZi{`>oH|3e0co}@gBiTu1qgf{%7rnj}IT|HJjoAE-Z8EAR6;y zE4_a7dl;KWCLRLFKVYpsR(f?qS>X$$gSL3ujfwusKg8iw_AsZDCHsdR_302CHR{{3 z!BOLtrW*tt8+NLs1^k2k$^Ynp{1ISc_;C>4{g$C(JemBp{(IjIwfk?)&?G>zaT?3` zqjhWDz3toIJdU&gM!p{LcIff1E@3_hlik=rccZV=>{`Pdny?pXyTG3ue)Q#TEaPJ`k>yn z3&pv3W&?+Uya$^t84$~*to+s`{Z?m53Jyn;49`SB@5A?@D{JsOKDIO-{%srj{n-IH z3jiUiWiAq1*F}gm9tzRwEngg%#KJ*)HZ~Y?^Fz$NiPoWpImP!i)GlLIqqi_j7Ubb}Q%lH+A?OQ39nut`Zrv?N7$t(7O+N zUW(Pq|0ZY1w;z?4qaDlx5gMQSjc`7CYu$i7*8u@)=cen`KC_EWseoaI$1N^yGBw^9 zBRE#K5a)7~@d9zwr1=3FDMzPvlo^OOH7mY%>g~EHD+9VN4BB*TnJDRn!V|B0-N=V} zl!Yk|xvyKOU0%=YInJ~V_%Knh0Uik+$4gqmK}RX9mKx9S5V@zH?h;j@GD{Gc*{(Nd zJX)Sua`Q7>n{Bs%J%iPWtNo;I3AD$_0F}uI2IJZ(BMU1_SV@BHD&xn47tVYO6JLSI!?1#8P&sM|Md*=59H z$b!d=w_?WZ_Q5Tx8d}#*5&y(TeC}e(qI&;oz1zGd$KGUeaw^1>$QP7U`862+%s$)K z4!I29%ss8tiW8QXzfd)VL`=ku8nQJNe{-F5d*4DKRes0a$dfkai@AK}Om)(cH1z3sn87T=7dm`73kAE1oROl`hb#>*etQehF zry86<^^j$e#ArehD4oQxl@Z0~cDwzxdksGp5}(6|h9=y3&gy3@26W&0{plCGWi20k zD}_fXQ=L(K4f!@q-^owbgjAVJ6gKW zrvut`2z42a-P~zB0K8~&Y}01ghXjVCQ3FN>z(%l2-0`-hK+oPEyo=_}dQ<;fBIh?s zJ3!%vzePm6d1(KW#>QgM>H(DF#)G^Rylp=Cu+ZN&cYMosM?ZfT=Uy}re)WI%)u*$b z_C%atq~5S(?x6LD;#e->yskpWJ-)Tk)GJn;!yO;E0>6=NPt$l&L?DmS zqMnZQ*Z@Wz==e|w2*PPXXL!y(e*F05;d)A&^@&G@D(-L|F9N3p@BIfie=RNbGfmaI z_6P1pRV5E|QrcIyUO2$|ghfEO=2^{73D`$0s^&EtY_0jZ5(>f|=91X}WiqL}{b4ut zf4j=UxJ{}(i1=EM@3_{rbp7fFwmr$K20yL4}?}EyG3L$v{W9wREOtw-nHf zx55a3viXk1Y8v#3Q)u0Y_?(yL{>q@?hxah9;C;OC;RCdAP=k~Pgq(jey2u1k!IwW< zC$A{j`Tyy#Q++X0&w(n+B_S7xw%`dABXL09Pwu7Ip{g);O?GN3(_p07`<+b%# zuO5w4jy3`HZ-l?yI8Mn9mCG6cGN1U$Cjw*k1>BnAJ=y&+h`>CCg|iM|XJLUjKD z%Ud+0a>D}7%qdVaUt3Wt1Qnp8%G3JOHWYUZRC$QKZL*2#uh4SGOHur^vCGQ@fe1w5 zK0g2SNc8V*B7Yb~C#FZzOTHx;S5z>)ZSujND}jhLW+}lFrkAC;M>ke|w?-yvQTzPZ zs>+#H?)3jkm+6A5g6aDYMP@Py_s82l6wj6DPxr?(7-Ag?2#HXKp3XRtCuWjZHEaZ$ z|IDO;!^FglkB?VSQWCbcWu~O0H2U%5;^?fM)uq37FBM0P?za6x%uDx)bmcTTSB&TK zl7^8sQ&NJd6AON4=SPe4JyYk!1qK$Dng#sWh!M+0Mv`vcn$Nqv5k~Npy1p$h3c&$( zl`6wMxw589sR$2KF5Z3?hfrtd2_ys~aW!cu2-y?rmV|`A5&l8Mv%5u=>ypj?cB|pU zAY`}RFJutOm}IU?z`_%$I`TZ;&M=5d#jfXPd>_q8sOaTPPtYD^tuHum#QqPVBvN>o z)sgEJc(VY-o($;Q1ppowm}q|`>AHmg&evqUwccsVmE76K+;QKVFtKFFrG36Z%cqqqeQk6Bp&WzcWWj!Gt?NYUk^y8i zBsO9v9f_si8ZHOvV3Fa)g%tS=-a!g^es0z61CVi;@uSwB?A+Xd>};~LH6W@vzXH*~ zn!EKsmn1CLvV?;5Wer|+fnn%rtaV?jF1LatL*VYzQJnVu{z`rnEgUkF3poR3LIPJ+ z)xhAOu%cirWg?@dA84BxSI11Z?zz@VXS8{m&DI>4g=~}oq-~@}OXWEO1W~%%>!+>v z?~!F^;tR27;N0)*Ld002b=ROUSXj=Zqn0>!U3hD_TjPj4lrv6BF9q^{sgUl`9t4w3z z2R=NwCCK7Phh&;}Pz?vOINV$!VZySPxzUOZ*Dhf(w z-tNAmszlKGUeCWsSd8TZ_6B9nnHd-x-VnFeRqTTTG2ZnFM~x_AaYYQ7M3R@QC;KA9 z!v6FfL=+X@%94UJilHjbJ-wei)RpEV=8F_{L;(xh$pFkY zW9p|HrE5(>Pmho?BKIiG$am%huFP~Gx`HpXWLg3tPFd;jy0sAfp~3o6gvfJqtz@Yp z##j9g`uoX0#N1q>jaqfR$+AG~1-QrJvG^_`hwFp`lMmOzRa(F%-4Tx>{~coRnf1%Xis6>&`NV z7Y~1pgf`c+y1~`&Z^~fKlq(qo|9eU}za$A)0`>N(tAI)-8Gf+E0Vici#9jgh>jvO8i z4+OUUckjMj>^r2p-F`${aUFeq+*j6hyWj>DYEAK`Xu!TH&ck(B8eLh;WA77ON z{NBH4C(HHe!sUa?Cg6#TNStrzATr3F9Ed8^>S%`DSxk2KkLz>1rcroV;J{ zCS(z2bj?Hggu|@T^zVcM-L_GlSzKn8?r%;VyZ1Ki=6mVVIgD? zhhmymXOsgBHFpgF2$3w)t)^3dp}V1dh>ix&VDxhvt)#1KJO=h8eNCXO6e4KGbuf#q=NK|Sh1Lkx;ROPk9H;CtVi5-Fp3G_$tV4L-hcffZ27ofBEXNs{w;@95u-I~Bp?|{;8^<cRFZ9T@FTaISiq<_|VFO~qC<7sCr%UCgC%V)A{Yn|{uL`G^^muqMF<(q-KK#Acu(i3h zlB-zSl8~e)s9+<3IY|-BKk2Jyu9|>;Ng?J68x&pwli5!a=E9%dHkP*;X+)D>D-Avs zDHu``vHvu0QBXwR>^5us+o@@@~9M4jQBoxnncjnrkdK_eJQ|s1)Pp>H! zy&7ypt{B9cE&CNjeH&;pXVdsZ*Sfo+{rT-2`&v_s8cNhE8%)}Hm^l+l({+DwgPl6o zx&Yv}BXcQvh|(ToKINPZDssa&>x6OI^3ud3fcD|Df1NAK`=yGE1DBbr`r zgX?gCecM<|%a?S|TTLVaE}scg3U>B4E_B<|<&f6RIv5gwi2?9*wmcJ=Yh9EgKY$MM z`rxYSRTN+GNEPq1xT86k&4>vq=?EwW(G02*stEKgP&V4QraFpltatje0mI3lZK_9k z>UN-8G;kH1JOpP4gXe#?DuC)p=Ie`9@1i*ak(!#lBfVr71<&6auvbX}bE-lz^9k!I zX@@TcenGaMqIN+?Q9tG^Rfkd7&%bznpn6ePw47|{%hP!`a78z>W`Eh+!BT~P57a<4 z<|*^*JxtsWO!`?_G@--5{n%o^Ns9Dxx0<4dtDPn%uB)5QSw$L57KB7Z!BRv?RgIfN ztk2dUdI{yf`b`70JYmNjdDb5LtA;B!=Cb}eil7*^!>mi%7t`d=IBXl46bDRGy4KRh zZo8I-XGI>&v5WElyCt?6{9W4s;Zu**I(AYYLH+r2#;fNOF8W#9RZY2t%a?qen=w*L zj^JRQl)j|S`gJxa+r2arJk|GF|Bk$roC;^k*g9ReI^&4gtFo0ak^T(#W8tFGaA`@Q z!-`a%KHk8L{#sF;Ds!V;(6oESh1^@JdslJLq`u$i24#Hpi`@heP_;c#=lqe7k@rC8 z#H%!+y^2cw?T=Xn3yo5>+q1PXkcjacw7S#qAznb#$(szikH|e7+?z6{{`!SxpZ|M$ z(5+weu5COtZwe=o@ER>aQdF6y6-l3KQvaLAnA9|R<`9RHbhs@lDsJyuJ~YinQqFtk zRjYT!B~J`ZjH)EpSbo~_CGz>A#4ID%O z?-8sRf(BPT@Q^>I$?YX^Y)g|WDbUc_|I~fzO1ze4H|Rc8B@@;!!QwH2y+DuqI7IKK7BhIp{5U{0QNZ|>pYG|)=l)7@FgeQJ zCf2P74UgSbq*@eszl%Su)GWl{haxJ0wG;=lA4w6Hm}iwgXR)0FZV6HUwsi4ZeQHx= zkC#5%A%7pLXYu60z%GXTPnRyd&$5OqBc`pR5P)u@0XW{ruivyYZ>(IAV4OAq(vF)wv#hEQfR_L`o zOX|V~nVlkXU*4cjEpo@6h5q2#$M`LFx|O*ZrS= zFi$0|8M;SNT-;E3hH#?7e5-RteMn|LTgB(>%`hofk$rckGlQGK1S2CO6mk`TprFWnAP1yozXFiRXGerFPgj>svh+v z`w-=&?uSNoH7QG#;_4vSWM{Eb{ZO72$<0J8U3kGrbu89I%j!|)bLqiS*3LZGRB?DO zRZA8gBgEbv|Hi6Xx5?)d35wE{ryJ`s%g!AfQ zuGDcCP})CI-drthFE;Vd&`QO~PD9ISL<*<_+ zN>U&iR%hP*$ADXWJ_V!Lb7SXxvwIbj5kt3U{54JPyjwrK#xZ3OfiriVy zsdkU+m*dy?pcS1f7%%@7MM`?1wet6)s!ULASw#xD1B5YKGf zA8n6SB)fLhQ&7IHl#G==;PBL(-kyu7ILTGBVkiiIMYZIpScu+H{_vIGn)*5Ol8OuLVOQA7N>`=o&X`)VqNF`Ji zq^r6`%`a@NFY;}7TlE>&Pq6R=Mvp68zoVoP4C|-4JznjdpD^5?%I5^KC&Ny^kE*m$ zV8wtx0S$Gm^>wY@Kz4 zAxBOzouaHdatHxbu;5NZhq3lT|1pxVl~0mFvTMU8IxenT`qeciIyzceGH^np)YGKp z+AasBdw<>qV1?!{`Zz5AQ&VDLHJu=fT>|FLnPk>v4o@C%IOGqv?wxIBXDk1;x3fp} zDO+hG4J8}N$v!f|mf!AI7R)Sj;?|r3y4Yn!Vu6eHp@X!zGMy$if`|J(!x{BYjazjW zi6RV#h*vahuv z)mU2_T+!6K7>YK*<;4m_%&}F9v;-CYjTnp?uKW)#Txh3)p3JgyF_nLd>onUcfoPIQ z?Uof67hla4-@W$Fj;5J6>3As2U<{>CXg+B|wm)TiCV>|7`JG_KYOAZ~%lr2qz`VF| zyjfdyG8z)ndNE24D@Jr7ZE_3!W$@HoDqYnms5^26tXs8y^@4lJNR*d!p zYx!+KKBp*uy89=M&jWGA_I9mq?+22qwq}v8o82J5?$sD7iN{F#ZqH>p*XDosL^n9} zsWy=XX#E+RkE`HgaiBhaR8-WIoZ3aD5kuG4-_V|@h3^y+qSvm7PJZQ#L*{=%u_sic zv2MHJ5KaluXZna{S~J_ef6Ag!TnQ@488tGS9CZ9THv)LarY+^0gsC47iZGU zDzrof|Dpd%Yx-BeRtpMjUHzXHAlnEHZMt%?=5N90*w|^BfK4jm_7i6NbC+nh4f;yE zYZ{Li*A?aU7F5jqKgK^ee?g!SZ5MD{9gdR*hxr%tV5;Lf8yTS!o{+PFkL9>cUBfsz zac5^I0zMB$^T_TAdlru=V=5yxV-kAO)Bzptk?mqCl7P4xB|cK~hvt>Qkti1x6}3sg z>jz7-+Ug!09=bXD?XRuPnU!S%rjfCc4H+wXYk}cFl3tbLP$CbZ_fVpu?z8{qC-S4D z>|B+`q+*zOO3B-Aly@sC3_gEiw=&YVCZtm3c-L!|rnxV8{y8ZrE8(yfohD5GyFQgQ z{>!{(-g?)%e75HuPL#jc{O7FaKqUtsDG2;Fkt?T-Q+N;o3S(D1ufoV!OjKgf1LNIbNnh+ZT({bT|YW-vbg$Sz;r3f0-k z^nL6I;(C!Q?8yTLPAS8J#$__6Dza#soNTlwypi^yLPAX}Dv(loz4h*J?}?5h!K_Co zJMru%v9$@%UG1eQ-8X{v79^nKiI|9Q(Jb=OvA0)3~_eE@tI-THP zqIRa8EZSP0$RDq@!l#S`c3U~ep+L(85pUS65y%BCLXI`Nou2d5atLfHnpL}!6K-tC zeyY}ble>Kjx{b%c1fqWe0wih+PD>I>?&PPIFTm5=FU@Kkospq;WG`j8G`r;8?R;fQ zD_7*F(%Y#zmGs46ht`aju`u+*QPJi;k9;v9F!~tI5ieCNSstdUECxr0mc*XweOr<_ znefk}L6k!1?&?|qPVOWMDkbAu10b+TOthomOGEFIe|t01XfEFZ$gEBl#cJVwD2DcW z7)i6TXgAK6M`Ll!x4-(Ib*IC;duNW9klpd3r*aviiaMCeZS%x+{G}++3O*{4$+L-P zHuL_$B*8~p@NEY{Hnv0=Mp|WyBj20_%5Y!iii`d#+$L}NFJ!{G@zEo`IAP$aSa}8u z)DV*CQv8teE~{4MPToJ4{3c)qybCgrQ-ml5g?1KPwB!i5GCeciHpRudiycc8NHH9p z)1&^ovEJnM++f%R$%Bm3LG0>^K)@FK{P@xXzFqZ8HuHqk2OplSthzS9$~dK1v$s|$ zjXZz;d?&_3CEwux!QDAWJga6}%1sL|0Tc7fMUOz`(n-nvDQ_f^;}kJPvyl#lv?_$L6AyDXOQQN3wt70rGaZi;Kf6 z#00zTlfDhPX7j0mU<0DYf@ ze0u+U5d2P(`=8lpDCqo-5`pA3(nf8M*6;789`E*gI{huBM}U{A$PD_~Xfi|M7ZCD^2gtYNdZ{sCUP% z=l~R*s+Y^l#rsvcYND5HP$j}#6ng%Gl0{7hrw-h$cXCPI@f#{99hHU$`^&0%|L#t@ z+g6%GBCJAm^K*dbZrO8A$K&~CZuPR6ePK80WQjXIdEgbGU-tVIuiG{+p-2Nc5n2LgM2S3n<3TcalvqK-NkCCY^fhpI9j~NoMc?*am*hJ4Z!p!Dg5K{M>$% zpGm{R2tb7QJUMneZ<%0ZVq&`%KXCI;_h9U{>pK%pzl1GB+>pHVwGyxu#i z$jm(F+=hK}W?vNV%wPcXDZ0H+oZmr?_varBo9<&{nbd+jf}7(7ALtD#;xxD4$v43r z3Z6{9k!X>`w1yYd`ZuRH`dF$}S&%^m!otn1i{|R$k%F%;DF4DzJOU`uQrgkO*i)XK z;N`M&fDI4vrt4zc$XGU2qGhOee2B4ovIO^?zJC0>A&^i#f5XYd)bF=#rwGPdR~1xG zmyaBSbaeZ(M|LyJ$S?}hS%=r=<n*xf!G@_X$^;D! zPuQba?Wyu7KA7T?gT5zUHv-gq2CUuDRe|q15vi(nN`Va?5xBbx@^6Di!TX*u&S#e6D5`D?dTl zU_Oq-MLYP3mR1-;w5zKdm)ihx&AS~cY(VBJcvstb#StLuuF9#?zjuvrR-692R<_K+ zi8$`>UvKUXYCKzYp9tYGAR{-!#0T&CjI@MmR^7W+xyxG#McATsakrJelSsIELL~6I z$7`0(50yYBkEp~ayd4(&57)|IRvXCNA+cMDut-653Fc_k0E*W?G(<`Mj1xk*Xb+T; zR~yj8OlFtcP_<#|SEK_C6myyjl-Z*2*5GNP@_Ou}$n#&w196&{SAX9{xC2MovoF7Y z;1ml7k)q{OAhN(u+?%9^=#dP8j5oL1UV5_)ZmNqbw+I1mDQi- zERl@46x_N7hY!Z{BHVbBqA7l}!@FsDHu6^Dev@qQfE!A*)qRwZK)XKt$gA65%937B z9VV{Mmh+8MLe2{3GA169*aL$6#OcP)kVT)(uhA8S;PXbH?~b;!yGEM3r$lVgkqh4} zlIHoAb*J_RBO*tpE7V%&;PzlXX2sG#r?2>Q+rq;$A<+m}794zT1!iV$eE+MXW=)6t zgSPD|4~on0ABxMlT0D6%|N9R|1XbLI>BQe((sVTyL3ASrWV=SfqQfxZR4g51U}9BW zAMHT&^!+s$b&PepN3n%1W%?ttO68d?7qnkkv0au+(U|r%f2r~ahge!spA>uxc6QWt z^`FNC48f1k@B=bX(%1Vw0iY#f|KjmL7cTmeHuAS$&p2FbFm0fU|S8 zY(G{B&;{=q5~tGdfQRF^!&z(1**I!z=lWdc_ztgb`=NGdwz9ihuoboXc?|L$)uB_> zX6fJUvu&Q@38Y*K>Zv?WaU_B-B7I0FiWo4~c%!vngR0zSXnFcsvSg0|0aXe_*xt#e zNeN{B5P|F*NkPX!eJA?|WIQr5Hg3Y@A>oB*_s1v3N2eqWg$yIm{^S77;1$O9s@0zJ zy2>0^5I!p@VJbQsLhtug*mSCn;cZOxf^S{%FsFy}ecTYX3UnxjZUtU|qR|)RjQaWc zheSkewTEF(f$-F(bp4rI%i~R0$o?w4hk|k)P)F|1wu)nBdAhoC=ZHmq?_ck{dC|?N z4XfDMbG&Zf6>GX{(r%VYw@Re6NHzN<{ z-c0)Mzpydlcm+jHsO^p@_8x#yvQ-qAUl$bk;Bc?-&StY9Dyp#h?GF3qr}KDkZ}kyx z%$`2j^l%bckAlST1RTD3!4oSaqJT*Q+|C2Y_19fI943eW*`nR-wpRX@18srgm?&S) zkKIlcSX>Ryx5`t8v9Tna*j36yrtluEpJP6OgYK7)uw_XHP{i2Z)B{oxs1w^U9=Os| zhb`i$Q1=|r&{2gR-+h3Af&UN(8$_WPpEC3`Q#`<);=11Ui1N|*vWn&M>heKS zAg`5wy2_vjwD9uw=fvn}l=lq2!|AL+uPygvo{zWxHRS%j&M~XuOiAXs5#oQ{w1@5d<0;oaBwH+5~PM zK$Iz?V4^BwJxfjf8!K1(Po{Kkz)`Y6J3T(VXz?8dY#I&OC%B-vIJ2aJQ|d1*pFn5M z1UP?cU|~s5?rjM~McJwsG}h`Eyp4@nv=hx1a$(P&@5wnMfsbz?0FY%H8iGNG9f^n^ zxB#f=Nqp3NeJz*Tqtt$)AITt~=X_I&P8w@*y>j_?kiVd$;X~RX2nclyIfnhi!$!cc zSMv1YZZ&-Xt`PwG5vH!^nShwWQ3y%V-}UqW@3Qf*_i!dojEaV)MAz(sha3u6#S6uq zj6|0kr1Cel(o@DG;|DkVF`lB_gp0LXzW*H9Zo4%t_%ExfO($5inuXKf0raUckXq}u z_Wde&oUfN>sOSBOSCUeXkMXNzefIjGd~3;i27``y{$xKfi98fh`Gl5R^MoDk;IeSR zUpk7_og*NiBLscVIx><#aR>#Qplop~dtZSuiob|w7jeVJJsX|4trQJ%!IX?~RVQq@ zbb_m4#LdYKJ?Mi^xwq2Y+_b?Ss7z|l+B|7HVe=4tEdTqM5cvI?k@xT5CM|{1n{|`X zC{>O#T2DbR>^Dx==H~r>4ZpME^3TUVAZPZ&_4f7>2zdFGwm(au$Aui_WH)@`PhX9R zfuw=MZFXioi3xhRtRBO0okA3;3to5GWxhRG>0ae)Ubx%Sy**xzl*5oX^nlfu?UJyZ zi@Y9|xxBpON{{h{AmDS0pZ&QAnl4|(+<0QA1_Ux(-nZ(GWyNFM)g{Bce>;#LdPR-W z`pK^5nIXTA9L{*WKHr(720iAn%J_h>K8A8$NF#YrDF# zAtUV;@q6C)b@+x8^Tg-)`nEKgq385P^;vQ#YMPN#^QL@m{}<|r&pA11Og^|{V0U*) z@ez88jMYE#WXbk^Tu4evsv=a=Ob?B`rl0Ki5%z5QXF(<;-DuAW+1(z7jEghX8T%0zXo~ zY`;y-5HaL8j*E>pW26`QJ5&C3B?Cj%lS&#t0-OLC4C8oI+CsxUywY#Q+vH+<#c)|e zL%S2=Gc!-;=T|1;@`Dp}I`Ez4?^RR;!Rz1A6H-LAt=+v8)}3|8ClVL)%?j9JGEEYH ziI8xXrgG*hn~aDn#Wp=l1bujiJpu`Jaf3prm)=Zeq%}w z2Mza7xUhS>1$Bt)qv;T#kPxH%JOGGt$_<8zzqA_+o%!`UI{JGVK1VoEO>fn&d2J0* zN`nLpQIMi^1I{c?V+5Yo$eW{CGCH{Kvi9_PEc)*aFIsO!;&5_zoIL-)#jwnKg!Jh& z7Xakx0JEU^mLKqLt?7c&ByVRuurpHe(!u)+>BQ)PlOE8Gxzc!@sd$=pe;I)8$CTQ@ zRurEYF#J_4oq+!R`3p4hr1LsSIiUj&uHvk#BeWk$)8jR4{(K3Qj&Hlu`nc~0ik{wV z2^NrTw>u@zuiq1l>L4MrJ*Lx)lQo6>fID;CThw`K63xUI{^rv+M0Oq zt>my;m8lr$`I)2_8JpC1da|S_C8aPpR7g*6v`CI@KepmrZ8l_FXT8=5V2_a_R?g0F z*oqV((s7Lc{XBxS+))EUM=pnR5>e4!qul?d>O6UMT_1j|x*aiGUcpPqE0ZgX@!t_- zcs#)ZF~)a*aenK=%Nmf?ue#A?c;4b_YHC6T1&%lU{8rZf;s#Kkod79gULy_KyRN2( zABOM85QrLH`GFvD;^=03cX!i)$D$_en6dWA&e^!USOr zKEL_&lOW#i*dB{tLT9IS2fqkYBnwhJ*vctpx&c}|q^ z5?litrdVBh7fX6lR8)zOkbMzC%$*&KZR`rW8L4Z(j(EEA?bt+yPoEfiNrqDU2RaoM zd~$LFGO1+cxUu2}wsj8F6qdv4&HqHvg!adZ`~ag4r_f38u zMBE0!vh55o7UZ#= zi(lL-C$yQT6-pc!86d5ZL>G%72q6hQUaAcv^%ER29+9(1xt!N1!{b57p8_giW}y8( zUa61bASGR%D8`mci8#iy+>%EScsyoxI$8DaH4rMFivhpH{WmK`x^E{7Ve~^aW=n|~ zoR%Hm$FE+G)0}@}{Fv?aPU|-MPG%Mig@Q7m2?RT$D03BL60zR}V`*sM{UB}oNlM5V zaTEt=8sPnCVy__LSmVC#DX6XyTg!LDKxu2NSU-M|7eF8^K2lR%yIOT0MTA4jQ(NIN zGB#GyQVZWay=xoxL5m!*>CHe2#6a{5UKs^wmv++$t7~6vX^K|D0S%cUNx2a`Glt9E3JV zg@*T1u>n%0VroXy=7_NrVEQcVAOm8Y9Wq<8Q^T*>wB@L+TP~ooKz|@!O>Wew!eN2s z*87p+YY-y(n5=a7fen+>G8X_L3G3^VCgb9|XfujM;`J`FTa+#2fkNR@!m!?WN%4^8LHI-t)g4v%<-z zW@dGFHt?PbT32d=?!s7)n9Tky>Q_+$asyOZu~J3y0hS;C{rA=o1nTQR@E1yjhDu0C zbR5{6kF>SsQiP~g0-BMMiblUQ0NPpHSxqV_(=ad^gE1LR)$nL}`)#dx!sYD}Y|G1{ zMMK$@`;iTo%S+=P5DxPJNm7nd@xaK4KKS2kZ8-y<|BA-8ycj-fMEEAko20+xlg#(5P=&_jXrtd$zHI^uKee+((cY594i(iDG2J5SyGru9&e+RMDh zZtGj+5>BrT!$a6Ftsvh6J&tEZ? zsaORP+=8YHe6OE{CL;-qWsYV=4jnLd_O=-5F*w&koA_y9?xy7J$4~OEGKJ=3ZOX6j z^=v7WjBsnUDEq|~NyTzvdG;?l}1M3bDW=c{d)Pd?zy#v`*>U}lfj=hUcm%V z8IqDo^UothsdCUsjJh3G^;-@+HoAP}J*tk3VvlOhdXlCqWyQuuDza8|wI596(=xq0 zbbuK#V8-}IXV)*4aki_3V12~( zYW%>#a%0;+MOptN0}K==48L)w?U~Zltg!i|Ns)z_eL_oj zG)u8KL-Vc!QzZg^hZ!PXo8D+sWTWj`I-qX@rA)`VrIP_yrojT+)Y9OuXqa!d3LaI` z>g1p}WsR=lgAFZIkt#Z?<}ES$cFvcj!2s9_*DGskAuomyJQe=Vho=NT4-M&+miufH zzJ$KcgDIOe&rN=l5W@dQ(=~_H!T$a2$=-4;EW4In%hs~j;5M~KcM<|=+&ih?NDHVdNB;(ki` zT_1;cTl9W2;@~$E*3N`B<^Ja+27{l5lCc<}luydWm23_JV@8ktBHdKefGc5F=_ee{edZk5Sp5KAa5x`Lq2~zzZG;m6U-UCT%pd z+xiAg0SGW(b%2aiB$QA^DocySQ2kMl!NYr9TOLbJGinU(wZsI$i zl<~wNl5h5YDi4t}RxLqKu#&0Hz13b14GUx5MOkv1(`B<-h>x8_uV!V9;nOQn$dU&W zAuzvq8~*4ABPHP1eyJ&`=!nXzafH&d0-|`bre^TZ5G4~8T!hvr0D^H>+66`MIk$7> zHSTW?2Z63GBqE}B<19KMW)L*tna$;p{pJ3f&g-;}v$1})$0y30aG|~t8y7bUnbI>E zEm8e#`S(0=XaDDr#G4LPD}EM5Qgk2g+$NuyW+@EjQO}_j(JeAr!)9ZQKkWFs|8#U3 zWY}VsW|feuLRc|t%wlYn?i;b5vFQBac?I>Ch}=Y%TxxDqzXyIK&LWJ2>&Vm`QC1L| zDyXLvNWcm$W(pmWFk*m`Neuo|RPH5Kuu|G~wPF!)k>EvVNYA^>cZIp+?J-k0$imjB z+({iWBoPHS`pW`86lwX6{Q3xEtl1N9z8S}41U~)iTj+NkCtYPlp5$3vKjrg<>4u9a z5Nd}5hOFVjV1|a3q-9=518HesSgRcklusONmgfAb2&qa)FkoWn)zXp%TRYNxhMJaM zv|{d}6OOnNRL@xq1m&uPu9cLRL+I4!!ons#To%pHI`RPG6g*&^iq7D`=@>!UQSHzIEXum_Kqp3=w`DR*SV8J$qA|e>m2s|6dERwQa}E zgwrZ70iGrO@|omd&kVaIG25SoaOLbzDl?Y3woo5mftn~V!0N`O|g^yMr65wCOZucGKK-~aCU#*^a1a3uMB zu2UPp<9vw-4RO`E*_JE49XClFW&iBC+2$g$+4(3Jc*=n+9?W5y8waeV zkEDXF?|@wO_xCAKv)*ONaWQWgWl*J2UJ75NG6Ep~-CZ*L%5vZ|0DJy4-S!z zjb_)p<5^@T*E?pj!fAI*^yyOv5{VVR@(IB`;Na7<6lz@6jfAuHV5N08^6J% zaoSw_ly`o8r`+kKTtFw*PTD!MdgTsaAK{9rJT-`2^U|w_pTlbLi=Lj4xE4NRp&yNM zL8uxemy~64(ym!2oQOXaqd$subFZ+Ny5b`l17Xy#Tzxf5po9eL>GQ+g!IXmXLEFOs zM~Vihc?3_C*!6EFf6}GwrD;KSKpx*&P-5Ju>>ruIeP$EL&x z1&pQ6?m6a8nE7ut=YAYS=YU|PjaAoyw1eq*qmqE2v-#D|X^1YI-@hNy`Rm~Fes!R( z=aN=e*GNgrcbU|jT@NMbu;AjZIkKEyekbC0Ip*x`TeDXs2~_Vlagc=nu7;F!!I-B6 z`95FtUM7*g_{&~VctjTNeaV;5C{M5nd7KV|^$OvDxZVG$kYM&V=x!u`h-8;J%fBc$Zb&2`u z^F}-&?I)B$#}7K^=7gHB1+8CA1y>C>@JY0aObwnEp=Nm^_BXHF+<05zY zUOhj&#p3t)7uBD%X+BMBY0Y`GSSM0A_qOsrV}@R%AsXzZ>gT7Mz1+F?m;|z(PxqVK zo7rEA#}BUj0|UM^Tk8reHN=P^AP{gn!e{6O9XvTbBdit-NIIJs+qq;3AeXA6m8k)$ z?md9-a+G%%3HWXaL+K4`7QfHt!gx3zZ?>WdoT7CCjj@0-mBM+hfj3gui4x1>!X35P#L!EM-tM+iZT4NWKsTlBh|czi6|9JpNFdn9FNNaw4K zk(N)Iqria=LW1ue7HY!@*oXA*q9MO^-JZ&9%_CsbM#XI-B!Bb7a9Gr8<>ncVe?azZ zbfPn%gbPIJB{rN~ZG)znzKijPf~gMcZV z5EPm`gpK(CLi%nWQt>)9yaC`~9*93z9q5mxkOBA4`O7j0CU|q#07G}cL%52$DWc9l zZBw&QiU(9(1d1c%Z``Anvy$6ReQ$3}C>CR(C(M=Z#(QU1FT7^lFl|kqS~AMWI};f` zZHaOIy=sc(d=fz?ywa%rtn%6Uq>X#A)`qx9715+(UgG`eL5KLbN_=c)0XS)C+bOq9 z(5r_u380#I#TqBgetlP75xp1aH2b-ZOqWAc6@kWoxwrxze#xA}D3A`wEbFcvzh%Fm z7V0Y$smu0{U5tv6Eei-h6U8 z@9B`g^$GPke%^1-J)ZzozjnmDffBK&uB`yLm~KrG%9*t=li;>rNJWe>^{dk~K=e+v2gB zoE~+a_-9zyegfw1oh=$=czK1Lo=8GhEEo}SSS5CIMSKjA_V;8(s?8kuwW%Nv@3lJm zhKT>pBcEwMpD9wMtnqQ)%4058o~V=on~w-06YVygy`0fGf=$3>;Se;)QA4y z72GuQh!0avOI!lll|RI_817KvwDa=z##><2D&T6Qdw;w|yV#>5o@#cn`L?m{3g{&S zM8x$Fs;tX;T~(eKw7@|2(d8YnUz{f-_R z2|%2Og0?>Z3ub#iO~Yr6)_Q-r2F&r28ZF5tf>QqFkw_h&D9Qimd@&3t1BQJr(;vDA z`T;}p2V6d{k7JN=1FFxS*WV=o>xQ7;MOM7v-K4t5$2pMV4!#t)^2_@FLP_1}D)f|Y z%A#EkV2SF9j1v$O`n%7%^-@>zw*Gn8SXXDn{+DVP@EexpFb3JP3f2>8?R-pKKtBCP zomGzO3f{i1fasyWiND-~ue+bed6ZA^+7HgKZ1!Rcky@S3VrGZi(v&I_R`ceJdnL7d zCPd&Z6>_zvq+MLc9(7{I8(?HR?J~68$*6R-`V{xZBPK#As&h(VMI+Ydn7~rwa9i&4 z<|S@B9j7b&K!ta+sRR-39%Caj%~AtA-6-XbN%|Hu{f$P zw}W+?IQ5SgMy{jT4te-hGzwx}A~%0xRANfWGVznE+%u+6Qf8i38nIdtA8aMj)e7Sf z!(eRuU@>uUSiheey%HAtD7YQ{6|H^c6>Z--AMYHG=MgIUWgKPM04utl7bTGE)BY@* z&J}|RaGD*dkf(jgip-=8>Dh{t6K3RY)9bl3SgV~wlb zf2|Lf2H?5&yFv-dwAOq&qN4wLOu+c-(SoPT?PaY)+H z(}Gb6$BU+sK?$3}Ker$|GKon_+E7p;I0ZnkLAv*Z7^52se4Ri@u{T%G1d@hKz;p%@ zU+fehYO0r934V9vgJD_}3+2e-Q1}sj3X*T8@looR?ciRP>ZAVgyQ32jh>k8eNlHn* z$A7<)9@U`5t^`_yM3j`Eua1w1lU;c@llVhIMpAfjYPf@|t65$tCFe&jmwL;=IgocH zyRo?I=A-aWzdq8#eEPLQqWz%Zg*7HhJNFJmov^>g?NnAqyMTW?FjzjWUldt`K^XA`EPHm)b1pZ zpSrF_YWb$S$&s*GA#TxD@x;5dUE;9Qyd0bQT%gF}lCcqQo5ONg`(Ny=<>LuoDDf^0 znP!FTJk6eH(HK?yK4lNsyL*;E36-XZ-->mNST3JJKr%r*S2|{niT+5mm`)wPca4EF z_$N?fZ|LXywfC%A1#%A?ma$L(S$gw^N8s{Ziqrnr7;;NJCg%#A=EaERt*&j`uNNV9 zJ|%k%8X5yth7vRkG{)zfgO<;8?YGV^-r(Ep@2dZ|emX(cHA77W7q!@p0lwrNeNVum zF*3EBk}4Oe6K6?wYy>$R76Y@7kv;P~EeNj<4(wE8pvG{465o7aK~FmSS(g=K2e zjypXZge85A2wZm9IiKzL`Iwy87xIf-dT1D-TrHw3Bm|jAKxe*ohy{dCfjE@-wx@?0 zz;eT~*~o|Onk`95S-xx<2C`d90^&1k{MlktBpOM-3$bB|QH2%@JP5clxnyHuWd+A*=bru9ekfK;p_=kJQq^Aqbm4+!dGBXq zFmL-wL~e@8qb?t}CV_lhyYp!pK+}Uv?!G-+77!BAw$zgH`!^e<0y^~OX_TNI1($kx ziRS>g1pk*({E;}JM>G*@nwA|uB2cT=qQ+tjVC+-W3^cD>g6qh+?r{E3Q^YQ?MH?`nUdK@0j|t}M@HG&Nqg z;q+ylpoL;{V~{Fq6LcxBe~jCrb+!kUh&s1}e>_07E*LT}LEn;Vs~(X0b{j_Vt8H<= z7OQ{_01RzZO32@1B}PGQqFUi!7_zcq>- zdBg=FU3us;QKMOICG$sWeWvGJLIS^Ygjz0R8(wl~gdO$lF42z`Mf@51U$`kfnCAkC*o%;m_{2mYi4N#K z{yJZ2V0rI}frqyjPAr%SP9Oa(D3zi|E6D_F^#sU4>}IbeY8N-A%e!-YBtc--S3 zeLVqH#l>fg=u@oZC*gjxU7RCw2f9!k-FHc**VaZBTT=AA?%%1`P{yj0^75v!Tg;xW z{&;Kod@e&|^)H*__4 zO=SxK;n7Bo=8Flr)B+IQgpb7Tep%#d=vcMlzb5oFDcih7hK7bEWu!VyswRi6O9wmIjhQ69ag6fpFJ+3W|~RJ085hnrvqC!8LGb=X0}V2xtffb1`Jd<@#B! z3HzKeU0J-xFUmVh#IJtdBN-4`0Nz^P_NR+MY(eMCJm{eTC%aPu(-kP!nJQMMYH~RN zx#innTNr@=In{sQ-1zf~^n!+n_gGlHV4{Xn-_owEZgZ}xRG{EWjuI?y3f0?l4UmeC zstM}N?(8RScZ*byB@gbg%K0Yt%Wh61e&5&Al@TY0dc1IK41@YAzlZL{Wnqw8|BpXH zm*bwvyWb$MM2uBzD^C`6tGxMR{%`y@0ZG!jLp>yHm}aYwy>V+Kdojh|qeiIVsw-s}|*A zrli`sJ2__{7|X4^`KWLdy}jYYoS8jHAwa^nqNt|T=bxmvKBKO;2JoiW?nkirqBG(| z+{Cz3Qt&kBu|a6cAdbFgXD<>CkmmiWKL3fhLRw}Y;CYL#le8$O7_Dh0JZ=7R6C4^@ zU|h5PN))Xd%Y;Cb{E`PGLElkGWEfeUwXQk4wd_+O1Kva)oIaC|q>wug*g_!a${iM& zV4x6O+d-9|cmjhSmH{wSgHWyEZHIVUEBHZup#)P*2r{*1-yCg(2eRV&kHpJnf85fuL5!X^EtnInVKId8;)EW=SEj=7-mwuy+Pll ze)#Ar;H}gZf0Q*O`}zvM>K?t8o0XfL3B5tI-9(vIjtdXqE7(Ir&B%w_Q!t;$Vxy=s zU420aBbcVRJg(_m-LFc7+32xlu=?q0wMN0^DXE~)f8^|N4}dbS%L&>OZct%=esKY~ z5RiC(jHbHx;^VJxd;DH1pJXXq-sOnaT^?1;@#cc99xl!;$jN9JkbiqKHL_d7K-K{Gxx(6Q4Z$1=c`EF1a03?BI6{W zsRkE$PTMdHNHAQKK|FQ7hc$nzUHnbcazoV8sPbD^71g`NePFfG!S?be9>L=yOS4P& z#h5xp=<|)!{Xmf3SPJWEH1r+(q+2rE9*WRFi;eT~l91bX8qodBr%b8vs<9C5@2Lc_ zqy+L*AgK;u<3qzkxEF`Gbyh2p!&|~<4ro|JQ6DtlEC0q46S5fxly^WTDK&2W@X-`b zks>Bgc~Q9B%<*kIE00=Ij+l{8fBo3wg2bKzkA#x1Wkk+=cE$&^arz@(KreIW9|R{b z66o{j2M+Wi7FLMt8?@M8v<}Q#stY>L|2O~Fjfe{s)!$eVV?>SY`LbzH#U_LA^<2A4~zk;G{?u3A-I4rf4mXXHg zb*A^YK3oHcV>*x1qyq8`t$~w{6f&sv1L3|!KU5*=8&~d6Q8Yi)AY`O`1j<_Y@3lEz z>gM?#Kc$(Bnfzg_EW9)9Xk)K+sA`E}arqZ z8NM&F>^{}7|1%SJ(e{YQ7mLA?iP+o6Zp;j()eNutiN+eqY@5v%AT7pb@IAFPTOpFq z@O3`=y8H!+>}?pWfAg^~@k&@WfApmxf{j80dqR}7%n~7)&LtfBR0O@x``o;>gug{Oh0aN$%Vwb>m1?rd{_Aa=?N%)A@k-+exheHr5vy62g_S;XH~Hf)H{)oF zcfWkH{j;#Vc0sp&q4U$n<{psfJzjz(>#5mq(dksA6eI3eoo9x{#32G*68-MCSPHb; z&=1@FX@qo>mtmm#)BZ{YeM(G5tX}b^u&}Vkw)4LNxeO3god@E((4NoG?yvT`6OR`0 zSnV;fWnfT~!p_D7Pkf?c$RyA)FuJ>7ko=354k&1OQs1Hpj!+T%jEJD|_kg5m*Y91> zYNa|-;5c#RCHdLtu&t=4CGPCZp;wUv;!LZ*^&;x~LjFrg{;XSk_gQItPt>;=^nGj9 znMW*JUxcL@ixph1!yH#GA|RmjmZ};47hWCSc_4P;jHFbj7bRXM&Ve5SPz^PgC3!m| zOtD^yCG83#7d&K3eoqbAH#d!9s&fYcfn8hcZB7Ttye^DR+I5?eyeE%N=W7s8Tx3{4 zIq6lv`E~C4=m-hrO@ILKQ)xW_Y0%b|NG~SLm>c(9?(uPY^9c!=(5ul=h=~!*zc3Uv z<*F5jRN#ztv0G>WZ1=avE(y3Xl_n-+eXdlsRvggu24!Srk$s*H^fl|P2|*k*n4!n+KaSeyiD6;4MjgP)dcDYiTrlCd}u zOdPH5Hsy^LqdFU)fV6(GrpKw^p0+uF&_ku zU(C9QKN7!vTpzk`a{BZ&TQ|O2ma=`kVX|&!#rdkvthvc`QmA`deWBbMn?ylS=f}T; z4lC3`xhO?SdH=@F80ba%ku(+2oj>nY1;&oBu|n$BQr=*uSt!>#VOj>2yCjS^3L<}i z&ER>uwz6#wsI43%F9nT5N}9!*7(^b^|M7mtAnNM$8=oYnCAKU0GHrf)+o^MukAM{@ct+D=r-fqF8y2fQ|la_m0Lvg_{ZfbbQsCZW_#pS_N zkOGI*`WcuGG!wZzFRAI&%9^&Xo*r(fSXjQ0H$uBD6i$nk z)7eSDeF;^&KeO>~*9;K}(bkrb+2)>Z(HzEMXv znm*_It2iWmbem7OXYOL!2@}82{f<4$^~`IvfT9iufcd%9&vkTSO0EvaI>fDOrt({0gK76q1~02Y7xZg^qguI!P(7nAxKYC0oRLp_Dl=&lz<53b zQFl1;y2;7Tp7|c*jHFQxW(EG>m;~ zXDTFtYdnNo*hqI16OJwKiJt_SpXmnr6@t)VZ7tMhJuZK6S1hEw)v1GKwmz+`E92(2 zr5WzA`Ycr7hlSyfq~-_9X`{^}u7^&Zt0e*;!}Y4RkcM2iYo+NW=jyJ=rpEQj+%fp4Tao)ipJcf9)1He6xCH0wWV7{?H=zZ{ORl z554O#&1}4jlusyEk!j*yqjqc=3$B9GX@ZVrhDXVsw;a%03B|88fbtKdo~|^_<%t(= z<-&Qw!NV2M;Zu_m_>juC~=0MrKOj6^_rTK)fP0l3`uF@w;E3p9t-z~S`ZfZr<-N-lMd zP?Mu2$__d%W9P#9H*(ys%mHiqTH-NPAV(uB2VBy@YKclR=;ldC3CqX&B+BFny<5T) zd!J(!7cIf;IgAQNCM;YTA0PZP#JskBa^mUf=DUr{>CiNdqXL-kYLwcAM3}1L6+W~yT}L4uI+Bg8>I#>REF8bXY-F>lI8Vw3CViw~eZ6B;o-Dao*Y@o%Fc z+*$2`A{h%h<^a>c&gokB@0JJa$Sl6W@xsh+z56qlM{~rAO5nqJzMocZ0Wp^?ciU-f z=F`FK7IQ3T`ANZHKyh=WSYyHf&Vt^O1jz18Gfo_(+OU?{vhs#&+1 zXyNWx$mrX1ybsAKl5SK|)q;^>k&sUpjWtTGZ-Gmi66=c1hknp0`DSQHBQ28`(rMdW zC3WuVnr|Yvd2a8MzhVAOLk_Z)OwN3B;v=-!N4YqJV9II1LC-vXS1O};{)p+{9Rubm-f3Sn!#^K!Hd>oEW zb>Cu7Nl~mInidUK2#u({z5Z>RO*=*nOy}NeROb$o3PD|67AH2d$aPkjn;V`c@C@2r z1+Bty>jT)nAkY$Gy)ybapHgD0jb*Jx4C(e#Ir)=V(65=iSYt}TlXD9JOqc~uM)57O zcXhfCDO^e_;j~PZ3BR@*l>o*_r`L}r_>nPE;M|TMvdlmnvO!MM-?M0g^o7UZzfJsu zuqTx|;vY5n>>=%R&_7Z;w^|;`E5%Ufk6?jh_l4$s&5?)O^)y@3S_z~@tu8*Td=V7L z1PA|kEeJ2BApf*cI~V+n_2H$jez`BT)?#pIG^eE{Jsb!Qv9QI%2?kBmIAYS{!M7wZ z_iBB*W;+1+rVKE-O`@e_7Ve`*M^l0Ghl8l7sVAhdt)6 zuIBir+XaCnH=Kw)6cE24zgOJdou``o42WUQ09mP90S}4%FkygyeezX&0d>Q^Q02u;^-%3oNN59h}oCskGt&gp6gC!un#&K#*=8CyOw*kU6UA|h4ImXChWu1EKnX=#3O zJAaRdA>(Z=zlwOLkJ_F9ktj6_>er*=5_FMA9^-Wa=twR-90t|;obqEc5EX!TFDf>( z6+1;W!<&m8zZv=g2|{I(83@v-u$omAhwOkBqII^mQVNf)QW%Td@qK4fRs0) z;%dJvWp*eCL=1#?-#sTeS9^`F_X=~Zl&H=$Kq!P1Rm7q4Bt*82l|V8M%nM6P(|s(LB!irfZodsolsITixA%&3Rwdv!*GC6{YI_US$xt44FeYGc~=*$uf5@xd6R-- z=6j58ml;Tn(+(>7SOyh41q^`XK^h>p-8P%H%i+hfM>ilrx8=@wrJ&ZplYmqGFV_8F zQ0~WJbdwr{s6{eIdTOBL!qhxd7kC5c9>zi>saT;H&1zTXF~J)G$~=U$(V=QA;D^tr z%d)%=7eYe=Nt3baiXF-#ft8MXU*rjR#m&v}zwhl)Bfd7?j3hHdRm{mqO2XSvk-tO7 zr(KWDkdv}w2KB6lC;wVOj&T$M2IVL3B`$FD42-XlRcai0e=C~O{~iLB&|VFNNd1n8 z=((mxu}qB&GSg1SVIo$Ho@SO2iJlhmL_xvFVh9`de8pt`FI;NShxBoAGtV&TVZPn; z15FZo47ts!^bPAR@GRl77{T+qU%mphAVYI^tTD$qD{Mkx2$BHVq>}#}=Dc22H`H;rNmB1?JJ_%ZfdGhyWMJF9nR zM}{9|LGhkUe)}-01_TSLO+;iZf6>L>T^*I(B6Q{jir3#lIfTkz!0Y1_AcZo0LEICJ z=HNg>qd~D_{+Dw5W*#?mB2Pun%=I*JpXcC+O#a?BZre9aE4rRr61O^xR0_fsdaCK} zFiYx7<*95xSK*cJPUpcq38To{Ylp7AG7^AvI&YXOT+4k{M?1#*{rl&ONMFyMWCnUI zM~BFy*EQ?|)n13Ftz=-(U#>giZip%p$S;!R{nS{o^K`j4m(?!79}fbPtL&cKeMd|z z)jr51GHkV3FW>G?DY#Yo_+Y|BW^nx}n#i*;Yo^6mULAi2CNA!TkmGqfKpO|e$E#>9 zO{K18e;pAL0_|LYrhv_x5JYL2G*^!?1_Ps5P-F%?OB#S@Nx7(lqgTIzkZc4LBnm#h zaP#-?{bx%8v=h%H(TOT>qJ{$&_j;^q*6K8D6OuM)8G1E!=pCWjW*n^~gMHXrr}k$? zw3`#pSHJd!6As@w?Ef>;G&%YC^oz1E+Vz?Mpqlic*mllz1n8LS z&s_N$bQo3I&?Cu*al*#9k zyJ!EAI>FF6(kp1fpj~GK@WLf81v>D~wnJf_KDfMv`&`noMMa!V%>uT2yCky6`ntEe zWqG+{Is>gRg!-4bMBM37JueruTyQxVir1-%Z&Ppxr&X+V6zup3cq!Si zYx46Z ztzArrL*P|Y(H{8x7&G2urOwPXg(`FU5DR^M~&QGut+L4zP~2 z736J@)kn|Z+nV1$wDU@HX7ep}^Dw?kZ3J-39@Q+R;kHa2qqwwi(kN_kMY6H=kAzRM?YyK3r0)D8`t#0RXV zuc-#Fj!duRraRp-BTa*gSq8RN2sdTkd%uYvLN*;=Kiy*JUtj=5n4@2P=@qvzo4Tg_jf5@8O*Vd~qnuloAzdE8Wk0I;73>*k2w zFdV2))+4y-@;g`%T`6GzoUo!AhyGmMh4QXWkkt}B89~0?yhj=aK&@nMLS9SpT{n|bODy7So^dk}se%6qHyi{A=x>R@ z6rDCKC(D{F{I*bdKqXXyc(&SylERwF=<$jBG1a-7*S5edwm-XdR~45!9@5dQU2|BO z-ApSx60z;N#6-T}o#)K#HP-y)U;2BPDOg@IUbB<+{2$?#Tr-)w02y86i{H@lZ^G?B?ah)rsGzazGg38)tefVmTq8=oJa zL)MlRdZ6L3X2Gf;$ZNc;HH}fXLgUDH_woMOgO~6p2F_@yOhAok@58fITa1E;Awu~; z-V#B#pv>`hD_mVCjoEBR-@5wO-Er+5SZqKRJ-&#G1q1*y|L|P13s4T9xwoeCx?tC8 zMS%1JQc~afc?~{BD$ofE5JW^pYHE6;m!BuQ z{wN5jw2><&8k3jdM5y_RmkAMn=&viHCIZLdfeb2zm=K**5kC=TExuHKS3dQ8i{6kf z<8dly)I)9_IM_!#pPaN-rVt@B(qzPg(MBnon?~Uzou0RYRD4S>Lio$G$@2}VvRTZ2 znm!L7^7HfgrYne@n==6Y4w{p2`vCNB9x*N|DbV~i?oL`eLB25W_wUQpItUOwd-HiF zCl$&HL1uvEqo**9V`Ar7&vLmcLy1frsQJ5*nA#-4Yo_Aw4k)dA-6Cfj{SW9yuRA2i zW~Hs=tnUMGW4-Q>A8(-mS+-e=$7;6NghEsilsvByh(b8jbTj9mkj9}JoTGOF@hpO7 zb!_Gb6HBLvAZgGm zj*<4ffuPls^Xqbvv0K2>af(5Gl^ZnmwMi7GpfR5ZDwfrAyqtG7FJH;`PZiIy$Gop^ zWDR^)-zrfAx1X}Vi8}rua~|_0b%p`%W3@LmnRo|UlIUVWrJsjwg`Y!n&H;?>d_txc`nJeeIPYyI z>;=frcO7G8T?YPyL^FqnvbR5o29&dw2kX=+1 zytJf4UXdgLC+I6*h=EWdA0%Y+IR>I80Q4cCrl?FUObsGdIFozTDqc8u7cvYM#XRUI zEK)gi;h_OS{TtV!Q`gFdWepuhdQ`YAXI^8D4`A#hhJkaqzQkjhno@#HkGNgPMP_pS z>Cf__JXVl_(=^x}&mrJ*jW!KLGo8y^){&JZXQ#lcpBewV4EF2BV$&yk^ zRVO#15zEB`hu0 zejxU_rtu>p3Ldr2%PtBIfg-5%v!5xthH z0hL^2!|J80yJv>~FNs+DIzL{>ZNCe53G3(cvX63a0sDF1Q49FHT$fx}cdr1v5A0@? zaY~-1L2*agbss-O9J)N#&3op2S&IzcY%VhUH(#|;fFAWSh_LfkhgiNa4(JNpuMegC z()Q#$Fygc$w8;~yuEN0+=Vf18NPs@+h*Qp1uMicaj6rWvKt&TT1W&81<$_d!d0&`2 zc!#Y#wXg?TrSBc@59!e#xY^KYB%{$5w-Cwq`b=eh{pv_z{d65tO?%@K#Vs+bDI`$M zU|{(VxxSulV-{DbS=UGx^IKd*4BY!3&2Ul7&;E4G&2wiE64*VyxCPu1riTJ2d)<9V|ug?$J4LmO+XL4I$a z#L{)X|8{_bA1v%s0Xc8UI zK?+RAqfp4-!P}K3X;4w+tslH&_s?xNRovQJ091$3yIPRkJe@_Yq&%8{Xd#bl%h_^G zk-JQOf+D_P`e7Z%2{BMEMDgEeAWc*p!EV!Q&+O|Hr@bNWm{|gO12$GL$a3P!kn;Gk zlPE`ac{pS`I=U3W7h~U_Z+d(Acex%}+M?y#If#4uSS&|0&dZxpFJsZ`ESKG9g&usM z1iW|6Sn(cXa_j06f$Y*@(W*WsCZ-ca`mLB_BCX~G5%H{fQ7v9Wk&&Ny;&0TmJ&<}TZ2f~Ee)Ua~C>sO79FJv*XOM}dukV**HqOUG*I zQBDWhZA5)hK?;%K-|lPBKXAb3S4*|mb(;@-KM4)*AUsj@sivm$bE`>hw7-%4w|`Bo zs@j$D6l5Fy(%2W}?PC^JcRTSsR=P1Wr?&z66hEWD?nP(Hue9w18!3K2ON5914~&Ta zyiWKLo1F8D+af_sJX94)O_K;5+T=^RH!cdS`z88vY+nJTqps=1;z@K;+He4l&Z$13 zg;=lNE89BfD-0@*y&kgq`yy7xDVVaBA8s5@S4pa?dB8~>5)~CCeeC$naD)1I0!noT zXcSBJUr><1qnfC<7nz7J7$^(DFrZ1UTUb&Os@Lj{ph_u1k028CWzAf?tmv!D$IrsX z6vw~Wbews6xf^v{?yy{2^u8&7xxF#XVs`xzIy@umEYAoaenU`P=J`C6bcu3V@b|B* zydEQn_3PQWaRB8aB?tStt{>e-Qn@jFJ`IEyX08L;9~qYqm-{#N`de(7_^?LuHRQJ< zHGfAEN7EX`Z~?EkK(LjEzN|IvdHEjP5|(c88m6#pN2kJ*`rW8PNC3s2pTmN6pE2i9k`trHpFV+5Xeq@5+!n zJa#u@UNm;Sz7+6@jp9S67 zEN@E@#E^0q2zv69-Bu@XT?xP0u{adW_os+|rvcCCzCp@xZukQ&Zx_2~f%Gg+bfiO@ zV8cIrxE#o+3<{)vA_R+i!xzL(JO>E&$#FF=SZJCZ{Sbx`FLdh`C0ycb{LLTBBx1!u ztEm=%k!_$XH>RH;aFpO8UORY?x3fUULs0#<=cxT>g#_*%oM-Fom<65oFK1QN)v4ut zqVu2ZA1vwb8+zrQ@}fXS966-|_HwC31q|E7U6J4}DTlP%p`$0RD%R(`q{8^etBM%! zGqPX#QjdEIr?(qcZ#GqK!hv40;VAca@0fsqc2#T&P=nLZg#n4F^U-`{_u5BpZeSV; z7E&T5_)k^!?BNM`xhJNlMe85=z;gN=w7+jys#_lkRFL)!C7}&HqG02smcK`aZTvb9 zGm?721{|>Dl;n^7{SVj8CzIT~aLPr}jDswL-}mB=7Q~Vmb@xCelSvKkknJ&(LX~K5O zYpY9Ko70b)+jxtxzJbAIbNa6B(VWoB{j%rCK4vZ-sm64avZ(lR&V5I?dsH~hE3dj`4&Jzze>Rb$KxF~P_gfB-O`c`+&&0>wzzPe@% z9@oUwlogbmQOYKNo-fP;*C;XpS2Xz8lT|GQ3$rWX)0X82xu1X*`qopg&T?TM5qE(w zQjKNc`_a_EpFwVlPdd#eC=m5>at4No&0plDYIL#WYZrH1wx{osbU~?d`!zmnUP!^A zCF2Ky^vTID<&EDk_1cLCcO(+AkYNLsx3&b~U2iqt16?sSC1u<4*sj{us=_lo4!y={ zoIu;Bvs(zHuUqPJc*#VMpnUDh}Am`MVSuLnefJrw9EZ zjb<4cNB8mxel?c7yuTzZ@(XS)|6i{+zQRJZwHE(1G4|C^y4b+cW#`of?oDwYWJGOPk@R0y3}ABL>XxCxjV+gxEqbrK)?k=JZ+dao1?O*2N+#sJY zXbO9J{s(f16;+)uE5`cEGkBGdVZoCD#0!!$apFK`Ldy|8u3g;)gR;`{oSy`KF-=W8 z*z{UG5gXQBI8E&gx^>8{IX~Yf=>;xZlW}kaT8k~;?pRbf-1zgpokM9irFC%+_gajQUihyEB0my|%J zqps`4F7tB51na@?+42phnU408Mrr9v<I`#-FmP_P)`N*)2*&xmsaC{kWkab7@s2QqL#-07{7`LvS1U?8* zwlW9=T4HLaaF6i-Fy6`&KfAZ60P;~EHr>MWj<*7jry`6Wn9-$_v>GVT2daVKCP8p_ zB@rL_RYk1S0$SEz#sROGFzy~nlDX@dIm+`g7+*~OY=kySIsvkz`x_Nu1}yVm%I z!eJzc&}2(mY{1)%U(ZpFcc0vyc+nKbg?(2a&ILQ%K}dE>cy(pl3G?5Nk#vN~eHAmV zp{pHrr7AwM^JnAX)fVyq#{bs>Ebt!mw5WUFN(qnU-tz5lx7K@udJ9Z)+XEf0n(bPSmDDCLh+0D+fGDHH}&;eQ%U-P6CotU zx_L2W+H3P~F*JW@erKrtP(CX~bjH6oISd=BA(;1`!v=c={6K)?d7MI5Zu8M8$*Yi?OBsGnCjPYibG^u@%FIjru-I<2)IPx3q!V4nVb@L#qz?XOP*^4DCA zcgSDnTXEQHYdx>-%t1K!BI7KcsPOsV48{Q@>e2E~PF-E(!^?%5#+FOmqI-iJ`Wfl}qv(kR`X(v8xcl7e)1cQ|w-Eg;?R{eRYaKe1pw%wg7<`}|_>YrART+L8xO zSW0|1_Z24F!^Jgly%=E9Z%x5WH4YNN=svzoOwNqnI4cb3@~<>#NdjV#e0pTm*jTs_ zXfYHSvto!hT^o7{36F@6x7uItz`=L5II6cXV6#NY z7O;|$-sGlq^1QX@4!EP(U-i8VfJ3>wyi8~N1dmOp97BCWBH+F|g}yqa!C{${mZB&% zkfQ<9m$cr&r}>fa&^Jq@viR7U-Ndv0h`tz5F}sXKP@;lNSciFtxmiJ#iTA-^_zk{c zOdqC%(ic=EWja`RG&2yxT2xd7a%nTxw;5&^J>BVI3k1l*-OntS?=H;YVa$t)rY+7* z6p@fjYBzPX-2ERI6mq=2`s`0o39;0~IEBDj-Wa``mxCw4B0Q>6J8=!bEa( z=SigJeCPDbsZdtBa3NW_;r04>>l!j}d9k}?F(wItB4_6LNWCnsoH@pV4`uF?4Mnq} zLn4vXudB%$VwzjXM{i%+CLI8W#IZao@iIVdK4_R;G zUR<7kr9~=B#aEz2B|KYT!0VQPmOspJRpl^Sd4B#6BH)Py9;g|ul{IaqYq`_doWT=>U zpVNn)34VT^uoNh+&0AUcuaV(x3V2o35(2ro#UPh6G+y{2qN1h+1RKUtj)94lA}xoK zk`k|(8U2A?cdD^}Sj7*_@CoslwL!>nXI@KwjtIyUfz$eCk?Y&r+3~p8SrzlJtYbUp8{A{s^lKto!BJP&e4g z*xDkmjNLl^-K5|(WCn#V8yniTM0VUntWuW8R#+wI%qI4tpd>&>;jG&XCo0Hz1%ltj z4j-OO?k@!;C0_xLF=KD+dmTu02Tv=u^a({EpK46?Q}9n^u8Mg>;*Q|nM$)zxwDvcz z%*Vso`Eq1rtZ&OPYgTu9%TcxS6W#vRY4nVVq?XoiziXP1aJ0P;bYYYJJ)LRLR{@hI z@Cl!se0~ZNH8<2$l7Mh=8b+Xd8cej`{%!m3`~h2-{}QoWTrL9?U(iCrm;1u+$3Sg- zb~!`A5P35)QdClsw44uXlg*!)n5*J0hqMnYAI8?Vrzd@M=cEE z|3OmI`939CT|IPjHif~lRLQ#5qfR@~I;5r(i`?{B+ww7VK9a5q5ay@mYS zMW4QpNPF}WtU}y3_GhT>DTp^~#&aaG`%^1trg)TLm*>;*_NMW~YWEH4*Lb^$AcptB z)giFwsG3}9&0E|F+6`rfVO<}iFJ_;`T{qV}2J~!*FpJp( ze~>MEL8)dMSbe_pTyt}LeFgyCNR2o29~60eUnEFAHXxIF=AAm+?2}@jWppEuG4B

      zz6GMaLi~!W?Mcc{>^K<~lapzN1Ma?6waBjSgan5bBh!N-}OxL6TBU~7D$b&37 zO4BAi0I${^FQELwN}!7KMlMO2;8)$sDU6I?HvbSZq8O@BqU%_QBgU$xutV5GcwXRZPaB6M?!n@ zFo=m2e0>EgepeQEcIMpOc{)A06KhBFzQ}5=G3|bgmDaE(qqr`@@Ypkd!CcT9y0czl zf4Dge5mQ4f7wa^7<>I@)|KGZ$3FO$%M2wwEC+#A7;w_g_W8>q8 z7tqIa{CjWyF-o&vOUnY(ub7B;Hum-<3Xp2BzkExQ#_2@aTK&nr|4GO0vS+r~^(alu zAHtju898X3oV6JHF9k(F0HJM7<@0A0A)jwQe^q}?)G->NbLbSCsTl%Wf?+b?1qIuj zTD;g;P9B~e_qL1sXV8gZ*&yXF(pHqpSz@3Fd>~a5Zw29(3blXd!|~YHfIHHbYD=9$!0+! zRl2ahVCw6sgUH>6Kk=P)^lzuEl;aCEO}OaB6@s^m)aV~Sg6JJtJQZ&F!t&lMWdMg2 z6jZmaMHFQZ@PB)k?rQYG7p-x;2+?6XPN4tT>{I@&1;bD5WyS@?0CjrCZ>eutFDBc) ztKSe6!QrvsQG2aziI!LGt+**8OH&8bjQ#X&Ay)`*V;eHNJm*}lEoYv&W-HFKfl>YT zy?6I`rN^6IvD);{IN6}=)bY&B8jNpy+v?yb*EWB(;ai8b-N0`cHJluNtp~nW#|VG* z(BlrWo7aZfF(+kej9}hrzphNFigJe)x%UZ^nKC05tgyP4C1C!JEx1ffwAyQhgBCn> zr??=Fo7e1td}QxKa}cle{R6rIY|m`y?I*6pFH3{+B`Rmb4*qjDRu2jhNk&4TRD`no z?LYZ&y`c&=NZ<}ST(64g34w1k%sV6e?-jQ$qHxIZ-n~`spE?DW`w=owBmKFU7@SDC z`Ww=>1u%^bL^{ZH&C-RKQfiWv1V@sR@gHLegtMq*;{Tmc#j~4Fi?Yjm%kYx`QPXZT zOQ#7iGy>TlcqFd1dXz5j7pg$2-!ZRzrKl28PK^e;SwsRT%Bc)I+6cP?)4;rP>x{{n z^7p_cM>0DnQD~OWR$=`bfpLzQt038`rPlA2-LLDorT_LoTN6~Jk_()_{qAWx9&czU z*dk#O-v6kq{5)`o=z@@unaP$pp<9Iq(0L3sW#lY$bOqA5+eEIGF!WV*o_MmLi?A^zcCEy6<*XF*rIZ2Y1tg-m> z6GC}8yVG`mLVp!fNC9Gk32Ovbvbi~*t9|}lrjQRBc)nXcPWJwSM+vb_*n8EJ*R%Cu zvV426dEw3Ld_rJDNVvP_maiZt7J5R4iju8Nx0EfQVPG&mNg}|&#Dud!rB&EjjTh1r zQ83)gGGI1f+VtP%fGTWKE~!YCPSW?4GfPSN==gZaNP7@lqr@bI`uuUp_@kVbAxZ4@ z^*kL-B88kTbaaU+8a&(mbFbT)xp<-lXLML-5p|u0`eLi)gi7h{FdwJNfFE&e0B!2BQ*_ zFZ?NDU616cg+)L^oN80b)DwOkyLUr@ihF~V&fa3dbkKeYXMKNuiX#pEw?j)Yhl!sm zgLbe6FUJ^xu_q%3oD01Xn5>J3d9b~!fA7yInkwkG1%bFRJU()lr$Pmbiz^)fIGLS2 zW#o6i1}s^KipCf&e1l-!!V(;UFV|wC|1QLpvoNyqT^Qk~H$OFSJiXLVnxNN-=+Kq$ za$g6DS$pTaPi!CIdG1@PdbUBAW{4emOdVU$cHCg55btJzE(6)Z6 z7;53ZVZt3c4;P8B|J~`=>-KzZ3N3FDPSDo7V`FjW*@~tq^(HIR_^sOP{`CqPhgTgz zTX`AAX88yIm$i5u5VOwi-$KUPt;H0ai*O{7ia_ph1sn;_C0V#t}GN=sDOK1gqN-<*Ed ztqZ*z+`yBw)~V8y%I)-1!%++4&YaLBMY9=NQW2l(gA2`0=zVN=d z|Bq|XE_`uz-gkBh+^9D8wgo?ZJecsJq25_?NGJdJ764Q?{U)6C|Dt(Gee27A9uuXL zaIj^D)qNW}&9|z-^1eEelaQd=&+)NmRF>iN=w6!d@AUJzc!c#_1&JVwQ!^3>Nbn)9 z$Logl_6+%>os>z(yYrfgcpM5MFKN-?hJh7J0|4HxTX$0UtC1V5(x`OxSE5b=*iCfj zI|LrfE9BgHc^lmrZSal7AJGmKTOXOB;oL|J=cYNGvNg462oNKzv|=4CHMNR6YcUH) zVkYcG?7FAR2otAk^{RrO&MuucH^t!5g>p-1=~kK?M1oGp;J*S?dh*DBB{dk508Y$& zp1dlmdTTM~{I?`F0vttJmwttQ6IK)UuZr}Aoig%>fi2|~AAwHaz=j<&H7iDlA(Dm` zyW+_oK88pti|MlG-(C#!drD?n_<>Vt?(_r;LPIUJ80nZGC_FjJ-&-boQMe)`=T1AQ z5VkLaOw28JAnk~P0Htm>B;X?4hqiI;J^&gs(b;c70q=a~{o5%O-2Odltd??do0eE( z=!-$T!`~WSekZF8f`Vpdn`Eg~CI42Wj}+`9TtRbz^C!5t*ij{wpFX5{5=k+4wSa)j zlU4AUQ?Z%mO=qC{Q7z)dT|qS5`Nw-(A$+I>TbO_@9oegrJ-$uG=AQu^eSd{rTGm*% ze0yM~@sZBAhUK@@gcxCjGd>AO8X0T7nX0iKatP{9)T31jKKXpGe0@@#c!Db`-uRJ$ zfkHD88}hff&CGvj@2l9HJP&vGr>KD=hXUKKRI9>3UGr7@9|w-Zc-T!F zXbSeMY($INM4K&F=tv!>`ld#W?WuMFTjs$KqEfJKsx@inPhmW%&=&o_w$;}A1M zn)a%pO0f2v(84$9E}hFU-^})iRF-M72d<7^pY#cVeKme4q+(=5SV|hC1zz%O1X6<> zM!`t{>=z3*0gPJ=aty@H+sA>v{h_nlt;@%YN8foK&ICvUK#UdBB%-EI10^ZSa8xi8 zV}2qj&5;$KJf7B_j4qSqbXbP=ua$u^wogD21a~6l>mLv*@Y83An+cCmIvEqt)9%_& zmO6+5h9Kx}o&HQt5@BylnlmSlr$QPYOy}?wiW$ ziIL%#neOR@)tIUM!uo$uhKjWA)FgF!yp~d8$XYKU`OMT?dexae9atqWkZQUX)*1FI^3_OIqWjjth>jF4guR>cXOwnZBuGzMt zu@LL*RQL!F59c8e4ILdBKR+SRaiS2hvbwI*2}w z4Xs0HHXU3qPo)oLBw{YI-h&}s|IPyXb7mzD&m*$E$;;F4Z)e+Pi$WDa%-yCQFdT)R z*il&O%X&%Ur=pvVT*-z0xf#g&x0T^a7%L1xnKF^1yi<`y9=DeGOZ)YtT>OTiNc+ij zeHz!4&_)d(BJJZe%dl#ea#_Zeu&@Uf=L#ONw_s(te*3Xdb)3PXZ3K+<;pSIs5_o=I zgz|gr9ZxlD#z*|k!^TJ5keP$_gU#L=N+Dcw5z;^HPYO;jB#gHL>ET80*DzEm;=yZV zht;7%!hbV2O^Gl#SDLMoaMI`BlI;gVZ|9d6U?=5%Dik31F*vE3{`gaLy9Yt#)zIJ< zyqQGO;FhD7rqu5aCCl4XY>y2$x~BCT{m!MIiCr)E{))7pR;2E8zzPNG?$VfScPik^ z{m#RWa>M7#28i6$aJN~5bkee{xHW450ZQUgI};=24D!TgctvdzlN6Sf!n8M~gUN}m zaO}2gO6pk&Sm@kQtwm!boZo|Q9GJuV`iqbS{9}Xe%8kUPGv$u9b!nz#9&@Iq5Yp2c zn41zLh9;%coIo}GNzo)Ywk6*hgH!ITK!Nsk5sf@wfgiH!2y3fKgMqSr`*`l{SC;X0 z>C9o^uz9ohE!aGx2jTOvzfc>@yK!ns%xM~V?csjrCbn9$CXYF|B;Q{5O+v*;vO8+ycz|>0sz!3O@Y>%)UQ?xhZHQ=a0`|B~C<4M425c z-0`@H>QTB%x=NZIxS_&IunG3qJ=W~CPlfRpZ(u|aSv7IOL|MBBKV-J-@ibwPk;RYg z@k0~bh%^N-s^62*D(%k5kfF9fh!d!R3n8w==IU@Rb9;MRTQF{MaWP_1418Oz-Q4D- zgdhvQ)f@eV3bC-1cU?m}UD(hNB1cBR1n299Csj1whiwmT;<}Rj`{x6D93J zi6zvl{(i5m(9n8taT)Ld!|%u*m5aZ~(+LAexF=w|os$C3izw%Xq}ZkG$lu!@3I0@! zpuQ;)as4jZRe8Ay|0(7;i&E`$o+^k)E@8RpuZt?m{E40AWYJvmcD#zehK6bH7o!wD zd(MzV+oli)rVxU0U!on3rKLl&_np>97r`&~ z^l46d5t9O9a)hUDuPi?MLOmA=k~93!JE6)fOZXPJi_K z89_fYIq`YS85As&Tt~t$zn@#^_wto z@3tR39IJ-B|5V*c3xlH6vx(Gw?y26gW@!a*G-iJ0Z;F0y72!ZL*s{v{844{dEWkba zgII|75r2jfCtX~edEtw+bU+$pw9r`Nty!e4^5pk*(Yx`s@37-MK*7dWv+w+|r%80#GbO1X52XKZ4%`_l{S# zt%$5dd2|2$jNO2y?P6qicPp3gDu~E5eLeXkTk~ZA`Q4Ip%>AVXCGH99P=UJ~>`3>^ zpl41xQ)3w8-+_ViVHXBL7`S+Cz;LH$I42*|_P!2Yn>z~IxoJXbzfV`yYi;U+z3FWk zV16(Ru$0_)WYUL+py3#z^YKM~{6%B*;^zUCb8yMs#w{m!5z5=x;bS^fE7=O8E&&oj zz`P~6)S0_mhL`XxiDLL~R38Xw3Rc;=4X>VvAs~HoMN5}V_x3y`9q9221cvw+#%XXh~)YX_KxwO?$*VHVfW!zVo^O)Y#xp# z;w3Xa=y}rD98oCtcjC7OpqVu6^C&CP0)h$um;7V?T;B%=A|j%e=f(?a>i#Cf6l2fI z=O-6_OG`8MbU2poyn6Z1#bwCeW4A@cNj2EjCo=3`5)X(_==M-60ns9+{su6{fI?u} zRmlq_;$M4EeNWH!)22JOt zp>2Fo1&+JJYW!AKuX%PZ>~&oOmOH@h1RbfmPkZ7s3-dyGTyl5^>#xb>2{R>8`7v<8 z?)M9I;MPUazp7$=xH66g*Q6M_EvMnS-~sbq%Z7jbA~_KW6McbfO!5hdiDHMu4uA+Z zp7E89pnvl+zj;m8UnHrTiifAL*`SJ-M8CY8J|-R^7k$EnoLtV66Ez+ZU0R!X^KH1-u+QPFIdlKT;kS+P z!#BcbSi+Grs~w1#_Z4^6cgfX4ggfn~l%F#Fm4E8eb(}6I3W7=g=&pXj8L`xZ@Rn>a zCmnCR8d3kSgNQ3YUkBQX##-nP`^Y_uJ_Vas+F!=5Ctl zJStl`J})ji1Ib?%0@3Y~vXii8h7m)O?_JEcELgpW2zk){cHlqU%&^(Pe73%b9PVDv z7G{U3f;5yN)-(Gr!sg^9HuE+==t$pTIdi~{XE6-l&Xpk94;}b6u_7XS`G)e5l_JZ* ztl7(y*H|5=G9$CdJxyvDcD|cb!ree%;6ZRdqn$LKXm;v#{P&qLvSHwr*8560Tp}E8 zuE~Ln^lpc2nR)mXq1LodI!0Q9dMj3Qj;04QLV27Eu19yyO;f4psI@54C#s~-#yf?o zVLnQ=^VWohqB(&qsOvIJ2HV%IL>C^{5Zkf2L z&x8kTU)&Yve?aX}RB9EPq*v@F&KNdHGmC2t{jQZcEa_Txwi^3FGvZJ0Vg2WQUUDq> zx2CWEX{7~?$TmxBYsF&54|+ceDz^XTj3pKFk!mHMfe7`EA;N)Ra1j!I%a=_%Y}&_w zX1BMe?e@0i6-$kNnF&3pxWav+l!8$}aq^~%3Zt9sJiM7VI361jZkiKXocqgaMD;Pw z?a{Lc!q=hX(GAbz53Wj|hVy#zA>lIZa1lt@lei(lGuAO>j)W**5ibOZeu5hwB)3=- z)xB>{OIksNhi!#0Vx^SOUbVJ@=R}`9k5TH|wS9?i7EggPS~fS{HqQJEox51;EFYdX zVhyv$_XN3UiWe?_7(wtvY8Go@iHODAyx5=|K5$>2O@+DKUyNMl_hAVS#7Vh0TU&8l z8b^y%c}RHiJ+;og3{Qo>c4W`9eGp8nV<+HLmC;`fgwdQIWOHzi4*p(_-1~t2>q}Y9 zqM9IciO8blj>1{p>pdC@ktZz#3g}MJ_3H6n^TSRwC$hwM7;G?iTC@?cTfMX1$b4Y=D8i`rL}?y z&GEyNHa_I1I3yD>O8C`8_ERG;bldIMb~1TwE&T6*t$lby84iMv7Y*5O12g1VZjB&% zvLM4@*WnolszDih-w?|AGE$hVxVV6g`&o@A0P4t3n>0(7adK!R&TkNfVEQu^F0cCE z?XbO49n!ZRy`7#vBAN2|Xfo5*+GgSw95(}@IB;>lpzU{s(yujlo>D#q;O+U`U|{33 zygyRcG-D*uQG)cAOBZlpzJ!%2hGQGxa$OOrdErxuz=s4yW$3Y=kotR^b(sAT;q0Ue zjE^ZVzmt$V1!%*sOXgUsgmU6&H1|Cw36`bFC4kz7$Z`82=8Z`*~EZnC4 z1)v5Svb9~R{Ul)6w##weeyQigcO(&d`E^hlKAT50Fa-l&%C#v))k=Xv43fx+3Ih$= zzKK)mWNOYDd`{Gc{Ghyr<*2zWEiD65^j4-qc`RYWAzYN%gG;q<8KcFp@QB}X$yk@c z=8clFiT{-b^*%S)GfTtTa^eBo>)jUffZ^$h))RwF2F@E~Wb&Vf*5;WW zXPC4~SWnTxFcl6((Ea7j03<6gB)_?1H43QGFUcE=^xdg4>dc z!UBr6w>Pj#k)g7*=i^cbBbkSUs7QViwpz8N-9yfJ+_el)UbEEtK8PmQk_4c|KEh#Z zD0_a<#`8Ug))k=cUWaEEsrioCrM&xHAMWDeb1393%cQ##vE$<5W~AyY%h)#Co?LoM z2|?uxEfX{y#5h-UiV0m1)@Wq(=N6tP-h=yX-GN6zGMicG;w>0mGOnN_hMNiL(wasf^tth7Z6neB@q4!AEy>*~2%f)5Xr-g-n8tSM~7v7ccz2E*g&VI1m)l!mBZx}vMh<>t4QzRj3 zQRC9o!j@y(=7KIvB<*_4CisDzx#87ORz3<$+x-!W)`}&cq~U3Q@y)&g8{A&sNpq|t z+5AL;k7~O0juf(3+?gSwtd85(8qHCp-zu@P$8GsDn6RXsn2E?kilnqMu7|B-@rW?r z<`N&&n@?=(ovd_Z`t7yNaK##~bQb&R5d|fP>v(D^YH2;(p0Nz31dGkcA-dt-oNdGd zP07xMTjzeaY z`J6&cn#&V^N|AcW9e&w(XIc?Yp&az?T&iwB*pCKHGbc^+`?tvc9CcGeotuW}YMm_a zq90|5Hz&|mQf}t@?w^$;F^}Q|#6M}h+U^pG#>IoMLs<(E7L|mhROT=pBk03S&9d@M z+Z~_8=K+yN-XzFdT5KVN#igHW7@gP8?$n#sVbQy1Z0-$K=%1HhF2f<+&aB0B9Dd$* zFi#gwhsB~FDNokM;@qxxEpm;ZPadnM4rW+eTL`}g7iUu?U4=N}HG$obFew^mA|WJV zBSBQ`J3&j*2{*M}L?1R~R=5Bmu*)x!i%PreV7sgbu{|pmjA0>WZC+yj@#R(T%)C_7 zdtV(=UnNzv>6zTOLsiM$cuYe_0@dMSb%&SoRqsa2dOVj!L(|p0RUQZozg+BmJ)@TV z?PykgXl5XzInPBcCn1i@kXuPUmJcWNw0vF}z$&YXiiM(e>1IerfMUk2pHR3EC62TJ z_8*e|XbNRtldBGFo8sg+`!^C_$4y%iD?sYYdUfwT&jryRdHFiUL(n=|UXFzbN4ZJC%v@~| z!wiR~WXbUeBn}XL270E4T&OUfW4C~UU@NyhLl5&b(kh^(_485} z#xN-3pLY)5m=Re9eBBt5s96atPOXw!|6O7aRQM~d48N-W%&<>x?>C`0JQ5rq^?zS! za;O6h-oSfb;hg)9M1dd)pJ&C$fA^l(S_DGPT>CqoM$>W*N!r9%KYgO3Ph7fuP}Ma| z9nUNmkp(JN*jTyoT7E=kxuY5g3ngCcsQhJ|`=5yQ6zu&I`&n8?SG`kYB$DRKAag8u!A-M9er=FiX0H zEQ^&i6G1ul0T{RApiktx zpjG+!V0Tg%!$1%-57Rdo-CDBs#eT5(7<5F+fS&K>#=E^Ua=Mh<12h78j5U&MPoB>a zjgvC^lDpb6x0g{x|8UGN9qD$?0>ax``At5c2$ZJhC##6ereq+`L!|uCesf6=R@eO+ z*f-aDYxR*&_X8ntKOZjHZZP^SZkJS|%fu zv(=M8t%U5OC|A8syOZ~;7I#lBY13^)o$x;UI3*&?(tfmxyca^4y}qxKWuZY~*I6DD zOP3FbX8|XC%C*9^wbmI4vwoLKY=qbG0o{9+`8ejc5Ds%hMX%vLSVa4;1J+{DaVNKl zuJ5*<_EJq_x}s=Yws!-y7TF_xN@9vddexo+FN|l%HC^

      4;X=Ux`k}|Tsx=Fe6`e0+Gybr@KW~;ob$K+1! zx3n5g=bafz9a96Zn~VWOzuMu7OB?0GCr#6-Z#&TDcN?Hst*oaUeI@8-WlAT8CkGX% z(B7Vb=av-3b-jsXdPUi0SA{Yf0aw&*t{41q5G;ZCP~{Q-SBzXa2xq%J&qT)WsJV;f zKNF>Ih`crFexmx;51`|jdRz+FU;ks8uGDKj#F4WwKRFs8fEwlDne*EG0qQa->VJh5 z#8fL-R}Y8;1gxUGPO0sAF4tX5!_vlpW`XG|8)M90JUw%+M zADxv}yS36YVl$uRw*T&@>23_E735L-%*cpc6B!wFvX10PFw1m3oNaOf#nTQwsLNQ> z^~v*CrjE+?r1LDWeYH)RIVB z^b+LF%s2;(ku`e&t^}@1deBssuz4;@rG5BQ7TV~RM5e51@lkw1?@|3=Shh8ebT1Ke z(!1fD&-Q(f$(TgiyxRaSvUauu{41mC56+ELD1sP78=h(o1h>e7B(6Q077smD)t zt(5XL=I-VMbM;T97eDs?5e%a#k%d=PHA}AVq|K)+> zrJW-dBn+1YVEe+d9kPw5!JLIzvzUs%JnUm1Am|ES1MZ}OSNx_guNE;+98aI*LB`&v znQ^?{mI6do%%6|>q)7qobdPee^zmoZhTaUa zW1r1J#;&uo;$=NP{35&wfo$e2eMc6}aE{p<3uRx?G0yhJss6BB@WDT0rp*KC5wD9Z zDF{^>i|3;j(r6DoJF9hT4CQgvuBwzcq@W(By85vfsd_3LvR~|%%3KEM=*PlzLcg#l zOK3;s6-FketN;QA4h9;J*&u=iqdVWG%wJ>)*z7X+-fBTS_rB?Pg3XDXygdKbyXuZD zoqjs%ZAV@`L1sP7Z+%nSyv6jJ6bac8)t4K*ARTcmEHK(*F{G{!C_%!J-SEC-Zi(ZmkmFjFfY& zJC7EzClR22w!LtPe-}AeujkCV}%dKl~z#K_ATUQbjqo87G4RnGSM^Eir^%`O? z*1Em@#M~8}C5V1VNOHdr%fs$=q{(k#QG2lFK`7)*ZJ(NX6-T)0eO$HbJf|f1G)x5q zbZbWd@g>{0_fJwfg))!o!~xU$I~R%4Yyu}kW!OBjXMJ^f6Dw=)T8JZ7&DT3@({)K! z*NJJd1x>SeajMS5^8cvhy5fNs?mhau?xfVAB9NH-__r-x$cGyU*IttwmKyv7))3I8 zxQJQ~%WDO%h6{Bk@J1W$X;yY9gs4J9UJq3SU+#8X$H&dL+RoU$clW?EVU~lR{iSiG z`FK*m>uyGdA@X+z`hY@B`-8}vueLadGnyaFY0EY*@Aaz2rYR&Sb7)`PoY-07ZC+n^ z>_8^X!dbh-{hx^xAHn9p!C)BX=KDWq1BZ7XU4@y6+}2*7EV=iKoBXGrS&Z7#0HP=R zr{6#nuJ6nJ{(k^0aP?>Pk9QBpHC`73_-yHl25t*lAgJP{^tP*)5MvUo_h(ymq0sE@ zc6H05oysu_x6Kf_1*k+A#Y8@Z`w$8(_oDJ3ZlC*HW;SEd*F=80>BozYKX|S(d|O^f z{_m2?NyW*nhuBf|sr`q!V6Gw_NpcKI+D%r-BXomUvw!aA+@YaXx9NE}md?EVaUr#2=F-iz*PTw`1@A~6eAIFraI+p7(Ex(eA2sq9X=c~o9 zqeFP#TB@KoY7lzCjK-5S_ZT=B8CyBIAiE*2O<2_lI=ZZIn(tPVa9;UPWKCQL%6rBWsm{A$3*OHEhQ9ae-=-mZI+-$kiDs$)up2-C`bh)#!{W~?of5n@ z#3&SIP4CLfk3Wnwt%_g8CHUD89;=1C4+<=+3{Tc?8j=tfrzDLJpPkSjo*1M0K$Q(Z zUH=YVKb^JjWWE2z^P-f!9?meIuaiiNOsTHLlt(Y6lcD~mKYvM-q4k*3qFZV}OH>RK zM@m#uOq5@iu%z#5-Oju1{`rD79cdh@t@Y8xWB;y&Y+LEClJkb5bIxVfJ|CmDKw5;Vn*xeHOsrNwUlg_+a_gCK*%Ly*395{gu9UI}!V z2JJY<%-rtvVtkCRlS;JML`eAOWsJ_>&Hr-Hm2rG%N4s-8f&;o5?dU!DQ&A}|LjG(t zfo7U!n;$?Md0wvw#PQ-Ct=x4%DP2#tVz zvdxP_@{Km87@@p{K#DvfVxY%*P?f$z4)4lm3_N&4s!@u!;{2g?_5~(tSrB?*QanZE zuwNK^I)ehnJ$Ey~`Sg`H6b6SuSY=G?TXsJhCP_GDD@(D>U5|?`PsIs%hD;mmxZB1N zv}^Dd_ZHE;;bEN)g?)XaDMFN)1fHD8nxPE!4kPX_Pbcm@XW3?i*v1fYGw`4UlNjL1 z4*iWrFJ!c5>VKqJ25gBxS89IZ96TebT5;Qac|3Dy$GGkXP92A1C+wVO?Bo(b8ODY* zS7wih4m-xNNq2&lvPuXhM_YdKq`@ck)>0`J0 zm?*RRe|wTLGA<8Kd=Gk61Xte6^-pvkOmaQXwvfGV1JNJ<4HDno-#=3XnQD2ZPkZxLhs~InpXZ5nEgc@Y zFTP#6uAC5YJn71~PvG%4T<5p7wY8tN;?@5N0|Qf5R@S`7_w@Yyqa3SR5eN{j)pK4q ziiTu}CGkFL?)503Qh!@(>r13^q*QKy0c`mg(huc}Lvbyz@cUlI=~M>Ml{uY@B;US= z{?dbdLMO$k(uGPSflU|*{aawq>xSxcD{hu7#?;g`0$`MGN7;))LXn>PG~U-(#?__D zNJ>2o;ujXw3)Xz@in?=_=A6E$?td$lOe7eqp;dt*sC36@t^}3raazK}!&ka~X>akg z!9}?9K|YIz=?n|q=;iH~Wkh#rW`tO2sMO3bjc{=}Bq)+IR5wGaeXe(GF#i;LS=y;< zQ+&?Cvh^j2v)9HlJ$@tkDEJkF@l;q(An~SCAbMD8hEa#ffIz`%dFyJg0$Rmdzhr(# z%PTXqElj5OFZ=Ap{VYOfKVB{}&uBg}nk8>YgUtbf)ylU{&A|A)Kf?2&t9s6ZYLcx z24*JnzK3fR*ZN-1ySwv&>g;~w7I9@uJm>WPNPHKoDGb2+I9*|-0vdszdLI@mwRNIn zCtCO;`;)4D(7*V5w2&q2 zj{-7AW~}pmlINz+m2U0q{0EC49vvsAqYJ;fas|#ekmd$+xj!YdPyg>p;5RKLd(v)^ zBme^Nxn3crr>9d7(5dPHAQb=r;(efGW=lNDdRJ`_Mzj@4(?iw5Z=VPZL)TBWU;v_xv+S2yHQwsNKf~8 z5eb5hLgu?EX2$XqHDl6k&8fPnn;PK8865u_jEIEPGPzvMU0zY)kjH!+-S)RNdaca^ zV1VvH&C_yR-DdAO4pJ}e7hg!W>Ql41#i%PtgN#sVzafW}edjrTubcHR<~_3^mR5XE z$Qs$1;F+-z{-(sI+hSF!awe%C;&A>aX;7S{Xvj*#d#(XS-f|}u#9x-XS-K+3{S=xS zbf1H#ZSy6%Fm7)2CV5JG@Ba|zFC5HDz58_p3oSf9NCYA>kb`TwIx)%lc1}KSSr^ZU zN?Kq+;hOd$s}y4X?z#?hnH(yQmw;Pjs3GUqJJF!;f0z8^dtlbwEd&uR4B;QMpgTE3 zKh&w`G0crYIarvBqbbD*?C6sIH>&^>V__b#pD?yHN7jFJZKA-Yl-b)n)Nj?ed^BM< z1~PtrVPG5k(Ij108#)EC)7>Sc*v`&vHCPm!%3E@?nFc?$W3?DP={B6~`sr6Gx3rw^ z`Pcq^!1^#VW419-;N^1O7`=agQG`yCd*a^rX_@xSW6k|z-D~{7>(H&#e}_6|-&Zt? z)kQYz1|pQW{_*tY3?<4$u1q_J=umCyrpf-_)~tCR)J=M^U%9LFclP$A9vi=?{z$od zL|`=^##mpuqVNLs)qoL&2v2;P+p#VzOjs5oXc|a zV;7!|x}AGa`~w#Wcqb%(n|dy4S-);@G~!Pvm1((Krjs`h7)vjW&Op3ooaQ4CnlwfH35ab z1}imXxasjWF(pk_Tbed$0eH4J_M?dmz9?{18*5XaK0s9FcEx&7vZuW{ zsglV)L-l%EkK!H#Amwqn|%+FOT?t41r}uiI>5cG|4?fgyXZkh6h5nd zz#)hz2UCH|Y#1DlK1KH)Sx4MhlX|)F{WYmB4klAk&8Y-@m+*ea5mX_{tYC&NHU!nPLT)6t^?xk}Qa4%sEwc1Zv6nj}p(hpZ2cS>a{d;qnpTM;HCkj%oiuirhNXGH+=czVQ zrr#ahL-BogHZZ=DVNq@#Mwwr`S5sH2hQ}>WocZ?j&?k%G63UNaq;dOII>OW>9Oc+8 zEVf;o-gbpcpU;3}A0g&YqtqEhd-o3+ij~fpI=12yqNcs$hc2Aa-EYi~YfFUAHi`$e z>tA^$on)-L#}f35n;ZA>+OjVmw!bS0drVDz+ZG#7j=p0b`o!O%q=~ zU)73*7|%P?6XZ9K=r5x3>R5*mbv8oON`qRMZ|WmkpN3?WItCk3%sIIhn2bBKfP2Pb zwb`kkh9)UJUCvpYa*rl>1{oD;O9fp>GPLJB9O`Qj^b24(Q>2ci3p&9pR{mH0gN$5k z2*&lsu~g04R@P%n5Q5mCs^ z>A8U#p}FesyTc1wgR__-AK%~BIgo*6<+_68-GoltYg|UX#@eW$&nuaBj=92#O zR2l|U?+^7qn7mH80F`KZem-x`cIMdi;F{kww;WQ)6A^&wE##e@){wto3tn~PqKUlN z8QeZSja8)Wo16PJnPNkTCu6!dGeo-MK+NO(ZfHhkVI4IeZ-(Gasf9~QGtYn)??0Y#+FGU^s23s z88@NlvtsL3Q=(rp_l7qpd|*3gk-y@gtucT$r_WU9cpfcON^&~i1;2BnE55RliJkrb zXu9g4sK2ib(%s!5-3Ul6QX(DF-QC@wfOJcjfJk?Dmvl*YeWj#3-pg<1&J$dKYG0<;np~da|2r{1$MjE`mTsFT7UuD50x(!h#V2LSo15d~M}{y?2oHkz z^Qfsav+T^w(FgF}f#oY|OQT4!#^>ka*QS5K@8+5wn4X87I)d)IsH8;fcrtOpmiHSP z#dv52@7dw*h^gt%#LU!Bl3x5af67D)=bY~!y}-NpB=hM<-Opg)BRf^E!?)z|U!YdP z(Ae1S9a4dLT1?35)TtH$|vcthXA;5R`V6gDyk9+3cUT2{R}(E=3|-tAlSPb z7&DKw5g53-DA~bMynI_|^^#4P^Xmn_J7-*Ex-dRoWh})@y~H={zNpKR*H-fqgseg zPSQ9nVa)BRd>e71cXriYpO~v@FNIs73sf}m9ac1b)+l&?PV3Wu`?MRfHq3|N2aeUvs>VYLJbEx-v@O8E zC~M1`>M@vT1~{!I*0#mZg1*VXY^w(@clqy{UfH}2isVR=UV-_h*e0plgkQaSE9Fv4 zUS8kEpaLsgk=69UpLC4wKU(1N#KT>O5e6cgx%{JfjF%}0yr4xhS2l&;hx%xC9 z*mU5-Xgo64#v2t%qI9z?+C~rSg7zxF7?nsUjFlolZa;>s$(<+U;K2GF5051eah-Pg zwgDQ*kC&I{;ZakgecP8`T(MOR6x|PG9vhnsRi0j6(8kpD;EY+-I|6)r(=Y~qbPG-zxfL-?;MmG!m+k43jB?rHsm zj$3$aYRi<8n>jHo?9<~TjO9`r|N1{1C|YJ_l#HckdIvqOcw}o+mn)$Tc>}MGMu&UGT+=v``lR18;*3w zV8*fC%t$KYj+!I`;xTAoN=izVeTw3TcT(l(sC#<Z5XiC}qKRFp>I7~eVA%7HU2Jlqd7Z9^h=_pkXiQ*WU_hy!9jISm z+}Z~=9$O&$$oFbaFxUq$#*0Rytgzo5Z0Bg@ZXd%nW&Yzab$kwzb_?_MUBvHTgAO{e&_aL%>;7 z9SFnXBPbDE&R(kf!qx0)yqcUfgpA_VV98@;H7U%2z+Z2`;Z^8zd!>P>GK*=-mTUG0 zDIMQ{j!7nSWH?awUg9!L&khoN`Z%(}*E4?wQOqtg`<3b53MVra;OZg4YY~7yFZ?qJ zgWCXGWE8(Vd{*@fBQ{RR+(}6zY?qREG1xD!ws!w=M4+&rlL`G$Egq|518MOH74|Va zrh|r*sfk?xd$Znh?F8CXPAE|7+r7J8Cb~xnc77I!R&zon{zjK%T)CaCZ*Id(5!Qw(%^68KVFP7B3fCeJ!8LYx+B%s|}eREwKU zGP{BQjOmtoNL`C$)3*qxmuM_(>`~bZebf0EG9k_bPVo2@Rg~<^h8x`KjA{cb8VNVG zw`qTi7v3`a{W}nUaJN%tR5NUB{Sw=fvTj`6q!t(y6r@FfBW@are*_W>`fg!sxVYlV z)RQYUyLXv27HR`1!kwHR+qO~MS-i4-T)Ha!{N?=LqnEoubI;<6u0r;E(NJ_UD{Nvh z?E@aUkNNq>14l9nS<ID4H24Y5{8BJ^T`=7LEd-fiU%!3@ zxhgPcP8z_Y&J{XYMEHRvkzRhQ>CoGga&!KW{WvZUJy8}Yo-w!OR zn2^q#K=Vw+NtF$zG36n%U_PYH6a98Vp;Le}`XQkrJIe<(N@HtB!-Hcj$JT4gg+)%a z6!P@=baz;yR(HG*zv^=x2WqFeHgUq-?+85R)AMuVf57V#2=u}KpMpV7n^%IYrJZhL z=ilO+1_Bvx@9#KW|Kq5j>wA&?lKY!&sbDagOnhZmw&J>WG|ClRQVf+0`+qI6H+PCZ zo0^#`>#Kh&3`M}h!#ldSCa5(Z>oMi3HhS{@xvtf8D>Cf+x?nk8ZfrdU`)?8yd=^Zk zxdK_BOxvdr*gsiqB?9)QYinyD(Wl0CkqgAF&)gpRWf<}H?&m}v-}_E$*{N&7USO^L z#!<_n3cBiVkL6E|jX-95vUYLtX!)Yd5hgKx@>hPs2k!R2WqC!pC@2^#tjSTuz}T?s z9&0|K6|$krBSup!Ny*cj&fZ9NWDVw4y(%`h<%%PBWi1R8n09T%?RM6=qPaJeneUxw zifR^v^=xcegytBb1Bax%tNq&-<~yFo(((r>2<)th2We0A3xnSt35&4pM|xZ+6YMvU z{fR~Amr2! zlF&+c8Iqm$U){nF_GD)m&U#5VjJEz3ZuVk?yghrm30gV0{ZOPjw7az;Lhh7vK_$I) zPcEV_b+NhaGIK3t;pyG;)lBS>;^!nL&de!8T7_Q!hJ^HC1@mIHxF*cYBlqpyh*G0H z{0E&0-xSBrT=$lN+wFmtxl+wW@42x^H4*ZyHUFEHs+ZE$^*j|uFPCAPw(E0h(Ae<5 z99A~^J^sVfX|&%3f2h|x7dYQKp6^J5?&r_OwnJgu9!uY98RgA7@$<945SKBm12|_B z4YuZY8Dc5bl=p8T%Qa~Yc1xIlej+gqvQS6%M?DFgQqge@>27Qf{Ii971rO#9<{lp- zKWoH&1;({%rRqi?)b6DhdUk(eW^6EYDpq(PcsP;h;qgL<-}im~a-)=4J#~txr6Zy! zG&Fh&V}4O!hI|Y!VsL(CCmWbX?}Bt8crIm;X6#LWS-x z$=Xj1{^y*BpsL-TZXT_-ri_lF*0|JEOJg%@RP0=^Lo5I)FtqEurdN-gG4>GzGLi7w zZphfOq@ly_?3`_*9tE&}fref<##U2P+u7Njs*yxNe{>97Yxf2rGgjH;d@<<}&fcz_ zL834S&M$s9oB#d|-d3A{YbGM45J9E@TRH&|6;*;Ng+>~CPE8G!)R6+bctp)!cKFDc zIGoDiM18pK6T4lg7@wT{5sZxK2gCq}AqIUwE^w~8*%!%w+C*sa^lm91g8{83ca~s2 z3+rwn1;%upmJ9Z_@ypw;(}#Z@RP=(OAeLdrnSXmQ<}J+?F(Z(6x@o6N23KDt#=b)5 zmF!wQXNmMfLqk9E+A_f;tE{d48%&0gAWMms_B+@Pfh<|#?m>reV0IV!TBsd5?grpU zK@jvXXh~o`I5}|w@9fUM{4u2bDwQUxCM$$KHxX9L&CSLnBKk+IRH*gou^Ay^(2~1M zuG!r~NAActzgJhX4%FK*$YG@mJ=8YLATh-Y-onoOmxudR@pFi!s}(o5REgo+6#?V& z84{vG?22s|7#N$>YRXjR!nE`#d`lVzc-&F|BOy+MqR75qqHwIgA7Jv*&HU7I>^>wE z_vS-`hXuG_Qg+RQkVNZf@9soZJ4r<5FK`34*VIp3BU{?y@L7L^l(`4Y+*0U;yDFdq z+qX-HWV9~6l>GnJ4caE6N&1VvW6{`~62VGw;E$@OsX zC}f_sp06ht5L-!>Gf#IZ>zu%hII}IO=Fn50@?yv?xO5w;&5r{DB`=< zOVQKE=c2DDK2!MR(2nB8ryuAuHET?fHa9o_mp}bir30{@2E>;BrAo}n2V1A1rHRiN z!KEDu?Dd|=m>)Li=}~||#^T~n`A>86gsd!iV_l*CkdVHhyP1LPD9R zzvRPh=a5S~MMU=YrWy5dV6FsW>5L^x}kX-QoFdd zV0~;eMu!6}Dq43q8$vS}laQ1o2}~FPy8WxIENYt`+!@!T*cG~>+qX};!07Sm{${_B zB7jy{I0*Qn9d(`KF)uW`(7R_u1C!CS^AUEF$wRB@pGg1OZ^%>F^>@y9H9Ma6NI(#l zG6Sw3K9Tj7*UUveioAPz|_S$drY-oD}d>&=HLS+h!N0M1z z4dB3eOKb$T<-iE8i3yJ@?TGKHsef>=7G%VM-o(jwz$R)+;;>Imzv+3b}Hjo$TClv8Wf7x~7KrpG?o2xtHY zhjl)3!CFc57s zvyA3@gFFkx{VqDoa{R$0?}m+8#d z$93wz=J>xE)k_#56Cir^nJwmuRW+wlT+^8mM3 zT{s4}CnGzH>DpxOt%gQILgr3-y-}Hsyp3~C^rru^s)fS0-kLw0%)KI%fkS(&?;kHF zUi+xedT;lP`ud&jN3B35>Mcv-Zub3)4fU_%fh|kGZL2Uyl34|ZmtiaOo*IX%C7wwkrZ0KK`O`|-}1a{j_;V<)F+9HD+{W`fut zI@x=lXCae;sBU`?q6n(RV}>1PrqYsA$3VcGl=<)h3OQs24)R^*Efc6&H8{k?OB({A zpg-Gezd=O8uo%>6{S+2UBgmW>$v$fBX!i_)bJQ^uagq7cw6s8y4~&6<0Xfmx#y@n_ zBqlt)mYa>sMQ-o`Rn)a3LbaoZElu~w_2jaJ(%?|=PlHS>7e6Zs_k%uz|9*rMpgKh* zWu{Yk{X4t6PN#!GgwY>gqvJ-2xPgPcgDK>B(GuJd6CgGNRA&%zM`WLObb9I-@ht6= z{<%=$?5K94#_Pg-iN~CzF{-koq_e+&=JSdM0d1xLOKR+hM!Wri@%L1QcSOa+@leV1 z1oNdcj@FO?$Pp%F-}7P{IFedNph-xf_zf&>n}1IrY84Y5LC;2eLxg#(ZVJ;}eydRow*`@lwp*_`;?~4vz+xl-3U?=+^Y9s9Fd%V?!JhmbrrPXHbNe3k7mtK6g+f17kfw# zdLb&`R?lF$O8e`xgW$i6PPw~Ti2T!O*yrb=xLC&=4ej}1@+_nil#T(`wx2b&C^m!S z=&t9Uge-mgEGi31ibT)6O&%=<>u2AUl-m3^)2h*a<8d+@?)T71Pz#F+-?4ntuCv@z z9`n*JRyeb{?Rq9Ysyb<1|Kdtj4(4?*E+M0!EVj5YOU06#0r((#G?e5*Ig)J@Ulztr zgSw2bn$zQ(cDeaxo@A8It&yz`?{=Z;7Hi5joTm&nxjHksIrj{&{m;*Z<3-<@fUD=n z{P>b17IGvM8eKMv4~CSYaCbYu^nt5q%aK*|NAYsj^5IW`u>?T~mnNry&$=Csz#j=B;qJ~0wrn5)&gE=Nay&=RrR~Z4|SiWXOaK#D{^EC5*A(dPE$bEOeiRocEbtq^X6yCteyz) z0Qeso`fa>)`S<{rJ%u*lOjujaPpAOJqt-&!% zdtH-(gg@KWmZVp>DJf~UrP5*|`%zob;iP;k!=b|n#KgbOx4;-Z|7`w_x5sNSOS;ab z#(ni6lQK7e9UAgA-FtPmf5;riPWBi+3_ldO8l`;vq@+(~Y0Ey9|IUPc zdTeT$;({odTUrVzCIxab63X8wB!Zn$>26Q5;)O4s2!E63mHU65A&i0UY1 zTDSLNjD*Yhzdg?)G%NU1sD%VaxzUt=uEW zGAbQl_fXmopbiF#h3@rQ-Z-kE;^1_fg0_%v6(k1#EDTz;#wk*zYc=!H*Za|G-!4A- zrc5W-N(nfXw=P`+vR!jhy`4sQc#reqIt4uBZ5@x%wXsI2wzl^6`a=NTVYLGV4TVo# z_rY>1ea?r<`C8k4nKiBY^o2Q$S$(z+jt^v_QvdmPx zavsODo})ybq+(#uq_m``Vup&D*`!6UhgmqQbXdA4TfMT^5c2~qm>iG`-lWNWqm^EO z4qA>v1se+VEOl8GF(I{Gvv)Rsq5yn{O-Kluq-K;r7VWlFm;DKs&3P111G0d#ZuM#| z-%^_y3KkX?>EkBC^z`)b__!!t$_3yY)b6(mTfQR(odsid1{WNAeR^OZ6gci`YI8p= z%(3T~B47|OocGCA7dy65K1P!cKT!B~9m=L)V_|LnXIkCr&z)(fp$3|~Ufb%8fBT`j zY=a<9U0G|>P!dF~jLH9VswMP%dAdYHYyZ3SE;`~3r7(A*)y%K$!^6;SOInf6Kv@7Y z7FKciUN}p)IX8CuPq~>Ccb+U8$g-PM-Z+hhZ;rvwhjr0{%d7rQzaV?C3vPW z=af;2+S2ZN$UM5@OY;cm_HChGsR~zW|AG*@PbPiq4z_|;(ntwW7mlgB?Mc*ia$_T~ z6%@uYUaoJ}^58Vzz}_M@BsIz7RaS2KZ^4#j(j@p5OW(>9r5KAMXvB# z>%JZj_*jZ8VKqIoh|7$PF7I)~MWlc4yyH%Ckj~Y3QFmTxdSMQY%A>~nrhMzUGKMGj zr$m)-xlZI&X{?#&O{94$uKtjWY_(Z8p&>o# z#fw$YklPQ4)54Fiw}f|bX{m(WhQ1fg;siU#Xk3e|aQkdyp`=GK6zP53Jg5|F96Hlw zL~?|z3H+5xHx10nZGr5u$fwH5s-wY3j{8~B0f#Sk%1TN@2pJG(m)?>?&0Rp}`7Vv4 zb(JDgyERq-3kN@0Vb{70dABO$IMN*@wKdNLV5qH~x4` zig9GfyUy_51BSk_+xI=q@wu5Q7mC^`|p6lN-_;q&T#>UiB!rmMu zdV)e=ERKleOi3}Rs2C7ullnC^*;$g1YgT}(*Y-hM2AK!lM>~HiOf2`q9;Ojc!Yhub9Q!CVoGYezCZMR*iG>TVo&^_FLb%N40y4Z0sUdEauNgrdI{;i<>+eQ&ba6C#%-Fn2{o z#%T--I%Om90(BY@e*#EiYOSUU%qZWu!Vdx-t5jfH()zDsdF*SIeLpZ%LoL82_frk4 z&d--r$w;J0=uSvj>hl>yuOe9qMb%$FP~lU^4z?DF$Kn-79ToIC9~dNxJ{`e`G4fz? zpv6#TWgnSyx#I#6L6|;bff%uvBHmX$Z{K&O1x?%eHSJ<9$#cN}S)q<0?M^Dvp9p-f zGYrvWOGPZ#&HcWv8``C}7N|;=&S%V1b zO6gl`=<3)l)3TMea?B_ccd@_RB?Tl;kria$Gyp}(aQ z%heBz-6~Z(S~uwQtG=lHFLRuHsb{(T7(Dq?B_989#2j#qnTy%yRYp>yx*XA`~`ic;61Jmr|0kE9RUnv>3BP;8H94TA;;&ivbYu z87kHo)oUNXebdjj25FaMf^{BfvPZMc++@p*`~Ov&n3|cY=&Aj+E*7|)p(?{i@w>l# z4dVWulvHiJD}yWZ*38Uo$9x|UA+*3lTL&IotIn#!q8$AT505}EUBb^hVhhM#JKkY$jyIJ$8V2{FumH5WN%bY zIqWsZA$zAdiUlkuX;V7K) zdoTwCRR6l_55nl_@QW)hyMjwrwa(7k>o67JW!RzF3i=*Tm}@{ zjrikMe65hx*2pj4GI&KzEjERC%M|f+8W0C|?oG0C`e9mOZ=2Hh*W3$~!fx*7oIoHj zNrcs^_J1k%Qnzb_AZ4>+`^rz4`7D+LN4Z=ZtM*w~KVVy4AsaI0@|h0n`i0}v?R;nW z@^Jq363p;9X%2;kf#)#l35KT#C>2`*_A&z?di^!j7YsDN?3NqafYv5@BOk~kR4A?m zHhT3O+4xTyU&J?h`8Y6#?WJlK<5=)*>2P@4$xGEE3tEU}%?b?P%gFYthaOL=tE+te zEMBD|UETem@n+3r`+>rdg%hh;OjN@2JyQWlH$M2}*i9!bQEwemSV%vinD(`>kbp{5 zbjZ{hz~MYRJPf!puL)i-z6-P@io$oazy=!^k03rJB^1CCpq^yDcZ=u?hP72k5%#$> zJ;~$;jTz+S(dD}{|9Zd!tDt`7NRE_HpALJ+&~|=K-~2p6#+Zzj7Qc8Xs_3_P`q12NF5)_Cq+Bg@Omh`4qd zJ;yS;mcv|vm;8+cXyx)&Zae{FLx!WXR=4-a12iC%Jo4fCEKobTP;O5p?5TI<*aH2`@LdiogkL4{%A`uQRC%KK}^J1T0Xh|O5Y z?{rWHEW52U9oIep^}+fqN;{{2&VP%w?oex27aT2arFMQ+Yor2oxEsCv%`K9V_Y-OH z(6Pes^tJsksv*rgyW!zmtse6iR4#QcjE{b)9P+-4b%;DwW|2jfQa~7(i+r7LCOc`} ze-~iGfIGRZd`3(owYMdFji3Ky9r|jrbh!7elx$5+JfyH%8v~FHr4RKlWon0HmW7}c4m0U zMxvRCF#P0Xx)1XHxn+9$w{M)jVn{t~quFbalb>7&Wp4DEiY1WFk5KX6AYT5`sMLXx z2oXb^ez<~pBYDO5G>?4bzNxEbaHv*metJq7A9g2s-%_u~h%0u1y`lw_kyWWQQn01- z^@n5h<$MDaG_!6WPOgsn#!|x%{~dZvtg-~SFqS@_^Va@S%=cPdYg>N*e1n`OH*mf? zqBoPb?t3vt;$Qa?FShhL$qy&eGqSS2Wn>I*1fc{I-y~FCf;Pu}7f9?|orQjO@Kc~k zI_{6BzD0^00|`t0##~0c#GHq&sXW9$`;f}S%$b~G!ocofB3Qyh>|e9Ycrp#Qx=?Lu zVP^F1zqC$6Xil5?gq)n%&`@G<=&X<9X^{#*z$V(~;_raEm1`0&dQfjOWLl48pGYTP zrCql0R`5dKHy#X#pEUs^*dJnE8yR z88rngV75~uk17hlc`W%Y^BuXsCMGl`g@88$ty#Biu=U~Etr|k%d-`Pr`pP}e?B;~8 zOg_B3Yw5sxU_3n}=e0YH@97a^3up|DXTnQPC!Sx@Wn`DKYBT}L+=z2$-i{ZDPb|gY ziQx#?l5ps-p#K?&kx%$GhKQHxkH0SjCnvRwOF+}&o*d06+*0oqfMB!uRCJS-7 zmrWN6{(y0LBmniACx}BIlRsxkbTLb4KAtIUYs(Vg^H12Bi@UkTk3{78ZbB9C4cNF7 zM~aJ8RW)X4slN`Xm+RUNc1cl~jU3Do%E+EwUDARphS$g_^Zumum314Csl*Wc_OL(l zWK>G;OOqJ1fv<9gruz}2wjS}puEV-ha21IyF%ebAP;hNz;CZ~rhLuET^{peG<_4shwL4EZt@vQe?rO ze+n(=e&Xt4#Kgj~rESeLqF!OTjX>deaA_5FrO8i6OX~y2wP zInv}nQx_#b1|JRY=f=}g!gQIGWN#~#BTtcgb7S%Nc=ySf|IX_UcV{;@ZsgU=&q5)` z{cRI+GikHjw=rwUTvrYfcccQDkU8^y<9bAQSO7$zpBm9qQU;==uo*X`Dl_1XW(lVJ z{Emx^jLg8o&}CeWNk%pn{<-kI#|D(tnh!?of+n^corYM3n)<+I6l!*c&?4uA_{f*1 z2S8Wj$gx}fJt{@fzrLLDV^Zk^K)THIiehSb&ROV5w91*uA3Ob@Zg&zD``nWG%Qufz z-!GM9azliKg{lNuJb~*PQxbB$Of=c)>7}cQr~^K6^f%htMLRoCP9br$0~6WNz#bW1 zs&uZPvUAU=mCQsD%m= zM%HWTLDV_Xk|T>V4|K9~OT%;vi*aS+seA|RxQ)8EiHjxVT>-o;Z&*|?qayO@CeeXU zP}6Or#LbE0W?q!7NN(`IAF*!Gl?$3T5_63218&KoA-+1_9>u@9>|fZevsIK1(^j~A zHF#NKpR9Ola)xU`!!D=F5|2=}E{ThCnz&_vYT>B_3`(bp86UU{qf?~KEy<>vwQqI- zc*s-NJnk$z@UtBoW#|}`DUn(XA-j28sTtO$kGD&kfyf!R(36@%E01S($jV99h$>Q`Nplz z@tY9@VkvhLq7{tr-Y>b5bV~u|tq;jr?i(Ej$?JRX8mTaACnbD&Yj%Z(VBkgN+l#KElnjLKrA96!p8jF(w5g%o!Pq-uYECU%~Z^S z^iLAliT@sUm%K!uWD*OVGfvc3;CU!IoJ8 zCryPpn+0$v#IWB4vSR-G&+=>fyUhgMF9YWJnhCeFy+Iax9bw?Tfq><&K)8OiGW@BQ zDCi^2Ld>+vQfCLObV6#UFF)%^QxF!-M-Z3uLEoN@YvT(7`D;2bMm+*uEm6qIl!94p zu49{h>vlV+zqY)kvINEmz>CznUONz^BX-vfgQ_&ZB>nw+azaK{kbb2FP&$LWITzy> zfB&_rFGEMR)8&6MxXD0H=djPeTvnzY9Xgk4GCctgy0cLt0tUHOduL}bOoN$#N?O9d zIVKh6m`J!P3Q(FJ)O0he=z%nrcGReYy4rT>&*883N92%6vS7&}&X7jz@H!7(lR>dW zx+-hDwk!Nh5q50JLWPYXB6ed4?wp5g^p~-Wex(ntdB4e~e^;)hp?8Md5egHR2wve0 zUrue?cOBmU^w{`td-Vf~qCa^<2UHu_50D2`^~!H|7gXYZlA~g1s)lhhPdL&9PXcqc zC9v7vMoNd`=X^lKF8g4mjh8_C$NY%nOuI)Qq{@zjmUiW_IfIX&+yGDBW?fgM66sUI zWQ0Tm{)S24|CC^<2^b>5j1!1^`P*dV_VyZM+9-P_w@>ETJ_=>KNBe!+C0~8*tp|Od z>izDmszQ+`)xIl5tg>C}{qN+ownj`yD9Lt`)bWkqY_EPyMG{&n1R9Hvt*Zl;Q7<8m z6x5c3w!B|fV=5~tsHmu5;ozvG-3i{uQ|-lsgoI*Ykt+br$>rbG3{Z)Fjb#p(0?Z1a z8Oo(|u9oZB_`RV{J(fSGtqYcna|et?O?dM;(_&~Tzs+u zpiw%sKk)|m?UN<5X!WeYAiSQPUo8<}V>(N24UBAMLZ&(WR==s_Zaj+yRcW&nsWJKU zJCW8dM$s;&@i~z5X3VidqobeztiZ5-5r|sAJk(&fK3=e($(5LJ>oi7ua(-Fn@urD8 z7mb0b2Vn5}`rSA;YqIm|<%q~=yPFMmcffX=?-xyF(}MhZ9%y{|_z2h?9E?pQdzi)R zDAZ@u&W!4{luK0ej(_Log7tX?5k|I;q1kMJ2?lj{eT72-6O^Zy=cMm~ zQjAvF5s-*45*Uq)hh!v8Qp_SL1ZG-*YJ`Mtx?u?(9>6)k-CCs>L5NAYh^cXw6WVUt#=HIZR4_zwq> zK?tIIP(RE6otA6(T>O_$8Hu?O^!3e-b9E&raX#mBYg#PGTRU(|0H#ZlkD1uMJ5MOBy#h(k67?WI2Cb1M16=(gQB~VEQ zJi5ETYqER?DMarZoNLp#^5czzz644}auTDm1U%Taxc(JWbHiKI(n>{z&klI@^1s_9 z_$72hT2N51V`}z!&k!yXiOs!gv5X-J*>nh)^8tWB$|jj;m~Hd#-|#6**SB5dPFgd!_l6bD8S9|K!Wnc@R+x$5Xo( zoVGcLqi;REwhy->M@J${iqz%OZxU=`q(uFp3mY6Pz$QU0rv7h>5e&(C07ZQxAA^9t`?f@JmHAZo&@+9_*}|9xZf&8=lrKsxmM#|>*JvCikXl~V7#d`SxbR`;(~akRSW z7{fCU$w%UvgfD}DPbj7A;PA*@+y3^aiWpKbHexW7eERPz6l_9_8OEtca7GA}yV zmm9?!HP|~n;9F^KAQBNqK4(u@sm%4#EkmkQjFf6xW{LV zOaYX=M1)W4DNe%@5Xv)c$}Xw=YpTv>l*DwVwaA7Sku-C!n7VgUPHF98K;(Wg2sLyb z%=u_!1W}n#AKDpyL%O=4?Fz9)>qlGw66Z(n?(Qv5$kV%~Ww$-YjLkAFnihCsGy<$~ zm`x`7OpOTS4H}4k(=an+BDr+ax351Ot5lFaJOqtVaH7sCg}n9L#bNx2V88Fir<}ma zA)N;%7NO`fJrtxbrE52-t0Z5bWV;eWZ0%(OW{*wtzeC$F>hv5(d#*G9mP^c)hvpSQ z9H|E^Kr9KEe}7OyD~O4SP5$O;4Ok0VwEPLwvxHIbO1Y!@AGM9BmVQtw)Y}eEhap1B zm4kxwsQs02opl=bJO^WbW(yA9&8og5Mw5ymr8-;Tuc@u!4^TK2N(MQ1fDb^+&6o1I zP;si*MCwvt>TYs~I431|18;*SNwy|<$`m~Vt zesA|7N=*=0=ujbC z;aj(9&#}|?H6k=jQ{2th6!XARhkxTdZ{M{A`fI<-c1_@8DonBtrd) z8K+G|UCHqM0Ro08)mS|>1Sk?dd(*x!EMU%*F_kY>Ycd!ka#X*)WjL3nUQ}H@q>mxb zPqe}PDWS+&k+c$V8j9o0Y6hTkU;^I81(PmuWhRF zRRTQbZ34=E9(aOb(IEx0%yE$!ddtC{d6_DX0y?FSD z`@0a(2@v=67_LL7A?3LLP#}Y*)V{>rmdfqldap(D@dtePxRkUuRShao_~({`7|0Vu zqw}4T_;rgh?6$<&M!7c z;EY*uxJ$fqS%dBlIFYBq$YC)xL+?eaF2~B6KnV33YWky;iq;yN7Gnqm?x2 zM2bOUUXyA~(B1(1hcWJFwK#N_v6{rH))lhHKW-xC%dMpRT+hc5g1u{FcTdz6^-ztDI~lj;ou z@Sp-a{ve>Y>Jg&;#s-p$t=n*%R{{nOz2cj=v?M$z6|iH4_&w;sq6Pu&Nv8!L_;+!{ zJXNYtUn|z_3o}GUvr{#HKQSxsI{cd}1#d8fIwd6Ftu^X^Do>(L#0R#3-#G zea7r}Tvf@o=VwjaFZ*Vd4&{X|BL4F&GIKv^Rg5e0 z@Tcz@%uby5KSK7Uk%OaVc01yCR^IPD#KZ1JBM~D@{Lgnb3hi!8;jnR?4L7T%26m!v z{qEM>pj;+)WJdCQK=c+8|NmTo&^)t)F=o>f-T24G5}Gb4%k5H{P6UMB&PKG2Z5|#Z zbo{^q4~GR0RaaiFge;&JTJfz_s+ZBE6QCGOL`|BlK+nM?n9XTuA>v%8jAxq79l)xp^>4ZYC5WD}v9S^^r~5AZ=s>-tXe7Q9A*#2^ zM8T_#AK<`BC>v412SEo-g-u!ZS#oVUH*3~-auzX_>ooL$EUpr!Yc9cJt9_?t-M)c= z8jp3z0iR{pV2-aC7{CjjkdcsH87pPa_srwj5P4}QPWH}oWI&uXUQXl2#lwHKrCZD5 z4C?T^|1op;#-G4H7SZFw5}qy_Uk$CvJ7kp>1GV8zM{24r=|G(gEa$cw76j~-lBU{H zFRvmmug=lG9K_O!viqxP+>0>ZgTLj)n~fj1GE`SL>DqhWb;VI?pbRwAO1rjIn0zqT zD4f9}#g!{nFSlG1ic!$3q^~SW^$T4XYwkNd5ca!w7k9=c1KfW$42{0yNMxZ+1JKQo0hUcpb;?&+QCrNbJ*S zG6Ku0Tphll_e?Duj0Hv-#|`?NC^z0AmC~&hTMHhYv5zW#KO*o55S;A# z;O0K>8E;8!a#IWTd8yPI&GA#{S3;FKwB-+yGk-8Fe>8~_ICm&po;SdT{YVIRTQt|_ zE{#b@fY9i7!yaQh)_=8A+jcQtf1Io)<)%9L!Uo7Jo>y1%L=PK5re-L$Y8k9yRaG3+ z)HFXNL%(oBgZL}Kw+bdCwB^)?T=hAr= zWJij~v~a*=KclvGR(1EWe0qBP;-Vr8l~^b>FVA`7RjLU9leW{XNZ(q2VSrEPQHtce zZjS(|W(khVtlfI-ApNCG1an_mBUrrCCFjf_4*-KbDD#^ z8frjn5^wgOP#s%=K`8dt=x$eGsOR2JZ5|HSz86;pWaO7T$ImiUq^8^)q{S`4G&1z1 zI;;|<-p8FSPm&1s&6kZJo8`M(Lp{{kHwTM9Wt}0kNaSr3A@6E&CI3`ewkZLdOFGulBgeIN!O=`4isxRq)*rHpFj>ziICNobp@(5#&;ym-s||CT6woVJ z|6nIFcHK2iYi9{FBi`cB_l()m>MR6<_`rL}`~!#`V}-f(mVd*#T$k^j#ejaiPN0MfgS2STRmgx04^C(7 z(Z2~lrV9DWY+*(wHgiDdTyY*@B^7Z_&CIktm@khUp3hxs3=lCHi0L=3Hf|LBq^M{z zuK+Cs;=I}3kUv{4)iGi`9U71ddWHc*Q~;=g!u?VCdE6bCg zyU#?RDcoDLFd(;qz#8MJoIQ_k#ZkOqJhXRn190UmKoUAofIS*L(VNj_b?P~Rs}^{>d0r%eExf4xs0gHfIVKNkb4Ygo{Q>2BT(sv8jdq5dX+B8PB$`wxmK*1y_~=&*=2?`t(TrIB zmPvj7g-|ZqTcryP(Y``Oqur2CfBZ&vR;qW0xDWCjFJm`eX2zQX@nZIR-@-m zt~YyrsQOyE@5l$D@bvU?Hp?{RwrbASX$o@7adcD&OyP!k;yF z1l3`Dn<4lyGWrjQyb%i7r}*3)#q=LZ#Bq+ioKyUHx;+>^t&uO-y2sTw`8V(r?5}_z z`j-D;X}cpAKE6XpmycMm%ocV0=-x`k8ci{nbEPy%w{+r6AhWq!Oz!qRil=L!5&tp@? zP6W?XDBQx4n5@)(clGlN2&w#WO|QVes#%nnd4$uL>nu#Zds{jDFMsptiKE?AD$x{|5mR zc!?kh&zl9KRqw}>2;UIlQ!p0Kn6HbtDk=gR)MS<+*jtu9gYz3J-oLNo`BQ~<$e`!S1(SbCOz#hQnOC3!C?oYeqVIklWQBCI-f38b3*Uz1-O=v?nDc zz?Kx*mfr z%!uRh-p}i^K6@AX9o8to;acqEQ|>POLcv37t%f__wyQ%R^rSASMTmTVFK}-Fsr{EA zcG+40mIGle1$zq`fFwq!LFR*Lr|@2_^lDz~Ln<6`0&6g~tM!8K&1{T=JF z3(3E)`mk_Wl0+QS`h^c#3zkqkOggj>!x{(vaK^^_LLDjj&b<{fc7gyIEGe+sUfut(O^QyK zLs@U!Q7U6gpr^mf1@{(TfDEmygot8%^bH}FxBy6nzKm86Ja$LggFR(l=S?0Lcq{((sL8ck7{FXi(GMr8v zf!qSlVDZw`NlSctHLOLK2ZVkfCc_|l1_687&l#F!k~7M^R<#d@31UtM|RlQ|3o zQh=pusm+VG#R3;cQ}XO${k8bqz17@v*13Xl3+h;pg$e}@ys-kEPQul5HxlGOg9WOn z^nuTj7UV;XXD@f8qz2;Trg!bWmi;GV0c;`&{{$%!$|Se0`p!Y#n}g5gz`eH)vQo1Y z>?eIDA7Om^Q>u)sv`U3YVm_`F&Y}T-Y^tyi@to7Kqvra?TIQ?J6*5SuiU1H>m6qG< z^Q{{Q@4U%V1+&?+-|6V+L@TDZ9GfSO-kY1e&L>L6c-$NZEp36d&6dhc9Cqc-g4cZc z;k^ttA4xkt-hU?YEtvFvmK9D1K1@Dd(Jl)b!tO*7?K?3bY1Mm z1#i!v9L6th{vF^#!iRKsg1^dw&pJebd?vLZQ@Vdwm+zHl)VjfsxuP%eeNltgQG72a zJS1!0k4zxE+-~mS?foK=)lKpybATF!4Pf^q6mX3NJ1Cp|_CWhc?=`R%?gAs|TdqHm zj~tg819!Dt4KIq-zQx?&g1MOV&=*2XO(+-9(*>rJZ z$@`G=*~)E7xNVO*Q5<3~tUq#);+2IRU_p}ckmYaI880Cb`>nZbYdH%^3Yz4|kwpG? zw0YWgZ@Gp-qtNAX7Ph5Wfbz8Gy+Ou@F$HKt8M* zxA`Y=(I|cZI<2e%{Q1Vm z*+OWjlC7b+NU)&VjYfV6ro|V?M{NIRgreFLC21_;BvmnuaOoP9Hu>rSBi1-*a*3YG z^tDVK5%KaKs1AHChm<vqis(|Xn8R_Uu^C>T-Cjirw~{ZrXo&G1$` zJudP0=lPZX#ZZ(io?2mdq|t#g1Dm~0-0M)9A(_Q^a8F;y-s+>)`{If#Kj=6{qyW*F zkjlz)hVm%&f}N1F`l%Mp>7fqeNX5F#M^{zCI;{o+A*;o@Z?ByJzptaVb(zJ0af!7< zL;t7iuAB%S=|@HoAAJs{05nbU3O#ctEgg9pAnQrrltrmy;vG5grYGL<_?x53hXeq- z*v;uue}szu?)pYI&oN5oWR{G)GZ#uo0AX5`as_VlTm&cuIdI-`OiaZbJyy{+^p=G!rwE~AW~K&YSupXB&CDDJQF+A{#B@Fvvs0Q( z=x9-8W%i2pdmM4=_JDgNT)Ths2$a%)yaUV^|60lJjinzRCiZMZrTr>~YM7q9<*(r+_7! z%xrqKJDOhi!q979(5-<*Nn(VYg%hg$s+eHGQg@`_`DN1oYHI#h zXR%X@9%v!5CdDRfp4};wQ5iNXJNM0DkbFt^fql-bIq2ljH!LLd zbX~Tl)WqEPZqV^pw4NZK1*XqDNq8kCrI`x-Ovri^@?t%~-I4TRfd0{B^%07vmhUoR zn|58SrEje9(bpLvdIuZ(Gj(v6DGm5VO#x^OKycz}Yd>DvU*QRuqlw!P$jD4-E;G+j z{U>>p*@S_R&qy(h0c5hubFjEZi?M-+mR1r1wE%(`3@w1$anq4cT0!Bh5Cxf7ATTZt z3|n*tqPVaB0Q{sHY%rvu?}*$O70s4Y^9K$yK z2?`aB|2W%tZQGiY}{3D#*d0^hzj%L=!Nnmd|-|U!-VnUW0t3Ey|_5vVVorY z!dNmGh#-b@tM&O4wBre)M|vr1_g$*AW`ckp=aGB7F{tWTtRuaTBpy}DZYO{*jRuS8)yw4DHxA=nkB?UW zF=n~uapO%KTtnJ!Xar1|bDGyJ4zD@_3x_c6B+|J7E8eI6Za4v;D$vq1<@dkmu0Gn! z1QYZ^Xi`dPL|cYhJ|_3p4EO89Dwnl3hBn-Y*`X_zmJW?I@9xy;0=j|my(sS0jt$$a z*#jtIlAIj9#;Xk)uHouHN+oGE>54gry8(3enrhY$QNU)RSfb9<)!of%ZeqQ^5MRX7 z3UYS&K>1PuJzmw4QTmSG)^;xx>lH|Jsz(Zya{rf$PGV}%wI=r57ri0j5z*6Q27GTG zLg%+um+WT`X+95Xh%rY#U8=E=SFb|f=>tju#^Z1c%;`!p$#^A40hCZB1_ud}m~{TY zVl_K9BwS{b^{h@Xz4cJ*Knr9QvHw9oC_M;@8w@|ic zl27A)bzjiG=%dFRYt@@<+@FwnTJfp$b6LX{Ag#a^(3-r5uWK3@#+(`&B?!HaG&d-( z9uJYE@Rirg;L#vN>8z5L!t%_j9HEek+ZXHY@Aj|n9ay+$H~e>pi+%>)F@@13kqac= zpTIuDiWljJ*eI-YO;hfTYo+-gsl~^E>c0N#!l(M79p>AF6czFj`e51QmO$Br;Dt`VDhrz*y z-^_fqXTFmLp9*FTU3j4K%#`-g^)Mi`>#Zp0cvJuVLq>LQRaColojj}s10M`5EKu+w z%afTDoLd@Mpz=m}Z=LLTv zde%5I1%x1HH#DRu;4*EGHG}4bR`+&9yoVr2F6)JnRF#6k;Zain4Z+fZ5PAxZ0rJV% zH&Ki%;C-n&=_j#m)TJ%%0{06g>>yCA0_|&PVnTVar$WcTyt_cB0zBT}RS}<%GO&Dq z^%V#IA)>?fyE(0r*Ms7p;z&Fp|C}6h^)kJvZo_Zj;|cJaB7#O6j}X*11DfUI1snil zy#4x_fuFyHynfZKl~R2q#{h>1;KJdKz>etk?=`~aE`cfO#cy~OtLcx8Me7n1gGWUz zFf*aF0{t{Q8v0w$s6rx*ur(L$1RDZ?M*9}J($I4Y($M!x3=IwK@Zz-ikCK97i@eKC zja*nb6TE%R#xq7KVg$NCYeq@Mx<)9)XM=gx*nprzXez3K>iJ#n4}??g&|Cq$Q(C5V z48Aj}Z0cLX-=t*&P}^hHMLQH@gZjvPgQ%wbH7G9E7T-t3B6Zu;T%FTc2RE*e4%ePo ziYQf-&6G=0U~Jb}WY0#S+rs`hs!qMZClqGx`xyzF=zK!y?Dbm)msA(CwS*y7|pX1As~p^S&k8=*cs#f4lWC9c@%YZ6;;z8^o-SFeba_5%{u{vO#}ida7ecyO4+Q zTNt%KK|B@YP(%L(BsP7#dfe&YoA?~0pC_kI zeYMvaXt)0@m~V~0cXaoEBR+ji416h( zoSpdA0Rf0>C?WB{=?PwTtZ8!K0Pel~LIFm96yTzzrsVYmbI~40si#mf3&IBn^z9XI z57d)!jG+{7$gCL!i*QWgqSJ&qCl3)yEk08<<;L{`A4%7A^uzU`QnNf3(18KC*mivY z{gAUz0T}A>HL2<85o;Dk!gq$xn{?iuQV@6nRu@3tNolt=6!}iiOBECrPs8DQzAl>) z(t6qwKNwF90CD&b+PR;j%vPV=QX(aR`ryBGLVd8z8;*qZeKH3oh(>0Bg_g9*Q2d|! zJF;xD1RPvtr4#yl9eUHWdVAgE^5eDoOw-|{Nj{+rVnKH_Y_+|dx`U}!IGgtCKcvap z&qBm+w0}t*y`XK-j@U}==OG!Hr9Qeie{v%W)m^UJq+_T1)CD1IwIn&U@ChjG*N1cc zU@$#tE)g9GYvsa5E!AfCTh*ge48QR# zPCGe4i8r{9Rf7AIdYM-5N&T99Oom{pRwxz8|9JtPJK+Q__j4l&xKTjj9v2)4uXUT^ z(&NQFkGKd0Dl`3`K;$2YcBja;d8J$g8-^P*Wdsrdur|QeCW^Z{_QJ)s+{qs`zyD@qJsVD0#s1{1W{|Xl#~hNMGZgHpBAp-qYpdb zejn%IjvB;Yq7rYTzHB_HK4A`#wPi zI`WyH@_y=1wV7II(Wite%Sq(|XV1}Jx{qFN2UN6lem<`RKW2O@+Avm7oopIn85jq$ z)!$bU@9zHsbfs090N8e7-|N%&B!V{EqFFpko#HMCv1HOa>9I(&<=YNIViJyv|>2hdr@{;@JgV&#bi>LBf{`u^jMO6xuk?Qclc0Mq!^^bDvJCjgJ8!ax`T%C8LsvK_V z$Y4Yg3;uGu+BN)``WBaYW9xNh8xjh-C)_y`g%)e*+Y0@2|L0Cr^kUs~HlfXkLvA6t zc@5tSlvG8)UUv0(a0H^J!mIZ)JPL|rTvjD*4C=S>wt;?QKy!6GTn<`p5l}DtI`+KP zhptw@ET4SE{jM7rkE+4f3+Bt1SXcnJj^Z9bteIrXLul@~m$s=E%c(`en$Xau?J|Oc zmeKNiAYX&31H^9LWj|%KpwWt)Iql`x8 ztJ+f<_;s1hT3>}$DsY1nD1u`QI=f(iaL;N!VF0Y|VkLL3?l;GSO!deH{n6=9chk;V zJ@t|m+!Iwt*9i#=Km^Vb4?zL^G*z|EBQ;x(<-82pH?8B1Y9mj?uMB1nGMSueO6T-? z0@eyyv{{ospkjD4lln>*YTUN-}mq3<}Zo=6`sxSV4_7gd^z; zzCdTHbgN@^;!m&y#P8zf?`z)8>(M-fU4$(jF0S|8wvZ;u_Yy33qyZM`-Nq&}nM%3$T64DBMc!hqS267sHM^F0Kb8a8Q9W&$n_j^6BJL}=*xo4Ri* z2KD{m;CQ(;BxaAr;H=Hdv(XcVrR@pvY&_$Os3F!#a%Y1gk`eW%f}vEME@ znpHnI2SN8vlP#nR3X#l-R-K|+V(AEDG%^3s6iXW^WgaX}T9h*p|8$G!$E&^=8o`U? z#4Jkb%~mi^&nr!ss#XR*6}s=W4?g?{tLfY{(J%R|DRo@ZFhuD6)FI!@|`RL~>a(cts^ za1C>orziOKV?Za~x_0Gpdg9^te)8MP@WP2$kOOcCY4DK&Xbxyw9VcOvKMs7hqBM^2 zmL0|gLFsLiXC6IEGVtrgB_#B4ua%lkS zyyXCU!-K=+botQcoL;@HKhh5rUYc^2#vW0g>CoBPQJ=PHOJxIABi@auZ9>$6O3CS; zvbhM9&f4$(;&$s0jIK0TIR1kf{pV!)mBe!B>Hskt=DhrYqRh8Tj(_nNl;^%bQ+uwIY4m@4*lP4ZG3Jyy!N`|0c|8Gmq1WZjb+HggLw&$BQA1_!Gtomj~e+HGcl);0u zn(t7S{MsQbG*9j^s6JwACAb5pLxEQWHh~FPJazNZD(lT8Q6ugOcWoel7@&>+$*JqW z%IeTe13;wVtB~|G3P*C%<1rruE*ymZ+QKak9IWWKAdt7sXwvCmnGZ$fMs-!^d zZdtE(+eLlNw~CWHZKtO*iocp1TviJ*G1har#q?`7kAAyViP}-GUN>&pzcKM;`j7Z* z#Vaz}i)LRvdM>v5ziV&2oA~pE0FbTp@?W1fBUtvQ@`oj$7^CnxbMo>60iw|sWDl<9 zjbqf5B_B%qSG^v=eFQmWO6}NjAg%$%S3Jl>MJ?YxEBnDlXe`(rlJ>%C4~o>DEL(t& z?-$3nag3ELzwvI-jjM4SV^+M$!=7ayJ8$CW$7`S{A{bel({30Vf?HKURu-whe?YIo z+USwm*GgA5*pjG*h9oc;Jj6%tskaVLr-0)lv92co=daV&N83ihxB95{b%POWZt7h0 z08s^v;f`}u_{juM8C)UIp^4GW8Mg!oxT!`nJqzJJu~0d}UDUTw^$ zQ_=RKAT#GD0v-u~XNE<7BA>;SrZ*mTm#_+XtK}b6Kdnce}OT+}teGs37L_53u7& z2XQ|}93%!z^??3vaZ~}R*ETPRf#G2aUf$Ge0xpA^1#oO-Uhz;=Rh6?-CLc#89AE%( zlt;vPVIbG`8rHw@W}93viDH46%I?z%b&NuT-|Ba~?5S064er*LQJ+6R{jha!MdJl0 z0KnFP&A1gSxc~nyA>;G1`l&xw+HCIm^yV%2kjq|TP~pWnv_`u8E{8plsb`aaoQ`B_ z!(Zv{Qo!w0V(CRKTM)GVx$b9&qyWZ=f`qS($d)pj`2;C=id3JYo(YQAT-M${Sq3lb zG}SZos`3AJQn221d?xs?i;tJEtMFkH<&6O!^b^@S=I+r*kSFsSum7{ST~){o&LVAa(c!W5HBdnDdJH#t ziQ?{X+hT(h5aX+EfA(?}=!)6Q4jGDgZT|-59s~c~Mi;(6>PY(~KaHRB3v;oUc^bA$ z*Cj0QnLGU*-#h#)(&4aChOsbkv-b3&*%nU^hD{QpGw}jDjRMWV2S~z&v&|@OXta1w zph=}yL|@sF8MJP|8vec8DK1|g{DxJrHkQ+hiv9rs)4%7~BTD@`g-b4lK+`Ct-34MC++(N z?vmwqKH)j6fLs+}a`3zc0-woS{V`WFDhfZ-(?=O9S}yA~AD`h+5?uJV!_!e3yQC8D ziXMK3psK4vyQz zv4k3!YL|X((?N48<0|E1;3~n6n3YkoW9yI3BrR8C;Bz`;l)I07>Cp}O?>6JvLdS08 z$Jl2Qw)G@!V9v$CPJDm#pWWSrsGjErjEQtkWu@K-bd#;qk%nkvlO{Er0_M!><#k7L3Av=DR zR++y55xxvatw~5o5c0T&0wG{(>yMAl>>{IHb)e6xC&w3jZZN0^uksK{r8n9;P6SNM z(ieGWlrt~IjMu-`(@7cJt5Sfi9$s8c!(Bhrfwm3`pK?n}BSBuy-SLQcJz*5wUizv= zebDg`PZMw=BwUMCVepurH<88)^6iG1o?@yu5t7) z6Hgv&m}YTkX(zyg)INeAMi}I;bM5Q!xp@vhu$6+8r}e zuSatK(u{`@-nCKvSB9d`c>jb{Zm|}vC+GpqLn15m>JQf!-B`${UEpjLyyk#f(RQ($ ziQ)!B)0FkQ{}o$#xvI+;+&-86us2; z!)O1oBs1lLM(W>!PH`SU4>WXH_Uk_)!JL6HZNMX=(ImoMsN=U17NPRd)#Cg z&LB`*p8FXgnJQ^K#qTsX#+EM~90q-5CNUKR{L~9_!9W4@N0LNI0w|@>+gVPlzdt@P zRe}=3WyOwWSfeyc<80OF^}P|}XBWu333ce7YTNHE@2oMS2sn+-+FF-6kBPC=I=Aff zYq^+{Bf#W&s#whvV*YW?aKK7@(tNu^DuWWic7c?S4+0BY!f+v3KWFv_Xt{ShTs+aJ z_|o-@)A3;HLptNtO7MF*x7`o_+y!r{*{8-bzin*x0;X@1<54uF#kuP;q(lV+WcP4y z{Odicb4b8@!1l}a;Dvabk$`M=vz@{mbT- zC*_Kri}1mm_=NONlF#vwTz4=Ovd+={i`i&k_3R@yoz zKFFOwhXAq(D(!aS-AIlO_d<>7UjDO=tQTv_3S5a?(^>o#8yvXGg{-x0b)KZ9!k@_l zL@QIQX{vH15tV7;yh)gTIq(a6Kh7_1BfzPQeYZ^sGAK38W35MJT)^YrCssr)QF!Gs zG%Csz;17UWC9ZmXdq%^>brb%|?e*XY+~Grrx-V?8?J9Zs`M_5f?uj1Oa=F!``ZN3$ zWQKmK!KnRIq(q>z)lpTI?xS(0qObEl-%uM89WZr$2OiM|L1IV|0X<+vd52IgT$JQ> zs8y}Q%y6XODoV~qhaNB})_gTUJjPb?cBNqwv^xUG#3{agaVGSpus^| zS^1D4^9oXJXfBJeVc73_`UmI77>lqxIug-`G7HQ#z6|2Ih%QZ0Z=pTqv5RYNi=Vp8 zup>(fOj`G(q|$x7UH!|{^2DC9EY#(edj6Bg6>YaoBiPxDE_}5k zL^hzoXXKT6^4c7Ed+88UoiRGK&6H!Y4l~z$%~R!?tpTa~%$6mM!9ghaJ?1!n&jwnu z70JdjOD99x5YZSaN$}&@-)>kkymef-1})&q8_NiKdEUrv#9uvF_`qeImF~bF5`)MF zrC=#*-6EZ%#=z!$J#RdlxzVmY6B%i;^=I_o;Utlo8gL@P{g^HN(BQLC5YgCp`{k3Q zBtTn@hpQpfzF_`p1EBdxFuJS;x-S?5TWA$I!_uCXo&aYJ}=#6bM`3L3TQz=L0~6Jbm3zbA;P`n{nV*0p`?l>4I_;ZX%yBk zEft3!yC}hQ=IM&fCgVhw{RC|CqzF?!-s;pft6p#m+^4|I3ze%?oRc&A9XN{{beO>t z1@=|YSCBIs-ss-EB5LN0bF!o#(rZLlQJfZu7e%cPwSUVtnSD*;zFu&~$=JG*J z4HVM>ZPD(MgU*RTt!*AP@|rhMuE8hLUcr@<*pmSp4R=UQSQt>cPk)tt0n<3Wm}KD0Hv<{eG~q<3NyfuEXVU(J3rk`{!StoYOu8JCpwg)9r_C)q1f8@_o^!qvLRMkb zFP|D75dc{+46x03b^fgJP~{irB+Q-{0U_}Hnm;}To~4a8baysArd=Poea||nLTB*L zXqu8*sP%-e#~CqBgK(P~0}hj(n4}psS6U+IqMmNIS(6!8QZkx*eIz-#-EaxLc^3xa z$@?*eb00Bl54ToXUfIGjz`Ff{ZD*KL2-Hmm9TErsZ&cwUd`2-SM zh#f-I{NEvd#W_R8sGfICG=-4sz*V9rphp66fj%S~0Vw_CT<7?9Ouv8z1$@`=BLhpN z>OdpLsYwNimd)BF@bp68OWK0rk7PVTnYygZ5E;0oMigO$bZ`fpIb5Se(yK|?n(EVt zl}tWh=+VWVzcg5I!%CaJW_L%n_#iVUr~O_g1eFX?W!6{>NuI&^&Q^pdaA5BIo5wwG zs!-F&h`gFHw-_Y_*LfH zg<}lg!Btyrcy4}P3+Xf<1$e*rYu*%N*ilKFIpl3Fyn~8rAnAjvSOA92NN6(*lA!T` z!>sLd&HUF9Go+$H>6v0y4ABA{9U? zd5wi_GpMnW^xIh|Q@f9qly10Z3DcV-2Gy6(iIn!MmwlM$4m0`|BO@WWp_$ zAEZQ4Y{eW)(Vxj6NlAPNVOMrln(Z57DW$$@^@*&%&hww~&z2ap_UkizEj_HPm}8)Xw?G^8Izn!kSV^+LARm)5n^w zZb>xnL&MCr&kYM&TP>2u98c`cW}e&GasIuJlI#XS@l+we3_5eDP8q6be{o-Yd?Dyj zLxv4NCKQk^LNz$os8q%(Nib1&Y`(B%-46LNDTNXD>)c(IhJ9T8I}3VC8f|z&QW9th zo@sMUpUPoBFK?ds;UqI0qfYfp_%3!tI(8W&XDP&z7(aZ}y5LK*GxRUHAIc0@WZQug zNBTJ`+J*v$dc`4O>fae0nh~(%pyButkdUYV4}bp76$oqSfWbEP)1u1WONS6Z^`R)p zS?Sb16ikPa!iV~IgkulyRK-(f5OI%Hh^@P=X{AR4hr#YxT1C?c0dn<~Yi8T?_9sD7 zk)7SbWL$$ASL)Rc0A5g)@6YNCnBDvD$4>FrCFhfb@o;2GK?gKKLOFADS}P0;)q>ME zT~ChM`|08{U{0iCH0vid@@Axd31QYfn5xres(!_`T8i`8XMG5+0z|MugW(Mk0*LEF z31xgV5yu!}&({?fyhur8NecJ$=#^#{Ok!erFjozYjt1lIw=Mw;Oag{0J}9XDiAJQ) zD8#Wb70BeqMhXbXO3S+}uy}vJm=6P&Enup7jMFdLmYc;mt#9e$`T0#Wh9FF3TNxuQ zCSbHLrHgLJrI@$SepgXSh+pJ_yneo^KgQ{^mN*%*LQdc%89k{zpu!vr$nj?>j@r{H z7FuZ%eF=x{Q4x6{p>jN442{uaF~&0B`fqFY0+;5y2V4K{Mt*6ySAuVLOkDgsZZ24M z!%qJQj>YK%;L^Z*RVJ18HLt3%PM^}szgFkMs6ZgCk%Nux4(=@d4k-YKWwPkDgPp>= z2z!*Rg={n`5&mx9vD)$MTV|)(GiPLnNQsQ*8LxOd zEWU=uWx2aS2f(gH$rtqQV0^7Jdk+cecX-&?&#F{%wG(j{e<;`&nqmCkkL|~Or&VX1 z_`y$7=AlCbu?dfW2trTA?IL_nslgy3R>2KsYBPBYE>}CQg|n1Okf!o9Y2L5TzekAG zD(w(Ph!uJX&TaYV>FHE}DYU_n$^Yd4dK)p82`FZuCZ$bRt1 zFRI&l{ld}`+M$xWba!rF%+=>3=a4Joq!BoTdt%C8|K|lLWV7SWa+sf3+)>ZiH|xY@ zTybaKP||49y?AKI0j*+OopB-b>)%*=W{m$Um8JOZ(e^VIBGVi3J;4wUh)v#~y@T6c z5_HHp*JPnx{2SCE)o6rXS~XdbiOh;F@d5qE$Lf`41$g&H7#SL#hFd-J>49ly(6L6+iCLeX}jPCuuk)En0sQm`_VtVq1pK&M^*6g_LyX;x=czx0zbtbC=Z zNMuXZ#36CN6e1yK)96>dIhh6)GUE4J%KP>BCG#g=-?*y%2c#-rr>pfwr zzqr2p&r<&3tZbSmIiIB*+3$eV!-7VCoaRzq?86~C3 zOm^;qEytPd9gw{Cr=6-a6qnEu+tO}O(NiI&LLHX?L?P?O9h{_>>fb+VcKm&_Z!0-* z-y?&<^daEu@RpnmUS9sqcdmq6fEqKUDxDN1FZrtO+k#Th?jbNUGZ5FfrzEOEA*h>l z@O%&t8+o%pl8!dWpKDqXDvAozb#@us~6qnDR=5+qq~Z9i+=hn&KX`*54w$|Yc>j)bGrGP(NlZ2RR**|acLxs zpgKx>3JIuh^CKPjja8$`MO_;4w)o|1t!Kkm=scd)3YXa-e&)r`6fIk~6MG}r)b*U) z=vLiOb}2KRZ%B9PGDCLmbWy=O9?!sl+_0%B6?3P=a8en-WX-5*sOYMF0WBwFot=({ z^M2qx5FUX<3sQE)#o;JK{Mpmr>6q!V4Rt7N2;yUua#+Ij#BiW*?xI7jgXVI8RCz}{ zu@gUeU;c+g$Pum65Hvc~SYOkNbc0!XD`BuNL~4b>#3QYa+cUlM*&GZlkQG5GD4ft? zjuEMw9FyLU9P|`! zCw8uPh7)`{*sf*MV-MKs)=(&UFc%l5+n%l>lV?ad2QXM9wB);d4QEL*Us39?`(a1nsGpxq>X7dsgI8%Hx9$?Ur0sZaq^Q>?9+Gp zq%l(tWeXUL$oMAlenS%Oo~}6!c=(+D<+>XynD1=Im-~)SG^Pvj3zJGje*W}{o;22- zk|oTN{+%(;!}O#=0bMjkFrbmJU6O(xk9H1#5*+X ziEIee555CF{OR%|vug1EzCZ`TLleoORRlGoa942_joh+vpPZaH!St<#^+2LRKdg_Y zYW8>SuhSbi@eBfi%PxEWlE|O}jKKQQ;y-_WrI;_EzW{{NUJVRVA?QjmtRL<#fk4ac zB4ORXK3=JTi>g*8!NUtxFH!5CJ+%d-!cgTqs6C?_*D3dBQ#KDqdS>#EAF)(y(U?U$ zjOq*~LI#-+e;mbQCJ*;cc88#UQYy=EGurG41BqK9-Me0}ee}l=X8)-ck2QxJYGzK;$Y&RQIbDEUfLY$o4~xP;V&9r^ zhk_nyQIIkRlQIGMCD*FQ)Ff4wmssz`#p%&1y4>?A^4@gok>iW zUb|yuvNMM{%rD=6&X*D7Q}sf_q@uw z-Nbg|JKdyt%V6H;!G3WRTtP~${GEXvNHX~kuE5h^R8*Yj9YE_Z4$#pjg#7LaxcaVb zIOpe-=D;}x4mQSrwZ89bdfk{Ta+S=!$dr|pQkvK629W#W(5AnD@90A#$ zSv1eId)w>#y920Rx##x^6#2+H+vP zp*(N{5;H9A4~WUr($e4QE~4=DZyM1*i8|qM<41ZkZvhjAMkBp2i*9)LhGM=AQTS`{ zG@kE@^;S&o=UKOp_)%cYi_dLg2lk)q{-0Rhv%QerrKODcz1+$Y1OlX=GBoNL$uBhE z-l*sIS9>)8SmHB_TfShq3t;dsnJs@quE>ZuvLUUT`hxjC!;%m{J*v2^Kd} zagez6zfsiDVx`MUq6M!*I6Z0C2L~Z-loOcLF?@>(;6Dp&CgS=^=J1(0h^OQEwtJXm zSnaR-^>+C5xbSd&Z=aavLQs9`tc31NuRb@_yLXLM8Z6O7!hQx=XcCZ0Guha!gh=(0 z0ikmSlQryR>VnIwdCFVKgt9-5l4ztc1ZGi^!I2jmHDp?Jx-aVBw&#`2WDr z4W13gzGlkI{*SFIvKH@m&XxF?Mr>i2$tcM!$pG2{FRgUsYSjf5>5U)oLOrfZy5Di3 z{d`5-*rZBkA9UTL=vzx3@D-`TcV<0!FWR@F`DgYVGke0&Km82&9FsYDJjrd?ie(mq z^zx_=-PvnZzar^ri5vxstU8+yERKHnFD0&!{7}UCrSvZ>`i7_bR)6c;-g? z6WKy>6V^U2!R(+6$thlU8k^OV-4z)HMcwaB1pp1cPs@ankdOd(w$tL5Er7Fn>qgcw zk*uhvqqgD`*aGCSrM-$Db1xFT4_%ED_$e`WFn7FV~~XEAMEt@@<+ zZy}B7^&Zau*#P1UG?JW3X~!Pb*jF=)NE+>R|8MO&7$l(Ax>G7^U12j^zEQ*M54ArE`ubTP8bKX#3z+B;Ev#Oms5dG7WnJ*&97EsSWo`_?BI z0C%-rX-HXX6|%a;ST>zKi>N0Ig?cw(9{Y(qhm`#LPGC_I!^0qx28|!;IDI3_IZulX z3rO$31IV<3&oO2%PpGb2QQUakr<#&6#G?QM^y6oo7llX>O6Icv_S(=EP$8GwBE&f{49`0O<+8t7i)ysz?V8H3x4t#Qg4_Tgy%~qW zlDUob^d2Znop2xBB{jhVh(38yWOxUK=lfp!Z#pnnZV!cgdm6{Z%aEh3C@sFkv^vM; zK>Oqe4*ot~=T-JQGS=~YRguAiZUp|>cOgu7m($)rSJ z$d!`&OphW&+WV*l`^ioLp1y&I8|&dMvkx{r|pDBWR?wGGJj}YgO82%aIcE zsX7n9PViY0E|_KsR+`$du30yE{*D<-H=Lrxo2nx#4e4w041OPAT(35PGEgtcdX2D9 zv+0w14g%i^$;0fm5W>%t8ZgY7w8TX7mh&g)Hzm#)aP%jTau?t8e=OnnQ|yqax9%I9 zXf+gU*3e2KN9ARQTe^e2F_o*NjL;#|(n_gn-|Or*9eIFVb>7O^UrfA8 zixEiXlZAH1!9v$q`e1i+*c~$kPMs?tCtutw*<{|hu<+5#><~71%`|PBEJdkf?R-*K zy?YmjQm?L@kS1U~P5Xp}E($5hoX@v~VGqL3-cp?*6l(ukDh{CHHE4as zwkQaWz{4SRG1OzZAfiz47s?G8O3-JHnc*%?@JC(7u&nV7n0|V71Z-=hpQo#w*=3dQ zd+a`_wz0--OIFOi(mCYL9n6Dr6{x3wt5s?P=X~kvJ9e(BEuJg$3NVC%CXT3(%Uiq- zLLG|bMx+ecVW(HH!8DjdCtTW0ldyI8+Zg*33p);#pc=_DD>Fa*iYa~IkfWOI-_7kBPKBP zPbXEI%c@!e)O3;`U7q@1nJ!vy*VjM%(I`Y8!%Kp! z3s!hzTaTC*!81s_#k1V?C=X5#*nI*9hJR-Pb8WT<+(DqE?$P z+NP=bo2+Qz!4r-m8y-_(!nr@W;FZg#(L%+%JgX;Kl}7lPa@b96+r1ET*)D2u|41SY zLG=j-(7W(@_dxEobICx@SfOC(LkpiXiurrS4QZMhZ4)A)@K!lU;7-`cKWWS9<(xss z#iWEnZHgKiLi)*N)v=b-tD@v8Yt7i?dX(!hK@A$7B(n^>;rRZzl(YS!eEw%OrZ2I2 z8o9L@eYqYV!Y0CaMNL$fs=hPRRsL=j#3nXjR>V|=Y<7!-P`37__{nJ}ud0eQ$LIF1 zSlR5mu_-zZ$tcv#(x4Lt4V%XRCeSE^51V!s)~9?aQM+pFG5iG@wD5gLFhs|W2(GSn zj)V|Tn6Y5lIq5%U; zyk6D+av)-rm-ObFkOmv-hJd$an;cVjyJi{wT4 zPtSbbLKN_=FfD^2f60@`7o3}#(@;I~kh@`7C3%VbIrHjmP^zVCN`@2OH47?VFW%CG z$is23Af+J6allDCSwnaKauf_8NR}6P_V?GXVJm1$=Zjv@X9yBcWo{rd25XR1^`yvj zJMF@gP$70UrRbNV4rP#Izc1*WM4FwQjmv&-vFv`qgpNLck7nKyq@jp8_9lB*-2Sca z@2{-_w7vr}w%mS)vr^zi`}>AsRFE%m)8k@ymh+u38c($yi9-}Y+>eaE$lThar9^!1 z>6ekgPV?2e-2Io!cx17GU%-*__l)jFPm*q-%i~fLP3+x-Qp1xd=H#XvsHL?!PM+$i zn0QHonH2_OScJqrf9Z^eo>^-@F2_IzQ)tVr?uwl1hDtcV7W?)M9({pYze*z|DQyT0 z!!^t8$$;5 z!h=G(sPs@+Ru;(>=Ht}lr2XS9E3x+~gyY3U!&B|T97wrqdwJ#~@wptM!x8biY5hU+ z9MlkIgZqkRF|Y3Cw3U^${si9GGI86(90SDtEM2sff?h^ zgx)VO4BWl+)T*@%96{C3B*OJ9l*kTcaLH&tH5O@*&*v*K|D>o$7PgZDuZ?|b@E-RT z#E;isO@EoIvm<$>CxH8ro?v;S(W8|?4h9Bh@r4`b=|<&~Jj}=ENKp}vJ{xWu@^CVo z+*LHrAD7+92}bZ-&~cO8Z{r+ahUZc%5M51eQhN@ctL~UKxTnoZ&E#J`Kc3>it1wP=Bh`NuV zEFYHSSt@zq==Y~2W)S#izy@PrZE1X4Zs2`C2bsOG?hpa#iR}H@0atB37a%}K_bUBI z(0HqVxeEl3enJM5yJJIg^4oigIlvgj&u5#qQlaO!q+NNwq`2PCN(wn z@5J{X zoT8$l|MFZI1_q@;GNmbq%42+7MvRcRE z|My-F>qiKp8ZiRf!>NPj2*~-thU~L{pHN>rmJnouZ5mA+42(|(25TPb0;WUBzhb{V zm%hdoxI9#e#8R?B`EJkIxLsVpZgr_EL4IW=$BiOqJ&brzF zG&{I?QE}U6m`JE85`kUrKoJki39*_dQOT;sutjD|BaqL zusYt_&r?@-SXSuQ&4H4PhfqFE9xi~iPUmg**TJpstxL*}=XpDg6MGZb8}{f#7%~P@ zZ^eRxLB<2bX(n0pKT77r5B>c>2vq5~RrbbNM%H+@+yJDY0GBcN^P3gD#2ZB{ZMnJC zk>FC)Y<6e8*cmqJs#`f9@VPn5Fo+=M?IuKRt%>q{>3=A}g=1^4||1Adza|g4zX-v@| zX4`bcm3UuDnL(vhXGukqv;!WzWYk`_5X7ZlR|*?Q@88Axa3>AAh%bM<=@v~xfjgKk zR$@RRHu(Cj{5^PX0~hxe2w_o;d;+|T(*j2&mx+xt+Wv!mN9-`XXpRnrF-{MN!?qOa~ z1fs_e{3<&Q*iAuf^Z4MQXCvbA**-?SyaUc1#0fZ#u6FGBjOf+MK7)XJMvd~XFo@Xi z!CR8e=P;(p<>2o~I^XEQ9SSjjpN`v-n6YuLw4@LQYYTJpuQBuFnkSpePrkWZUx(R9 z=@L66@^IIaoTqs#d9*w+zZMrV`i|ZceLXC+zPhX3wl?{4%q1#iJQ=QN=6g1)ab>wP zQf>f6D4WDUA{-lRABZHlt_2qtPnmj@js(ffRl8%m(;~F2{KAZE3)`+xM*NWi9^Str zGSfI$ndYVUXkevh+(>4xsvPx(srAH;`y}CdVE&^D*~3fge8_X-&EA~4D;rX=nNsh| zgbP7(voBkfTZ>!^51u!)#gX+F7Ii_T@31;tSsFNCi}KR?&$5R9Wf9s_doCU5=nZSM zDi&;JiBLp4f}t%JBH*-d_1p@=vYY3CLZ8ESIv`L2B`z-RlZPfA&@o>fOjlX$FoWQ` zyZxfF+sn2Wm{mZw>HuarUthsIsyuTJt^1pk(eSOd&uY4V7diOr0n5=aFdJUrV}L%jrPAxsr`})`Sk_gfaQGI??ix&oo&QovB`BW zK<0;L@ z4>r($939XqiBK|Bf*=qOBa+$On1Nl;XkfG7x82^}nPVYt$8od0b&!qw56yQ_%lN$B zl;Yy!tsd+M=jZ>dYEiqEEU*5WY%YKM`)AjG) zXOBmDbemn!-c_5AJ(fWTf@n|R>f7o<6*2~p%b}l~5ui8Gp6WgZejo<5VxF>{;(~(H z1^$Qq^~LpRScQJouNajZztv*57B1JGrC!!zyL_V;Qdj~-QAr_YV;Y28GE`GsMtZX* zI^q;MtGNXdQ2BoT#DCMMO%N$hGkB&uU>`33`c}0XQBxy+3@m^D?T|V!x+BUBf>eCc zY?|@z>7g<8CF7~d^QrD~g}MHIP0{L({ZlMu2s6Px+@tUP+v|)Ne?6C92~eB_x8_dh zZ?5oR+01sl2wCk+7Qg$mLHy&u>7aEpy*@J8*&lJ-qF`Hgp8IO}-{t59(O2+}!rfvV zadT(Oup+ravxFyI9^`E>?Zpla;E`kAWgC;D#>nkpPiT`bO*BU8TD=Q*4 zGl+i*{kf0-H_9u~uJ!IG&=ziw$ZfY}`VP$K`2>sStZntj_4f}0U_=B+&xS-2cRiZz z$Y*Kk{t^iLF7D?5nf@0oe3OI(!h!<*y=R|APe4uuyPT$_?_CBra1u0j(n<#~GOl(E z(fKbch6XRsKF&5P#A93JAh${i(_=fu?ABp#)HpZafHgIR*9IRFKBieUDLudPkFum9QPdyhEkE5s!5FGP4;~tZ3!RDZ&r+nV|2oJz7Y@`19v*u_hwBlRQR$HQlXpH}H-TS19B6 z-CgmQy6-clL!@@2#Jn7KBQ`gSpX9vx1-z~sH=Q>AIPkZEYC(8@RjIYagAy0qtLB zCnV?|_d7>!2G6M23_77Ryw9adfe7Ty>sbf>z`>xm7;kXj>jMUd?Nw2TJ3U^jYEnGNG#DRreX%J{;b^0vD(2)(LOEkw#Jl zieeBP$uzmgyr1a1OV9WC4ozzZWnh~sbJL27N%Xm_tTe65rmmy%6Vn@7&5BQ@Xwa}{ zn@$##)FPIJHx*x;YCSv3S^~&r-huttfUe6(nVsv;JMWd9BpY3w?1T7+3HtHd=hK_w z(U^q?`S{FL{YlILqq_bbV-^OwL=&E&b1%Byk$Tk)_YWJqLn1Zz{HpjK9UnK!b87lm zb37ih1|cyIvYEkJ;C|5=0}Msq0?hpC>=?yaZ1 z^%U0hpAyVSBD&n-$qsmZ%YD0G0ZycR&Kkfs(qJ-u#XUSeIPHv>*gCQaF=@UA^^~<< z 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 z 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 literal 0 HcmV?d00001 diff --git a/images/PDFgui_screenshot_707_500x369.png b/images/PDFgui_screenshot_707_500x369.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0130cd34a9e03766cd61d881d7834107c20c9b GIT binary patch literal 136756 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

    -

    From a6aa2735fc190c7cf69f251a4685ec153eedd74b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 26 Sep 2007 03:23:02 +0000 Subject: [PATCH 049/136] Bugs are now reported via diffpy-dev. --- include/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/header.html b/include/header.html index 3067ae30..c8b4cae6 100644 --- a/include/header.html +++ b/include/header.html @@ -82,7 +82,7 @@
    Report BugsReport Bugs
    From 73af929237bc5b67f6e28c824127cc58054fa7e8 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 3 Dec 2007 16:39:29 +0000 Subject: [PATCH 050/136] Added bugreport subdirectories. --- PublishedRevision | 2 +- bugreport/pdfgui/index.html | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 bugreport/pdfgui/index.html diff --git a/PublishedRevision b/PublishedRevision index ffea877c..95f9650f 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -HEAD +49 diff --git a/bugreport/pdfgui/index.html b/bugreport/pdfgui/index.html new file mode 100644 index 00000000..be646170 --- /dev/null +++ b/bugreport/pdfgui/index.html @@ -0,0 +1,7 @@ +
    +

    Enter a year and find out if it's a leap year: + + + +

    +
    From 99eab0907a40c266bf642be550dd9a5cd6d0932d Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 4 Dec 2007 06:06:04 +0000 Subject: [PATCH 051/136] Scripts moved to dedicated cgi-bin directory. Prepared machinery for automated bug submission via email. --- bugreport/pdfgui/index.html | 7 --- bugreport/pdfgui/index.shtml | 36 +++++++++++ .../download_index.py | 22 +++---- pathutils.py => cgi-bin/pathutils.py | 0 cgi-bin/postbugreport.py | 61 +++++++++++++++++++ download.shtml | 2 +- 6 files changed, 109 insertions(+), 19 deletions(-) delete mode 100644 bugreport/pdfgui/index.html create mode 100644 bugreport/pdfgui/index.shtml rename download_index.py => cgi-bin/download_index.py (86%) rename pathutils.py => cgi-bin/pathutils.py (100%) create mode 100755 cgi-bin/postbugreport.py diff --git a/bugreport/pdfgui/index.html b/bugreport/pdfgui/index.html deleted file mode 100644 index be646170..00000000 --- a/bugreport/pdfgui/index.html +++ /dev/null @@ -1,7 +0,0 @@ -
    -

    Enter a year and find out if it's a leap year: - - - -

    -
    diff --git a/bugreport/pdfgui/index.shtml b/bugreport/pdfgui/index.shtml new file mode 100644 index 00000000..944ffba7 --- /dev/null +++ b/bugreport/pdfgui/index.shtml @@ -0,0 +1,36 @@ + + +

    +This form is for automated error submission and testing.
    +If you got here anyway, please report bugs at + +http://groups.google.com/group/diffpy-dev/ + +

    + +

    +

    + Reporter: +
    + + Summary: +
    + + Description:
    +
    +
    + + Component: +
    + + Version: +
    + + Traceback:
    +
    + + +
    +

    + + diff --git a/download_index.py b/cgi-bin/download_index.py similarity index 86% rename from download_index.py rename to cgi-bin/download_index.py index b2b58568..6c65b716 100644 --- a/download_index.py +++ b/cgi-bin/download_index.py @@ -1,11 +1,11 @@ import os -from mod_python import apache -thisdir = os.path.dirname(os.path.abspath(__file__)) +_thisdir = os.path.dirname(os.path.abspath(__file__)) +_diffpydir = os.path.dirname(_thisdir) -def getDownloadList(): +def _getDownloadList(): import re - downloaddir = os.path.join(thisdir, 'download') + downloaddir = os.path.join(_diffpydir, 'download') ignore = re.compile(r'^[.]|stats.txt') lst = [] for f in os.listdir(downloaddir): @@ -42,14 +42,14 @@ def getDownloadList(): time.localtime(d['mtime']) ) return lst -def getNameWidth(lst): +def _getNameWidth(lst): width = max([len(d['name']) for d in lst] + [0]) width = 4 * (width/4 + 1) return width -def getDownloadHTMLCode(): - lst = getDownloadList() - nw = getNameWidth(lst) +def _getDownloadHTMLCode(): + lst = _getDownloadList() + nw = _getNameWidth(lst) fmt = "%-@NWs%-20s%-8s%s".replace('@NW', str(nw)) header = ("
    " + fmt + '
    ') % \ ('Name', 'Date', 'Size', 'Downloads') @@ -63,12 +63,12 @@ def getDownloadHTMLCode(): code = header + "\n".join(bodylines) + footer return code -def handler(req): +def index(req): req.content_type = "text/html" - req.write(getDownloadHTMLCode()) + req.write(_getDownloadHTMLCode()) + return - return apache.OK #
    Name                    Last modified      Size  Description
    diffpy-1.0b.1232.tgz 14-May-2007 21:00 6.9M # diffpy-1.0b.1232.exe 14-May-2007 21:00 20M # diffpy-1.0b.1218.tgz 07-May-2007 11:00 7.3M diff --git a/pathutils.py b/cgi-bin/pathutils.py similarity index 100% rename from pathutils.py rename to cgi-bin/pathutils.py diff --git a/cgi-bin/postbugreport.py b/cgi-bin/postbugreport.py new file mode 100755 index 00000000..967dfc1c --- /dev/null +++ b/cgi-bin/postbugreport.py @@ -0,0 +1,61 @@ +#!/usr/bin/python + + +_BUGEMAIL = "juhasp@msu.edu" +_SMTP_SERVER = "localhost" + +_MSG = """\ +From: diffpy@diffpy.org +Subject: %(summary)s +To: %(bugemail)s + +reporter: %(reporter)s + +description: %(description)s + +component: %(component)s + +version: %(version)s + +traceback: %(traceback)s +""" + +def email(req, **kwargs): + """Process bugreport form and submit it to _BUGEMAIL address. + """ + # process form arguments + flds = { + 'reporter' : 'anonymous', + 'description' : '', + 'component' : '', + 'version' : '', + 'traceback' : '' + } + flds.update(kwargs) + flds['bugemail'] = _BUGEMAIL + # check required fields + required_fields = ('summary', 'description') + missing_fields = [f for f in required_fields if not flds.get(f)] + if missing_fields: + emsg = "\n".join([ + "Required fields(s) missing: %s." % ", ".join(missing_fields), + "Please go back and correct the error" + ]) + "\n" + return emsg + # build email message + msg = _MSG % flds + # send it out + import smtplib + conn = smtplib.SMTP(_SMTP_SERVER) + conn.sendmail(flds['reporter'], [_BUGEMAIL], msg) + conn.quit() + # show message that was sent: + out = "\n".join([ + "", + "

    Bugreport emailed to %s" % _BUGEMAIL, + "

    ", + "
    " + msg + "
    " + ]) + "\n" + return out + +# End of file diff --git a/download.shtml b/download.shtml index 5bd90794..aef42fee 100644 --- a/download.shtml +++ b/download.shtml @@ -89,6 +89,6 @@ Please, join in the forum for tips and tricks and feedback.

    - + From 784d5157193fbef4c86591c8d682916e6cc43c71 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 4 Dec 2007 22:01:41 +0000 Subject: [PATCH 052/136] bugreporting email address set to diffpy-dev. --- cgi-bin/postbugreport.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cgi-bin/postbugreport.py b/cgi-bin/postbugreport.py index 967dfc1c..2c22678b 100755 --- a/cgi-bin/postbugreport.py +++ b/cgi-bin/postbugreport.py @@ -1,16 +1,18 @@ #!/usr/bin/python -_BUGEMAIL = "juhasp@msu.edu" +_BUGEMAIL = "diffpy-dev@googlegroups.com" _SMTP_SERVER = "localhost" _MSG = """\ -From: diffpy@diffpy.org -Subject: %(summary)s +From: diffpy +Subject: [%(component)s bug] %(summary)s To: %(bugemail)s reporter: %(reporter)s +summary: %(summary)s + description: %(description)s component: %(component)s @@ -26,6 +28,7 @@ def email(req, **kwargs): # process form arguments flds = { 'reporter' : 'anonymous', + 'summary' : '', 'description' : '', 'component' : '', 'version' : '', From 8fb8882c2c4686cca760b53f4f19aebe7a5ae23f Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 4 Dec 2007 22:36:32 +0000 Subject: [PATCH 053/136] cgi-bin renamed to pybin - avoid name conflict with regular cgi-bin. --- PublishedRevision | 2 +- bugreport/pdfgui/index.shtml | 2 +- download.shtml | 2 +- {cgi-bin => pybin}/download_index.py | 0 {cgi-bin => pybin}/pathutils.py | 0 {cgi-bin => pybin}/postbugreport.py | 0 6 files changed, 3 insertions(+), 3 deletions(-) rename {cgi-bin => pybin}/download_index.py (100%) rename {cgi-bin => pybin}/pathutils.py (100%) rename {cgi-bin => pybin}/postbugreport.py (100%) diff --git a/PublishedRevision b/PublishedRevision index 95f9650f..ffea877c 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -49 +HEAD diff --git a/bugreport/pdfgui/index.shtml b/bugreport/pdfgui/index.shtml index 944ffba7..ab13a2e4 100644 --- a/bugreport/pdfgui/index.shtml +++ b/bugreport/pdfgui/index.shtml @@ -9,7 +9,7 @@ http://groups.google.com/group/diffpy-dev/

    -

    + Reporter:
    diff --git a/download.shtml b/download.shtml index aef42fee..9615f213 100644 --- a/download.shtml +++ b/download.shtml @@ -89,6 +89,6 @@ Please, join in the forum for tips and tricks and feedback.

    - + diff --git a/cgi-bin/download_index.py b/pybin/download_index.py similarity index 100% rename from cgi-bin/download_index.py rename to pybin/download_index.py diff --git a/cgi-bin/pathutils.py b/pybin/pathutils.py similarity index 100% rename from cgi-bin/pathutils.py rename to pybin/pathutils.py diff --git a/cgi-bin/postbugreport.py b/pybin/postbugreport.py similarity index 100% rename from cgi-bin/postbugreport.py rename to pybin/postbugreport.py From 09e936a17cc2648dc70156c2685a6a2477fe21d9 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 5 Dec 2007 00:23:35 +0000 Subject: [PATCH 054/136] Hacked publisher to avoid authentication mess. This file should be removed once server has updated mod_python.publisher. --- pybin/noauth_publisher.py | 294 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) create mode 100644 pybin/noauth_publisher.py diff --git a/pybin/noauth_publisher.py b/pybin/noauth_publisher.py new file mode 100644 index 00000000..4a704e9d --- /dev/null +++ b/pybin/noauth_publisher.py @@ -0,0 +1,294 @@ +# 2007-12-04 PJ: nastily hacked publisher.py, which did not want work +# well with htdigest authentication. This handler should be replaced +# with "AddHandler mod_python .py" in diffpy.conf as soon as diffpy.org +# moves to server with recent mod_python. +# YUCK. + + # + # Copyright 2004 Apache Software Foundation + # + # Licensed under the Apache License, Version 2.0 (the "License"); you + # may not use this file except in compliance with the License. You + # may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + # implied. See the License for the specific language governing + # permissions and limitations under the License. + # + # Originally developed by Gregory Trubetskoy. + # + # $Id: publisher.py,v 1.36 2004/02/16 19:47:27 grisha Exp $ + +""" + This handler is conceputally similar to Zope's ZPublisher, except + that it: + + 1. Is written specifically for mod_python and is therefore much faster + 2. Does not require objects to have a documentation string + 3. Passes all arguments as simply string + 4. Does not try to match Python errors to HTTP errors + 5. Does not give special meaning to '.' and '..'. +""" + +import mod_python.apache as apache +import mod_python.util as util + +import sys +import os +import imp +import re +import base64 + +import new +from types import * + +imp_suffixes = " ".join([x[0][1:] for x in imp.get_suffixes()]) + +def handler(req): + + req.allow_methods(["GET", "POST"]) + if req.method not in ["GET", "POST"]: + raise apache.SERVER_RETURN, apache.HTTP_METHOD_NOT_ALLOWED + + func_path = "" + if req.path_info: + func_path = req.path_info[1:] # skip first / + func_path = func_path.replace("/", ".") + if func_path[-1:] == ".": + func_path = func_path[:-1] + + # default to 'index' if no path_info was given + if not func_path: + func_path = "index" + + # if any part of the path begins with "_", abort + if func_path[0] == '_' or func_path.count("._"): + raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND + + ## import the script + path, module_name = os.path.split(req.filename) + if not module_name: + module_name = "index" + + # get rid of the suffix + # explanation: Suffixes that will get stripped off + # are those that were specified as an argument to the + # AddHandler directive. Everything else will be considered + # a package.module rather than module.suffix + exts = req.get_addhandler_exts() + if not exts: + # this is SetHandler, make an exception for Python suffixes + exts = imp_suffixes + if req.extension: # this exists if we're running in a | .ext handler + exts += req.extension[1:] + if exts: + suffixes = exts.strip().split() + exp = "\\." + "$|\\.".join(suffixes) + suff_matcher = re.compile(exp) # python caches these, so its fast + module_name = suff_matcher.sub("", module_name) + + # import module (or reload if needed) + # the [path] argument tells import_module not to allow modules whose + # full path is not in [path] or below. + config = req.get_config() + autoreload=int(config.get("PythonAutoReload", 1)) + log=int(config.get("PythonDebug", 0)) + try: + module = apache.import_module(module_name, + autoreload=autoreload, + log=log, + path=[path]) + except ImportError: + et, ev, etb = sys.exc_info() + # try again, using default module, perhaps this is a + # /directory/function (as opposed to /directory/module/function) + func_path = module_name + module_name = "index" + try: + module = apache.import_module(module_name, + autoreload=autoreload, + log=log, + path=[path]) + except ImportError: + # raise the original exception + raise et, ev, etb + + # does it have an __auth__? + realm, user, passwd = process_auth(req, module) + + # resolve the object ('traverse') + try: + object = resolve_object(req, module, func_path, realm, user, passwd) + except AttributeError: + raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND + + # not callable, a class or an unbound method + if (not callable(object) or + type(object) is ClassType or + (hasattr(object, 'im_self') and not object.im_self)): + + result = str(object) + + else: + # callable, (but not a class or unbound method) + + # process input, if any + req.form = util.FieldStorage(req, keep_blank_values=1) + + result = util.apply_fs_data(object, req.form, req=req) + + if result or req.bytes_sent > 0 or req.next: + + if result is None: + result = "" + else: + result = str(result) + + # unless content_type was manually set, we will attempt + # to guess it + if not req._content_type_set: + # make an attempt to guess content-type + if result[:100].strip()[:6].lower() == '' \ + or result.find(' 0: + req.content_type = 'text/html' + else: + req.content_type = 'text/plain' + + if req.method != "HEAD": + req.write(result) + else: + req.write("") + return apache.OK + else: + req.log_error("mod_python.publisher: %s returned nothing." % `object`) + return apache.HTTP_INTERNAL_SERVER_ERROR + +def process_auth(req, object, realm="unknown", user=None, passwd=None): + + return realm, user, passwd + found_auth, found_access = 0, 0 + + # because ap_get_basic insists on making sure that AuthName and + # AuthType directives are specified and refuses to do anything + # otherwise (which is technically speaking a good thing), we + # have to do base64 decoding ourselves. + # + # to avoid needless header parsing, user and password are parsed + # once and the are received as arguments + if not user and req.headers_in.has_key("Authorization"): + try: + s = req.headers_in["Authorization"][6:] + s = base64.decodestring(s) + user, passwd = s.split(":", 1) + except: + raise apache.SERVER_RETURN, apache.HTTP_BAD_REQUEST + + if hasattr(object, "__auth_realm__"): + realm = object.__auth_realm__ + + if type(object) is FunctionType: + # functions are a bit tricky + + if hasattr(object, "func_code"): + func_code = object.func_code + + if "__auth__" in func_code.co_names: + i = list(func_code.co_names).index("__auth__") + __auth__ = func_code.co_consts[i+1] + if hasattr(__auth__, "co_name"): + __auth__ = new.function(__auth__, globals()) + found_auth = 1 + + if "__access__" in func_code.co_names: + # first check the constant names + i = list(func_code.co_names).index("__access__") + __access__ = func_code.co_consts[i+1] + if hasattr(__access__, "co_name"): + __access__ = new.function(__access__, globals()) + found_access = 1 + + if "__auth_realm__" in func_code.co_names: + i = list(func_code.co_names).index("__auth_realm__") + realm = func_code.co_consts[i+1] + + else: + if hasattr(object, "__auth__"): + __auth__ = object.__auth__ + found_auth = 1 + if hasattr(object, "__access__"): + __access__ = object.__access__ + found_access = 1 + + if found_auth: + + if not user: + # note that Opera supposedly doesn't like spaces around "=" below + s = 'Basic realm="%s"' % realm + req.err_headers_out["WWW-Authenticate"] = s + raise apache.SERVER_RETURN, apache.HTTP_UNAUTHORIZED + + if callable(__auth__): + rc = __auth__(req, user, passwd) + else: + if type(__auth__) is DictionaryType: + rc = __auth__.has_key(user) and __auth__[user] == passwd + else: + rc = __auth__ + + if not rc: + s = 'Basic realm = "%s"' % realm + req.err_headers_out["WWW-Authenticate"] = s + raise apache.SERVER_RETURN, apache.HTTP_UNAUTHORIZED + + if found_access: + + if callable(__access__): + rc = __access__(req, user) + else: + if type(__access__) in (ListType, TupleType): + rc = user in __access__ + else: + rc = __access__ + + if not rc: + raise apache.SERVER_RETURN, apache.HTTP_FORBIDDEN + + return realm, user, passwd + +def resolve_object(req, obj, object_str, realm=None, user=None, passwd=None): + """ + This function traverses the objects separated by . + (period) to find the last one we're looking for. + """ + + parts = object_str.split('.') + + for n in range(len(parts)): + + obj = getattr(obj, parts[n]) + obj_type = type(obj) + + # object cannot be a module or a class + if obj_type in [ClassType, ModuleType]: + raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND + + if n < (len(parts)-1): + + # all but the last object ... + + # ...must be instance + if obj_type != InstanceType: + raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND + + realm, user, passwd = process_auth(req, obj, realm, + user, passwd) + + return obj + + + + From 709f4feffa96b3ec634b41f1f83d4ef8b880f306 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 5 Dec 2007 00:55:20 +0000 Subject: [PATCH 055/136] It is better to use standard publisher with basic authentication. --- pybin/noauth_publisher.py | 294 -------------------------------------- 1 file changed, 294 deletions(-) delete mode 100644 pybin/noauth_publisher.py diff --git a/pybin/noauth_publisher.py b/pybin/noauth_publisher.py deleted file mode 100644 index 4a704e9d..00000000 --- a/pybin/noauth_publisher.py +++ /dev/null @@ -1,294 +0,0 @@ -# 2007-12-04 PJ: nastily hacked publisher.py, which did not want work -# well with htdigest authentication. This handler should be replaced -# with "AddHandler mod_python .py" in diffpy.conf as soon as diffpy.org -# moves to server with recent mod_python. -# YUCK. - - # - # Copyright 2004 Apache Software Foundation - # - # Licensed under the Apache License, Version 2.0 (the "License"); you - # may not use this file except in compliance with the License. You - # may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, software - # distributed under the License is distributed on an "AS IS" BASIS, - # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - # implied. See the License for the specific language governing - # permissions and limitations under the License. - # - # Originally developed by Gregory Trubetskoy. - # - # $Id: publisher.py,v 1.36 2004/02/16 19:47:27 grisha Exp $ - -""" - This handler is conceputally similar to Zope's ZPublisher, except - that it: - - 1. Is written specifically for mod_python and is therefore much faster - 2. Does not require objects to have a documentation string - 3. Passes all arguments as simply string - 4. Does not try to match Python errors to HTTP errors - 5. Does not give special meaning to '.' and '..'. -""" - -import mod_python.apache as apache -import mod_python.util as util - -import sys -import os -import imp -import re -import base64 - -import new -from types import * - -imp_suffixes = " ".join([x[0][1:] for x in imp.get_suffixes()]) - -def handler(req): - - req.allow_methods(["GET", "POST"]) - if req.method not in ["GET", "POST"]: - raise apache.SERVER_RETURN, apache.HTTP_METHOD_NOT_ALLOWED - - func_path = "" - if req.path_info: - func_path = req.path_info[1:] # skip first / - func_path = func_path.replace("/", ".") - if func_path[-1:] == ".": - func_path = func_path[:-1] - - # default to 'index' if no path_info was given - if not func_path: - func_path = "index" - - # if any part of the path begins with "_", abort - if func_path[0] == '_' or func_path.count("._"): - raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND - - ## import the script - path, module_name = os.path.split(req.filename) - if not module_name: - module_name = "index" - - # get rid of the suffix - # explanation: Suffixes that will get stripped off - # are those that were specified as an argument to the - # AddHandler directive. Everything else will be considered - # a package.module rather than module.suffix - exts = req.get_addhandler_exts() - if not exts: - # this is SetHandler, make an exception for Python suffixes - exts = imp_suffixes - if req.extension: # this exists if we're running in a | .ext handler - exts += req.extension[1:] - if exts: - suffixes = exts.strip().split() - exp = "\\." + "$|\\.".join(suffixes) - suff_matcher = re.compile(exp) # python caches these, so its fast - module_name = suff_matcher.sub("", module_name) - - # import module (or reload if needed) - # the [path] argument tells import_module not to allow modules whose - # full path is not in [path] or below. - config = req.get_config() - autoreload=int(config.get("PythonAutoReload", 1)) - log=int(config.get("PythonDebug", 0)) - try: - module = apache.import_module(module_name, - autoreload=autoreload, - log=log, - path=[path]) - except ImportError: - et, ev, etb = sys.exc_info() - # try again, using default module, perhaps this is a - # /directory/function (as opposed to /directory/module/function) - func_path = module_name - module_name = "index" - try: - module = apache.import_module(module_name, - autoreload=autoreload, - log=log, - path=[path]) - except ImportError: - # raise the original exception - raise et, ev, etb - - # does it have an __auth__? - realm, user, passwd = process_auth(req, module) - - # resolve the object ('traverse') - try: - object = resolve_object(req, module, func_path, realm, user, passwd) - except AttributeError: - raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND - - # not callable, a class or an unbound method - if (not callable(object) or - type(object) is ClassType or - (hasattr(object, 'im_self') and not object.im_self)): - - result = str(object) - - else: - # callable, (but not a class or unbound method) - - # process input, if any - req.form = util.FieldStorage(req, keep_blank_values=1) - - result = util.apply_fs_data(object, req.form, req=req) - - if result or req.bytes_sent > 0 or req.next: - - if result is None: - result = "" - else: - result = str(result) - - # unless content_type was manually set, we will attempt - # to guess it - if not req._content_type_set: - # make an attempt to guess content-type - if result[:100].strip()[:6].lower() == '' \ - or result.find(' 0: - req.content_type = 'text/html' - else: - req.content_type = 'text/plain' - - if req.method != "HEAD": - req.write(result) - else: - req.write("") - return apache.OK - else: - req.log_error("mod_python.publisher: %s returned nothing." % `object`) - return apache.HTTP_INTERNAL_SERVER_ERROR - -def process_auth(req, object, realm="unknown", user=None, passwd=None): - - return realm, user, passwd - found_auth, found_access = 0, 0 - - # because ap_get_basic insists on making sure that AuthName and - # AuthType directives are specified and refuses to do anything - # otherwise (which is technically speaking a good thing), we - # have to do base64 decoding ourselves. - # - # to avoid needless header parsing, user and password are parsed - # once and the are received as arguments - if not user and req.headers_in.has_key("Authorization"): - try: - s = req.headers_in["Authorization"][6:] - s = base64.decodestring(s) - user, passwd = s.split(":", 1) - except: - raise apache.SERVER_RETURN, apache.HTTP_BAD_REQUEST - - if hasattr(object, "__auth_realm__"): - realm = object.__auth_realm__ - - if type(object) is FunctionType: - # functions are a bit tricky - - if hasattr(object, "func_code"): - func_code = object.func_code - - if "__auth__" in func_code.co_names: - i = list(func_code.co_names).index("__auth__") - __auth__ = func_code.co_consts[i+1] - if hasattr(__auth__, "co_name"): - __auth__ = new.function(__auth__, globals()) - found_auth = 1 - - if "__access__" in func_code.co_names: - # first check the constant names - i = list(func_code.co_names).index("__access__") - __access__ = func_code.co_consts[i+1] - if hasattr(__access__, "co_name"): - __access__ = new.function(__access__, globals()) - found_access = 1 - - if "__auth_realm__" in func_code.co_names: - i = list(func_code.co_names).index("__auth_realm__") - realm = func_code.co_consts[i+1] - - else: - if hasattr(object, "__auth__"): - __auth__ = object.__auth__ - found_auth = 1 - if hasattr(object, "__access__"): - __access__ = object.__access__ - found_access = 1 - - if found_auth: - - if not user: - # note that Opera supposedly doesn't like spaces around "=" below - s = 'Basic realm="%s"' % realm - req.err_headers_out["WWW-Authenticate"] = s - raise apache.SERVER_RETURN, apache.HTTP_UNAUTHORIZED - - if callable(__auth__): - rc = __auth__(req, user, passwd) - else: - if type(__auth__) is DictionaryType: - rc = __auth__.has_key(user) and __auth__[user] == passwd - else: - rc = __auth__ - - if not rc: - s = 'Basic realm = "%s"' % realm - req.err_headers_out["WWW-Authenticate"] = s - raise apache.SERVER_RETURN, apache.HTTP_UNAUTHORIZED - - if found_access: - - if callable(__access__): - rc = __access__(req, user) - else: - if type(__access__) in (ListType, TupleType): - rc = user in __access__ - else: - rc = __access__ - - if not rc: - raise apache.SERVER_RETURN, apache.HTTP_FORBIDDEN - - return realm, user, passwd - -def resolve_object(req, obj, object_str, realm=None, user=None, passwd=None): - """ - This function traverses the objects separated by . - (period) to find the last one we're looking for. - """ - - parts = object_str.split('.') - - for n in range(len(parts)): - - obj = getattr(obj, parts[n]) - obj_type = type(obj) - - # object cannot be a module or a class - if obj_type in [ClassType, ModuleType]: - raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND - - if n < (len(parts)-1): - - # all but the last object ... - - # ...must be instance - if obj_type != InstanceType: - raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND - - realm, user, passwd = process_auth(req, obj, realm, - user, passwd) - - return obj - - - - From ed128322d799296f9be57f33cbd163eba7949741 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 5 Dec 2007 00:56:16 +0000 Subject: [PATCH 056/136] Updated python publisher scripts. --- bugreport/pdfgui/index.shtml | 2 +- pybin/download_index.py | 5 +---- pybin/postbugreport.py | 7 ++++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/bugreport/pdfgui/index.shtml b/bugreport/pdfgui/index.shtml index ab13a2e4..15048768 100644 --- a/bugreport/pdfgui/index.shtml +++ b/bugreport/pdfgui/index.shtml @@ -9,7 +9,7 @@ http://groups.google.com/group/diffpy-dev/

    - + Reporter:
    diff --git a/pybin/download_index.py b/pybin/download_index.py index 6c65b716..809d8270 100644 --- a/pybin/download_index.py +++ b/pybin/download_index.py @@ -64,10 +64,7 @@ def _getDownloadHTMLCode(): return code def index(req): - - req.content_type = "text/html" - req.write(_getDownloadHTMLCode()) - return + return _getDownloadHTMLCode() #

    Name                    Last modified      Size  Description
    diffpy-1.0b.1232.tgz 14-May-2007 21:00 6.9M # diffpy-1.0b.1232.exe 14-May-2007 21:00 20M diff --git a/pybin/postbugreport.py b/pybin/postbugreport.py index 2c22678b..906fe188 100755 --- a/pybin/postbugreport.py +++ b/pybin/postbugreport.py @@ -1,11 +1,11 @@ #!/usr/bin/python - +_BUGSENDER = "diffpy@diffpy.org" _BUGEMAIL = "diffpy-dev@googlegroups.com" _SMTP_SERVER = "localhost" _MSG = """\ -From: diffpy +From: %(bugsender)s Subject: [%(component)s bug] %(summary)s To: %(bugemail)s @@ -36,6 +36,7 @@ def email(req, **kwargs): } flds.update(kwargs) flds['bugemail'] = _BUGEMAIL + flds['bugsender'] = _BUGSENDER # check required fields required_fields = ('summary', 'description') missing_fields = [f for f in required_fields if not flds.get(f)] @@ -50,7 +51,7 @@ def email(req, **kwargs): # send it out import smtplib conn = smtplib.SMTP(_SMTP_SERVER) - conn.sendmail(flds['reporter'], [_BUGEMAIL], msg) + conn.sendmail(_BUGSENDER, [_BUGEMAIL], msg) conn.quit() # show message that was sent: out = "\n".join([ From 9db8db7e58da39f9bbd72dc849bbef1ef7f26e8b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 5 Dec 2007 01:31:50 +0000 Subject: [PATCH 057/136] not executable. --- pybin/postbugreport.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 pybin/postbugreport.py diff --git a/pybin/postbugreport.py b/pybin/postbugreport.py old mode 100755 new mode 100644 From fef5ecf2feedcafb9130ce448d1e75247d4d56ad Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 5 Dec 2007 02:18:14 +0000 Subject: [PATCH 058/136] Link pointed to trac rendering of README.txt. --- download.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/download.shtml b/download.shtml index 9615f213..bbd90596 100644 --- a/download.shtml +++ b/download.shtml @@ -33,7 +33,7 @@ unpack it using

    DiffPy requires several external libraries and applications. Consult the -README.txt +README.txt file included with the distribution and make sure they are all in place. To install DiffPy, execute as a root

    From 5cc8485efa74a3a5aaf40bd30b9afa59f4453548 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 12 Dec 2007 17:28:55 +0000 Subject: [PATCH 059/136] updated URL for diffpy-dev. --- community.shtml | 2 +- include/header.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/community.shtml b/community.shtml index cb24a9f2..9bb3b8e6 100644 --- a/community.shtml +++ b/community.shtml @@ -34,7 +34,7 @@ Google groups for support and development of DiffPy and related applications.
- diffpy-dev + diffpy-dev

diff --git a/include/header.html b/include/header.html index c8b4cae6..d08249ea 100644 --- a/include/header.html +++ b/include/header.html @@ -82,7 +82,7 @@

Report BugsReport Bugs
From 0e61ee1b27284aa06a84954349ca73daa7eadc1a Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sun, 17 Feb 2008 07:14:05 +0000 Subject: [PATCH 060/136] Prominently displayed DANSE and NSF logos/references. --- images/danse_logo.jpg | Bin 0 -> 21704 bytes images/nsf_logo.png | Bin 0 -> 2346 bytes include/header.html | 19 ++++++++++++++----- index.shtml | 10 ++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 images/danse_logo.jpg create mode 100644 images/nsf_logo.png diff --git a/images/danse_logo.jpg b/images/danse_logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3db54fbadf0ee17402d34956173f1f7133862185 GIT binary patch literal 21704 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 Q=l}o!07*qoM6N<$g65ci?EnA( literal 0 HcmV?d00001 diff --git a/include/header.html b/include/header.html index d08249ea..0525948d 100644 --- a/include/header.html +++ b/include/header.html @@ -16,24 +16,33 @@ - - + - + - +
+
- logo + + + + DANSE logo + + diffpy logo DiffPy + + NSF logo + +
Python Libraries for Diffraction
diff --git a/index.shtml b/index.shtml index 7214f1af..748c73a2 100644 --- a/index.shtml +++ b/index.shtml @@ -2,8 +2,18 @@

Welcome to the DiffPy project.

+

This is an open-source project to develop python software modules for diffraction and the study of atomic structure of materials. +DiffPy is developed as part of +DANSE, +a software framework for Distributed Data Analysis for +Neutron Scattering Experiments. +

+

+This work is funded by the +National Science Foundation. +

Products

From 242343c3d16c0f107329c2ba96a3737eb3b6066f Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sun, 17 Feb 2008 22:52:15 +0000 Subject: [PATCH 061/136] removed border around logos. --- include/header.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/header.html b/include/header.html index 0525948d..ed5ff7db 100644 --- a/include/header.html +++ b/include/header.html @@ -24,14 +24,14 @@
- DANSE logo + DANSE logo diffpy logo DiffPy - NSF logo + NSF logo
If you have questions or remarks about this site, please contact - Simon J. Billinge. + Simon J. Billinge.
- + diff --git a/include/header.html b/inc_header.html similarity index 100% rename from include/header.html rename to inc_header.html diff --git a/index.shtml b/index.shtml index a2a849af..b2c06a85 100644 --- a/index.shtml +++ b/index.shtml @@ -1,4 +1,4 @@ - +

Welcome to the DiffPy project.

@@ -97,4 +97,4 @@ necessarily reflect the views of the respective funding bodies. for splendid editor and inspiration for this website.

- + From 21f1e0ccbc48fad3eb78e39c3e8a47c9068b0284 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 04:51:10 +0000 Subject: [PATCH 083/136] added a bit of padding after li items. --- styles/diffpy.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/styles/diffpy.css b/styles/diffpy.css index f983374c..be907538 100644 --- a/styles/diffpy.css +++ b/styles/diffpy.css @@ -166,3 +166,5 @@ td.checker { font-family: "andale mono", "monotype.com", "courier new", monospace; font-size: 75%; } + +li { padding-bottom: 6pt } From 620596129f89bdfd9c9c8207ef5c43d862cbdc5c Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 04:51:56 +0000 Subject: [PATCH 084/136] Eastern Europe characters. UTF is nice. --- nuggetDANSE0708.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nuggetDANSE0708.html b/nuggetDANSE0708.html index a24e93cf..f038ce03 100644 --- a/nuggetDANSE0708.html +++ b/nuggetDANSE0708.html @@ -26,7 +26,7 @@

- C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, J. Bloch, and + C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, J. Bloch, and S. J. L. Billinge (Michigan State University)

@@ -93,8 +93,8 @@

  1. - C. L. Farrow, P. Juhas, J. W. Liu, - D. Bryndin, E. S. Bozin, + C. L. Farrow, P. Juhás, J. W. Liu, + D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, From 67c94258b588bf684114ea1b504b2e63a4c7ccad Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 04:52:34 +0000 Subject: [PATCH 085/136] added release announcement, updated project information. --- index.shtml | 57 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/index.shtml b/index.shtml index b2c06a85..ed943f31 100644 --- a/index.shtml +++ b/index.shtml @@ -20,30 +20,47 @@ at

    +

    News

    + +
      +
    • + 2009-04-10 - release 1.0-r3067. Contains many improvements and + bugfixes, simple installation and easy code updates. +
    • +
    +

    Products

    DiffPy library

    -A library of python modules for carrying out tasks in -diffraction. This is at an early stage of development and is not yet -ready for code development by non-experts. Nevertheless, DiffPy -has been already used to build two easy-to-use end applications. +A library of Python modules for carrying out structure analysis tasks +from diffraction data. The modules are at different stages of development +and some are not yet ready for usage by non-experts. Nevertheless, the +components listed below should be stable enough and hopefully useful +to a broader non-expert community.

    -

    DiffPy applications

    +

    DiffPy components

    • PDFgui - a program for full-profile fitting of the atomic pair distribution function (PDF) derived from x-ray or neutron diffraction data. This is a graphical front end for the PDFfit2 refinement program, with built in graphical and structure visualization capabilities. - It is currently in beta release and it is distributed as a part of the DiffPy library.
    • PDFfit2 - the structure refinement engine for fitting - structural models to experimentally derived PDFs. This is used as calculation - backend of PDFgui, but can be run separately. + structural models to experimentally derived PDFs. It is used as calculation + engine for PDFgui, but can be used separately in simple Python scripts or + as a command-line program. +
    • + +
    • + Structure - simple storage and manipulation + of crystal structure data. Supports reading and writing in several structure + formats, coordinate transformations, symmetry expansion and generation of + symmetry constraints.
    @@ -57,8 +74,8 @@ using one of our programs.

    - C. L. Farrow, P. Juhas, J. W. Liu, - D. Bryndin, E. S. Bozin, J. Bloch, + C. L. Farrow, P. Juhás, J. W. Liu, + D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying @@ -71,12 +88,12 @@ nanostructure in crystals,

    Developers

    -The active DiffPy team is Pavol Juhas, Chris Farrow, Emil Bozin, Simon Billinge, -Dmitry Bryndin, Jiwu Liu, Wenduo Zhou. -Early developments were made in the Department of Physics and -Astronomy, Michigan State University. The development is now -centered in the Department of Applied Physics and Applied Mathematics -at Columbia University. +The active DiffPy team is Pavol Juhás, Chris Farrow, Emil Božin, Simon Billinge, +Wenduo Zhou, Peng Tian and Timur Dykhne. The project was started at the Department +of Physics and Astronomy, Michigan State University. The development team +has now mostly relocated to the Department of Applied Physics and Applied +Mathematics at Columbia University in the city of New York. The former members +of the project while at Michigan State were Jiwu Liu and Dmitriy Bryndin.

    Funding

    @@ -84,9 +101,11 @@ at Columbia University. This software was developed as part of the Distributed Data Analysis of Neutron Scattering Experiments (DANSE) project funded by the US National Science Foundation under grant -DMR-0520547. Developments of PDFfit2 were funded by NSF grant -DMR-0304391 in the Billinge-group, and with support from Michigan State -University. Any opinions, findings, and conclusions or recommendations +DMR-0520547. More information on DANSE can be +found at http://danse.us. The early developments of PDFfit2 were funded +by NSF grant DMR-0304391 in the Billinge-group, and with support from +Michigan State University. Any opinions, findings, and conclusions +or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the respective funding bodies.

    From 7ff0ae615e1bee391521cb01f53d307a4d2a502a Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 04:54:00 +0000 Subject: [PATCH 086/136] added API links and documentation about diffpy.Structure. --- documentation.shtml | 47 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index a098fe63..218a8142 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -15,23 +15,56 @@ user manual formatted as HTML, PDF +
    + tutorial files in a + zip archive +
    + auto-generated + API documentation

+ + + + + + + + +
PDFfit2 - Documentation is not yet available besides built-in help system. - Since commands and variable names are quite similar to the old PDFFIT, - you can use this + user manual not available. + To get started, check the + examples + from the code distribution and the pdffit2 built-in help. + For a complete reference, see the auto-generated + API, + especially for the class PdfFit. +

+ Functions and variables are quite similar as + in the old PDFFIT, so its manual and command reference - to get started with the program. + should help as well. +

+
+ Structure + + user manual not available. + To get started, see + examples + from the code distribution and the auto-generated + API. + For more information contact the developers or ask at the + diffpy-users Google group.
@@ -49,15 +82,14 @@
  1. -C. L. Farrow, P. Juhas, J. W. Liu, -D. Bryndin, E. S. Bozin, +C. L. Farrow, P. Juhás, J. W. Liu, +D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter 19, 335219 (2007) -

  2. @@ -66,7 +98,6 @@ Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair distribution function, J. Appl. Crystallogr. 32, 572 (1999) -

From e8ea3be170bf070bffddec0bef710c6ed6cd79f0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 04:57:54 +0000 Subject: [PATCH 087/136] Added standard Columbia license. --this line, and those below, will be ignored-- mm LICENSE.txt --- LICENSE.txt | 96 ++++++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 6fff8c60..de749f99 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,46 +1,50 @@ -This program is part of the DiffPy and DANSE open-source projects at -Michigan State University and is available subject to the conditions -and terms laid out below. - -If you use this program to do productive scientific research that leads -to publication, we ask that you acknowledge use of the program by citing -the following paper in your publication: - - C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, - J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and - PDFgui: computer programs for studying nanostructure in - crystals, J. Phys.: Condens. Matter 19, 335219 (2007) - -Copyright 2006-2007, Board of Trustees of Michigan State University, -All rights reserved. - -For more information please visit the project web-page: - http://www.diffpy.org -or email Prof. Simon Billinge at sb2896@columbia.edu - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of MICHIGAN STATE UNIVERSITY nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This program is part of the DiffPy and DANSE open-source projects +and is available subject to the conditions and terms laid out below. + +If you use this program to do productive scientific research that leads +to publication, we ask that you acknowledge use of the program by citing +the following paper in your publication: + + C. L. Farrow, P. Juhas, J. W. Liu, D. Bryndin, E. S. Bozin, + J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and + PDFgui: computer programs for studying nanostructure in + crystals, J. Phys.: Condens. Matter 19, 335219 (2007) + +Copyright 2006-2007, Board of Trustees of Michigan State University, +Copyright 2008-2009, Board of Trustees of Columbia University in the +city of New York. (Copyright holder indicated in each source file). + +For more information please visit the project web-page: + http://www.diffpy.org/ +or email Prof. Simon Billinge at sb2896@columbia.edu + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "AS IS". COPYRIGHT HOLDER +EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EITHER +EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS, ADEQUACY OR SUITABILITY +FOR A PARTICULAR PURPOSE, AND ANY WARRANTIES OF FREEDOM FROM +INFRINGEMENT OF ANY DOMESTIC OR FOREIGN PATENT, COPYRIGHTS, TRADE +SECRETS OR OTHER PROPRIETARY RIGHTS OF ANY PARTY. IN NO EVENT SHALL +COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE OR RELATING TO THIS AGREEMENT, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. From 97b6c43eba1bfaca157044de21ee0b4dd5618716 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 05:57:10 +0000 Subject: [PATCH 088/136] Updated download instructions. --- download.shtml | 93 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 21 deletions(-) diff --git a/download.shtml b/download.shtml index 281d4373..f87dca3a 100644 --- a/download.shtml +++ b/download.shtml @@ -4,13 +4,14 @@ Unix - Windows - +Updates - Subversion - Releases

License

-By downloading and using this program you are agreeing to the following +By downloading and using this software you are agreeing to the following conditions.

@@ -18,27 +19,49 @@ conditions. + -

Unix, Linux, MAC

+

Unix, Linux, Mac

-DiffPy is installed from a '.tgz' source archive on Unix-like operating systems. -Download the latest diffpy-VERSION.tgz file from the list below and -unpack it using +The installation of DiffPy requires several external libraries and applications. +Consult the +README.txt +file included with the distribution and make sure these requirements are all +in place.

+ +

+The DiffPy components are registered at the Python Package Index (PyPI), +therefore the most straightforward way to install is to execute +easy_install MODULE_NAME. The easy_install command +downloads, unzips and installs the required package together with +its requirements, for example +

+
-    tar -xzf diffpy-VERSION.tgz
+    easy_install diffpy.pdfgui
 

-DiffPy requires several external libraries and applications. -Consult the -README.txt -file included with the distribution and make sure they are all -in place. To install DiffPy, execute as a root +would install diffpy.pdfgui together with diffpy.pdffit2 and diffpy.Structure +that are required for its function. The easy_install command is a part +of Python setuptools library. +If it is not available, install the "python-setuptools" +package with the system package manager or use the ".tgz" archive +below, which comes with easy_install included. +

+ +

+If you prefer to install from local files, download the latest +diffpy-VERSION.tgz archive list below, unpack +and run the enclosed easy_install script

+
-    python setup.py install
+    tar -xzf diffpy-VERSION.tgz
+    cd diffpy-VERSION
+    ./easy_install diffpy.pdfgui
 

@@ -46,39 +69,67 @@ For more detailed installation instructions see PDFgui manual.

+

Windows

DiffPy is provided as self-installing archive for Windows systems. Download -the latest diffpy-VERSION.exe file, launch the executable and follow +the latest diffpy-VERSION.exe file below, run it and follow the prompts.

+ + +

DiffPy updates

+ +

+Both Unix and Windows platforms can use the easy_install command +to obtain the latest updates to the code. For example, to obtain any +new PDFgui upgrades, run +

+ +
+    easy_install -U diffpy.pdfgui
+
+ +

+This installs only the changed DiffPy components. These will +be released more more frequently than the complete installation +archives. +

+ +

Subversion repository

-The latest development sources of DiffPy are available in a public subversion -code repository. To obtain the latest code, run +The latest development sources of DiffPy packages are available in +a public subversion code repository. To install the latest development +version of a DiffPy component called MODULE_NAME, run

-    svn checkout svn://svn@danse.us/diffraction/diffraction/diffpy
+    easy_install -U \
+	svn://svn@danse.us/diffraction/diffraction/MODULE_NAME/trunk
 

-The installation procedure is the same as for Unix-like operating systems: +Another option is to install in a development mode, which is more +convenient for code checking and debugging. This can be done as

+
-    python setup.py install
+    svn checkout \
+	svn://svn@danse.us/diffraction/diffraction/MODULE_NAME
+    cd MODULE_NAME/trunk
+    python setup.py develop
 

-The DiffPy subversion repository can be also browsed online -here. +The DiffPy subversion repository can be browsed online +here.

-

 

DiffPy Releases

From 945c35e60e2d4eb52ac3527f34cf3c6c5fc52041 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 06:07:31 +0000 Subject: [PATCH 089/136] examples are now linked to trac. --- documentation.shtml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 218a8142..9a59f91b 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -33,12 +33,12 @@ user manual not available. - To get started, check the - examples - from the code distribution and the pdffit2 built-in help. - For a complete reference, see the auto-generated + To get started, see + examples + in the source code tree and the help feature in pdffit2. + For a complete reference, consult auto-generated API, - especially for the class PdfFit. + in particular for the class PdfFit.

Functions and variables are quite similar as in the old PDFFIT, so its @@ -60,11 +60,11 @@ user manual not available. To get started, see - examples - from the code distribution and the auto-generated + examples + in the source code tree and the auto-generated API. For more information contact the developers or ask at the - diffpy-users Google group. + diffpy-dev Google group. From 25f21b9d966cc25a9c37d5b4fa415af806a30b45 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 06:08:26 +0000 Subject: [PATCH 090/136] no need for extra blanks. --- community.shtml | 4 ++-- download.shtml | 2 +- index.shtml | 2 +- nuggetDANSE0708.html | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/community.shtml b/community.shtml index 3df40e43..4fb37d30 100644 --- a/community.shtml +++ b/community.shtml @@ -18,7 +18,7 @@ Google groups for support and development of DiffPy and related applications.

- Help on usage of PDFgui, PDFfit2 and other DiffPy components. + Help on usage of PDFgui, PDFfit2 and other DiffPy components. This group should become a knowledge base for PDFgui user tips, tricks and troubleshooting. Feel free to ask your question here.

@@ -54,7 +54,7 @@ Google groups for support and development of DiffPy and related applications.

You can also share your comments, suggestions, praise or complaints by -sending email to +sending email to Simon J. Billinge.

diff --git a/download.shtml b/download.shtml index f87dca3a..aa589c01 100644 --- a/download.shtml +++ b/download.shtml @@ -6,7 +6,7 @@ Windows - Updates - Subversion - -Releases +Releases

License

diff --git a/index.shtml b/index.shtml index ed943f31..ed5a1a69 100644 --- a/index.shtml +++ b/index.shtml @@ -11,7 +11,7 @@ a software construction project funded by the National Science Foundation to provide data analysis software tools for neutron scattering experiments that -will be carried out at the +will be carried out at the Spallation Neutron Source diff --git a/nuggetDANSE0708.html b/nuggetDANSE0708.html index f038ce03..af671412 100644 --- a/nuggetDANSE0708.html +++ b/nuggetDANSE0708.html @@ -42,7 +42,7 @@

sensitive to nanoscale order are under development. The diffraction sub-group of the DANSE project recently released a new software tool that will have a large impact in nanostructure characterization using -x-ray and neutron diffraction. +x-ray and neutron diffraction.

@@ -60,8 +60,8 @@

atomic pair distribution function (PDF) and analyzed by quantitatively fitting nanostructure models to the data. An example of the tool, PDFgui [1], -is shown in the accompanying -flash movie. +is shown in the accompanying +flash movie. It is being used to study the evolution of local structural parameters through a structural phase transition. Neutron-derived PDFs have been collected over a temperature range from room @@ -82,7 +82,7 @@

scientific discoveries during data collection, at the beam-time, and not a-posteriori after the beamtime is over. PDFgui has numerous extensions, beyond those shown in the movie that are -described in more detail in Ref. [1]. +described in more detail in Ref. [1]. The beta version of PDFgui is now in public release, available for Windows, Linux and Mac OSX platforms, and in the first month has been downloaded 220 times. More From 9d9593abdc446d0c95ccbc56fbc3882aad2defc8 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Sat, 11 Apr 2009 06:17:38 +0000 Subject: [PATCH 091/136] RELEASE! --- PublishedRevision | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PublishedRevision b/PublishedRevision index d15a2cc4..ffea877c 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -80 +HEAD From 3b181351e015e5a28f30729f224fb3df22f677f6 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 15 Apr 2009 18:26:47 +0000 Subject: [PATCH 092/136] Prepared packages for addition of download counter. --- packages/.htaccess | 12 ++++++++++-- packages/footer.html | 6 ++++++ packages/header.html | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 packages/footer.html create mode 100644 packages/header.html diff --git a/packages/.htaccess b/packages/.htaccess index d752a407..22eaa4c0 100644 --- a/packages/.htaccess +++ b/packages/.htaccess @@ -1,2 +1,10 @@ -IndexOptions FancyIndexing SuppressIcon NameWidth=* -IndexIgnore .. +IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort +IndexOptions SuppressHTMLPreamble + +HeaderName header.html +ReadmeName footer.html + +IndexIgnore .. *.html + +# DESCRIPTIONS BEGIN +# DESCRIPTIONS END diff --git a/packages/footer.html b/packages/footer.html new file mode 100644 index 00000000..6cbe8f17 --- /dev/null +++ b/packages/footer.html @@ -0,0 +1,6 @@ + +The Description column contains number of downloads. + + + + diff --git a/packages/header.html b/packages/header.html new file mode 100644 index 00000000..4cba3797 --- /dev/null +++ b/packages/header.html @@ -0,0 +1,15 @@ + + + + + + + DiffPy package repository + + + + + + +

DiffPy package repository

+ From f6209d6db76b3a0af160a8a657e622f2cd7c2c73 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 15 Apr 2009 22:07:04 +0000 Subject: [PATCH 093/136] hiding header and footer away. --- packages/{footer.html => .footer.html} | 0 packages/{header.html => .header.html} | 0 packages/.htaccess | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) rename packages/{footer.html => .footer.html} (100%) rename packages/{header.html => .header.html} (100%) diff --git a/packages/footer.html b/packages/.footer.html similarity index 100% rename from packages/footer.html rename to packages/.footer.html diff --git a/packages/header.html b/packages/.header.html similarity index 100% rename from packages/header.html rename to packages/.header.html diff --git a/packages/.htaccess b/packages/.htaccess index 22eaa4c0..6ebc90b2 100644 --- a/packages/.htaccess +++ b/packages/.htaccess @@ -1,10 +1,10 @@ IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort IndexOptions SuppressHTMLPreamble -HeaderName header.html -ReadmeName footer.html +HeaderName .header.html +ReadmeName .footer.html -IndexIgnore .. *.html +IndexIgnore .. # DESCRIPTIONS BEGIN # DESCRIPTIONS END From 66ad42313a6b364a89b0f68ea548d55808e03d62 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 15 Apr 2009 22:44:44 +0000 Subject: [PATCH 094/136] Improved download index. --- download/.footer.html | 6 ++++++ download/.header.html | 15 +++++++++++++++ download/.htaccess | 12 ++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 download/.footer.html create mode 100644 download/.header.html diff --git a/download/.footer.html b/download/.footer.html new file mode 100644 index 00000000..cde7fb57 --- /dev/null +++ b/download/.footer.html @@ -0,0 +1,6 @@ + +Description column shows number of downloads. + + + + diff --git a/download/.header.html b/download/.header.html new file mode 100644 index 00000000..60eefa30 --- /dev/null +++ b/download/.header.html @@ -0,0 +1,15 @@ + + + + + + + DiffPy releases + + + + + + +

DiffPy releases

+ diff --git a/download/.htaccess b/download/.htaccess index e662a446..dea49a2a 100644 --- a/download/.htaccess +++ b/download/.htaccess @@ -1,3 +1,11 @@ +IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort +IndexOptions SuppressHTMLPreamble IndexOrderDefault Descending Date -IndexOptions +SuppressIcon -IndexIgnore .. stats.txt + +HeaderName .header.html +ReadmeName .footer.html + +IndexIgnore .. + +# DESCRIPTIONS BEGIN +# DESCRIPTIONS END From 971b5d0f8ecf9a0a4219079596583537ee87caac Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 15 Apr 2009 22:48:00 +0000 Subject: [PATCH 095/136] prepared archive directory for old releases. --- download/archive/.footer.html | 6 ++++++ download/archive/.header.html | 15 +++++++++++++++ download/archive/.htaccess | 11 +++++++++++ 3 files changed, 32 insertions(+) create mode 100644 download/archive/.footer.html create mode 100644 download/archive/.header.html create mode 100644 download/archive/.htaccess diff --git a/download/archive/.footer.html b/download/archive/.footer.html new file mode 100644 index 00000000..cde7fb57 --- /dev/null +++ b/download/archive/.footer.html @@ -0,0 +1,6 @@ + +Description column shows number of downloads. + + + + diff --git a/download/archive/.header.html b/download/archive/.header.html new file mode 100644 index 00000000..d8823af3 --- /dev/null +++ b/download/archive/.header.html @@ -0,0 +1,15 @@ + + + + + + + DiffPy release archive + + + + + + +

DiffPy release archive

+ diff --git a/download/archive/.htaccess b/download/archive/.htaccess new file mode 100644 index 00000000..dea49a2a --- /dev/null +++ b/download/archive/.htaccess @@ -0,0 +1,11 @@ +IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort +IndexOptions SuppressHTMLPreamble +IndexOrderDefault Descending Date + +HeaderName .header.html +ReadmeName .footer.html + +IndexIgnore .. + +# DESCRIPTIONS BEGIN +# DESCRIPTIONS END From 858618b1a9c55e08bd1ad8ea57773d8fe2d9cc23 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 15 Apr 2009 22:56:21 +0000 Subject: [PATCH 096/136] Improved statistic counting script. --- download.shtml | 2 +- pybin/download_index.py | 45 ++++++++++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/download.shtml b/download.shtml index aa589c01..58bcace2 100644 --- a/download.shtml +++ b/download.shtml @@ -140,6 +140,6 @@ Please, join in the forum for tips and tricks and feedback.

- + diff --git a/pybin/download_index.py b/pybin/download_index.py index 809d8270..21c372b7 100644 --- a/pybin/download_index.py +++ b/pybin/download_index.py @@ -1,15 +1,26 @@ import os +import re +import time _thisdir = os.path.dirname(os.path.abspath(__file__)) _diffpydir = os.path.dirname(_thisdir) +_statsfile = os.path.join(_diffpydir, 'stats.txt') -def _getDownloadList(): - import re - downloaddir = os.path.join(_diffpydir, 'download') +rv = '' + +def _getDownloadList(drel): + """Obtain data needed for creating download table for a directory. + + drel -- directory path relative to _diffpydir + + Return dictionary with items + ('mtime', 'name', 'dcount', 'fmtsize', 'size', 'fmtmtime') + """ + downloaddir = os.path.join(_diffpydir, drel) ignore = re.compile(r'^[.]|stats.txt') lst = [] for f in os.listdir(downloaddir): - relpath = os.path.join('download', f) + relpath = os.path.join(drel, f) fullpath = os.path.join(downloaddir, f) if not os.path.isfile(fullpath) or ignore.match(f): continue lst.append({ @@ -23,18 +34,17 @@ def _getDownloadList(): lsort = [(-d['mtime'], d['name'], d) for d in lst] lsort.sort() lst = [ tpl[-1] for tpl in lsort ] - # add dcount field - statsfile = os.path.join(downloaddir, 'stats.txt') + # add the dcount field dcount = {} - if os.path.isfile(statsfile): - for line in open(statsfile): - w = line.split() + if os.path.isfile(_statsfile): + for line in open(_statsfile): + w = line.lstrip('/').split() + if len(w) != 2: continue dcount[w[0]] = int(w[1]) for d in lst: - d['dcount'] = dcount.get(d['name'], 0) + d['dcount'] = dcount.get(d['relpath'], 0) # add fmtsize and fmtmtime fields from pathutils import formatbytes - import time for d in lst: d['fmtsize'] = formatbytes(d['size'], bytename='', kiloname='K', meganame='M') @@ -47,8 +57,8 @@ def _getNameWidth(lst): width = 4 * (width/4 + 1) return width -def _getDownloadHTMLCode(): - lst = _getDownloadList() +def _getDownloadHTMLCode(drel): + lst = _getDownloadList(drel) nw = _getNameWidth(lst) fmt = "%-@NWs%-20s%-8s%s".replace('@NW', str(nw)) header = ("
" + fmt + '
') % \ @@ -64,7 +74,14 @@ def _getDownloadHTMLCode(): return code def index(req): - return _getDownloadHTMLCode() + return download(req) + +def download(req): + return _getDownloadHTMLCode('download') + +def packages(req): + return _getDownloadHTMLCode('packages') + #
Name                    Last modified      Size  Description
diffpy-1.0b.1232.tgz 14-May-2007 21:00 6.9M # diffpy-1.0b.1232.exe 14-May-2007 21:00 20M From 8ca1cf1068874bc2e6b67968b037cae156984e84 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:05:43 +0000 Subject: [PATCH 097/136] fixed exclude property. From 93ed9c6dada30518a238f13416b11bf37aa654e7 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:07:58 +0000 Subject: [PATCH 098/136] fixed ignore property. From 33d5c8b515c49e450b51683fa77c41f1bd0e0670 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:09:43 +0000 Subject: [PATCH 099/136] removed unused constant rv. --- pybin/download_index.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pybin/download_index.py b/pybin/download_index.py index 21c372b7..c5133c01 100644 --- a/pybin/download_index.py +++ b/pybin/download_index.py @@ -2,11 +2,12 @@ import re import time +# Constants + _thisdir = os.path.dirname(os.path.abspath(__file__)) _diffpydir = os.path.dirname(_thisdir) _statsfile = os.path.join(_diffpydir, 'stats.txt') -rv = '' def _getDownloadList(drel): """Obtain data needed for creating download table for a directory. @@ -52,11 +53,13 @@ def _getDownloadList(drel): time.localtime(d['mtime']) ) return lst + def _getNameWidth(lst): width = max([len(d['name']) for d in lst] + [0]) width = 4 * (width/4 + 1) return width + def _getDownloadHTMLCode(drel): lst = _getDownloadList(drel) nw = _getNameWidth(lst) @@ -73,6 +76,9 @@ def _getDownloadHTMLCode(drel): code = header + "\n".join(bodylines) + footer return code + +# Published items + def index(req): return download(req) From ed345041c04b7f326bc95fde1fbffdcc7ad71342 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:15:24 +0000 Subject: [PATCH 100/136] small fixes. --- download.shtml | 6 ++++++ download/archive/.header.html | 4 ++-- download/archive/.htaccess | 2 -- packages/.footer.html | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/download.shtml b/download.shtml index 58bcace2..322a24bf 100644 --- a/download.shtml +++ b/download.shtml @@ -142,4 +142,10 @@ forum for tips and tricks and feedback. + + Older releases are available in the + archive. + + + diff --git a/download/archive/.header.html b/download/archive/.header.html index d8823af3..6a62a01f 100644 --- a/download/archive/.header.html +++ b/download/archive/.header.html @@ -4,12 +4,12 @@ - DiffPy release archive + DiffPy archived releases -

DiffPy release archive

+

DiffPy archived releases

diff --git a/download/archive/.htaccess b/download/archive/.htaccess index dea49a2a..2f420b39 100644 --- a/download/archive/.htaccess +++ b/download/archive/.htaccess @@ -5,7 +5,5 @@ IndexOrderDefault Descending Date HeaderName .header.html ReadmeName .footer.html -IndexIgnore .. - # DESCRIPTIONS BEGIN # DESCRIPTIONS END diff --git a/packages/.footer.html b/packages/.footer.html index 6cbe8f17..cde7fb57 100644 --- a/packages/.footer.html +++ b/packages/.footer.html @@ -1,5 +1,5 @@ -The Description column contains number of downloads. +Description column shows number of downloads. From 7aace0b2b5a0b04d4b048a27b1b07ca619f34e14 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:28:51 +0000 Subject: [PATCH 101/136] now including parent directory in the listing. --- download/.htaccess | 2 +- media/.htaccess | 2 +- packages/.htaccess | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/download/.htaccess b/download/.htaccess index dea49a2a..eb1e8d29 100644 --- a/download/.htaccess +++ b/download/.htaccess @@ -5,7 +5,7 @@ IndexOrderDefault Descending Date HeaderName .header.html ReadmeName .footer.html -IndexIgnore .. +# IndexIgnore .. # DESCRIPTIONS BEGIN # DESCRIPTIONS END diff --git a/media/.htaccess b/media/.htaccess index d752a407..f480c2f0 100644 --- a/media/.htaccess +++ b/media/.htaccess @@ -1,2 +1,2 @@ IndexOptions FancyIndexing SuppressIcon NameWidth=* -IndexIgnore .. +# IndexIgnore .. diff --git a/packages/.htaccess b/packages/.htaccess index 6ebc90b2..c71aaac2 100644 --- a/packages/.htaccess +++ b/packages/.htaccess @@ -4,7 +4,7 @@ IndexOptions SuppressHTMLPreamble HeaderName .header.html ReadmeName .footer.html -IndexIgnore .. +# IndexIgnore .. # DESCRIPTIONS BEGIN # DESCRIPTIONS END From 43c76406c4e0c43f2d2a3b658af9354803196b70 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 16 Apr 2009 00:54:47 +0000 Subject: [PATCH 102/136] Added instructions for pdfgui installation under existing python tree. --- download.shtml | 58 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/download.shtml b/download.shtml index 322a24bf..6327f708 100644 --- a/download.shtml +++ b/download.shtml @@ -34,7 +34,7 @@ in place.

The DiffPy components are registered at the Python Package Index (PyPI), therefore the most straightforward way to install is to execute -easy_install MODULE_NAME. The easy_install command +easy_install MODULE_NAME. The easy_install command downloads, unzips and installs the required package together with its requirements, for example

@@ -45,17 +45,22 @@ its requirements, for example

would install diffpy.pdfgui together with diffpy.pdffit2 and diffpy.Structure -that are required for its function. The easy_install command is a part -of Python setuptools library. +that are required for its function. The programs can be then started +as pdfgui or pdffit2. +

+ +

+The easy_install command is a +part of the Python setuptools library. If it is not available, install the "python-setuptools" package with the system package manager or use the ".tgz" archive -below, which comes with easy_install included. +below, which comes with easy_install included.

If you prefer to install from local files, download the latest diffpy-VERSION.tgz archive list below, unpack -and run the enclosed easy_install script +and run the enclosed easy_install script

@@ -79,14 +84,36 @@ the latest diffpy-VERSION.exe file below, run it and follow
 the prompts.
 

+

+The self-installing archive includes a complete installation of Python +that is used to run PDFgui and PDFfit2. Nevertheless, PDFgui (and other +DiffPy components) can be also installed under existing Python tree. +This requires Python 2.5 with several external Python packages, +namely setuptools, numpy, wxPython and matplotlib. +To add PDFgui to an existing Python tree, start Windows command prompt +and run the easy_install script from the Python25/Scripts +directory +

+ +
+    cd c:\Python25\Scripts
+    ..\python.exe easy_install-script.py diffpy.pdfgui
+
+ +

+This installs library files under Python25/Lib/site-packages +and executable scripts for pdfgui and pdffit2 under +Python25/Scripts. +

+

DiffPy updates

-Both Unix and Windows platforms can use the easy_install command -to obtain the latest updates to the code. For example, to obtain any -new PDFgui upgrades, run +Both Unix and Windows platforms can use the easy_install command +to obtain the latest updates to the code. For example, to upgrade +PDFgui, run

@@ -94,9 +121,11 @@ new PDFgui upgrades, run
 

-This installs only the changed DiffPy components. These will -be released more more frequently than the complete installation -archives. +This installs only the changed DiffPy components as they become +available at the DiffPy +package repository. These packages +are smaller and will be updated more frequently than the complete +installation archives.

@@ -115,7 +144,8 @@ version of a DiffPy component called MODULE_NAME, run

Another option is to install in a development mode, which is more -convenient for code checking and debugging. This can be done as +convenient for debugging and experimenting with the code. +This can be done as

@@ -143,8 +173,8 @@ forum for tips and tricks and feedback.
 
 
 
-  Older releases are available in the
-  archive.
+  The older releases can be found in the
+  downloads archive.
 
 
 

From 73a20110c728aa8fe8d34016888fbbf01d428fc0 Mon Sep 17 00:00:00 2001
From: Pavol Juhas 
Date: Thu, 16 Apr 2009 00:57:02 +0000
Subject: [PATCH 103/136] tiny fix.

---
 download.shtml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/download.shtml b/download.shtml
index 6327f708..5a13a8b8 100644
--- a/download.shtml
+++ b/download.shtml
@@ -173,7 +173,7 @@ forum for tips and tricks and feedback.
 
 
 
-  The older releases can be found in the
+  Older releases can be found in the
   downloads archive.
 
 

From ad9906d1c70260426664f094a409f85ff25564b5 Mon Sep 17 00:00:00 2001
From: Pavol Juhas 
Date: Thu, 16 Apr 2009 00:58:20 +0000
Subject: [PATCH 104/136] another tiny fix.

---
 download.shtml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/download.shtml b/download.shtml
index 5a13a8b8..887f02f8 100644
--- a/download.shtml
+++ b/download.shtml
@@ -173,7 +173,7 @@ forum for tips and tricks and feedback.
 
 
 
-  Older releases can be found in the
+  Older releases are available in the
   downloads archive.
 
 

From 68bc7355ed17dee1e71749e44c4dc00adc9c756b Mon Sep 17 00:00:00 2001
From: Pavol Juhas 
Date: Thu, 16 Apr 2009 19:15:00 +0000
Subject: [PATCH 105/136] changed top-page link to include Linux and Mac.

---
 download.shtml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/download.shtml b/download.shtml
index 887f02f8..6aa22e7d 100644
--- a/download.shtml
+++ b/download.shtml
@@ -2,7 +2,7 @@
 
 

Download

-Unix - +Unix, Linux, Mac - Windows - Updates - Subversion - From a22a45580827dce2e9805ad036168543a1db62f1 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 20 Apr 2009 16:17:46 +0000 Subject: [PATCH 106/136] Added links to local PDF documents. --- documentation.shtml | 10 ++++++++-- images/pdficon_small.gif | Bin 0 -> 361 bytes 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 images/pdficon_small.gif diff --git a/documentation.shtml b/documentation.shtml index 9a59f91b..574b4fb8 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -86,18 +86,24 @@ C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, - + PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter 19, 335219 (2007) + + Farrow-jpcm-2007.pdf +
  • Th. Proffen and S. J. L. Billinge, - + PDFFIT a program for full profile structural refinement of the atomic pair distribution function, J. Appl. Crystallogr. 32, 572 (1999) + + Proffen-jac-1999.pdf +
  • diff --git a/images/pdficon_small.gif b/images/pdficon_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb5edcac38153b483a4acf5861baed1c0b37ff73 GIT binary patch literal 361 zcmZ?wbhEHb6l4%&xT?(Xq^9xig-Z|Ctbgg?_GrqC`#W}j3XQI=shQi{^5MgWdq<8v zEhyb6D*e#K`?j5nxw(0;n|mw2$ZHLKYj)1_67tU@;+FUJm+=WjaPbz|IpilLKkn#x zmXi6xCur%?WqEn|Z)H>t95`_2?!Ev2|1;14DE?$&WMEKc&;gkZ@)HAF+kuN3f?87j ziVKZOK3L2@=ggwW61hGi;P~MM3PLwOh!xLlIdrox<1eQq53hUry@@G6N zVqj{h_EfHGkZEqHX|J#9YU%Bmz%r?AiV|ZnW6zBKMiy3CuByrXjH0XzGRz9hGRtSl iG*xj)%Sz2>sc2a?L#%w?{#pS^`4cBk@hdtqSOWm%P;emt literal 0 HcmV?d00001 From 1ef7c3a5dc15edbb163dc2a5dea82c88fb45e62d Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 20 Apr 2009 16:32:52 +0000 Subject: [PATCH 107/136] Fixed PDF icons alignment. --- documentation.shtml | 4 ++-- styles/diffpy.css | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index 574b4fb8..b1a3b643 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -91,7 +91,7 @@ PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter 19, 335219 (2007) - Farrow-jpcm-2007.pdf + Farrow-jpcm-2007.pdf @@ -102,7 +102,7 @@ PDFFIT a program for full profile structural refinement of the atomic pair distribution function, J. Appl. Crystallogr. 32, 572 (1999) - Proffen-jac-1999.pdf + Proffen-jac-1999.pdf diff --git a/styles/diffpy.css b/styles/diffpy.css index be907538..d79a8497 100644 --- a/styles/diffpy.css +++ b/styles/diffpy.css @@ -168,3 +168,8 @@ td.checker { } li { padding-bottom: 6pt } + +IMG.middle { + vertical-align: top; + border: 0; +} From b7556102170bbf49acae1f968ea1daefafd1d0d5 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 20 Apr 2009 16:36:05 +0000 Subject: [PATCH 108/136] Added download link to paper PDF. --- index.shtml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index ed5a1a69..82798725 100644 --- a/index.shtml +++ b/index.shtml @@ -77,10 +77,13 @@ using one of our programs. C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, - + PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter 19, 335219 (2007) + + Farrow-jpcm-2007.pdf +

    From 27b2f85c5d915948394ea428964f5de81c234c6b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 20 Apr 2009 16:38:26 +0000 Subject: [PATCH 109/136] Fixed download URL. --- documentation.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation.shtml b/documentation.shtml index b1a3b643..3fe174ba 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -101,7 +101,7 @@ Th. Proffen and S. J. L. Billinge, PDFFIT a program for full profile structural refinement of the atomic pair distribution function, J. Appl. Crystallogr. 32, 572 (1999) - + Proffen-jac-1999.pdf From f027356f5bbf850294d3d2629a23b56b83fbb507 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Mon, 20 Apr 2009 16:48:10 +0000 Subject: [PATCH 110/136] Fixed charset warnings from W3C validator. --- download/.header.html | 2 +- packages/.header.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/download/.header.html b/download/.header.html index 60eefa30..f017f24d 100644 --- a/download/.header.html +++ b/download/.header.html @@ -6,7 +6,7 @@ DiffPy releases - + diff --git a/packages/.header.html b/packages/.header.html index 4cba3797..ed3dd58f 100644 --- a/packages/.header.html +++ b/packages/.header.html @@ -6,7 +6,7 @@ DiffPy package repository - + From f6b6bb41d96da901018d6059af3e51506346274b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 11 Dec 2009 19:26:42 +0000 Subject: [PATCH 111/136] Configured directory index. --- doc/srrietveld/.htaccess | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/srrietveld/.htaccess diff --git a/doc/srrietveld/.htaccess b/doc/srrietveld/.htaccess new file mode 100644 index 00000000..717ec6f7 --- /dev/null +++ b/doc/srrietveld/.htaccess @@ -0,0 +1 @@ +DirectoryIndex index.html From 724bc8784cce1f57780e56d3384e1014dee15d62 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 11 Dec 2009 19:30:30 +0000 Subject: [PATCH 112/136] index configuration moved to site config file. --- doc/srrietveld/.htaccess | 1 - 1 file changed, 1 deletion(-) delete mode 100644 doc/srrietveld/.htaccess diff --git a/doc/srrietveld/.htaccess b/doc/srrietveld/.htaccess deleted file mode 100644 index 717ec6f7..00000000 --- a/doc/srrietveld/.htaccess +++ /dev/null @@ -1 +0,0 @@ -DirectoryIndex index.html From 22ada2d444a4649e42b866dfbe8c1adb7c48b880 Mon Sep 17 00:00:00 2001 From: Avalon Johnson Date: Thu, 11 Feb 2010 21:56:48 +0000 Subject: [PATCH 113/136] Test from the DANSE site --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 82798725..099c833f 100644 --- a/index.shtml +++ b/index.shtml @@ -1,6 +1,6 @@ -

    Welcome to the DiffPy project.

    +

    DANSE collod : Welcome to the DiffPy project.

    This is an open-source project to develop python software modules From 402f474ea3065b97e318655e4cc401696907accf Mon Sep 17 00:00:00 2001 From: Avalon Johnson Date: Thu, 11 Feb 2010 21:58:00 +0000 Subject: [PATCH 114/136] Removed the test line for DANSE collocated --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 099c833f..82798725 100644 --- a/index.shtml +++ b/index.shtml @@ -1,6 +1,6 @@ -

    DANSE collod : Welcome to the DiffPy project.

    +

    Welcome to the DiffPy project.

    This is an open-source project to develop python software modules From 866064b555f141162922839396e327af5e664cb1 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 12 Feb 2010 20:59:23 +0000 Subject: [PATCH 115/136] adding a test file. --- test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 00000000..7f2615ff --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +checking the commit script 2010-02-12 From ebcf2c7fea88f236f77b4c8fd0d508b7fd975c97 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 12 Feb 2010 21:00:06 +0000 Subject: [PATCH 116/136] Verifying if PublishedRevision works. --- PublishedRevision | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PublishedRevision b/PublishedRevision index ffea877c..dee79f10 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -HEAD +114 From 093c549e22eb475a518252b8bb0e7b56ea2ccade Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 12 Feb 2010 21:00:40 +0000 Subject: [PATCH 117/136] It works, wonderful! --- PublishedRevision | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PublishedRevision b/PublishedRevision index dee79f10..ffea877c 100644 --- a/PublishedRevision +++ b/PublishedRevision @@ -1 +1 @@ -114 +HEAD From aaecdaec1f5f1cf4b56a9f2fc1b936272a531b2f Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 12 Feb 2010 21:01:06 +0000 Subject: [PATCH 118/136] Cleaned up test file. --- test.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test.txt diff --git a/test.txt b/test.txt deleted file mode 100644 index 7f2615ff..00000000 --- a/test.txt +++ /dev/null @@ -1 +0,0 @@ -checking the commit script 2010-02-12 From 0c249ae5d599e89c0e357f41a80181408fe94794 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 9 Jul 2010 18:03:45 +0000 Subject: [PATCH 119/136] bugsender and bugemail can now be specified from the from hidden fields. --- bugreport/pdfgui/index.shtml | 2 ++ pybin/postbugreport.py | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bugreport/pdfgui/index.shtml b/bugreport/pdfgui/index.shtml index d0dbde9d..882fad66 100644 --- a/bugreport/pdfgui/index.shtml +++ b/bugreport/pdfgui/index.shtml @@ -17,6 +17,8 @@ http://groups.google.com/group/diffpy-dev/

    + + Reporter:
    diff --git a/pybin/postbugreport.py b/pybin/postbugreport.py index 906fe188..f601f74a 100644 --- a/pybin/postbugreport.py +++ b/pybin/postbugreport.py @@ -27,6 +27,10 @@ def email(req, **kwargs): """ # process form arguments flds = { + # hidden data entries + 'bugemail' : _BUGEMAIL, + 'bugsender' : _BUGSENDER, + # entries from the form 'reporter' : 'anonymous', 'summary' : '', 'description' : '', @@ -35,8 +39,6 @@ def email(req, **kwargs): 'traceback' : '' } flds.update(kwargs) - flds['bugemail'] = _BUGEMAIL - flds['bugsender'] = _BUGSENDER # check required fields required_fields = ('summary', 'description') missing_fields = [f for f in required_fields if not flds.get(f)] @@ -51,12 +53,12 @@ def email(req, **kwargs): # send it out import smtplib conn = smtplib.SMTP(_SMTP_SERVER) - conn.sendmail(_BUGSENDER, [_BUGEMAIL], msg) + conn.sendmail(flds['bugsender'], [flds['bugemail']], msg) conn.quit() # show message that was sent: out = "\n".join([ "", - "

    Bugreport emailed to %s" % _BUGEMAIL, + "

    Bugreport emailed to %s" % flds['bugemail'], "

    ", "
    " + msg + "
    " ]) + "\n" From 93e938452f3fa7af6cd3a0caf71764d13c34a8ec Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 9 Jul 2010 18:20:39 +0000 Subject: [PATCH 120/136] Added bugreport form for srrietveld. --- bugreport/srrietveld/index.shtml | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 bugreport/srrietveld/index.shtml diff --git a/bugreport/srrietveld/index.shtml b/bugreport/srrietveld/index.shtml new file mode 100644 index 00000000..71884760 --- /dev/null +++ b/bugreport/srrietveld/index.shtml @@ -0,0 +1,46 @@ + + + + + Bug submission form + + + + + +

    +This form is for automated error submission and testing.
    +If you got here anyway, please report bugs at + +http://groups.google.com/group/srrietveld-dev/ + +

    + + + + + Reporter: +
    + + Summary: +
    + + Description:
    +
    +
    + + Component: +
    + + Version: +
    + + Traceback:
    +
    + + + + + + + From 9c3f950383a2b4630f9b52968dba3254cb5052a2 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 7 Dec 2012 19:06:17 +0000 Subject: [PATCH 121/136] Directory for the pdfgetx3 manual From 094dbd85c2cb2591a2424d662a22a50e0ce4e5d6 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:47:58 +0000 Subject: [PATCH 122/136] added paragraph on PDFgetX3. --- index.shtml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/index.shtml b/index.shtml index 82798725..76fb3909 100644 --- a/index.shtml +++ b/index.shtml @@ -24,13 +24,31 @@ at
    • - 2009-04-10 - release 1.0-r3067. Contains many improvements and - bugfixes, simple installation and easy code updates. + 2013-01-28 - initial release of the PDFgetX3 program.
    +

    Products

    +
      +
    • + PDFgetX3 - a command-line utility for + converting X-ray powder diffraction data to atomic pair + distribution functions (PDF). PDFgetX3 is easy to use, fast + and convenient for automated batch processing. The + interactive mode provides complete access to all parameters + and intermediate results, as well as live-plotting feature for + parameters tuning and visualization of their effects on the + results. PDFgetX3 can be used either as a standalone + application or as a Python library of PDF-processing + functions. + The software is free for open academic research, but requires + paid license for commercial use. +
    • +
    + +

    DiffPy library

    A library of Python modules for carrying out structure analysis tasks From a43b48e9de9dfca77921ad0e54fbd116052c28fb Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:07 +0000 Subject: [PATCH 123/136] added links for the getx3 user manuals, examples and for the article on arXiv. --- documentation.shtml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/documentation.shtml b/documentation.shtml index 3fe174ba..c479429e 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -7,6 +7,23 @@ + + + PDFgetX3 + + + user manual formatted as + HTML, + PDF and +
    + tutorial files in a + zip archive + + + + + + PDFgui @@ -81,6 +98,19 @@

    Publications

      +
    1. +P. Juhás and T. Davis, C. L. Farrow, +S. J. L. Billinge, + +PDFgetX3: A rapid and highly automatable program for +processing powder diffraction data into total scattering pair +distribution functions, +eprint arXiv: 1211.7126, (2012) + + Farrow-jpcm-2007.pdf + +
    2. +
    3. C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, From 1c586153874d729f3a9c93f7c891cd57eddd1ae4 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:14 +0000 Subject: [PATCH 124/136] added pdfgetx3 info and a placeholder for flintbox link. --- download.shtml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/download.shtml b/download.shtml index 6aa22e7d..be844474 100644 --- a/download.shtml +++ b/download.shtml @@ -2,6 +2,19 @@

      Download

      +

      PDFgetX3

      + +

      +PDFgetX3 can be obtained from the + +FIXME Columbia flintbox website, +provided it would be used for open academic research. +If you plan to use PDFgetX3 in any other way, please contact +FIXME Simon J. Billinge or CTV. +

      + +

      DiffPy Library

      + Unix, Linux, Mac - Windows - Updates - From 58b06cdcdc5211ef8c7ab2a140da0893388fc552 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:21 +0000 Subject: [PATCH 125/136] ignore these files. --- download/.htaccess | 11 ----------- download/archive/.htaccess | 9 --------- 2 files changed, 20 deletions(-) delete mode 100644 download/.htaccess delete mode 100644 download/archive/.htaccess diff --git a/download/.htaccess b/download/.htaccess deleted file mode 100644 index eb1e8d29..00000000 --- a/download/.htaccess +++ /dev/null @@ -1,11 +0,0 @@ -IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort -IndexOptions SuppressHTMLPreamble -IndexOrderDefault Descending Date - -HeaderName .header.html -ReadmeName .footer.html - -# IndexIgnore .. - -# DESCRIPTIONS BEGIN -# DESCRIPTIONS END diff --git a/download/archive/.htaccess b/download/archive/.htaccess deleted file mode 100644 index 2f420b39..00000000 --- a/download/archive/.htaccess +++ /dev/null @@ -1,9 +0,0 @@ -IndexOptions FancyIndexing SuppressIcon NameWidth=* VersionSort -IndexOptions SuppressHTMLPreamble -IndexOrderDefault Descending Date - -HeaderName .header.html -ReadmeName .footer.html - -# DESCRIPTIONS BEGIN -# DESCRIPTIONS END From 226cab272f610e7c7cc1e180e9c0dcd4cb906ba0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:28 +0000 Subject: [PATCH 126/136] Added reference to PDFgetX3 to the title page. --- index.shtml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/index.shtml b/index.shtml index 76fb3909..4527f67d 100644 --- a/index.shtml +++ b/index.shtml @@ -87,8 +87,8 @@ to a broader non-expert community.

      PDFgui and PDFfit2 are intended for scientific research that will be published in the open literature and are free to use. -Please cite the following paper in all your scientific publications -using one of our programs. +Please cite the following paper in your scientific publications +using one of these programs:

      @@ -101,10 +101,27 @@ nanostructure in crystals, J. Phys.: Condens. Matter 19, 335219 (2007) Farrow-jpcm-2007.pdf - +.

      +

      +For publications using the PDFgetX3 program please cite +

      + +
      +P. Juhás and T. Davis, C. L. Farrow, +S. J. L. Billinge, + +PDFgetX3: A rapid and highly automatable program for +processing powder diffraction data into total scattering pair +distribution functions, +eprint arXiv: 1211.7126, (2012) + + Farrow-jpcm-2007.pdf +. +
      +

      Acknowledgements

      Developers

      From 83ed3f72c1b37873e4ae3a0f557a94a11ac2cbe0 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:35 +0000 Subject: [PATCH 127/136] updated Timur's name. --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 4527f67d..d5751798 100644 --- a/index.shtml +++ b/index.shtml @@ -127,7 +127,7 @@ distribution functions,

      Developers

      The active DiffPy team is Pavol Juhás, Chris Farrow, Emil Božin, Simon Billinge, -Wenduo Zhou, Peng Tian and Timur Dykhne. The project was started at the Department +Wenduo Zhou, Peng Tian and Timur Davis. The project was started at the Department of Physics and Astronomy, Michigan State University. The development team has now mostly relocated to the Department of Applied Physics and Applied Mathematics at Columbia University in the city of New York. The former members From 33479ffb489e365a457b4e65cbf5d9614ca9aedc Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:42 +0000 Subject: [PATCH 128/136] reformatted the PDFgetX3 paragraph. --- index.shtml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/index.shtml b/index.shtml index d5751798..9ef7204d 100644 --- a/index.shtml +++ b/index.shtml @@ -31,22 +31,22 @@ at

      Products

      -
        -
      • - PDFgetX3 - a command-line utility for - converting X-ray powder diffraction data to atomic pair - distribution functions (PDF). PDFgetX3 is easy to use, fast - and convenient for automated batch processing. The - interactive mode provides complete access to all parameters - and intermediate results, as well as live-plotting feature for - parameters tuning and visualization of their effects on the - results. PDFgetX3 can be used either as a standalone - application or as a Python library of PDF-processing - functions. - The software is free for open academic research, but requires - paid license for commercial use. -
      • -
      +

      PDFgetX3

      + +

      +PDFgetX3 is a command-line utility for +converting X-ray powder diffraction data to atomic pair +distribution functions (PDF). PDFgetX3 is easy to use, fast +and convenient for automated batch processing. The +interactive mode provides complete access to all parameters +and intermediate results, as well as live-plotting feature for +parameters tuning and visualization of their effects on the +results. PDFgetX3 can be used either as a standalone +application or as a Python library of PDF-processing +functions. +The software is free for open academic research, but requires +paid license for commercial use. +

      DiffPy library

      From cd5b4fe9b0bea21c90b9d430f52dc1b1b3cce56c Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:49 +0000 Subject: [PATCH 129/136] added link to installation instructions and an email to CTV. --- download.shtml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/download.shtml b/download.shtml index be844474..6c7d5067 100644 --- a/download.shtml +++ b/download.shtml @@ -5,12 +5,16 @@

      PDFgetX3

      -PDFgetX3 can be obtained from the +PDFgetX3-academic can be obtained from the -FIXME Columbia flintbox website, -provided it would be used for open academic research. +Columbia flintbox website, +provided it will be used for open academic research +(installation instructions). +

      + +

      If you plan to use PDFgetX3 in any other way, please contact -FIXME Simon J. Billinge or CTV. +Columbia Technology Ventures.

      DiffPy Library

      From fc949559a30ea8162d6553f790c4723feaabbab3 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:48:56 +0000 Subject: [PATCH 130/136] removed line break. --- documentation.shtml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/documentation.shtml b/documentation.shtml index c479429e..3ff3f5b3 100644 --- a/documentation.shtml +++ b/documentation.shtml @@ -14,10 +14,9 @@ user manual formatted as HTML, - PDF and -
      - tutorial files in a - zip archive + PDF + and the + tutorial files From d99da378b483cad851f8b20de4d5938949cd1a0b Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:49:03 +0000 Subject: [PATCH 131/136] updated flintbox address and Beth's email. --- download.shtml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/download.shtml b/download.shtml index 6c7d5067..67393021 100644 --- a/download.shtml +++ b/download.shtml @@ -6,7 +6,7 @@

      PDFgetX3-academic can be obtained from the - + Columbia flintbox website, provided it will be used for open academic research (installation instructions). @@ -14,7 +14,8 @@ provided it will be used for open academic research

      If you plan to use PDFgetX3 in any other way, please contact -Columbia Technology Ventures. +Beth Kauderer +at Columbia Technology Ventures.

      DiffPy Library

      From 77a30ae5dff91849695ae647d5a62471399f83e4 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:49:10 +0000 Subject: [PATCH 132/136] updated link for the new groups. --- community.shtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community.shtml b/community.shtml index 4fb37d30..86ce16d4 100644 --- a/community.shtml +++ b/community.shtml @@ -14,7 +14,7 @@ Google groups for support and development of DiffPy and related applications. - diffpy-users + diffpy-users

      @@ -34,7 +34,7 @@ Google groups for support and development of DiffPy and related applications. - diffpy-dev + diffpy-dev

      From 3c5392ce591a04e16687dc42266bf78e0604b107 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:49:17 +0000 Subject: [PATCH 133/136] period around installation instructions --- download.shtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/download.shtml b/download.shtml index 67393021..be0fee0d 100644 --- a/download.shtml +++ b/download.shtml @@ -7,9 +7,9 @@

      PDFgetX3-academic can be obtained from the -Columbia flintbox website, -provided it will be used for open academic research -(installation instructions). +Columbia flintbox, +provided it will be used for open academic research. +Installation instructions

      From 564d09c3f61ed15ee13325597ed2da70babcbefe Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Tue, 5 Feb 2013 18:49:23 +0000 Subject: [PATCH 134/136] fixed flintbox URL. --- download.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/download.shtml b/download.shtml index be0fee0d..6b3f0e84 100644 --- a/download.shtml +++ b/download.shtml @@ -6,7 +6,7 @@

      PDFgetX3-academic can be obtained from the - + Columbia flintbox, provided it will be used for open academic research. Installation instructions From bd863ac473ff0815c3858b38e8cf3bc4b105e5b1 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 6 Feb 2013 16:31:05 +0000 Subject: [PATCH 135/136] updated the release date. --- index.shtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.shtml b/index.shtml index 9ef7204d..cba9ca67 100644 --- a/index.shtml +++ b/index.shtml @@ -24,7 +24,7 @@ at

      • - 2013-01-28 - initial release of the PDFgetX3 program. + 2013-02-05 - initial release of the PDFgetX3 program.
      From 9e860cceb75f53be5db9d428a0dc35a642b45d31 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 14 Mar 2013 18:54:06 +0000 Subject: [PATCH 136/136] updated reference for the getx3 paper. --- index.shtml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.shtml b/index.shtml index cba9ca67..0dd41720 100644 --- a/index.shtml +++ b/index.shtml @@ -112,13 +112,13 @@ For publications using the PDFgetX3 program please cite
      P. Juhás and T. Davis, C. L. Farrow, S. J. L. Billinge, - + PDFgetX3: A rapid and highly automatable program for processing powder diffraction data into total scattering pair distribution functions, -eprint arXiv: 1211.7126, (2012) - - Farrow-jpcm-2007.pdf +J. Appl. Cryst. 46, 560-566 (2013) + + Juhas-jac-2013.pdf .