From b76d3ca6ffc13e4c4cc6a0d9e75cef6ea9b5be92 Mon Sep 17 00:00:00 2001 From: Leo Treggiari Date: Thu, 21 Jul 2005 21:17:12 +0000 Subject: [PATCH] Create initial MBS Extensility document for CDT 3.0 in ISV doc area - more to come --- .../Managed_Build_Extensibility.html | 5664 +++++++++++++++++ .../guide/mbs/extensibilityGuide/image002.gif | Bin 0 -> 8836 bytes .../guide/mbs/extensibilityGuide/image003.gif | Bin 0 -> 25870 bytes .../guide/mbs/extensibilityGuide/image004.gif | Bin 0 -> 14683 bytes .../guide/mbs/extensibilityGuide/image024.gif | Bin 0 -> 43337 bytes .../guide/mbs/extensibilityGuide/image026.gif | Bin 0 -> 26676 bytes .../guide/mbs/extensibilityGuide/image028.gif | Bin 0 -> 41915 bytes .../guide/mbs/extensibilityGuide/image030.gif | Bin 0 -> 46651 bytes .../guide/mbs/extensibilityGuide/image031.gif | Bin 0 -> 21369 bytes .../guide/mbs/extensibilityGuide/image032.gif | Bin 0 -> 14295 bytes .../guide/mbs/extensibilityGuide/image034.gif | Bin 0 -> 20241 bytes .../guide/mbs/extensibilityGuide/image035.gif | Bin 0 -> 3739 bytes .../guide/mbs/extensibilityGuide/image036.gif | Bin 0 -> 14859 bytes .../guide/mbs/extensibilityGuide/image038.gif | Bin 0 -> 9598 bytes .../guide/mbs/extensibilityGuide/image040.gif | Bin 0 -> 5063 bytes .../guide/mbs/extensibilityGuide/image042.gif | Bin 0 -> 3327 bytes .../guide/mbs/extensibilityGuide/image044.gif | Bin 0 -> 96503 bytes .../guide/mbs/extensibilityGuide/image060.gif | Bin 0 -> 5387 bytes .../guide/mbs/extensibilityGuide/image062.gif | Bin 0 -> 5936 bytes .../guide/mbs/extensibilityGuide/image064.gif | Bin 0 -> 3405 bytes .../guide/mbs/extensibilityGuide/image066.gif | Bin 0 -> 4961 bytes .../guide/mbs/extensibilityGuide/image068.gif | Bin 0 -> 8392 bytes doc/org.eclipse.cdt.doc.isv/topics_Guide.xml | 4 +- 23 files changed, 5666 insertions(+), 2 deletions(-) create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image002.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image003.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image004.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image024.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image026.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image028.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image030.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image031.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image032.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image034.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image035.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image036.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image038.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image040.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image042.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image044.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image060.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image062.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image064.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image066.gif create mode 100644 doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image068.gif diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html new file mode 100644 index 00000000000..eb47eaccf59 --- /dev/null +++ b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html @@ -0,0 +1,5664 @@ + + + + + + + + Managed Build System Extensibility Document + + + + + + + + + + + + + + +
Managed Build +System Extensibility Document
+ This document describes the design of the +managed build system and how to extend it.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Authors Sean Evoy
Leo Treggiari
Revision Date10/21/2003 - Version: 0.1.0
09/10/2004 - Version: 2.0.0
11/08/2004 - Version: 2.1.0
7/22/2005 - Version 3.0.0
Change History0.1.0 - Document Creation
2.0.0 - Updated for CDT 2.0
2.1.0 - Updated for CDT 2.1
3.0 - Updated for CDT 3.0
+
+ +
Table of Contents
+
+
1 Introduction + + + +
+
2 User Model + +
+
3 Build Model Grammar Elements + + + + + + + + + + + + + + + + + + + +
+
4 UI Representation + + +
+
5 Build File Generation + +
+
6 Tutorial: An Example Tool + Integration + + + + + + + + + + + + +
+
7 Adding Dynamic Behavior + + + + + + + + + + + + + +
+
8 Advanced Features + +
+
+

1 Introduction

+

C and C++ developers are a diverse group. The tools they use, the +processes they follow, and the level of support they expect from their +development environments vary widely. The CDT provides a framework for +integrating those tools into Eclipse and the managed build system is +part of that framework. Understanding how the managed build system +works, and what steps are required to extend it is the focus of this +document.

+

1.1 Who Needs This +Information

+

The information in this document describes the design of the managed +build system (MBS) and discusses how to add new tool-chain definitions to it +through the buildDefinitions extension point. It is +intended for someone +who wants to understand how the managed build system works, or is +interested in adding their own tool-chain specification to it.

+

The CDT managed build system comes configured to generate Gnu makefiles +to build executables, +static libraries, and shared libraries using the Gnu compiler +collection (GCC). If you have +access to GCC tools on your platform and find the predefined project-types +sufficient for your +needs, then you do not need to modify anything. Please +feel free to skip sections 3, 6, and 7 as they are primarily concerned +with adding new tool integrations to the build model.

+

If you are working with tools other than GCC, or you wish to create +project-types that CDT does not support out of the box, then you have to +decide whether you will provide your own makefile and use the standard builder, +or add a description of your project-type to the extension point and +let the CDT generate the makefiles for your project.

+

If you choose to add your own tools to the managed build system, it +is assumed that you are familiar with XML and the Eclipse extension +point mechanism. Having made the standard disclaimer, it should be said +that the tutorial in § 6 presents a cookbook approach to adding a +new tool specification, so you can always jump right in and refer to +the online help in the Platform +Plug-in Developer Guide if you +get stuck.

+

1.2 Managed Build System +Overview

+

The managed build system consists of several components that +interact to build a project. At the core of the managed build system is +the build model. It is the central clearing house for all the +build-related information that internal and external clients require. +There are three internal clients; the user interface components, a +build file generator that is +responsible for generating correct build files for a project when it is built, +and the built-in parser supplied with the CDT. The external clients are the +end-user, who interacts with the build model through the user interface, and +tool +integrators who supply tool definitions to the build model. The diagram +below shows the basic set of +relationships +between these components.

+

+Build model logical elements

+
Figure 1 Managed build system overview
+

1.2.1 External Users

+

From the perspective of the build system, there are two external users. The +first is the end-user who interacts with it through the UI elements described in +§ 5. The UI includes a new project wizard that relies on the build system to +tell it what kinds of new projects can be created. When the project has been +created, the project property page uses the information in the build system to +populate its display. The user can change the information associated with the +tools for a project through the property page and the build system is +responsible for saving those changes between sessions. The second external user +is the tool integrator who adds information about their tool-chain to a plug-in +manifest as described in the tutorial in § 6. The tool integrator is the primary audience for this document. +

+

1.2.2 Internal Users

+

There are three internal clients of the information in the managed +build system. The first is the build file generator that creates +correct build files for a project based on the tools and settings defined +for the project in the build system. The second is the built-in CDT +parser that relies on the build system to tell it about the include +paths and defined preprocessor symbols for a given project so that it +can properly construct an internal representation of the compilation +unit the file belongs to. The third client is the UI component of the +build system that queries the build model for the tools and options +defined for a project to build its display and store the user settings.

+

1.2.3 Built-in Compiler Settings

+Every compiler relies on having a correct set of preprocessor +symbols +and header file search paths to perform proper builds. Even compilers +from the same vendor may use different symbols and search paths when +building for different operating systems. Some of these values may be +defined by the user, but others will be built into the tools themselves +so the user will be unaware of them. The CDT parser +described in the previous section needs +to know about the entire set to properly parse source files. It is the +responsibility of the MBS to answer both the user-supplied and built-in +paths and symbols to the parser. Of the two, the user-supplied include +paths and defines are trivial as they are entered by the user through +the UI. The built-in compiler settings on the other hand, are quite a +bit harder to decipher and the solution will vary from tool to +tool. A discussion of the possible solutions is provided in § +6.9.3.
+

1.2.4 Tool Definitions and Settings Storage

+A key feature of the managed build system is that it is extensible. +Tool integrators +can use the grammar, described in § 3, to add +their own tools to the +build system. The same grammar is used to save the settings that the +user overrides through the UI between sessions, in the project's .cdtbuild file.

1.3 The Standard Build +System

+

There is also a standard build system supplied as part +of the CDT framework that is unrelated to the managed build system. The +standard system provides a small set of tools to build a user’s +projects. The user is expected to supply a makefile which includes +enough information to build their project. The UI allows the user to +switch between targets defined in the makefile, and can dynamically +discover build settings at run-time to allow the parser to function +correctly.

+

The decision to use the standard or managed build system is a +trade-off. For users with an existing project that already has a set of +working makefiles, or for users that prefer (or need) to write their +own +makefiles, +the standard system may be perfect. However, many users find writing +and maintaining makefiles for projects to be a chore. For these users, +the trade-off for the convenience of not having to maintain them is the +flexibility of being in control of the makefiles.

+

2 User Model

+

The CDT user’s model of the MBS +contains the following primary objects: 

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

Project Type

+

A tool-integrator-defined + class of project which acts as a template for the projects that a user + will create.  The template specifies one or more default configurations, + and can optionally provide code generation capability to create an + initial set of input resources for the project.  The template can also + present various options in Wizard Pages that allow the user to further + customize the project.

+

Project

+

A user-defined instance of + a particular project type along with a set of user specified input + resources and configurations.

+

Configuration

+

A particular tool-chain + (possibly customized with additional or different tools), a set of + options for those tools, and other information which define a unique way + to build a project.  Examples include building a project for debugging, + building a project for release, or building a project for a different + target platform.

+

Tool-chain

+

An ordered set of tools + used to transform the project resources into the final output (build + artifact) of the project.  A tool integrator can provide a family + of tool-chains that support different host/target platform combinations, + and different versions of the tool-chain.

+

Tool 

+

A utility of some sort + that is used in the build process.  A tool will generally process one or + more resources to produce output resources.  Most tools have a set of + options that can be used to modify the behavior of the tool.

+

Option

+

An individual control that + the user can set to modify the behavior of a tool.

+

Option Category

+

A named set of options + used for grouping similar options together in a hierarchy.

+

2.1 User Scenarios

+

The following sections describe how the user interacts with MBS.  Text +in red indicates MBS functionality that is not yet +implemented, but is intended to be implemented in future releases of MBS.

+

2.1.1 Creating a New Project

+

The CDT user’s experience with the +MBS begins when she creates a new Managed Make project.  The user picks the type +of project to create from the list of project types defined in the installed +manifest files.  The list of project types is, by default, filtered by:

+

+·        +The project type must contain at least one default configuration +that uses a tool-chain that supports the host operating system and architecture.

+

+·        +If the project type implements the method +of verifying that its support has been installed, the method must return TRUE.

+

+·        +The user may remove installed and +possibly-installed (i.e. the project type does NOT implement the method of +verifying that its support has been installed) project types from future +consideration by turning them off in the MBS Preferences page.

+

The user may turn off project type +filtering, however configurations that use tool-chains that are not installed +will not be able to be built on the host system.

+

After selecting the project type, +the user selects 1 … n configurations for her new project from the list +of configurations defined in the project type.  +Different configurations can use different tool-chains. The list of +configurations is, by default, filtered by:

+

+·        +The tool-chain used by the configuration must support the host +operating system and architecture.

+

+·        +If the tool-chain implements the method of +verifying that its support has been installed, the method must return TRUE.

+

The user may turn off +configuration filtering, however configurations that use tool-chains that are +not installed will not be able to be built on the host system.

+

After selecting the initial set of +configurations for the project, the user can select any of the standard tabs in +the “Additional Project Settings” page in order to customize additional options +that are common to all Managed Build system projects (e.g., the projects that the new project depends upon, etc.).

+

The user +can proceed to any additional pages provided by the project type in order to +customize project type specific options.  For example, these additional options +can result in generating initial code for the project and/or setting tool +options that are different from the project type defaults.

+

After creating the new project, +the user can use any of the Eclipse methods of adding files to the project.

+

2.1.2 Adding a New Configuration

+

The user can create a new +configuration based upon the settings used by one of the existing +configurations.  The user can select a different +tool-chain from the project type if desired.  This allows a project type to be +defined (e.g., “Gnu Executable”) that contains tool-chains for multiple +combinations of host and target platforms, and/or for multiple versions of a +tool-chain.  It should be easy for a user to take an existing CDT project to a +different host system and quickly create a configuration that builds on that +host system using a version of the tool-chain that supports the new host.

+

The user +can also pick 1 … n configurations from the list of default +configurations defined in the project type.  The list of configurations is, by +default, filtered as specified above.

+

2.1.3 Modifying the Tool-chain of the Configuration

+

The user can select a configuration +and modify the following attributes of the tool-chain:

+
    +
  1. + The command used to invoke a + particular tool in the tool-chain.
  2. +
  3. + The set of error parsers to + be used with the build output and the order that the error parsers will be + invoked
  4. +
  5. + The binary parser to be used + with the build binary outputs.
  6. +
  7. + The set of file extensions + that are processed by a tool.
  8. +
  9. + The + addition of Custom Build steps before or after the build.  The user specifies the commands + to be executed by the step.
  10. +
  11. + The mapping of an individual + resource to a Custom Build step.  The user specifies the commands to be + executed by the step, the input + dependencies of the step, and the output resources that are created by the + step.
  12. +
  13. + The mapping of + a set of file extensions to a Custom Build step.  The user specifies the commands + to be executed by the step, the input + dependencies of the step, and the output resources that are created by the + step.
  14. +
  15. + The + tool-chain itself:  The user can change the tool-chain to be used with the + configuration.  All applicable settings are automatically transferred to the + new tool-chain.
  16. +
  17. + The + mapping of an individual resource to a tool:  + The available tools come from the configuration’s + tool-chain, from a different tool-chain or from individually defined tools.
  18. +
  19. + The + mapping of a set file extensions to a category of tools + or a specific tool:  The user can modify the current assignments and add new + assignments.  The available tools come from the configuration’s tool-chain, + from a different tool-chain or from individually defined tools.
  20. +
+

2.1.4 Modifying the Tool Options of the Configuration

+

The user can modify the options of +an individual configuration, or he can make changes to a set of configurations +that he has selectedThe user can select a set of configurations individually +or by selecting a “category” of configurations.  The names of the categories are +defined by the configuration provider – “debug” and “release” are commonly +supported.  Categories which group configurations by target platform could also +be useful. 

+

The user can modify the options of +a tool used by the configuration.  A tool can verify +that the new value is valid and an error message will be displayed if the value +is not valid.  The current value of a build setting is bolded if the value if +different from the default value for the tool.  The user can easily set the +value back to the default value without knowing what the default value is.

+

The user +can modify certain “well known” build settings for multiple selected +configurations, even when the configurations do not use the same tool-chain.

+

The user +can use Build Macros in all options that accept text.  MBS pre-defines many +useful macros and allows tool integrators and the CDT user to define +additional macros.  Additional macros can be defined in the MBS preferences page +and for individual projects or configurations.  Build Macros are referenced in strings by +enclosing them in braces, preceded by a dollar sign.

+

Tool +integrators may define property setting “wizards” that modify sets of tool +options in order to reach an overall user-desired goal.  An example would be a +“Most Highly Optimized Build” wizard that set options on multiple tools.

+

2.1.5 Modifying the Tool Options of an Individual File

+

The user can specify different +configuration specific build settings for individual files in the project. +The current value of a build setting is bolded if the value is different from +the value in the configuration.  The user can easily set the value back to +the configuration value without knowing what that value is.

+

The user can add or remove a +Custom Build step for an individual resource.  +The step can execute before or after the tool assigned +to the resource, or they can execute instead of the tool assigned to the +resource.  The user specifies the tool command line, the input dependencies +of the step, and the output resources that are created by the step.

+

The user +can mark individual files to not be used in the building of the selected +configuration(s).

+

2.1.6 Building a Configuration

+

The user can build projects from within the Eclipse/CDT +user interface, or from a command line that can be placed in a batch/script +file.

+

The user can build the currently +active configuration, or select a different set of +configurations to build.

+

The user +can rebuild an individual resource separate from building the entire project.

+

2.1.7 Upgrading a Project to a New MBS or Tool-chain +Version.

+

MBS defines a version number that is stored in every MBS +project file (.cdtbuild).

+

When MBS reads a project file with +an older version number:

+
    +
  1. + MBS asks the user to confirm + the conversion.
  2. +
  3. + If the user confirms the + conversion, the project file is converted and the project can no longer be + loaded by previous versions of MBS.
  4. +
  5. + If the user does not confirm + the conversion, the MBS information is loaded in a read-only mode, and any + changes made to the MBS information will be discarded when the project is + closed.
  6. +
+

When MBS reads a project file with +a newer version number, it displays an error message, and does not load the MBS +information.  None of the MBS operations are available on the project (for +example, editing build properties, cleaning, building, …).

+

Some of the build model elements (tool-chain, tool, or builder) can +also define a version number.  The version number is appended to the end of +the element id, and stored by MBS with each reference to the element.  MBS attempts +to resolve references in the following manner:

+
    +
  1. + MBS looks up the id with the + version specified with the reference. 
  2. +
  3. + If not found, MBS looks up + all occurrences of the id, and selects a match in the following order: + +
      +
    1. + the id with the closest + higher version number that lists the referenced version in its + versionsSupported attribute
    2. +
    3. + the id with no version + information specified
    4. +
    +
  4. +
+

If a match is found, there are 2 +scenarios:

+
    +
  1. + The version is still + actively supported by the tool integrator, and the MBS information is + loaded.
  2. +
  3. + The version specifies that a + conversion to a later version of the tool-chain/tool/builder is required.  + At the discretion of the tool-chain/tool/builder, the conversion may occur + automatically, or the converter may prompt the user to confirm the upgrade.  + The same rules apply as above for whether or not the user confirms the + conversion.
  4. +
+

If no match is found, MBS displays +an error message, and does not load the MBS information.  None of the MBS +operations are available on the project (for example, editing build properties, +cleaning, building, …).

+

3 Build Model Grammar Elements

+

The managed build system defines a grammar to describe tool and build +information. This information is used to store invariant data, like the command +line invocation for a specific compiler, for example. The build system also +stores user settings between sessions, like the level of debugging information +that is needed for a particular build configuration. The following section +describes the format of the grammar and what the information is used for by the +build model.  See the CDT 3.0 Gnu tool-chain definitions for an example of +the managed build object model.

+

Common Attributes

+

Many of the MBS elements require the specification of the id +attribute.  The attribute value typically takes a form similar to Eclipse +package names, e.g. "cdt.managedbuild.tool.gnu.c.linker".  Each id +must be unique within MBS and among all of the loaded manifest files.  It is suggested that you include your company/organization name in +the ids that you create.

+

Many of the MBS elements can specify the name attribute.  The +attribute value is used in the MBS user interface, and may therefore change if +your tool-chain supports more than one language.  You can use a plugin.properties file in order to define these strings in an external file (see +the Gnu tool-chain definitions for an example).

+

Many of the MBS elements can specify the superClass attribute.  +The attribute value is the id of an element of the same type as this element.  +For most attributes, when the value of an attribute is not specified in an +element, the value will default to the value defined by the first super-class +ancestor that specifies a value for the attribute.

+

Schema Notes

+ +

3.1 Model

+

The figure below shows a UML model +of the schema elements.  It is simplified by leaving out the fact that the +configuration, toolChain, tool, targetPlatform, and builder definition elements +can be defined at the top level in a manifest file.

+

+Build model grammar elements

+
Figure 2 Managed build model elements
+

3.2 ProjectType

+

The projectType element represents the project-type in the +user model.  It is a tool-integrator-defined class of project which acts as a +template for the projects that a user will create.  The projectType contains one +or more children of type configuration.  These are the default configurations +that the user can choose from.  Note that there is no reason to define a projectType element in a .cdtbuild file.  It would never be used since +projectType elements are used to populate the New Project dialog boxes.

+

You must provide a unique identifier for the project-type in the id +attribute. The build model uses this information to distinguish between the +project-type definitions it finds.  You must +also +provide a meaningful name that will be displayed to the +user +in the UI and new project wizards.

+

Project-types can be arranged into +hierarchies to promote the efficient sharing of configurations. If you have +defined a project-type that should not be selected by the user, but is a root +for other project-types, it may be declared abstract by setting the +isAbstract attribute to ‘true’. Abstract project-types do not appear in the +UI.  Descendents of an abstract project-type will have the same +configurations that the abstract project-type has. For these children to +function properly, their superClass attribute must contain +the unique identifier of the super-class project-type.

+

A concrete project type must have +at least one configuration defined for it. A configuration must define (or +inherit) a set of tool-chain definitions that work together to produce the build +goal as an output.

+

A projectType may define a project +level macro provider in the projectMacroSupplier attribute.  See § +7.8 for additional information.
+

+

3.2.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

id

+
+

A unique identifier that the model manager will use to keep track of + this specific element.

+
+

yes

+
+

name

+
+

The name for the projectType that is displayed to the user in the +UI.

+
+

yes

+
+ superClass + The unique identifier of the projectType that this projectType is derived from. + no
+

isAbstract

+
+

Flags the projectType as abstract.  An abstract + projectType can not be selected by the user in the UI, but projectTypes + derived from this projectType will inherit its attributes and children.  + The default value is false.

+
+ no
+

isTest

+
+

A projectType can be flagged for test purposes only.  It + can be manipulated programmatically, in JUnit tests for example, but not + selected by the user in the UI.  The default value is false.

+
+

no

+
+ projectMacro Supplier + The name of a class that implements the IProjectBuildMacroSupplier + interface in order to provide project level build macros. + no
+ projectEnvironment Supplier +   + no
+ configurationName Provider +   + no
+

3.3 Managed Project

+

The managedProject element represents a project instance in +the .cdtbuild file.  Note that there is no reason to define a project element in +a manifest file – it would never be used.

+

The following steps occur when a +CDT user creates a new Managed Build project:

+
    +
  1. A new managedProject element is + created.  Its projectType attribute is set to the projectType that + the user selected.  Its name attribute is set to the project name + that the user entered.
  2. +
  3. When the user adds a + default configuration, the selected configuration element is cloned to + become a child of the managedProject element created in step 1.
  4. +
  5. Add a tool-chain element + that specifies as its superClass the tool-chain that is the child of + the selected configuration element.
  6. +
  7. For each tool element + child of the tool-chain that is the child of the selected configuration + element, create a tool element child of the cloned configuration’s + tool-chain element that specifies the original tool element as its + superClass.
  8. +
+

This prepares the new +project/configurations for modification by the user.

+

3.3.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+ name + The name for the managedProject that is displayed to the user in the +UI. + yes
+ projectType + The unique identifier of the projectType that was used when + creating this project. + yes
+

3.4 Configuration

+

The configuration element +represents the configuration in the user model.  A tool-integrator defines +default configurations as children of the project type.  These provide a +template for the configurations added to the user’s project, which are stored in +the project’s .cdtbuild file.  A projectType must have at least one default +configuration defined for it, and a project must always contain at least one +configuration.

+

The configuration contains one +child of type tool-chain.  This describes how the project’s resources are +transformed into the build artifact.  The configuration is responsible for +maintaining the name of the final build goal. The user selects the name of the +build artifact in the UI, and the configuration maintains it in the +artifactName and artifactExtension attributes.  The +configuration can contain one or more children of type resourceConfiguration.  +These describe build settings of individual resources that are different from +the configuration as a whole. 

+

Each configuration must have a unique identifier specified in the id +attribute that will be used by the build model to manage the +configuration. It must also have a name that will be +displayed in the UI in the build property page and new project wizards.  +The configuration contains the information needed to “clean” the build files on +the host machine.  The configuration can specify the cleanCommand +attribute which specifies a command that removes the build files.  +

+

A configuration may define a +configuration +level macro provider in the configurationMacroSupplier attribute.  See § +7.8 for additional information.
+

+

Additional configuration attributes are described in the schema table below.

+

3.4.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that the model manager will use to keep +track of this specific configuration. + yes
+ name + Human-readable name for the configuration to be used in the UI. + no
+ parent + The unique identifier of the configuration that this + configuration is derived from. + no
+ artifactName + The name of the build goal defined by the configuration.  + This can be set by the user in the UI. + no
+ artifactExtension + The extension that the build goal will have, for example + ‘.exe’ or ‘.so’ + in hierarchy
+ cleanCommand + The command to remove intermediary and output files on the + build machine. + in hierarchy
+ errorParsers + The semi-colon separated list of the default error parsers + to be used with this configuration. The list is ordered with the first + error parser on the list invoked first, the second error parser second, + and so on.  The list may contain the error parsers defined by CDT and/or + other installed error parser extensions.  The list of error parsers to + be used may be changed by the user on a per-configuration basis.  When + specified, this overrides the tool-chain errorParsers attribute. + no
+ configurationMacro Supplier + The name of a class that implements the IConfigurationBuildMacroSupplier + interface in order to provide configuration level build macros. + no
+   +   +  
+

3.5 Tool Chain

+

The toolChain element represents +the tool chain in the user model.  It is a tool-integrator-defined, ordered set +of tools that transform the project’s input into the project’s outputs.  A +tool-chain can be defined as part of a configuration, or as an independent +specification that is referenced in a separate configuration via the toolChain +superclass attribute.

+

The toolChain contains one or more +children of type tool.  These define the tools used in the tool-chain.

+

The toolChain contains one child +of type targetPlatform.  This defines the architecture/os combination(s) where +the outputs of the project can be deployed.

+

The toolChain contains one child +of type builder.  This defines the “build” or “make” utility that is used to +drive the transformation of the inputs into outputs.

+

Typically a tool-chain is hosted +only on a limited subset of operating system/architecture combinations. For +example, it does not make much sense to allow a user to try to build a Solaris shared +library project if they are running Eclipse and the CDT on Windows. You can +specify the operating systems and architectures that the tool-chain is supported +on as a comma-separated list in the osList and archList +attributes.

+

A tool-chain may be associated +with a scanner configuration profile that defines how to discover built-in compiler defines and +includes search paths.

+

A tool-chain should specify the +targetTool attribute to identify the tool that runs to generate the primary +build output.  If this is not specified, then MBS uses the file extension +of the build artifact name supplied by the user.  This will work when the +user uses one of the extensions expected by the tool, but will not work if they +do not.

+

Additional tool-chain attributes are described in +the schema table below.

+

3.5.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that the model manager will use to keep track of this + specific toolChain. + yes
+ name + Human-readable name for the toolChain to be used in the UI. + no
+ superClass + The unique identifier of the toolChain that this toolChain + is derived from. + no
+ isAbstract + Flags the toolChain as abstract.  An abstract toolChain + must be defined as a top level object in the model definition and cannot + be selected by the user in the UI, but tool-chains derived from this + tool-chain will inherit its attributes and children.  The default value + is false. + no
+ targetTool + A semi-colon separated + list of the identifiers  of the tools that can be used to create the + build artifact.  A list is required, for example, when there are 2 + versions of a target tool that are used with different project natures. + yes
+ secondaryOutputs + A semi-colon separated + list of the identifiers of other output types, besides the primary + output of the targetTool, that are also considered to be build + artifacts.  The build file generator will ensure that the outputs + get built. + no
+ osList + + The list of operating systems that the tool-chain is supported on.  The + valid list of operating systems + is the string values returned by Platform.getOS().
+ I
f + the osList attribute is not specified, or if the value is "all", then + the tool-chain is supported on all operating systems.  Otherwise, the + tool-chain is only displayed when CDT is running on one of the specified + operating systems, unless the user has turned off filtering.
+ no
+ archList + + The list of architectures that the tool-chain is supported on.  The + valid list of + + architectures is the string values returned by Platform.getOSArch().
+
+ If the archList attribute is not + specified, or if the value is "all", then the tool-chain is supported on + all architectures.  Otherwise, the tool-chain is only displayed when CDT + is running on one of the specified architectures, unless the user has + turned off filtering.
+ no
errorParsersThe semi-colon separated list of the default error + parsers to be used with this tool-chain. The list is ordered with the + first error parser on the list invoked first, the second error parser + second, and so on.  The list may contain the error parsers defined by + CDT and/or other installed error parser extensions.  When specified, + this overrides the tool errorParsers attributes of the tool children of + the tool-chain and the builder child of the tool-chain.no
scannerInfoCollectorREMOVED - see the scannerConfigDiscoveryProfileId attributeno
scannerConfig + DiscoveryProfileIdSpecifies an id of scanner configuration discovery profile for + gathering the built-in compiler settings for a toolchain.no
+

3.6 Builder

+

The builder element represents the +utility that drives the build process (typically, but not necessarily, a variant +of “make”).  It defines the command needed to invoke the build utility in the +command attribute. Any special flags that need to be passed to the builder +are defined in the arguments attribute.   The builder can specify the +error parser(s) to be used to parse its output.  The builder also specifies a +Java class that generates the build file.  MBS provides built-in gnu makefile +generation.

+

The builder can specify a number of arguments that apply to +build macros and how they interact with the build file generator. 

+

The builder can specify the template of how to convert a +build macro that contains an environment variable into the build file +environment variable format by specifying the variableFormat attribute. +

+

The builder can specify the builder internal (reserved) +macro names and the macro names reserved by a build file generator (used to +store the list of objects files, input files, etc.). This information will be +used by the build file generator in the case where the build environment +variable macros are not to be expanded in the build file. If an environment +variable build macro name conflicts with the name of some reserved macro, it +always gets resolved in the build file. See the reservedMacroNames and +reservedMacroNameSupplier attributes below.

+

The builder can provide the values for the file-context +build macros.  To provide the value for the macro ${<macro_name>}, the +macro<macro_name>Value attribute should be specified. The value of this +attribute should be set to the value of the given macro. MBS will resolve the +value of unsupported file-context macros to their actual macro value. In this +case, a separate rule for each file will be generated when file-specific macros +are used.  See the gnu tool-chain for an example of setting these +attributes for gnu make.

+

Additional builder attributes are described in +the schema table below.

+

3.6.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that the model manager will use to keep +track of this specific builder. + yes
+ name + Human-readable name for the builder to be used in the UI. + no
+ superClass + The unique identifier of the builder that this builder is + derived from. + no
+ isAbstract + Flags the builder as abstract.  An abstract builder must be + defined as a top level object in the model definition and cannot be + selected by the user in the UI, but builders derived from this builder + will inherit its attributes and children.  The default value is false. + no
+ command + The command used to invoke the builder.  The default is + “make”. + no
+ arguments + The default flags passed to the builder on the command + line.  The default is “-k”. + no
+ errorParsers + The semi-colon separated list of the default error parsers + to be used with this builder. + no
+ buildfileGenerator + The name of a class that implements IManagedBuilderMakefileGenerator.  + See § 7.2 for additional information. + no
+ variableFormat +

The value of this attribute should + be set to the expression representing the variable format. For example, + to generate macros with the ${macro} format, the attribute would contain + ${=}.  To generate macros with the @macro format, the attribute would + contain @=.  If the attribute is not specified or contains the + empty string, this would mean that the builder can not treat environment + variables as its own variables. In this case, the build macros that + contain environment variables are resolved by MBS to their actual + value.  The user can also specify that build macros that contain + environment variables be resolved to their actual value, as explained + earlier.

+ no
+ isVariableCase + Sensitive + Specifies whether the + builder variables are case sensitive or not. Can be set to either “true” + or “false”. The default is “true”. If the builder does not support + case-sensitive variables and there are some build environment variables + that differ only in case (Environment variables on Unix-like operating + systems are case sensitive), then those macros will always get resolved + in the buildfile. + no
+ reservedMacro + Names +

Comma-separated list of reserved + macro names. The macro name could contain either the exact name or the + java regular expression. The latter could be used to supply the pattern + of variable names that are generated by MBS in case the “buildVariable” + attribute of the “InputType” element is not specified, etc.  If + this attribute is specified and the reservedMacroNameSupplier is not + specified, the following macro names will be treated as reserved:

+

+ 1.   a + macro name that is equal to one of the names specified in the + reservedMacroNames value

+

+ 2.   a + macro name that matches one of the regexp patterns specified in the + reservedMacroNames value

+

+ 3.   a + macro name that is equal to one of the build variable names specified + InputType elements of the tools used in the tool-chain

+ If this attribute is not + specified, MBS will assume that there are no reserved macro names that + could conflict with the build environment variable macros, except names + specified in the “buildVariable” attribute of the “InputType” elements: + these names will always be treated as reserved.
+ no
+ reservedMacro + NameSupplier +

Should be set to the name of the + class that implements the IReservedMacroNameSupplier interface. If this + attribute is specified the reservedMacroNames attribute is ignored, and + the following macro names will be treated as reserved:

+

+ 1.   macro + names that the IReservedMacroNamesSupplier specifies as reserved

+

+ 2.   a macro + name that is equal to one of the build variable names specified + InputType elements in the tools used in the tool-chain.  +

+ no
+ macroInputFile + NameValue + Represents the InputFileName macro value. The macro + specifies the input file name. The input file has the following meaning:
+ 1. If a tool does not accept building multiple files of the primary + input type with one tool invocation, the input file is the file of the + primary input type being built.
+ 2. If a tool accepts building multiple files of the primary input type + with one tool invocation the input file is undefined and the macros + representing the input file contain information about one of the inputs + of the primary input type being built.
+ no
+ macroInputFile + ExtValue + Represents the InputFileExt macro value. The macro + specifies the extension of the input file. + no
+ macroInputFile + BaseNameValue + Represents the InputFileBaseName macro value. The macro + specifies the base name of the input file. That is the file name with an + extension stripped. + no
+ macroInputFile + RelPathValue + Represents the InputFileRelPath macro value. The macro + specifies the input file path relative to the builder current directory. + no
+ macroInputDir + RelPathValue + Represents the InputDirRelPath macro value. The macro + specifies the input file directory path relative to the builder current + directory. + no
+ macroInputDir + RelPathValue + Represents the InputDirRelPath macro value. The macro + specifies the input file directory path relative to the builder current + directory. + no
+ macroOutput FileNameValue + Represents the OutputFileName macro value. The macro specifies the output + file name. The output file has the following meaning:
+ 1. If a tool is not capable of producing multiple files of the primary + output type with one tool invocation the output file is the file of the + primary output type that is built with a given tool invocation.
+ 2. If a tool is capable of producing multiple files of the primary + output type with one tool invocation the output file is undefined and + the macros representing the output file contain information about one of + the files of the primary output type that are built with a given tool + invocation.
+ no
+ macroOutput FileExtValue + Represents the OutputFileExt macro value. The macro specifies the output + file extension. + no
+ macroOutput FileBaseNameValue + Represents the OutputFileBaseName macro value. The macro specifies the + output file base name. That is the output file name with an extension + stripped. + no
+ macroOutput FileRelPathValue + Represents the OutputFileRelPath macro value. The macro specifies the + output file path relative to the current builder directory. + no
+ macroOutput DirRelPathValue + Represents the OutputDirRelPath macro value. The macro specifies the + output file directory path relative to the current builder directory. + no
+ versionsSupported +   + no
+ convertToId +   + no
+

3.7 Target Platform

+

The targetPlatform element represents the os/architecture +combination(s) upon which the output of a tool-chain can be deployed.  The +osList and archList attributes contain the Eclipse names of the +operating systems and architectures described by this element. 

+

CDT offers a facility for parsing +binary files if it knows which output format the build artifact has been +produced with. The binaryParser attribute must contain the id of the +appropriate parser if you want build artifacts of the tool-chain to be parsed in +the workspace.

+

3.7.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that the model manager will use to keep track of this + specific targetPlatform. + yes
+ name + Human-readable name for the targetPlatform to be used in the UI. + no
+ superClass + The unique identifier of the targetPlatform that this + targetPlatform is derived from. + no
+ isAbstract + Flags the targetPlatform as abstract.  An abstract + targetPlatform must be defined as a top level object in the model + definition and can not be selected by the user in the UI, but target + platforms derived from this target platform will inherit its attributes + and children.  The default value is false. + no
+ osList + + The list of operating systems that is valid for this target platform. +  The valid list of operating systems + is the string values returned by Platform.getOS(). + no
+ archList + + The list of architectures that is valid for this target platform.  The + valid list of architectures + is the string values returned by Platform.getOSArch(). + no
binaryParserThe id of the appropriate parser for the build + artifactno
+

3.8 Tool

+

The tool element represents the +tool in the user model.  A tool must have a +unique id for the build model, and a name that is displayed to a +user through the UI.  A tool can be defined as part of a tool-chain, or as an +independent specification.

+

A tool contains one or more +children of type option which define the tool command line settings that can be +changed by the user.

+

A tool contains one or more +children of type optionCategory.  These are used to simplify the user’s +managements of the tool‘s settings by dividing the options into a hierarchy of +categories.

+

A tool contains one or more +children of type inputType and outputType.  These define the inputs and +outputs of the tool in the detail necessary for build file generation.

+

Certain tools logically belong to +certain kinds of projects. For example, the Gnu compiler is invoked differently +for C and C++ source files. You can specify a filter for a tool based on the +nature of a project using the natureFilter attribute. When a new C +project is created, a “cnature” is added to it. New C++ projects have both a +“cnature” and “ccnature”. The build model interprets the filter as follows. If +you specify a ‘cnature’ filter, then the tool will only be displayed if the +project has a “cnature” and does not have a “ccnature”. If you specify a +‘ccnature’ filter, then the tool will be displayed if the project has a “ccnature”. +The default if no filter is specified is to display the tool for all projects.

+

Each tool specifies a command +that will be placed in the build file during the build file generation stage of +building.  If the tool +requires a special output flag, such as ‘-o’ for a compiler or linker, the +implementer must specify that in the outputFlag attribute.

+

The commandLineGenerator +attribute allows the implementer to specify a class that implements the IManagedCommandLineGenerator +interface.  An explanation of how to replace the default command line +generator can be found in § 7.4.

+

Additional tool attributes are +described in the schema table below.

+

3.8.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

id

+
+

A unique identifier for the tool that will be used by the +build model.

+
+

yes

+
+

name

+
+

Human-readable name for the tool to be used in the UI.

+
+

no

+
+ superClass + The unique identifier of the tool that this tool is derived + from. + no
+ isAbstract + Flags the tool as abstract.  An abstract tool must be + defined as a top level object in the model definition and can not be + selected by the user in the UI, but tools derived from this tool will + inherit its attributes and children.  The default value is false. + no
+

sources

+
+

DEPRECATED - see the inputType element.

+
+  
+

outputs

+
+

DEPRECATED - see the outputType element.

+
+  
+

outputFlag

+
+

An optional flag for tools that allow users to specify a name +for the artifact of the tool. For example, the GCC compiler and linker +tools typically allow the user to specify the name of the output with +the '-o' flag, whereas the archiver that creates libraries does not.

+
+

no

+
+

outputPrefix

+
+

DEPRECATED - see the outputType element.

+
+  
+ headerExtensions +

DEPRECATED - see the inputType element.

+
+  
+ natureFilter + Specify the project natures the tool should apply to.  The default + value is "both". + no
+ command + The command that invokes the tool. For example, gcc for the +Gnu C compiler, or g++ for the Gnu C++ compiler. + in hierarchy
+ commandLinePattern + Specifies a command “pattern” that indicates how the parts + of the command line are used to create the entire command line.  The + pattern consists of the replaceable variables COMMAND, FLAGS, + OUTPUT_FLAG, OUTPUT_PREFIX, OUTPUT and INPUTS.  The default command line + pattern is
+ ${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
+ White space and other characters are significant and are copied to the + generated command.
+ no
+ customBuildStep + When True, indicates that + the Tool represents a user-defined custom build step.  The default is + False.  When True, the default value of the commandLinePattern attribute + changes to “$(command)”. + no
+ errorParsers + Contains a semi-colon separated, ordered, list of error + parser ids.  MBS adds the error parser(s) to the end of the toolChain + error parser list, if not already present, when a project resource is + defined to use the tool.  The error parser(s) can be removed by the CDT + user, and is automatically removed when there are no more project + resources that use the tool. + no
+

dependencyCalculator

+
+

DEPRECATED - see the inputType element.
+

+
+  
+

commandLineGenerator

+
+

The name of a class that implements + IManagedCommandLineGenerator in order to provide custom command line + generation logic.

+

no

+
+

3.9 +Input Type

+

This element is a child of the Tool element.  It describes +one category of input to the tool.  A Tool may have multiple InputType element +children.  The element may reference an Eclipse content type that corresponds to +the input type.  If Eclipse/CDT has not defined an appropriate content type, +then the tool integration can provide an Eclipse content type extension.  A +content type describes things such as the file extensions that identify the type +(see the Eclipse + +org.eclipse.core.runtime.contentTypes extension point.) 

+

CDT pre-defines the following +content types:

+ +

Calculated dependencies of an +input type are not described by a separate input type, but are instead +determined by a dependency calculator extension callback when necessary.  The dependencyCalculator attribute allows the +implementer to specify a class that implements the IManagedDependencyGenerator +interface. It is the responsibility of this class to answer all of the +source-level dependencies for a given input. A discussion of why this +is important for make-based build utilities can be found in § +5.1.3. An explanation of how to replace the default dependency +calculator can be found in § 7.3.
+

+

Other +attributes of the InputType element are described in the table below.

+

3.9.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that + the MBS will use to track this element. + Yes
+ name + The name of the input type + that is displayed to the user in the UI. + No
+ superclass + The unique identifier of + the inputType that this inputType is derived from. + No
+ sourceContentType + The id of an Eclipse + content type that describes this input type.  If both the sources + attribute and the sourceContentType attribute are specified, the + sourceContentType will be used if it is defined in Eclipse. + No
+ sources + A comma-separated list of + file extensions that the tool will produce output for.  Note that the + user will not be able to modify the set of file extensions as they can + when sourceContentType is specified. + No
+ dependencyContent Type + The id of an Eclipse + content type used for dependency files.  If both the + dependencyExtensions attribute and the dependencyContentType attribute + are specified, the dependencyContentType will be used if it is defined + in Eclipse. + No
+ dependencyExtensions + A comma-separated list of + file extensions used by dependency files. Note that the user will not be + able to modify the set of file extensions as they can when + dependencyContentType is specified. + No
+ option + The id of the option that + is used on the command line to identify this input.  The default is to + not use a command line option and to assign this input to the ${Inputs} + part of the command line. + No
+ multipleOfType + True if all of the inputs + of this category are used in one invocation of the tool.  The inputs can + be project resources, or the outputs of other tools in the tool-chain.  + The default is False. + No
+ primaryInput + True is this is considered + the primary input of the tool.  The default is False. + No
+ dependencyCalculator + The name of a class that + provides the source file dependency calculation for the input type.  The + class implements the IManagedDependencyGenerator interface.  The default + is none. + No
+ buildVariable + A variable used in the + build file to represent the list of input files.  The same variable name + can be used by an outputType to identify a set of output files that + contribute to this tool’s input (i.e., those using the same + buildVariable name).  A build variable is ignored when multipleOfType is + false and this is the primary input of the tool.  The default name is + chosen by MBS. + No
+

3.10 +Additional Input

+

This element is a child of the InputType element.  It +describes additional input of a particular input type. +An InputType may have multiple AdditionalInput element children.  +This element is only present if additional inputs and/or dependencies are +specified by the user (or tool integrator).

+

3.10.1 Schema

+ + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ paths + Defines a semi-colon + separated list of the relative or absolute path of the resource(s) to + which this element applies.  The resource(s) must be a member of the + project, the output from another tool in the tool-chain, or an external + file.  The file name of a path can use GNU Make pattern rule syntax (in + order to generate the name from the output file name). + Yes
+ kind +

+ Defines the kind of additional input.  The valid string values are: +

+
    +
  • + + AdditionalDependency – added as a tool dependency, but not to the + command line.
  • +
  • + AdditionalInput – + added as an additional input to the command line, but not as a + dependency.
  • +
  • + + AdditionalInputDependency – added as both.
  • +
+ The default is + + AdditionalInputDependency.
+ No
+

3.11 +Output Type

+

This element is a child of the Tool element.  It +describes one category of output created by the tool.  A Tool may have multiple +OutputType element children.  The element may reference an Eclipse content type +that corresponds to the output type.  If Eclipse/CDT has not defined an +appropriate content type, then the tool integration can provide an Eclipse +content type extension.  It describes things such as the file extensions that +identify the type (see the Eclipse + +org.eclipse.core.runtime.contentTypes extension point.)

+

A number of the OutputType +attributes provide a mechanism for MBS to determine the name(s) of the output +file(s) generated from this OutputType.  This is necessary in order for MBS +to generate correct build files, and to allow for input ordering.  The precedence +order for determining the output resource names is the following:

+
    +
  1. + If this is the “target” tool in the tool-chain, and this is the primary + OutputType, use the user-defined artifact name and extension.
  2. +
  3. + If the option attribute is specified, use the value of the option.
  4. +
  5. + If the nameProvider attribute is specified, call the nameProvider and use + the returned name(s).
  6. +
  7. + If the outputNames attribute is specified, use the value of the attribute.
  8. +
  9. + Use the namePattern attribute value to construct the name from the input + file name.
  10. +
+

 If the output of the tool usually has a special prefix, like the prefix +‘lib’ for libraries on POSIX systems, the implementer must specify this in the outputPrefix +attribute.

+

3.11.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ id + A unique identifier that the MBS will use to track this element. + Yes
+ name + The name of the input type that is displayed to the user in the UI. + No
+ superclass + The unique identifier of the outputType that this outputType is derived + from. + No
+ outputContentType + The id of an Eclipse content type that describes this output type. If both + the outputs attribute and the outputContentType attribute are specified, + the outputContentType will be used if it is defined in Eclipse. + No
+ outputs + The default extension that the tool will produce from a given input. Note + that the user will not be able to modify the set of file extensions as + they can when outputContentType is specified. + No
+ option + The id of the option that is used on the command line to specify this + output.  The default is to use the Tool “outputFlag” attribute if + primaryOutput is True.  If option is not specified, and primaryOutput is + False, then the output file(s) of this outputType are not added to the + command line. + No
+ multipleOfType + True if multiple outputs of this type are created by one invocation of the + tool.  The default is False. + No
+ primaryInputType + Id of the input type that is used in determining the build “rules” for the + output type and for the default name of the output file.  The default is + the input type with primaryInput == true.. + No
+ primaryOutput + If True, then this is the primary output of the tool.  The default is + False. + No
+ outputPrefix + Some tools produce files with a special prefix that must be specified.  + For example, a librarian on POSIX systems expects the output to be lib.a + so ‘lib’ would be the prefix.  The default is to use the Tool + “outputPrefix” attribute if primaryOutput is True, otherwise the default + is an empty string. + No
+ outputNames + Specifies the semi-colon delimited, complete set of output resource names + created by the output type. + No
+ namePattern + Specifies a name pattern with the file extension, using the Gnu pattern + rule syntax, for deriving the output resource name from the input + resource name.  The default, “%”, is to use the input file base filename + with the output extension. + No
+ nameProvider + The name of a class that implements the IManagedOutputNameProvider + interface.  When specified, the namePattern and outputNames attributes + are  ignored.  When multipleOfType is true, this attribute, or + the outputNames attribute, is required + in order for MBS to know the names of the output files. + No
+ buildVariable + A variable used in the build file to represent the list of output files.  + The same variable name can be used by an inputType to identify a set of + output files that contribute to the tool’s input (i.e., those using the + same buildVariable name).  The default name is chosen by MBS. + No
+

3.12 Option Category

+

The optionCategory element represents the option category in +the user model.  A tool can have a large number of options. To help organize the user +interface for these options, a hierarchical set of option categories +can +be defined. A unique identifier must be specified in the id +attribute. This will be used by the build model to manage the category. +The user will see the value assigned to the name +attribute. If the category is nested inside another category, the +unique +identifier of the higher level category must be specified in the owner +attribute, otherwise specify the identifier of the tool +the category belongs to.

+

3.12.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

id

+
+

Used by the build model to uniquely identify the option +category.

+
+

yes

+
+

name

+
+

A human-readable category name, such as 'Pre-processor +Options'. This will be the name the user sees displayed in the UI.

+
+

yes

+
+

owner

+
+

Option categories can be nested inside other option +categories. This is the ID of the owner of the category.

+
+

yes

+
+

3.13 Option

+

The option element represents the option in the user model.  +Options are used to organize and maintain the command arguments that are sent to +tools during the build. Users interact with the build model through the UI to +set the value of options.  Each option must have a unique id for the +build model to properly manage it. A descriptive name that will appear in +the UI must be specified. Options can be organized into categories to keep the +UI more manageable. If an option category has been defined for the tool, and the +option should be displayed as part of that category, then the unique identifier +of the option category must be specified in the category attribute.

+

3.13.1 Option Types

+

Some options contain commands to turn a feature off or on, such as +setting a flag to see descriptive messages from a tool. Others contain +lists of values, such as a set of directories to search for files. +Still +others are a single selection from a pre-determined range of choices, +like the level of debugging information to produce, or the type of +architecture to build for. The valueType attribute is used +to +indicate to the build model what kind of option it is.

+

Specifying the type of value an option contains is an important +design decision, since it controls how the build model treats the +contents of the option’s attributes, and just as importantly, how the +option is displayed to the user. The basic types are string, +boolean, stringList, and enumerated. +

+

There are also four specialized cases of list options, includePath, +definedSymbols, libs, and userObjs +to manage the +list of paths to search for header files, the defined preprocessor +symbols, external libraries to link against, and object module to link +in respectively.

+

3.13.1.1 String Options

+

String options are used for tool +commands that take a user-defined value.  The UI representation for a string +option is a text box.

+

3.12.1.2 Boolean Options

+

Boolean options are used to specify an option that is +either true or false. The UI representation for a boolean option is a +check box. The value of the option is set true by selecting the check +box, and false by deselecting it. If true, the command +associated with +the option will be passed to the tool when it is invoked. If false, the +value associated with the commandFalse attribute will be passed.

+

3.13.1.3 Enumerated Options

+

Enumerated options are used when +the tool command takes a value from a pre-determined range of choices. The UI +representation for an enumerated option is a combo box.  Enumerated options may +have enumeratedOptionValue children.  Note that when an enumerated option has +enumeratedOptionValue children, the children define the complete set of possible +option values and override the enumeratedOptionValue children of any superclass.

+

3.13.1.4 String List Options

+

String list options are used for a +tool command that takes a list of user-defined values.  The UI representation +for a string list option is a multi-line text box and button bar.  String list +options may have listOptionValue children.

+

3.13.1.4.1 Special List Options

+

There are four special cases of string list options; includePaths +specify the paths to search for header files, definedSymbols +for user-defined preprocessor defines, libs for libraries +that must be linked into the final build goal, and userObjs +for external object files that must be linked.

+

While specifying these types of options as type stringList +will make them appear in the UI correctly, the build model will not be +able to recognize them as special in any way. Since certain functions +of +the CDT require this information to function correctly, it is important +to flag these types of options appropriately. For example, the search +and indexing function may not perform correctly if the includes paths +and defined symbols are not set for a project. Similarly, the build file +generator may not be able to generate dependencies correctly if it is +unaware that there are libraries and external object files that +participate in +the final build step.

+

3.13.1.4.2 Browse Types

+

Certain types of list options that deal with files or directories +are easier for the user to manipulate if there is a browse button +supplied in the UI. This is especially true for include and library +search paths, as well as library and object file lists. Because the UI +needs to know what "type" of browser to display, the implementer must +specify the browseType for list options as none +(default), file, or directory. Note that +the browseType attribute is only used for list options. It +is ignored for all other option types.
+

+

3.13.2 Values and Default Values

+

An option can define a default +value that applies to the option until a value has been specified. An option +defines its default value using the defaultValue attribute.  When an +option has a value that has been specifically set, the value is contained in the +value attribute.  In order to determine the current value of an option, +MBS performs the following steps until a value is found:

+
    +
  1. Examine the value + attribute of the option.
  2. +
  3. Examine the value + attribute of the option’s superClass recursively.
  4. +
  5. Examine the + defaultValue attribute of the option.
  6. +
  7. Examine the + defaultValue attribute of the option’s superClass recursively.
  8. +
  9. Use the default value for + the option type.
  10. +
+

The type of option will determine +how the build model treats the value it finds associated with the attribute. +Options that define simple string values will use the value as-is as described +below.  For boolean options any value but the string ‘true’ will be treated as +false. List options treat all the defined list option values as default, and +enumerated options search through the defined enumerated values for the default.

+

3.13.3 Option Commands

+

The values stored in the options +are passed to build tools with unique flags, depending on the compiler and the +option. For example, an option defining the paths a linker should search for +libraries might contain a large number of search paths, but each path is passed +to the linker with a ‘-L’ flag. The command attribute is used to hold the +actual flag to pass along with the option value.

+

The build model handles the value +it finds associated with the command attribute differently depending on the type +of value the option is managing based on the following heuristic. For string +options the option value is appended to the value of the command +attribute. The command attribute can be empty in order to support an area +for typing in additional options.  For enumerated options, the command +associated with the selected enumerated value is used, not the command defined +in the option. For boolan options, the command is used if the option +value is set to true, otherwise the value of the commandFalse attribute +is used. For list options, the command is applied to each element of the +list.

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

Option Value Type

+
+

Uses Default Value

+
+

Uses Command

+
+

UI Element

+
+

string

+
+

Yes

+
+ Yes +

Text box

+
+

boolean

+
+

Yes

+
+

Yes if true, else commandFalse

+
+

Check box

+
+

enumerated

+
+

Yes

+
+

No.

+
+

Combo box

+
+

stringList

+
+

No.

+
+

Yes.

+
+

List and button bar

+
+

3.13.4 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

id

+
+

A unique identifier for the option that will be used by the +build model.

+
+

yes

+
+

name

+
+

Human-readable name for the option to be used in the UI.

+
+

no

+
+ superClass + The unique identifier of the option that this option is + derived from. + no
+ isAbstract + Flags the option as abstract.  An abstract option must be + defined as a top level object in the model definition and can not be + selected by the user in the UI, but options derived from this option + will inherit its attributes and children.  The default value is false. + no
+ category + This is the id of the option category for this option. The id +can be the id of the tool which is also a category. + no
+ valueType + Type of value the option contains. + in hierarchy
+ value + Value assigned to the option by the end user or in a + default configuration. + no
+

defaultValue
+

+
+

Optionally specifies the value for the option if the user has +not edited it. For options containing a Boolean value, the string +‘true’ is treated as true, any other value as false.

+
+

no

+
+

command

+
+

An optional value that specifies the actual command that will +be passed to the tool on the command line.  The command + provides a “pattern” for specifying where the value should be placed for + options of type string and stringlist.  The pattern can + contain the replaceable variable “value”.  If no ${value} is specified + in the command, the option value is appended to the end of the specified + command.

+
+ no
commandFalseAn optional value, used only with options of +type Boolean, that specifies the actual command that will be passed to +the tool on the command line when the value of the Boolean option is +False.no
browseTypeThis value is used for list (and related) +options only. If you need a list option to prompt the user to browse +for a file or directory when adding a new value, set the value of the +attribute accordingly. By default the value is treated as no browsing +needed.no
resourceFilterSpecifies the resource types that this option + applies to.  The values are “project”, “file”, and “all”.  The default + is “all”.  Specifying “project” indicates that the option is displayed + when modifying a configuration’s options, but not when modifying an + individual file’s options.  Specifying “file” indicates the opposite.no
+

3.14 List Option Value

+

Some options are best described using a list of values. This build +model element is used to define an individual element of a list option. +Typically, these options are populated by the user, not by the person +describing the option. However, if you define one or more values in +your +extension point, they will be displayed in the UI when the user edits +the build settings for the project. If the user modifies those +settings, +the overridden values will be stored by the build model and displayed +in +the UI.

+

There is an exception to this, however. Certain core functions in +the +CDT rely on the built-in parser to function correctly. In order to +return accurate values, the CDT parser must mimic (as closely as +possible) the preprocessor that ships with the tool. Unfortunately, these tools often have a number of built-in +symbols and include paths that the user is never required to set, and +may be unaware even exist. In those cases, the tool integrator must set those values in the tool definition and flag them by +setting the value of the builtIn attribute to true. Built +in +list option values are never shown to the user, and are only passed to +clients of the build model that specifically request them.

+

3.14.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

value

+
+

The contents of the list item. The build model will apply the command defined in the option to each value in the list.

+
+ yes
+

builtIn

+
+

An optional Boolean field that tells the build model to treat +the value defined as read-only.

+
+

no

+
+

3.15 Enumerated Option +Value

+

Some options are best described as a single selection from a list of +choices. For example, users typically select the level of optimization +they want the compiler to apply when creating a build artifact. The +enumerate option value is used to define the elements of the list of +choices.

+

Each element of an enumerated option has a name that +will +be shown to the user in the UI. It also has a command which +should correspond to the command line option that gets passed to the +tool by the builder if this element is selected.

+

A default element can be indicated by setting the value of isDefault +to ‘true’. If the user has not overridden the selection in the UI, the +default element will be displayed. If no default is specified, the +first +element in the list is assumed to be the default and is displayed to +the +user.

+

3.15.1 Schema

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

Attribute

+
+

Description

+
+

Required

+
+

id

+
+

A unique identifier for the tool that will be used by the +build model.

+
+

yes

+
+

name

+
+

A descriptive name that will be displayed to the user in the +UI as one of the option values to select.

+
+

yes

+
+

isDefault

+
+

Flags this enumerated value as the default to apply to the +option if the user has not changed the setting.

+
+

no

+
+

command

+
+

The command that the enumerated value translates to on the +command line.

+
+

yes

+
+

3.16 Resource +Configuration

+

The resourceConfiguration element is not visible in the +user model.  It is a place to store build attributes of individual resources +that are different from the configuration as a whole.  The resourceConfiguration +element can have a tool child that contains the overridden attributes and +options.

+

The resourceConfiguration +attributes are specified in the schema table below.

+

3.16.1 Schema

+ + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ resourcePath + The path of the project resource to which this + resourceConfiguration applies. + yes
+ exclude + Specifies whether the resource is excluded from building in + the parent configuration.  The default value is false.  The + resourceConfiguration element should retain its tool children, if any + exist, even when excluded from the build. + no
+

3.17 +Environment Variable Build Path

+

The tool-integrator can specify the names of the +environment variables used by the tool for specifying the include and the +library paths.  To specify the build paths variables (either the include +path variables or library path variables) the tool-integrator must define the +envVarBuildPath element as the child of the tool element.  The tool element may have several envVarBuildPath elements, +each of those representing the list of environment variable names and the +delimiter or the Build Path Resolver used for those variables.

+ +

The envVarBuildPath +attributes are specified in the schema table below.

+

3.17.1 Schema

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ pathType + The build path type. Can be one of the following: “buildpathInclude”, + “buildpathLibrary” + yes
+ variableList + comma-separated list of the environment variable names used to store the + include paths + yes
+ pathDelimiter +

Represent the delimiter used to separate the paths. + If omitted the default system delimiter will be used. That is the “:” + for Unix-like systems and the “;” for Windows systems.  If the + “buildPathResolver” attribute is specified, the “pathDelimiter” is + ignored

+ no
+ buildPathResolver +

The name of a class that implements the IBuildPathResolver interface + that the tool-integrator can supply in order to provide his/her own + logic of resolving the variable values to the build paths

+

Design note: the reason why this callback is + needed is because some tools may store the build paths in some special + way or in the format other than <path1><delimiter><path2><delimiter>…<pathN>.  + The example of such a tool is gcc for Win32 Cygwin.  The cygwin + version of gcc does not accept the windows-style paths stored in the + build paths environment variables.  The path must be specified in + the POSIX format and using the “:” delimiter, for example: “/cygdrive/c/includes:/cygdrive/d/…”

+ no
+

3.18 Managed Build Revision

+

Version identifier for the managed build extension point. It is a +string representation, consisting of three (3) tokens separated by a +decimal point. The 3 tokens are positive integer numbers. This is used +by the build model when it loads a tool definition. The model will +compare the version string in the plugin manifest with its internal +version of the model grammar. If the manifest is compatible with the +internal version, the MBS will do its best to load the manifest +file.
+

+

3.18.1 Schema

+ + + + + + + + + + + + + +
+ Attribute + Description + Required
+ fileVersion + A +string containing the three version tokens + yes
+ +

3.19 Dynamic Element Provider

+

Tool integrators may supply this element to dynamically provided the +defintions that are otherwise specified in the buildDefinitions extension point.  +Each configuration element returned from this IMangedConfigElementProvider +interface is treated as if it were a direct sub-child of a buildDefinitions +extension. As such it should conform to buildDefinitions.exsd. The only +exception is it should not contain nested dynamicElementProvider elements.

+

3.19.1 Schema

+ + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
+ name + The name of the dynamic element provider. + yes
+ class + The class that implements the IManagedConfigElementProvider interface. The + logic of determining the elements is left to the implementer, but they + must be correctly formed or the build model will have trouble loading. + yes
+ +

4 UI Representation

+

In addition to controlling the way a project is built, the build +model also defines how the user interface will appear. There are two +principle ways a user interacts with the build settings model. The +first +is at project creation time through the New Project wizards, the second +is through the build settings property page.

+

4.1 New Project Wizard

+

The new project wizard relies on the project-type and configuration +definitions from all managed build system manifest files to populate the list of choices +it +presents to the user. The figure below shows how the list of project types is +populated with any projectType whose isTest and isAbstract +attribute are set to false. The value of the projectType's name +attribute is +used to populate the drop-down list-box selection widget. Similarly, +the configuration +check list is populated with all the defined configurations associated +with the selected projectType.
+

+

+New project wizard project type selection page

+
Figure 3 New project wizard
+

4.2 Build Property Page

+

The contents of the build property page for a project are created by +examining the tools, option categories, and options defined for the +current configuration. In this section we will look at how +the user interface interprets the information in the build model to +display options to the user.

+

4.2.1 Managing the Configuration

+

The active configuration information pane of the build property page +consists of two drop-down list controls and a button. The first +drop-down list is currently read-only, and displays the type of project. +The second contains a list of configurations that are defined for the +project. The figure below shows a project targeted solely at a Windows shared +library built with GCC that has two configurations; ‘Release’ (not shown), and +‘Debug’. Note that the build settings model is queried for the project-type and configuration name information.

+

+Project property page configuration selection/edit area

+
Figure 4 Configuration selection
+

Users change the build settings for options associated with +categories and tools. The UI relies on the information in the build +settings model for that information. The figure below shows how the +tool +list, displayed in a tree view, is populated. Tools are the root +elements of the tree. Categories are displayed as leaves of the tool +they belong to. In both cases, the name defined in the plug-in manifest +is used as the text of the tree elements. Note that the tool uses an +externalized string to identify its name to help internationalize a +tool +specification, but this is not necessary.

+

+Project property page tool selection area

+
Figure 5 Tools and option category display
+

As mentioned in the discussion of the build settings model, options +know what type of data they manage. Different option types require +different UI widgets to properly represent that data to the user. The +figure below shows what UI elements are created for each type of option.

+

The Compiler Flags option contains a string option. In this +example, the option is intended to be the place the user enters all those extra +flags that are not defined anywhere else in the property page. Options +containing strings display their contents in a simple text box.

+

The Optimization Level option is an enumerated option. +These types of options force the user to select a single value from a +list of possible choices. Note that the name of the option +is +applied to the label in the UI, whereas the name of each +individual enumeratedOptionValue element is used to +populate +the list.

+

The Include Paths option is a special case of a stringList +option. The contents of this option are left undefined in this example, +so +the user sees an empty list. However, all list options are displayed in +a list control with an associated button bar for adding, removing, and +reordering list elements. Note that the optionType +attribute +is set to includePath. This notifies the build system +that +it must pay special attention to the values entered in this option. +There are clients of this information in the CDT that will query the +build system for this information, and this is currently the only way +to +flag these values as special.

+

+Project property page option edit area

+
Figure 6 Option display
+

Finally Verbose, a Boolean option, is displayed as a check-box. +Since +the default value for this option is defined as false, +the +check-box is left unselected when it is created.

+

Note that the UI actually builds itself on the fly based on the options descriptions +in the plug-in manifest. The order of the options is the basis of the page +layout. If the layout is not satisfactory, you must edit the manifest file itself. You must then +restart the workspace after editing the manifest for your changes to +take effect in the UI.

+

5 Build File Generation

+

The third element of the managed build system is the build file +generator. The build file generator is one of the clients of the +information stored in the build settings model. You can use the default +build file generator that is supplied with the CDT (for Gnu makefiles), or +replace it with a customized generator depending on the variant of build utility that you wish to +use. The relationship between the builder, the build file generator, and +the dependency calculator are shown in the model below.

+

+Builder, generator, and dependency calculator model

+
Figure 6 Relationship between build file generator and dependency +calculator
+

5.1 Default Build File +Generator

+

The best way to understand how the build file generator works is to +look at a real project. The figures below show the project that we will +be using for the purposes of this discussion. The source for the +project +is spread over the directories source1/, source2/, +and source2/source21. Header files are located in 2 +locations; headers/, and source2/source21. +To illustrate the problem of calculating source-level dependencies for make, Class1 is in a has-a relationship +with Class2.
+

+ + + + + + + +
Example project Has-a relationship between Class1 and Class2 +
+


+

+
Figure 7 Example project source files
+

While simple, this example illustrates some of the problems projects +using make typically face +when source files are organized +hierarchically. One approach to these types of problems is to generate +a +makefile for each subdirectory, then call make recursively, culminating +in the final build step which, in theory, brings all of the build +results together.

+

The problem with managing this type of approach lies in +understanding +all of the source-level dependencies and handling them properly when +the makefiles are +generated. In order for this to happen, all the dependencies have to be +properly specified and complete. As long as there are no dependencies +between resources in different subdirectories, the makefiles in a +recursive approach will contain a properly partitioned set of +dependencies. However, in a more realistic project organization, the +fragmentary makefiles will have incomplete representations of the +dependencies. In order to correct for this, we would have to do some of +the work that make gives us +for free.

+

The approach the makefile generator takes is to use a single +makefile +to build the entire project. To keep the makefile manageable and +readable, the makefile generator creates makefile fragments for each +subdirectory of the project that contributes source +code and dependency fragments for each source file, and uses the +include capability of make to +bring them all +together.

+

The figure below shows the makefile, makefile fragments, and +dependency fragments that are generated for the project. Note that all +generated files and directories are marked as derived so that a CM +system will not check them in.

+

+Example project generated files

+
Figure 8 Generated makefiles
+

In the next sections, we will examine the makefiles that are +generated by the default build file generator in more detail.

+

5.1.1 Main Makefile

+

There is one main makefile generated for each project configuration. Based on +information for the configuration, the proper clean command is defined as a +macro. Note that for efficiency, wherever possible the default build file +generator takes advantage of Gnu make's ‘:=’ and ‘+=’ variable +assignment operators so that the contents of the makefile macros are +only evaluated when a value is assigned or modified, not every time +they are used. The makefile includes external makefiles that have a +list of build directories, object files, makefile fragments, and +dependency makefiles.

+

+Generated main makefile

+

This makefile is passed as an argument to make, so it contains +clean +and all +targets.  It contains the build rules for the following types of tools +defined in the tool-chain:

+
    +
  1. The target tool as defined by the tool-chain
  2. +
  3. All tools where the primary input-type defines multipleOfType == true
  4. +
  5. All tools that consume the output of type #2 tools
  6. +
+

5.1.2 Makefile Fragments

+

Obviously, the makefile we just looked at is incomplete. There are no rules +for building source files that are not built by the rules defined in the main +makefile. +However, the build file generator places that information into makefile +fragments for each subdirectory contributing source to the build. The +figure below shows what the fragment for the source1/ +subdirectory looks like.

+

Generated fragment makefile

+

As you can see, the fragment contributes one file, class1.cpp, +and a +rule to build all source files with the ‘cpp’ extension in the +subdirectory where it is located. The content of +the dependency and command lines is derived from the build settings +model. The dependency line is supplied by the build +model which has a list of tools and know which (if any) build files +with a particular +extension. When a tool is found, it is asked for the extension of the +output. +For +the command line, the tool that builds for the extension supplies the +actual command, while the options for the tool supply the arguments to +pass to it.

+

5.1.3 Dependency Makefile Fragments

+

There is one final piece to the puzzle, and that is a list of +dependencies for each source file in the build. Recall that make +will rebuild any file that is out of date in its dependency graph, but +it only adds the dependency to the graph if it is explicitly told to do +so. Thus, it is the responsibility of the makefile generator to +completely describe all dependencies for make. Consider the +dependencies of the final build target to Class1. It is obvious that if the +implementation file, Class1.cpp, +changes then the object module, Class1.o, +should be rebuilt. In fact, we described that dependency in the +makefile described in § 5.1.2. What may be less clear is that the +object module should be updated if the class description in Class1.h changes. To make matters +more complex, Class1 is in a +has-a relationship with Class2, +so any changes to Class2.h +should result in a rebuild of Class1.o. +Finally, the build file generator puts dummy build targets for each +header file in the dependency list. This is important because if the +header file is moved or deleted, make will try to find a rule to build +the dependency and if a dummy target is not present, it will stop.
+

+The build file generator places the all of these dependencies +in +a separate makefile fragment for each file participating in the build. +The figure below +shows the fragment for  Class1. +

+Generated dependency makefile fragment

+

5.1.4 Support Makefiles

+

There are two other makefiles that are generated and included in the +main makefile. The first, sources.mk, +defines a list of source macros, such as C_SRCS, and all +of the subdirectories the builder believes contribute source code to +the build. The second, objects.mk, +contains two special macros used by the build, LIBS and USER_OBJS, which can be +contributed to by options that are marked with a special type in the tool-chain +definition.

+

5.1.5 Inter-Project +Dependencies

+

A project may reference one or more additional projects in the +workspace. The makefile generator attempts to generate these +dependencies in two ways. First, the makefile must have a dependency on +the build goal of the referenced project in the main target, and it +must +include instructions for building those targets as a separate rule.

+

For the remainder of this discussion, let us consider the following +basic scenario. Project Makefile Example builds an +executable, Messages.exe. It +references a project, UI Widgets, which builds a shared +library, UIWidgets.dll. +The +main build target in the makefile for Makefile Example +would be generated with the output of UI Widgets as a +dependency.

+

+Generated inter-project dependency target

+

As you can see from the generated makefile above, the rule for the +target Messages.exe will be run if UIWidgets.dll +has +changed. This works well if the output of the referenced project can be +determined. +For the moment, this is only the case when the referenced project is +managed. Standard make +projects do not know what the output of their build step is since that +information is encoded in the makefile. If a managed project references +a +standard project, it will not have an explicit dependency on the output +of that project.

+

The managed builder relies on the Eclipse build framework to +properly determine the build order when projects involved in a build +reference other projects. As long as the build takes place inside the +CDT, the managed builder can trust that the build framework will build +the projects in the proper order.

+

6 Tutorial: An Example Tool +Integration

+

One of the features of the MBS is that you can add custom project-types and tool +integrations. The tutorial in this section will walk you through +the basic +steps of setting up your environment, creating a new plugin where you +can define a tool integration, and give you pointers for publishing the tool +integration for others to use.
+

+

+6.1 Setting up your +Environment

+

Tool integrations are specified by extending the buildDefinitions +extension point defined in the org.eclipse.cdt.managedbuilder.core +plug-in. This requires that you have access to the extension point and the +schema that describes it, which are available only from the SDK +version of CDT. To confirm that the SDK is installed, select Help > About Eclipse Platform > +Feature Details and check that "Eclipse C/C++ Development Tools +(Source)" and "Eclipse C/C++ Development Tools SDK" appear in the list. +If they do not, simply install the SDK from the same update site you +used to install the CDT.
+

+

+6.2 Creating your +Plug-in +Project

+

Now that the source for the CDT is available, you will create a +plug-in project containing your tool definitions. Technically the extension can be defined in any plug-in +manifest, +but +for this tutorial we will create a new, empty plug-in project with an +empty plug-in manifest file.

+
    +
  1. Open the New Project... wizard +(File > New > Project...), +choose Plug-in Project +from the Plug-in Development +category and click the Next > +button.
    +
  2. +
  3. On the Plug-in Project page, +use org.eclipse.cdt.example.toolchain +as the name for your project, and click the Next > button.
    +
  4. +
  5. On the Plug-in Content +page, you will see that the wizard has set the id to org.eclipse.cdt.example.toolchain +by default. We are going to be defining the tool integration in the +plug-in manifest file without writing any code, so de-select the "Generate the Java class that..." +check-box and click on the Finish +button.
  6. +
  7. If asked if you would like to switch to the Plug-in +Development perspective, answer Yes.
  8. +
+

+6.3 Creating the +Extension

+

You have installed the CDT source and +you have a brand new project with an empty manifest file. You are now +ready to add tool definitions to the managed build system by +extending the buildDefinitions extension point.

+
    +
  1. If the xml file for the plugin was not opened by default when you +switched to the Plug-in Development +perspective, double click on the org.eclipse.cdt.example.toolchain +project in the Package Explorer +to expand it. Double click on +the plugin.xml file to edit +its contents.
  2. +
  3. We have to add a dependency between our project and the org.eclipse.cdt.managedbuilder.core +plug-in where the extension point is defined. Click on the Dependencies +tab located along the bottom of the manifest editor. Click the Add… button located beside the Required Plug-Ins +list. Select org.eclipse.cdt.managedbuilder.core from the +list and then click the OK +button.
  4. +
  5. Select the Extensions +tab located along the bottom of the +manifest editor. Click the Add… +button located beside the All +Extensions list.
  6. +
  7. You should now be on the Extension +Points tab on the Extension +Point Selection page. Make +sure that the Show only extension +points from the required plug-ins +check-box is selected. Select org.eclipse.cdt.managedbuilder.core.buildDefintions +from the list of extension points.  Click the Finish button.
  8. +
  9. In the Extension Details column in the manifest editor, use org.eclipse.cdt.example.toolchain +as the ID for the +extension, and Example Tool Chain +for the Name.
  10. +
+

+6.4 Adding a Project Type

+

Now we will add a new projectType, configuration, toolChain, builder, +targetPlatform and an example tool to +the extension.

+
    +
  1. Right click on org.eclipse.cdt.managedbuilder.core.buildDefinitions +in the All Extensions column +of the manifest editor to access the context menu for the extension. +Select New +> projectType to add a projectType definition. A new projectType with the id org.eclipse.cdt.example.toolchain.projectType[n] +should appear below the extension point. That's a bit verbose, so +rename it to example.toolchain.executable.
    +
  2. +
  3. Let’s give the new projectType a human-readable name. Locate the name +property in the Extension Element +Details column. For now, let’s use the name Example +Executable for our projectType.
  4. +
  5. Make sure that the values of isTest + and isAbstract are set +to false.
    +
  6. +
+

+6.5 Adding a +Configuration

+

We have now added a basic project-type definition. We now want to define a +default configuration. Normally, you would consider defining both a release and +debug configuration, but we want to keep this example simple so we will restrict +ourselves to a single configuration.

+
    +
  1. Right click on Example +Executable in the All +Extensions list. From the context menu select New > +configuration.
    +
  2. +
  3. Change the value of the name +property and  to be Test Release and the value of id to be +example.toolchain.configuration.release.
  4. +
  5. Now set the clean command for the configuration. For the purposes of +this example, click on the cleanCommand +property to edit it and +enter rm –f.
  6. +
  7. Finally, we should supply a default set of error parsers that +apply to the configuration. Error parsers are used by the CDT to map input +from the shell back to source code elements. For simplicity, assume +that all of the default error parsers could be used to understand error +messages for our new target. In the errorParsers property, add the +following list org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;
    +org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.VCErrorParser
  8. +
+

+6.6 Adding a ToolChain

+

+Each configuration requires a toolChain child that defines the set of tools used by +the configuration.

+ +
    +
  1. Right click on Test Release in the All +Extensions list. From the context menu select New > + toolChain.
    +
  2. +
  3. Change the value of the name +property and  to be Example Tool-chain  and the value of id to be +example.toolchain.toolchain.
  4. +
  5. We want the new project-type to appear when we run the new project wizard + on our host platform, so we have to define the operating systems that the + toolChain should be visible on. Locate the osList +property and click it to edit the value. Enter win32 if +you are running the tutorial on Windows, linux if you are +running on one of the Linux distributions, solaris, hpux, or +aix if +you are running on a version of Solaris, or other if none +of the above apply.
  6. +
+

+6.7 Adding a Builder

+

+Each toolChain can have a builder child that describes the build utility used by +the tool-chain to create the build artifacts of the configuration.

+
    +
  1. Right click on + Example Tool-chain in the All +Extensions list. From the context menu select New > + builder. +
  2. +
  3. Change the value of the name +property to be Example Builder and the value of id to be +example.toolchain.builder.
  4. +
    +
  5. Locate the Command +property, click on it to edit the value, and enter make.
  6. +
+

+6.8 Adding a TargetPlatform

+

+Each toolChain can have a targetPlatform child that describes the target +operating system(s)/architecture(s) that build artifacts created by the +tool-chain are intended to execute on.

+ +
    +
  1. Right click on + Example Tool-chain in the All +Extensions list. From the context menu select New > + targetPlatform. +
  2. +
  3. Change the value of the name +property and  to be Example Target Platform  and the value of id to be +example.toolchain.targetplatform.
  4. +
  5. Our target platform is the same as our host platform.  Enter the + same value for the osList property as entered for the ToolChain + osList.
  6. + +
  7. Set the value of the binary parser property based on the platform +you will be using to create your example projects on. For example, if +you +are running this tutorial on Linux or Solaris, enter the value org.eclipse.cdt.core.ELF. +If you are running the tutorial on Windows, enter the value org.eclipse.cdt.core.PE.
  8. +
+

+6.9 Adding a Tool

+

+Each toolChain describes the set of tools used by the build utility to create +the build artifacts of the configuration.

+
    +
  1. Right click on Example + Tool-chain to get the context menu +and select New > tool. Name +the tool Compiler and make its id example.toolchain.compiler.
  2. +
  3. Let us assume that the tool should appear for both C and C++ +projects, although this is not always the case. Locate the natureFilter +property and select both from the list of choices.
  4. +
  5. Tools declare which file extensions they operate on and, +optionally, the file extensions they produce. Our imaginary compiler +only works on files with a ‘c’ or ‘C’ extension. Locate the sources +property and set its contents to be a comma-separated list containing c,C. +Note that there should not be any spaces between the values. Let us +assume that the output of the compiler is an object module that has the +extension ‘o’. Set the value of the outputs +property of the +tool to o.
  6. +
  7. The build model needs to know if there are any special file +extensions that indicate a file is a ‘header’ file. Set the headersExtension +property to be a comma-separated list containing h,H.
  8. +
  9. Tools often have a flag to specify the output of a tool. For the +purposes of this example, set the outputFlag +property to -o.
  10. +
  11. Finally, we want to specify the command that is needed to invoke +the tool. For this example, we are not interested in actually calling a +real tool, so just enter ccc as the value for the command +property.
  12. +
+

+6.10 Testing the ProjectType

+

We have now defined enough information to create a project for +our +new example project-type, so let’s go test it out.

+
    +
  1. Make sure our example project is selected in the Package +Explorer. Select Run > +Debug As > Run-time Workbench +to start a new run-time workbench instance that includes the new tool +information you have created. You may be prompted to save the resource +you were editing. If prompted, answer Yes.
    +
  2. +
  3. In the new workspace, open the C/C++ +perspective.
  4. +
  5. Run the new project wizard. From the Selection page choose either +a managed C or C++ project. Click the Next +> button, give +your project any name you wish, and click Next > again.
    +
  6. +
  7. You should now be at the Select a type of + project page. Your new + project-type will appear as a choice in the Project + Type + selection widget. Select it and note that the list of available + configurations now contains the single configuration we defined for the + project-type.
    +
  8. +
  9. Click Finish.
    +
  10. +
  11. Right click on your new project in the Navigator or C/C++ +Projects view to access the context menu, and select Properties +to open the property browser for the project. Select C/C++ Build +from the choices, select the Tool Settings tab, and note that the tool we defined appears in the list.
  12. +
  13. Select the Build Settings tab.  The user can change the + build output name and the build command from here, and the MBS +will manage that selection between sessions.
  14. +
  15. Select the Error Parsers + tab. Recall that you added all five parsers to the new target definition, so + they should all be selected in the list. The user can change that selection + from here, and the MBS +will manage that selection between sessions.
    +
  16. +
  17. Select the Binary Parser tab. Note that the +default binary parser you specified for the target should be selected +in the list. The user can change that selection from here, and the MBS +will manage that selection between sessions.
  18. +
+

At this point, you have no doubt noticed that the C/C++ Build property page +does +not have any way to edit the settings for the tool other than the tool +command. That is because we +have not defined any options yet. It is time to edit the tool +definition again.

+

+6.11 Adding Tool Options

+

Users expect to be able to change the settings for their build tools through +the property page for a project. What they see is controlled by the way options +are defined in the tool integration. We will create an option category, and then +add three example options to it.

+
    +
  1. Shutdown the debug session.
    +
  2. +
  3. Switch back to the Plug-in +Development perspective. Right +click on the Compiler entry in the extension description +to bring up the context menu. Select New +> optionCategory to +add the category. Set the name +of the category to General.
  4. +
  5. You must specify the id of the tool the category belongs to in +the owner property. The +simplest way to do this is to copy the id + from the compiler description and paste it into the owner property of the +category.
    +
  6. +
  7. Set the unique id of the +category to example.compiler.optionCategory.general.
  8. +
  9. Right click on the tool, not the category, to bring up its +context menu and select New > +option to add our first +option. Name the option Include paths and set the id to example.toolchain.compiler.general.incpath.
    +
  10. +
  11. Set the valueType +property to includePath from the list of choices. Please +refer to § 3.10 for a description of option value types and what +this decision implies.
    +
  12. +
  13. We expect users to enter paths in this option, so to enable the +right type of 'Browse" button when the user enters a new option value, +set the browseType property to + directory.
    +
  14. +
  15. In +the command property, enter -I. +
    +
  16. +
  17. In the category +property, put the unique id of +the category that you entered in step 4.
  18. +
  19. Add a "catch-all" option to the 'General' category of the +compiler (remember, you add the option to the tool and set its category +via the category property). +Set the name of the option to Other +flags, its id to example.toolchain.compiler.general.otherflags, its valueType +to string, and its defaultValue +to -c.
  20. +
  21. Add a check-box option to the 'General' category of the compiler. Name it Error messages, + set the id to example.toolchain.compiler.general.errmsgs, and set its + valueType to boolean. +This is a boolean option, so it might have a command associated with +the selected and unselected states. In this case we want to turn on +reporting when it is selected, and turn it off when it is deselected. +Set the command property to -Wall +to turn on error reporting, and set the commandFalse property to -w +to disable it.
    +
  22. +
+

At this point, you can test how your options appear in the UI by +debugging your run-time workbench. You should see something like this.

+

+Tutorial project property page

+
Figure 9 MBS property page with tool, category, and options
+
+

+6.12 Taking the Next Step

+

The purpose of the tutorial you just followed was to become familiar with the +steps involved in creating a simple tool-chain and to get a feeling for how the +choices you make in the specification of options affect the UI. In this section, +we will discuss some additional points that you need to consider before +specifying your own tool integration.

+

6.12.1 Adding More +Tools

+

Unless you just happen to have a compiler on your system that is +invoked with ‘ccc’, the example tool we created is not going to build +anything. Further, the tool we defined transforms source files into object +files. Another tool, like a linker, would be needed to transform those object +files into a final build goal. For many tool-chains, defining +a +compiler and “something else” is usually sufficient, but you may have +to +define additional tools if your tool-chain requires intermediate build +steps to function properly.

+

6.12.2 Defined +Symbols and Header File Search +Paths

+

There are elements of the CDT core that require build information +to +function properly. Things like the indexing service, search, or content +assist will only function correctly if the built-in parser can +retrieve information about the paths to search for include files and +the +preprocessor symbols defined for the project. The build model only +promises to store the type and value of an option, it does not know +anything about the contents. However, you can flag certain options as +special so the build model will know to pay special attention to them. +As the implementer of the tool integration, you should make sure your +specification has options of type “includePaths” and “definedSymbols”. +The build model will pay special attention to these options and answer +them to the appropriate clients in the CDT core without any further +intervention on your part.

+

6.12.3 Built-in +Symbols and Search Paths

+

We have automated the discovery of paths and symbols for standard +GCC compilers that are building targets for the platform they are +hosted on. Work is in progress to make this completely replaceable so +that cross-compilers and non-GCC compilers can be more easily +integrated. Until then, there are two approaches you can take, but both +involve hard-coding the include path and defined symbol options with +list +option values containing the correct information. If you add a value to +the include path or symbol option, it will be displayed to the user by +default. This may be the right approach to take if you believe that +users will change these values frequently. However, it will clutter the +UI with values and since they are editable, users may delete them +accidentally.

+The alternative is to flag the list option value as a built-in +value. +In this case, the user will not be able to edit the values through the +UI. This has the advantage of keeping the UI cleaner, but the only way +for the user to edit these values if something changes is to directly +edit the plug-in manifest where the extension is specified. Please +refer to § 3.11 +for more details on specifying list option values. +

6.12.4 User-Specified +Libraries and Object +Modules

+

Similarly, a user may want to specify external libraries to link +against in the final build step. The build model needs to be told to +pay +special attention to an option containing libraries so that when the +build file generator requests them, it can answer a valid list. Flag the +option value type as “libs” for external libraries or “userObjs” for +object modules.

+

6.12.5 ProjectType and Other +Element +Hierarchies

+

One area of the build model that the tutorial does not touch on +is +the concept of abstract project-types discussed in § 3.2. It would be +quite time consuming, not to mention error prone, if you had to +redefine +common tool-chains, tools, etc. each time you wanted to create a new +project-type. +Instead, the build model allows you to organize project-types into +hierarchies +that promote the sharing of common property settings and element definitions between +related project-types. When you create a parent project-type though, you may not +want that project-type to be selected by the user in the new project wizard. In +that case, make the projectType abstract and it will no longer appear as an +option for users. Flagging an element as abstract is a UI design +decision; you can declare a non-abstract element as the super-class of +another +element.

+

Since 2.1 +it is now possible to declare a configuration, tool-chain, tool, builder and targetPlatform independently of a project-type. So it +is possible to declare a complete set of elements once, and use superClass references to those +elements inside many projectTypes.
+

+

6.12.6 Publishing +your Plug-in

+

The subject of packaging Eclipse plug-ins is well covered in the Platform Plug-in Developer Guide. +It is strongly recommended that you review this information carefully +if you plan on deploying products based on Eclipse. However, making +your tool integration available to other users of Eclipse is +not difficult. You must supply the plugin manifest we created inside +the Eclipse platform's plug-in directory. The plug-in directory is +named plugins and is typically +located underneath the main directory where you installed the Eclipse +platform. +

+
    +
  1. From the Plug-in +Development +Perspective, select the plugin.xml +file for your plug-in in the package explorer. Open the File > +Export... wizard. On the Select +page, chose File system from +the export +destination list. Click the Next > +button.
  2. +
  3. Make sure that org.eclipse.cdt.example.toolchain +is +selected in the left-hand list and that only plugin.xml is selected in the + right. To select an export destination, click the Browse... button beside + the text box labeled To directory. +Browse to the plugins +subdirectory of your Eclipse installation. Click the Finish +button.
  4. +
  5. Restart Eclipse, switch to the C/C++ +Development Perspective and run the new project wizard to create +a new project based on your tool integration.
  6. +
+

7 Adding Dynamic Behavior

+

7.1 Overview

+

MBS defines a number of element attributes that allow the tool integrator to +customize the behavior of the MBS by implementing an MBS-defined interface in a +Java class.  This section describes these attributes and the interfaces.

+

7.2 Replacing the Build File Generator

+

You can specify a replacement +build file generator for a project configuration. You must specify and supply a class +that +implements the IManagedBuilderMakefileGenerator +interface shown below.  The class name is assigned to the builder element, +buildfileGenerator attribute.

+

+Makefile generator interface

+
Figure 10 Makefile generator interface
+

At build time, the MBS builder will ask for the build file generator +associated with the project configuration being built. If you have specified a class +in your plugin, that class will be instantiated at this point. The MBS +builder will then give the new +build file generator a chance to initialize itself.  At the very least, +your generator should cache the build information and progress monitor +so you can access build settings and respond to the user canceling the +build in a timely fashion.

+

+MBS makefile generator initialization routine

+

Since the MBS builder is an incremental builder, it will be asked to +build or +rebuild the project depending on the type of delta that the Eclipse +workspace detects. For an incremental build using the default generator, it will ask the generator +to generate makefiles. For a full rebuild, it will ask for a +regeneration of all makefiles. Depending on the makefile pattern that +you generate, these may end up doing the same thing. It is important to +note that the builder pays special attention to the return value of the +generate and regenerate methods, so it is important to return a +instance of MultiStatus containing some sort or result. +For example, the following code snippet will tell the builder that it +can go on and invoke the make utility and start the build.
+

+

+Return value

+

Typically, you have to specify source-level dependencies in your +makefiles as described in § +5.1.3. The builder will ask the generator to generate or regenerate +these dependencies depending on whether it is an incremental or rebuild +situation. If your source-level dependencies are generated as a +by-product of the build step, this call may result in a NOP. In the case of the +default generator, it results in some post-processing of the dependency +descriptions. What happens depends entirely on the build +utility you are using and the build file pattern you implement.

+

7.3 Replacing the +Dependency Calculator

+

As we know, the generated build file must contain all +of the dependencies for a build target, but not every system has the +same set of utilities for discovering them. Some tool integrations might rely +on an external utility like makedepend to calculate +source-level +dependencies. Other tool integrations might provide dependency calculation +along with the other build tools, like the GCC preprocessor. Still +others leave +it to the developer to manage them manually. The replaceable dependency +generator in the MBS tries to accommodate all three types of dependency +discovery mechanisms.

+

If you replace the build file generator in your configuration, the odds are +good that you will also have to replace the dependency calculator or +perform the calculation internally. The +mechanism for replacing the dependency calculator is similar to the build file generator, except that the dependency calculator is associated +with a tool inputType, not a builder. You must create a class that implements the IManagedDependencyGenerator +shown in the figure below and specify that class in an inputType element, +dependencyCalculator attribute.

+

+Dependency generator interface

+
Figure 11 Dependency generator interface
+

Typically, these types of dependencies are only relevant for the +compiler but what tool you use to specify the generator (or generators) +is arbitrary. +Your replacement +build file generator can instantiate and use the calculator whenever +it is needed. Recall that the build file generator will be asked to +generate the dependencies by the MBS builder, so perhaps that is the +only time you will need it. Of course, you may prefer to generate the +dependencies during the build, so the dependency calculator may be +needed when the command for the compiler is generated in the build file.

+

By design, a dependency calculator must answer what type of +dependency generation it will do. If it is a command-, or external-type +generator, +the client can ask it for the command given a resource and the build +information for a project configuration. If you are using an external process, the +answer might be a properly formatted command to execute in an external +shell. The default dependency calculator provides +the GCC compiler with a command that gets executed when the source file +is built. The code snippet below shows the transformation that is +needed in that case.

+

+Dependency generator code snippet

+

If you do not have an external process or tool to calculate this, +you can take advantage of the indexer in the CDT. In this case, you are +restricted to generating the dependencies independently of the build +steps. The dependency calculator asks the indexer for a list of +dependencies and returns them as an array of IResource +instances. Obviously, if you rely on the indexer, you must wait for it +to complete its work before it will answer, so your build may take +longer to complete.
+

+

7.4 Replacing the Command Line Generator

+

You can specify a replacement command line generator for a tool. You must specify and supply a class +that +implements the IManagedCommandLineGenerator +interface.  The class name is assigned to the tool element, commandLineGenerator attribute.

+

+public interface +IManagedCommandLineGenerator {

+

+   public +IManagedCommandLineInfo generateCommandLineInfo(

+

+               ITool tool,

+

+               String +commandName,

+

+               String[] +flags,

+

+               String +outputFlag,

+

+               String +outputPrefix,

+

+               String +outputName,

+

+               String[] +inputResources,

+

+               String +commandPattern);

+

+}

+

 

+

+public interface +IManagedCommandLineInfo {

+

+   public String +getCommandLine();

+

+   public String +getCommandName();

+

+   public String getFlags();

+

+   public String +getOutputFlag();

+

+   public String +getOutputPrefix();

+

+   public String +getOutputName();

+

+   public String +getInputResources();

+

+}

+

MBS calls +IManagedCommandLineGenerator.generateCommandLineInfo to generate the command +line information.  The supplied IManagedCommandLineGenerator could modify the +command line parts if necessary and then provide the modified values, as well as +the complete command line, in the IManagedCommandLineInfo interface.  The +default MBS implementation does not modify any of the command line parts.  It +uses the parts and the pattern to generate the complete command line that can be +retrieved using IManagedCommandLineInfo.getCommandLine.

+
+

7.5 Determining if a Tool Chain is Installed

+

7.6 Defining Environment Variables

+

A tool-integrator can provide a method to be called that identifies the default +environment variables for the tool-chain.  These would typically include the +build path variables (“bin”, “include”, “lib”). These environment variables are +defined by MBS for the process in which the builder (e.g., make) runs. In +addition to providing environment variables the tool-chain integrator can +specify the names of the environment variables used by the tool for specifying +the include and library paths. MBS will examine these variables and pass the +appropriate information about includes and libraries to the rest of the CDT.

+

The tool-integrator can provide Project-level and +Configuration-level environment variable suppliers separately: 

+

To provide a Configuration-level +supplier the “configurationEnvironmentSupplier” attribute in the toolChain +definition must be specified. The value of this attribute should be set to the +name of the class which implements the IConfigurationEnvironmentVariableSupplier +interface

+

public interface +IConfigurationEnvironmentVariableSupplier{

+

+            /**

+

+             *

+

+             * @variableName the variable mane

+

+             * @param configuration configuration

+

+             * @param provider the instance of the +environment variable provider to be used for querying the

+

+             * environment variables from within +the supplier. The supplier should use this provider to obtain

+

+* the already defined environment instead of using +the “default” provider returned by the

+

+* +ManagedBuildManager.getEnvironmentVariableProvider().

+

+ * The provider passed to a supplier will ignore +searching the variables for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the environment variables defined for the +higher levels.

+

+             * @return the reference to the +IBuildEnvironmentVariable interface representing

+

+ * the variable of a given name

+

+             */

+

            +IBuildEnvironmentVariable getVariable(String variableName,

+

+IConfiguration configuration,

+

+IEnvironmentVariableProvider provider);

+

 

+

+            /**

+

+             * @param configuration configuration

+

+             * @param provider the instance of the +environment variable provider to be used for querying the

+

+             * environment variables from within +the supplier. The supplier should use this provider to obtain

+

+* the already defined environment instead of using +the “default” provider returned by the

+

+* +ManagedBuildManager.getEnvironmentVariableProvider().

+

+ * The provider passed to a supplier will ignore +searching the variables for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the environment variables defined for the +higher levels.

+

+             * @return the array of +IBuildEnvironmentVariable that represents the environment variables

+

+             */

+

            +IBuildEnvironmentVariable[] getVariables (IConfiguration configuration,

+

+IEnvironmentVariableProvider provider);

+

}

+

To provide a Project-level +supplier the “projectEnvironmentSupplier” attribute in the projectType +definition must be specified. The value of this attribute should be set to the +name of the class which implements the IProjectEnvironmentVariableSupplier +interface

+

public interface +IProjectEnvironmentVariableSupplier{

+

+            /**

+

+             *

+

+             * @variableName the variable mane

+

+             * @param project the managed project

+

+             * @param provider the instance of the +environment variable provider to be used for querying the

+

+             * environment variables from within +the supplier. The supplier should use this provider to obtain

+

+* the already defined environment instead of using +the “default” provider returned by the

+

+* +ManagedBuildManager.getEnvironmentVariableProvider().

+

+ * The provider passed to a supplier will ignore +searching the variables for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the environment variables defined for the +higher levels.

+

+             * @return the reference to the +IBuildEnvironmentVariable interface representing

+

+ * the variable of a given name

+

+             */

+

            +IBuildEnvironmentVariable getVariable(String variableName,

+

+IManagedProject project,

+

+IEnvironmentVariableProvider provider);

+

 

+

+            /**

+

+             *

+

+             * @param project the managed project

+

+             * @param provider the instance of the +environment variable provider to be used for querying the

+

+             * environment variables from within +the supplier. The supplier should use this provider to obtain

+

+* the already defined environment instead of using +the “default” provider returned by the

+

+* +ManagedBuildManager.getEnvironmentVariableProvider().

+

+ * The provider passed to a supplier will ignore +searching the variables for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the environment variables defined for the +higher levels.

+

+             * @return the array of +IBuildEnvironmentVariable that represents the environment variables

+

+             */

+

            +IBuildEnvironmentVariable[] getVariables (IManagedProject project,

+

+IEnvironmentVariableProvider provider);

+

}

+

The IBuildEnvironmentVariable interface returns information regarding an +individual environment variable. 

+

public interface +IBuildEnvironmentVariable{

+

+public static final int ENVVAR_REPLACE = 1;

+

+public static final int ENVVAR_REMOVE = 2;

+

+public static final int ENVVAR_PREPEND = 3;

+

+public static final int ENVVAR_APPEND = 4;

+

+

            String +getName();

+

 

+

            String +getValue();

+

 

+

+            /**

+

+             * @return one of the +IBuildEnvironmentVariable.ENVVAR_* operation types

+

+             */

+

            int +getOperation();

+

 

+

+            /**

+

+             * @return if the variable can hold the +list of values this method returns the String representing

+

+ * the delimiter that is used to separate values. +This information is used for the following:

+

+ *

+

+ * 1. in append and prepend operations:

+

+ * If the variable already exists and contains some +value the new

+

+ * value will be calculated in the following way:

+

+ * For the “prepend” operation:

+

+ *         <New value> = <the value from the +getValue() method><delimiter><Old value>

+

+ * For the “append” operation:

+

+ *         <New value> = <Old value><delimiter><the +value from the getValue() method>

+

+ *

+

+ * The Environment Variable Provider will also +remove the duplicates of “sub-values”

+

+ * in the resulting value.

+

+ * For example:

+

+ * If the current value is +“string1:string2:string3”, the getDelimiter() method returns “:”

+

+ * and getValue() method returns “string4:string2” +the new value will contain:

+

+ * For the “prepend” operation: +“string4:string2:string1:string3”

+

+ * For the “append” operation: +“string1:string3:string4:string2”

+

+ *

+

+ * 2. Since the environment variables are also +treated as build macros the delimiter is also used

+

+ * by the BuildMacroProvider to determine the type +of the macro used to represent the

+

+ * given environment variable. If the variable has +the delimiter it is treated as the Text-List macro

+

+ * otherwise it is treated as the Text macro. (See +Build Macro design for more details)

+

+ *

+

+ * To specify that no delimiter should be used, the +getDelimiter() method should

+

+ * return null or an empty string

+

+             */

+

            String +getDelimiter();

+

}

+ +

7.7 Defining a Build Path Resolver 

+

To provide a build path resolver, +the buildPathResolver attribute in the envVarBuildPath +definition must be specified. The value of this attribute should be set to the +name of the class which implements the IBuildPathResolver interface.  This +allows the tool-integrator to provide his/her own + logic of resolving the environment variable values to build paths.

+

public interface +IBuildPathResolver {

+

 

+

+            /**

+

+             *

+

+             * @param pathType one of the +IEnvVarBuildPath.BUILDPATH _xxx

+

+ * @param variableName represents the name of the +variable that holds the build paths

+

+ * @param variableValue represents the value of the +value specified with the

+

+ *     variableName argument

+

+ * @param configuration represents configuration +for which the build paths are requested

+

+             */

+

            +String[] resolveBuildPaths(

+

            +                        int pathType,

+

+String variableName,

+

+String variableValue,

+

+IConfiguration configuration);

+

}

+

7.8 Defining Build Macros

+

The IConfigurationBuildMacroSupplier interface and the IProjectBuildMacroSupplier interface allow a tool-integrator to define build +macros and their values.

+

All methods of the IConfigurationBuildMacroSupplier +interface MUST return macros ONLY for the configuration context, and MUST NOT +search for macro values for contexts with lower precedence. This is up to +BuildMacroProvider to query macro suppliers passing lower-precedence context if +necessary in case the macro value was not found for some specified context

+

public interface +IConfigurationBuildMacroSupplier {

+

+            /**

+

+             *

+

+             * @ macroName the macro mane

+

+             * @param configuration configuration

+

+             * @param provider the instance of the +build macro provider to be used for querying the

+

+             * build macros from within the +supplier. The supplier should use this provider to obtain

+

+* the already defined build macros instead of using +the “default” provider returned by the

+

+* ManagedBuildManager.getBuildMacroProvider().

+

+ * The provider passed to a supplier will ignore +searching macros for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the build macros defined for the higher +levels.

+

+             * @return the reference to the +IBuildMacro interface representing

+

+ * the build macro of a given name or null if the +macro of  that name is not defined

+

+             */

+

+IBuildMacro getMacro(String macroName,

+

+IConfiguration configuration,

+

+IBuildMacroProvider provider);

+

 

+

+            /**

+

+             *

+

+             * @param configuration configuration

+

+             * @param provider the instance of the +build macro provider to be used for querying the

+

+             * build macros from within the +supplier. The supplier should use this provider to obtain

+

+* the already defined build macros instead of using +the “default” provider returned by the

+

+* ManagedBuildManager.getBuildMacroProvider().

+

+ * The provider passed to a supplier will ignore +searching macros for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the build macros defined for the higher +levels.

+

+             * @return the IBuildMacro[] array +representing defined macros

+

+             */

+

+IBuildMacro[] getMacros(IConfiguration configuration,

+

+IBuildMacroProvider provider);

+

}

+

All methods of the IProjectBuildMacroSupplier interface +MUST return macros ONLY for the Project context, and MUST NOT search for macro +values for contexts with lower precedence. This is up to the BuildMacroProvider +to query macro suppliers passing lower-precedence context if necessary in case +the macro value was not found for some specified context.

+

public interface +IProjectBuildMacroSupplier {

+

+            /**

+

+             *

+

+             * @ macroName the macro mane

+

+             * @param project the instance of the +managed project

+

+             * @param provider the instance of the +build macro provider to be used for querying the

+

+             * build macros from within the +supplier. The supplier should use this provider to obtain

+

+* the already defined build macros instead of using +the “default” provider returned by the

+

+* ManagedBuildManager.getBuildMacroProvider().

+

+ * The provider passed to a supplier will ignore +searching macros for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the build macros defined for the higher +levels.

+

+             * @return the reference to the +IBuildMacro interface representing

+

+ * the build macro of a given name or null if the +macro of  that name is not defined

+

+             */

+

+IBuildMacro getMacro(String macroName,

+

+IManagedProject project,

+

+IBuildMacroProvider provider);

+

 

+

+            /**

+

+             *

+

+             * @param project the instance of the +managed project

+

+             * @param provider the instance of the +build macro provider to be used for querying the

+

+             * build macros from within the +supplier. The supplier should use this provider to obtain

+

+* the already defined build macros instead of using +the “default” provider returned by the

+

+* ManagedBuildManager.getBuildMacroProvider().

+

+ * The provider passed to a supplier will ignore +searching macros for the levels

+

+ * higher than the current supplier level, will +query only the lower-precedence suppliers

+

+ * for the current level and will query all +suppliers for the lower levels.

+

+ * This is done to avoid infinite loops that could +be caused if the supplier calls the provider

+

+ * and the provider in turn calls that supplier +again. Also the supplier should not know anything

+

+ * about the build macros defined for the higher +levels.

+

+             * @return the IBuildMacro[] array +representing defined macros

+

+             */

+

+IBuildMacro[] getMacros(IManagedProject project,

+

+IBuildMacroProvider provider);

+

}

+

The IBuildMacro interface returns information regarding an +individual build macro. 

+

public interface +IBuildMacro{

+

            public +static final int VALUE_TEXT = 1; //can hold any text string

+

            public +static final int VALUE_TEXT_LIST = 2; //can hold the array of text string values

+

            public +static final int VALUE_PATH_FILE = 3; //can hold file path

+

            public +static final int VALUE_PATH_FILE_LIST = 4; //can hold the array of file path +values

+

            public +static final int VALUE_PATH_DIR = 5; //can hold dir path

+

            public +static final int VALUE_PATH_DIR_LIST = 6; //can hold the array of dir path +values

+

            public +static final int VALUE_PATH_ANY = 7; //can hold both file and dir path

+

            public +static final int VALUE_PATH_ANY_LIST = 8; //can hold the array of  PATH_ANY

+

+// values 

+

 

+

            String +getName();

+

           

+

+            /**

+

+             * @returns IBuildMacro.VALUE_xxx

+

+             */

+

            int +getMacroValueType();

+

 

+

+            /**

+

+             * @throws BuildMacroException if macro +holds StringList-type value

+

+             */

+

            String +getStringValue() throws BuildMacroException;

+

 

+

+            /**

+

+             * @throws BuildMacroException if macro +holds single String-type value

+

+             */

+

            +String[] getStringListValue() throws BuildMacroException;

+

}

+

7.9 Defining a Configuration Name Provider

+

7.10 Defining an Output Name Provider

+

You can specify an output name provider for an outputType. You must specify +and supply a class that implements the IManagedOutputNameProvider +interface shown below.  The class name is assigned to the outputType element, +nameProvider attribute.

+

public +interface IManagedOutputNameProvider{

+

+  /**

+

+   *

+

+   * Returns the output names +corresponding to the primary input name(s)

+

+   *

+

+   * @returns String[]

+

+   */

+

+   IPath[] +getOutputPaths(ITool tool, IPath[] primaryInputs);

+

+}

+

When multipleOfType +is true, an output name provider, or the outputNames attribute, is required + in order for MBS to know the names of the output files.

+
+

7.11 Defining an Option Value Handler

+

7.12 Defining an Option Applicability Calculator

+

7.13 Defining a Dynamic Element Provider

+

Advanced Features

+

8.1 Converting CDT 2.0 Manifest Files

+ +

The CDT 2.1 Managed Build System (MBS) defined a new object +model for tool integrators to use when integrating their tool definitions.  +The CDT 3.0 model is upward compatible with the CDT 2.1 model with the exception +of the ToolChain.scannerInfoCollector attribute.  CDT 2.0 manifest files continue to be supported, but it is recommended that +integrators use the new model when possible.  New functionality that is added to MBS will be added to the new object model, and not necessarily to the old object +model.

+

The figure below shows the CDT 2.0 +object model.  The CDT 3.0 object model is shown earlier in the document.

+

 UML model of schema elements

+
Figure 12 CDT 2.0 Managed build model elements
+

Below are the detailed instructions for converting a +manifest from the old model to the new model.

+

8.1.1 MBS Manifest Extension Point

+

The old object model defines the +org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo extension point.  The new +model defines the org.eclipse.cdt.managedbuilder.core.buildDefinitions extension +point.  Both old model and new model definitions can be defined in the same +manifest file, but all of the identifiers (ids) assigned to both old and new +model elements must be unique within MBS.  No two elements can have the same id no +matter whether they originate in the same or different manifest files.

+

See the CDT 2.0 Gnu tool-chain +definitions for an example of the old model (org.eclipse.cdt.managedbuilder.ui\plugin.xml).  +See the CDT 2.1 Gnu tool-chain definitions for an example of the new model.

+

8.1.2 MBS 2.0 Target Element

+

The new model does not define a target element.  The +information defined in a target element in a 2.0 manifest file has been split up +into the ProjectType, ToolChain, Builder, and TargetPlatform elements in the new +model.

+

The Target attributes name, id, +isTest and isAbstract should be transferred to a new ProjectType +element in the new model.  The id assigned to the Target must be +transferred to the new ProjectType element without change.  Otherwise, projects +created using your integration with CDT 1.2 or 2.0.x will not be able to be +converted.  There is no tool integrator intervention into the conversion process +yet, but this is a high priority for CDT 3.0.

+

8.1.3 MBS 2.0 Configuration Element

+

The Configuration children of the +Target element are made Configuration children of the new ProjectType element.  +The Configuration name and  id attributes should be transferred +with the Configuration.  The id assigned to the Configuration must remain +unchanged in order to support the conversion of old model project files.  The +Target attributes artifactName, cleanCommand and errorParsers +attributes should be transferred to the Configuration element.  The Target +defaultExtension attribute should be transferred to the Configuration +element +as the artifactExtension attribute (Note the name change).

+

A new ToolChain element should be +created as the child of each Configuration element.  The name and id +of the ToolChain are not dependent upon the name of any of the old model +objects.  However, if you allow users to create CDT 2.1 projects using your CDT +2.0 manifest file, then the id of your new ToolChain must be the parent +Configuration id, appended with “.toolchain”.  The Target isAbstract, +osList, archList and scannerInfoCollector attributes are +transferred to the ToolChain element.

+

A new Builder element can be +created as the child of each ToolChain element.  The name and id of +the Builder are not dependent upon the name of any of the old model elements.  +However, if you allow users to create CDT 2.1 projects using your CDT 2.0 +manifest file, then the id of your new Builder must be the parent +Configuration id, appended with “.builder”.  The target isAbstract +attribute is transferred to the Builder element.   The target +makeCommand attribute should be transferred to the Builder element as the +command attribute (Note the name change).  The target +makeArguments attribute should be transferred to the Builder element as the +arguments attribute (Note the name change).  The target +makefileGenerator attribute should be transferred to the Builder element as +the buildfileGenerator attribute (Note the name change).

+

A new TargetPlatform element can be +created as the child of each ToolChain element.  The name and id of +the TargetPlatform are not dependent upon the name of any of the old model +elements.  However, if you allow users to create CDT 2.1 projects using your CDT +2.0 manifest file, then the id of your new TargetPlatform must be the +parent Configuration id, appended with “.targetplatform”.  The target +isAbstract and binaryParser attributes are transferred to the +TargetPlatform element.  The TargetPlatform element contains osList and +archList attributes that specify the architecture(s) and operating system(s) +on which the Configuration’s build artifact(s) execute.  You can transfer the +Target osList and archList attributes if appropriate.

+

8.1.4 MBS 2.0 Tool Element

+

The old model allows Tools to be defined at the top level +scope in the manifest file.  This is still true in the new model.  In addition, +the new model allows Configuration, ToolChain, Builder and TargetPlatform +elements to be defined at the top level scope in the manifest file.

+

In the old model, Tool elements can +also be specified as the children of Target elements.  In the new model, Tool +elements are children of ToolChain elements.  Old model Tool elements need to be +added as the child of each ToolChain that uses the Tool.  All of the old model +Tool attributes are supported by the new model.

+

The id assigned to the Tool +must remain unchanged in order to support the conversion of old model project +files.  The outputs attribute no longer defaults to an empty string.  If +your Tool produces files by default with no extension, you must specify +‘outputs=””’ in the definition of the Tool or one of its ancestors (superClass).

+

8.1.5 MBS 2.0 ToolReference Element

+

The new model does not define a ToolReference element.  +Instead, a Tool element can specify the superClass attribute in order to +provide the same functionality.  That is, specifying a Tool that inherits +attributes from another Tool and can override one or more attributes.

+

The old model uses ToolReferences +in two ways.  They can be specified as the child of a Configuration element.  In +this case, the ToolReference should be converted a Tool element child of the +Configuration’s ToolChain, transferring the value of the id attribute to +the Tool superClass attribute.

+

A ToolReference can also be +specified as the child of a Target element.  In this case, the ToolReference +applies to all of the Configuration children of the Target.  These ToolReference +elements need to be converted to Tool elements and added as the child of each ToolChain that uses the Tool.

+

8.1.6 MBS 2.0 Option Element

+

All of the old model Option +attributes are supported by the new model.

+

The id assigned to the +Option must remain unchanged in order to support the conversion of old model +project files.

+

8.1.7 MBS 2.0 OptionReference Element

+

The new model does not define an OptionReference element.  +Instead, an Option element can specify the superClass attribute in order +to provide the same functionality.  That is, specifying an Option that inherits +attributes from another Option and can override one or more attributes.

+

All OptionReference elements should +be converted to Option elements, transferring the value of the id +attribute to the Option superClass attribute.

+

8.1.8 MBS 2.0 OptionCategory, EnumeratedOptionValue, ListOptionValue +Elements

+

There are no changes to these elements.

+

8.1.9 MBS 2.0 DynamicElementProvider Element

+

This element is supported in the same manner as in CDT 2.0, +with the exception that the dynamic elements returned by the provider must use +the new object model.

+ + \ No newline at end of file diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image002.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image002.gif new file mode 100644 index 0000000000000000000000000000000000000000..f54d599e83d737388b0e3e40f2a62bd2e140ad59 GIT binary patch literal 8836 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ⅇU-L3v0 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

I4VJZe7Ttv?dGG%|Z0yLF8? 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 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image024.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image024.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3347e1850fee8cbe1519d4708a1b58cdb9d5388 GIT binary patch literal 43337 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 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image026.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image026.gif new file mode 100644 index 0000000000000000000000000000000000000000..a92ccd536fdf39e678ccdb27b5b77864bc2cb3d6 GIT binary patch literal 26676 zcmb?i1y@_$5~UP(Ew06_xVr{-cXxLwEydj>xI=JvcM0we#l2{ON?!W?hBs?v-ON2R zd-m)(N$$EyO%N3-WK#h6~2V2F3;mV*`eH!fq-ow(DtBuKxsm=p>ja` zhmwGH2xScggOY}_goZ+SKnp{$q0mq)$Uo)&Ekk{%fq_8CKOv$0LCZotFc=7iKy`(- z3uOUa1VX?-2vkR?(og}QyrAJwp`qPErG)AMr3uZ3$^qpBZ5Y}ilrwok9xA@-(|H=H{RQ|>OC-gtn z|I_YY>VI$KxOHf6&nF0G$$4JZMkQQY`;=^S{>u3=#x}0*MsR zP&gQhgv(?!(NHuTiS2$!y}^kaoSm;+L{r zk;CD;tliIOyn2+u=d27AA&)!^2jO_dl@@+E_IlLra1m#Pk(fhS`Cs3C=Rb^QCSE;E z>})(Cu{$#!&-J0)v@=RRQ}!)QrJN-omOz9(FG<()K~zt{zRSW6Hn9=V3%AGst_4f0 z;86kQly&of(aFfCxh|9Pr+Jtg(Wm)l=aZ)e@UO^cg~G@R3$Ym{vD0Hi_?a#Mf zo_4Y?*UmL`do>LcboJ<$1$u^m?6*C{WPNuscjJ9?1Ajtha`r4P&^wC1VczH-L=@z9 zq(^;HX+6x9WP25lS2d|PPSH*9H^_EPus$UxIr5(VFsX3A>?(9^aG@L6$A6~(QJGun z@U3QkdGrR2WH`qQS_ zZQ|pmZ@seU-+j&a$3@M6D|(&N zFu!aYQv7Uc7rFX_8FV{s@;VzS_9pV<^J^3Z%(<`Fz5HCruWA#>Ujp$Uw4@LOr-DZu zKao59`4FZWQ@C+HiO1LBZ%iYF2&e6R7~e6&zT;AfLVnYWy$i0ISL=DGDd zTLj*CMD+CDvC$Kg7JulM>wE9A@O7Dx^0n&c;M-_ofI+GGQ(c8PC&FFaaS8dWhTrh} zzN82k7SpGptkJ)qhS=+0-_b|2`Z;aXV(m!}QMT5Gh{jx_+_?`PF)I6>cN$}9w-2d4 z%8RhoeM-uM`$#ouH_nx<5g+Sx_-hwQo^>`k#m9+~Jb9wNVPV?O<|Em)$&>U6YmKu` zH?>M#rX;e4Wz=D4;VaTv?~j#*ul^&uADZRjA=W>>AY7TycN2*5Ap8hn&n-oa2FVeV zFMYANGC@ADo%t!^`T3HY_Fc8T{H?WT>~`8d=O7V8+MT)~eN5U$Fca8o)1~=&KJJuz zTuznCBK7lDP$}OAfu!^NJ*7O_4)_Nx`|4d>422BgjZZ~3j}LBKei{YRTF20(JWf1I zUJ2?Q{V>moWr*d`cNAaZ$xK;Jpgjw{!V1zr`sVysyWA3K5qW811Jyv@(erny0wVd; z_vz8gY8sl}KJ7jqb^1ps4m2zEKku&_#dMGhQ{pv7M|n-C8Wqk-aAPa>yx? z&wO_z>PKo3V!OR`Wy)>VHS@_cSZ@-tgH_2GXUi*NFN-^dS(SQJPW&D;_QP7OVeexN za!7z4I@9V`A}5xQ)yOLoCzvU*=$6))(Hnt~i_~Vz#~Ru^CWC9D=ZJEACQH+9(Nzb} zZ}oXsl(vBzkq*2R{ek*y(LY)D-_`TkYwF%_B7h5DSLkj=pp5#;#1)$T0>eE|@HY+V&rRe(TLuUBRxpIxEZ8HF#Q=Y3z`I?%i>2{hVHoFf> zZ!Bl2Sc0^cBZ&DV)Ey;o7xUX8kH)$`r}O+DsWW{{@Y2Uq%th{KP91gu0`c}<>e(J@ zDknLNnRtpK;*1>*t$yI|XHx(JzV;h*z}nbaT%k)Q^M+%+BDIsH`H?;G6p#F4`$&QeqHV}04g zrS=Ai_fH?+o1q;Sk9rleQ*uII83UpfFAj8_}!^KD$(Ny0??9tt0`Iv32rwP{L2$Gouu}`+je8FM{S4q(ZJ1hjCD%t#- z^jqQ>$gaRf?cZC|?>tl@1e0&2YgbN|IV*CRJep3mUQwS!zWbX8$J)0Xwr_c_ zwFf_^wEw>H3m2I2&bwzc=sn{5^sB?s#6Pb;=-$W{uq_4K9|R}z!vp#EPMPv`U-#cz z>9yx24wIL-P$#4OcHu*BRrX5Yj!*0tKSF z{>`&QpWYE5#>+y9&DM6^4dg6_fY*4>a920ecXIX1`LzRI_c6xPKqSQF6?J-hT&TZ% zVORYTHP@N?)W3kv7QF=vJdgdmCR?Z#aa1oKGJf^l2k->hE z<_zW(2$4@Krl;DGOAxn6!^%kOEHj*w$QZo{PTr_Ah6qQ$D9YyuQo6_)EZt!#_7~e2 z5pzM6LysZbZxsM+JwNQb5>cHf9OZJwRw;i%2HZ|NCt5oX3il9(kia25FA$YfYM9#b zvNFB2`V*eXkN2`WhY|+iqIso~MrAq_VE{qyct>gU;LD}kX*@04FVA z0-iBmiMrJ(Z@SNy0tB~wpD#3PiYF(@GvmqpoF>q6;Hrvk?GgJmK?F+*O}@X`kI;QFT~aPwNhP9 z@JRuHpOkYXAqAH(d#1Egw;5`~@UT||H$M(y)M8IXKZm45;qPyARkW{|z^ zBcgvdB+cgovOg?6k5jWxG;&-DfyOa%(AleZmtGcE`3flaUx;~fzhHX&B70G#njod5KU#eDf!pbV$a7sQn_zI_(9R9 zK^K#OoooK`2Bq<@v9bz5FVX&wow0Db1vIBvjds{?X-dwm#g)q;7L!S!4RIJR0IIb5 z_@jiky)09?TXPiIP^(po>8Ro>ips!fxt4aN*ouMq1*W7za+<%t009qRDoA@XRv{qk=GBiO z(?h+hijF=-BfyhFxB7t&+t2`e3r{rBN;6G52k}XNQd){LD$c}TB%-RgD>?)IwWMDF zghMRVODv(7u4#UxbuLwtudR8QRpWst2hLWW-AtGl)TZaIg_LT(!qrSN)@;4W5gye} z1Y`yT=p9{%&%MQ;1xU|)Q`C|Z`upJvQ)cjK1urDC0e1aMl&#=RdrAw6Td;o$bEiw` zs`~81myiB}B+)SqdK$k##d$!?vDSoi9^U|N-}OT=gI1%LLecq-L|srut+ZS#gva2c zg2*Y2M6SIg?XQxYN2xeGX_ju8rl+QxhmvjXW@+ZSZupE(BdMQq0MykrVvd@`G%ZZO zY*_xdSDN+J5O+t3AuF5LJr*DvXBL-||%c3J0+0MDM39 zGKb4Mw^WBo(ku#Vd47?f<(GF0%*Nzy57yGopK8bPO8?%K`q@zI%XEqGTe(wdGuui= zG^+9`Q@h@;j61>|a{-{vt>+I>(`HgJUV?$;r5b-KrVH9&mYH z%str1FoyUNFyc~Uin5!-CHQZE*lEcEyktWJm`45XUs6qvev)H>nq!x8BamO3$B#w< zBR!k@J<)KzVobf?vn60064oyzAD7GPqhV}gd^*N68B^~v}hKbxM zDu2+94G-zYaqm-qE{XG!l}k>fcI+{4?Sku6(u95*l@+qX!!Z3yw-Pc~Vs0^ohk0!7 zz>ZVJ(r;Z>=p@=sOGi0k+YVZ3g&=E^1qlvGlsUmb`lS60>vw12P)8yvE zMk~uk-$yG1;7v#z1N5Q+5k~FvjuJ7yMdF+ioMJ?DNCSENrZA}FHr*`V+sIN1kB^av zYvziLp~9H9j@vr*Kr9EJntKWz)c<%+-)N0*ydRHW`aZ)4a;l(f!7o{!u-bDjNd2n0pIiyJ_aYklKR6e7jMKm+U%B-#d)sjE{o*> zi{)W%l%wA)NPKj4{9DyF79wr<%hLGr`=Q<%nNUad!tC*2BWPPJ2|h6%dETCqI>qP8+xzh=O`!j z7J`K~Y{}Luk1-WwMNUJN+71>`C5koMWDxPD`<>L;9hb1}rwc}=wME3gC@*ECEiC8s z;9buXg@G?Z7mT;Tj$z9KV`brefKQ!Fy! ze7(s;OJM~h>vbezcP`0lJ&}jEJ4!Qkqq&}wWFeF^e`hH6Daz# zw~z61pt>|W>vE57W?GYWKW}*#zHbYWZ4X0w4;5nT39nA&T|%mHL`MkT z7D9zg?T#|q?vj_2q$x`W;Y|CWlBlrAAYA?!AbCDidhvOwSDr)E<7)a_AYT6!*d=Zn zpnSAVlrtwCFKQx|g%2?G7T?3G+lWzd4bY1Vh)=LiolYAx&=x_(>l~MI=9X*boGUS!3pMMHo+*%yzX~tiN(?XIXqGIFvTJJ|yM#I~uraElM28smEb?r}l?d!Ml4EJzp0A;J}@{>sNU{cjpS}>!U02*ZrbpU?| zv@8bvB;i&dVVU+q)A!N%1RB^`~vVo-c)J$*0!N zTN$CvUsZFPoHK8Gq0g8}vc^8jk0qmVkS|J}+$uLTqF8YHQOjxMD549?I@vDerGIWG zDz${q)waGEIlO7?-=@|;lng_p zB`!Ugqu_CV`S4*o%9UEe8CKC}S*Ph>AOY|0pt>B}Tr&NyMS!sUBBf+F8rgju|H9#H z>?Ws+6R6R0A{kcsgAyZ$^>7iFrD!SRLb+HjT9M0ptknuNkb$uQI8yziT%rQ51}-S+ zNHdM8qKy% znZcvoJguoppjklWSi8MH4zC@T3#7G83wJlnV7~A?#>AA48=zLjKAmI`0PXT%{~oGq?4n+c;fr1qwZq8#&6| zjWN^dUiW1Bc_a{@1x(F~Z0;YTwqIQw#*2Qt_hexCyGeZ8p9Z!}5PvdBb!odG9!coS zyh_Cq*(W8&kb)#_v5SXh`%{X10St4ZW!yJ2 zVrXl*!oesnlXm!27Vfe+KT=Db;vr6DyEz7+kudO(%vO@ZEMw44Ns(a=iLE4NJ-)mz zy&MSh>^+QOIRli;(?rSlLE0QsE7?Ik6DoquEm6~N;xW;4vA=1Sz!K>!TFUget#<05 zDzCI^!P~gWAzVgQW+f%WWp4RwL1&x=T>S9Vg%*X;MLMn6950YUeD`Ck7!fL-JY}YJ zo4##<^|J!8_HU%({Ej$u_WUa&I}%mq82dsV9uExmx&)?{+LE4hOxa{6P7MBv;ObQt z;bxK9HJ5%KhV7Po3uUUMd35_C??13lJ3BF{x~*-wIcK{mExj|;KCiHuMegr;2`IiD zaO%;8xgKMhL^PK0?ngD|@te9FJ8)XMzhm0(mNmXwrB%rmfVP6i^(g2>g4*qdD!S8>sI{Kr}^tJoP7;0n?@zATvZ}%~X4XMZA z>+`Sl0W!Ya+qqW^k-Jgl)8DQmi1dHlz`uNQy{11F^mtCg&-FZx<3e)p=5vUQJ(nct zw_OMLDvUfw@DqFeC(tv6U#A56dpr(&f95_mAYt}-jeh=Q;(dgS`PqN{lkcwEnPb6U zFRX$k~2M}{ZS&#$R#fQrS(4N^$>Eih7MR*+h&1^P;dHr0sE%jD1aDLke7V$^c>rm$)rLp~ zJb0`!{t;?oj&SA21Du>n83q^iD9#otw1XE}dfDVyp+_ph(Mn0q4;(CVO2yd99b@#n zZgFm2#iWgd(o(w%u~EVY0i+ve zgA#f^l6CvZ7)WBbQTsL?_~ZuiV=KC^+;g7g+c<+gjO7$DTSNx6Xt0 z?d3prGxr0ts(?mHMjH2TlEwEyoVX#_k#^n&E6WJhtvSCVD6y*NV*ZX2_wd8>1}TJ7 zgpH;+zg()aekP1F6C`KxSJPvPK~-^mBJ1XGDnh!@c4CmxDrv%FXVZ2Fw3sRYiaznF zhXYhV3T#J4PZcAZ4pK2)8gbFp1`PTRJ;dLaFLR&D?LSBBRZVKTTC8ZeivV;lQFMA@ z(m{|w5q)LTdtD9#jJbL zqaLIb7ug|Lm}iX|fsLo=piV>6+wXimQ==$ftbZB7RA+YeIn-xO@bH$55J0zNgqn6& zTT<0CZJCUFj4GpU(AUNO$1>LC6dIDKCwMw?!}`%)NhN;86c*0UY+C^k z_k^Nqlg3p-l@{}96F(cW110M*Gz<^b=%9RkoF_s2kh_$kRVzmkqH&)kEDt{?>k6~Z zkCLnBJ+PifpFZKvh?sN6Pj6RpDf*AYH6|s#Z!6|=^v^J&i_UC^wV^%q2M6q87L?Rj z=GXdD>LPd)wSKU*K(}fJNpLcJVaCPJ+*~#l!i&!sqTifHEzlcMj6DCCetTgnNwI;| z`C>^wVi&Ha!hw}qwScCzZ>s~+YjrpHW2WaxkFR;57;v|M_TfO2Q2+z8p7Hx-f?6Qk zplp`wV#d{XmhRS>x~LEv*0q&BSYgcRr$GNdF`FI7*>l)!8p5Ms9op-fNf|y_NTGA4 zfo?Zz)nY54#rW1V6K>lOyIts)v&+}|Frf=kdj1Qwr?L#Z)(JjN8l!+5yFslU&J7>;C3Tiow({p%^+VjLT|t~QB!03bmA=I7O9fl zl)sL`Jzx0e(Niqh*>hF##8lDbVP z9cngJcJR7ZiBBQ|7+uT?h-x%am(KBCKSjT4760|gwY8S%8w>2cAN?6027mR{w`ZlC zE~hm1H&~jZ+jwV|yU{T3)GWSk%{B0~m_EiF4y1mHNulLj$^H1M)+(6y0P)!UDJoZO z5m$o-3zGp;*q|9u={*ogc4+Cw471-f%rka|>@sd(bw57Yz7VJVT0%7B%Ch2_9(3~% zz8mNe@!&2+alYjZ#Fc(t%=^V&HA9DIacD6oU{ zhTh?3ekVa{$V$p-7O2o03i;Z{>E6+P7Nvz1&W<)jrJftfPM)~m2eHNN895MJ3}JJq zMsiRj9R?;--L>=`pwudg1>i>6G9y)XcYk`Undd<27V3^-h@O>?8Y2=mk>pkN$+O?zo2qkbJj9zxlOYE0SizNcRw@b_ z7m8wvLk*Wm{ZmQz2@P2*x0drNHd4G!cZ5U#QRvK~5fLcaxj2d(onx|1U#lMF{6e-z z6r*Y=6Oxq?F4#zcH}0Mrr=^Hqb%u1vjC|IN^<`baHx0?hisUe~FEmwVwNlQPMbx(x ziRCCUpk{nBo3Iv%>A)^GFA@5C6_sE@WtslIDT|^Y2Fr-5busSd{nuXJCnHw=U zJfJQWqX(!0A|M1vHvs{4ZtZ^pkzIwP(*WVuLeVd=wW4VNs%@!gqnMNyAuLA@4X8Zc1*TSx=(?I1ty1E;q(OU43gYNqEy^%uE=B5S1rHh}_idbT zQW8g@AzE-`(fe2s%*0rWKm%bDwH1;B0H3``?tO^pJ3}yiTw2^iw-g?m7Ndf1s#xz) zjy*2HhD2KmjY4}NU;aKI`$bgRDe6qV-`11AyIBZ=CD|4pB{rxZm$xq;TR2(mhB!+#f2{dS#2cQbGMK~b@Iq2~5MvKhbasz#CN<87th^VMvN@1~ zo=b_tf~0Ez)*nCAaX^DE_rWsbp#{iXY{# zQq%QMuDo3CJB;s+;E&))bM?TDBK;0Ed3~2BAuZ7!X7~=T#>X^=!ER>OEZ36Fr$$7 z{f2V-*^=`WG6UIEa?slPj~UEBX@C4Rh%;%NdTG7WXiVkrs0<5ax+2PV8@zw1d%o1j zDWrdTjM9k$$fy(Z#N{E!KdlTQttM(GB-IM~7S*r2>F~&J#Aek7{;6FSCz`OU{(uWV z!7noMxE{5?QqJ1CfCqlH6Gh-$wLp*E>k#loL(L~-4?~LGazM5qL$UCdWVDhz(~K(m zg^M~RD(0p#WiL;C9kqwN)W)B`$DS`nhBgjV8T?2Jy*XS#Sx~{1@ZDjb;E}!XkYj5Svp03N zYEkMt)?L(%sfSHt!`kl2P}}`fBlJuoCv<=EY`-Yu;c2T4otZqq$+3Ix-(8!U{4#ya zD+?kt%M%{}h3w%b@9h=tIa?YJoC#r%nb~P` z*6+NsKgVTOF}3*RO{hKxR;i$6@qJZi4w9O^w5~mp$z6Ij#x{?}S2W~+Y*b&+0^o9Q zp|nbEa5b7y@}!FM^FynFlOg2CK1g0W^BBgU*t{@%BHeRxgE1)8{WUSGWp7<_CWrH| zp2_l0;rBzq4Zrg!qMTUP{6j|2VZ}>g0jW9XiRA}JkeKLRDb^9M4}nx$V~D(!QKKbK z_d#7vTh1hb*omchn-y;Ys$?+q5*&l==0GMPMi%3ET>%VWvkvz%OwU$d);mNF|8B-h zn^?I-yf8QDmW&ynpuVwKz(e=$Zpzo81^6myL);pJ;rPyW=5mgZ^G3_^|slz~(sW#8Wou3+Ti_tEqDFB<8~AKpP#) z+=iU&)PL8u`uwzJ-xN}b#1#^3`waotRn*R{?KC_X7u^Fn*v2gCq;zzFbRRn(tGc%n zC3-H!b^_}pleduf9ql@$#1kix9vp77WshgGxjS8px;kIB8lP#9_Lm&&qBrK^!gJ)N z^YFoQt3^yJgpT|^TeEi;Pw0hT7NUz?T8DNN3~Dfu;58}|PDzF_UH>LJS36Ynao1$< z6w9X8-rAXHS!UKaCYQB7aAiKZ3pUUZOGmm)ZJXK+BirCP3@X9V+9 zAviH1U(`e(DWK4BaZ;seIxJV&XCYj_o4QQ8pwx_JuT_(F3_MWfLC{1r_JSP%w-qeMfKvQWytKuvopEW zDd2K7sf0BWa4RKi`y4Fvv+uSM%B*qz9ZPyjT?f)N z`e}9{b}M^wv;Pn?*=1n}_nFf-f=>Aa;5t3&VX9H!M#%mTqKZ2#Yqo)`4`0TniBIpy z2NUfS8|_QV)r=j}dFV=ox1H^OFuN&WfSjdLcEYu z9;udF$mP7r7!yo)Mp1F*0(GW4x2L+%Q1$}uq>4VRKdG+=aO1ad(P&=i%$4ij#{c2p zoBW0u-Qax~m8ib-L{3}JOj5ZA`%J2nYVI3nq1sYf?hXBwoY~;hgXD>E;xliKPgSMQ z@7`zbIUmF{@5eJA>oqpF0(|#z6uZ+;_G_U0?>OENHRu=Q&R=}3DhgdQ58$|V*gkzQ zdI4*fh!K#11KbBO=Bh_Gp!uYAXLaMu>J_a$e4?sx3^Z=&a* zC4@iY1g;}~Y2d)1w!_bDF~K_UfBmt8FBAWKhy31D4Zf{N-d6qnx)(=-oui{q*)*6S zkFIZm@}~&~$@#U#epr{CqA%oc%d6tVJf+mPzxS_>b`4a+&MzzEex5RaTDQvpKY9cP7KIm-spStG~1 z^izr?%lL6Gg4VgHS7T%;Y-l#s?KF~=>MvTVJPx$7kZKpf0nH3UHNunM@)(}K%fyq$ zLyFNm(@H1X)IyrlUiUeUCQ|4%>zrQit;8bu$^+(?sZQpLb zpRZ+pk_XjKobGrZG-ehA{(Pb@2;R&a--&z-uh1b4gCVqJO~v>Z!a9BuJR!C zOq*~&;C+nW?)z?k*(FaA7p^2pJoNJv?N>?xb@^AdM?HBdPJts0RqZe<(U}+XWr)m5 z&pnKDb1N?$&^p_nF56xsLc^Ak(f3%E@VpIQiI{O2NBS=dAFgO8+0hzc#93N5cZ`)g zMT1s76@@DJWg(KHnERrVAz9&qp*&d0fUzQhR}fTQ^lj6wEX^T+u_7#LQLd~of*3?m zX%z!1ZM6_&EX~Yjim3y-pg4jGc9||3%7&_#K*?287uEUMOqVrNn-^ClQ;QCu>SZ5d zr{2HyFJt>o9Yl`YLK<8$2N zR@U((F_4|C?vRMX`$aVe1!0a+e8b#qnXMLqbU^dYr790TNBcqn6-gQa#9fjnddWHZ zuOhk|k~KIZ2d#{HYE_*Cg{25oNc zmfFX4_4mNIIp*M+UjD;)p}KOh5_|t=Wz>*P?eys5=AUky=iRu@@8)dCPtr?FWXcfR5cpeiKsDG1OqAh+KOYdm+Q| zUauH_5jnKx8VytiJxXx@kVeI9DPY#uN;R0m-4mXiy^~lN81K~BL>lJ!_z3hM3 z$5d@@0k~)io|3v!51X&csC>uD+^_YY(~r?;qHAO7oK;5IqCnuPl!z0d{A!e%%3FRA zS;!&xQS8DHmaJ(&igh&PTL@)x6lVp$c7q$qLW+FWDP}vq^jGu^O03YV>_u+`7q)jm zon`8r@NEPY=$|motC~_1Mveq9gR=WLJxCA&MrdcGOt{n}h+&W#<7}*q<`J~9H@2l| zP*T^1u}**@2ZzxdjfX`lyp@uzs@mD}bgglfMm@i-?3b!jGo`f8O4l|=pQTd^ zPVLTX=a=T5IkF33`y)J2q2U#2{Q+v%sCc(lkAk(anYYH^l>^P;Pfh<&)*n&Et8yJ5 zNi(J_&17igrsY4Ju0Nc#_`V`sR>oPml#IZktONS6bEwvla6eUYj zzh7Ize@mzurR-Hf=+CS&;)uhLT|?ilN$P0Wt-aRfQ&n6<KEo zaUKrB|I93T@uHWk{%DWgI}uKjn&o+MWc8**s$B@-`h=OIHbAF>YmS9jE~=wtre-v2 z&>yH9=5}B1oy!n$$&c6Ja9@6hccDm~odcY*uIE!^b%dWXU3v43YZT!~n+a>FJkv5` z>m&*d*^r>K_fW||zfbJX*`4^V#mCWi8L$6+!;k#Ndt?K{u&##R?lAYzWVwPE?TDlU&BkFRy6OW6a+FYV48nEB0s+=4CctRypI9 zlr&lEFdl;hIqQ3bCI$qrVw~35GTw1tSN6F$(OAKq=M^u8(vPVDc&LqVe{P(fZlgTEr9*FS`W@a-h`_a@MZ4X%rKo{31R61$MeExJakJX3ak&xN0gIj zoJlD#Q`miG@D~wiyi|(9MQ2a3zhGuD42oWV?_*A36J#F{a8eOcn-3i6r#{a7u`kS5 zOE~ZHn}M5e z^Ej!&l4qbtz_JT$m(kduQU^E8OM7j5QX;DLV6eMqakpWPJfgZPm!zvn^FNW|-59tb z#fh+HnK{qCT&ow3D1W$yVC;-6-$lc#4a}Xe5a1+BPo!CHB8B1-JOo&_kjRuQ~O3T1v z-2Xu4wut9$`Y6MX@+Ty=EK89A5K9sEt#L#_B_O6$e5#x#wmwavPC7-I z-D_zPYqpOT#lRcmJ6a)aS~DYBZ6z$E zRRq3+Xmd*VNi3{pZLM?Qu_ke%Rt62ooE8aRM)O0tIga6ZGP=qYh0ujYAE~TT-mFQ= z!E%|jhEv(4FqQlU#4u|D{E#%Not7`bZi72IX-Pe$^K7ZFVRJg7Y(~6@W(@GeHjW-A z-FEwtbg5&KD%?b}Hz|G4RvrO?cER@JUj)B5+TNN3ryukHy-jnS%J8P;DWb7Oe|4p_ zlI^^01L;wmR_pxq-SzX`Up3M?-{n`_(TDuP%^yET+E@_Bl-*=u;DD6$3#s?1!gFd0 z3zN)$Fler^K(=tF&P3Vt5UIE0*$Bh)6Y`)y~6B?8EDF&3FpN%D{41CMB9m}2;>6UJ@f^Y`p9?^`0$Pn60m7|Tu0rgkh3kEK({V+bt5@?Em{sgDNZ z9Hy|)_O9*VZ{+XvtQQNdP$to!Z^IP&dxfN90;4k^V)d%cnJSEf!j3APAtq0T^qqMJ ze5!r;gsL8-dpkm^1920 zT2dD>$c~>AqHhl%5*+1MgBZ9S#ioH2@QCOm92NdJ?uT^sMd^Li@9H?CNM8UTUMp(Y zW}kab<$|62nyq{U+6b?exv* zO!j(7rS>f0=G4aJB*Eppyq?#dQJPrwOE!+15qxAmt{u*pDR~^*Ms3n}^gX9MM&msZ zTA5!q^|Y_D=QFNiQ_+8X(Er|J=Yg@-&>|sktb#y#my<=rj1gJs>{~kOJvQ+D+SFUB}XsJ-NAvC>( zCkMrt0|Q%Pvbbwr>ivY_7)vsknWcyC?#7WD8L{1e{HA;2%*0uP!ws!)Ir_n^(73Uo zg+Co_B;hdkwI03Sowkcvp+m+1_7W$rl;Bkvts*db-K;C@;`Tc@SJ~W5Upfyee3#&A2&3X!VYC9MPW!7;Q(Q4%ZU+>o+gx0kFc302{%=WSO%>l zk0_pa5tI!7dv$irOdDc4)ALEKWJ&9yF5y5DS^FqUuw4J4ft6WLj&FrC7q6J)9r4I^NlXBQI zQ_;;brjO;$K&@{Sw%EwG2dmh%Y_g52JR|!9pYs)x;CbnkZ~enfoU=66Cq2c(QoUMG zb}Q7wTbMZKg0deSjkx+iEpiEH`{&AaZK{^PDU|nQ;68h)e6(tzVwF{WB5|}om`5j2 zHiWhJw5H0|>8ivOwYy8eF`U8QuvUhJwI4i18wKjn4ygq)10 zx^jN}U^Qbx8u|NSoLZo_URRiMqomvte5T45wp^T;|$`B7yho2=|PpjTV#Jt?jFFh5zQ?v~9TV)XDtbUy&k&v&imX1JBeu%2cBORvNDlWX;P27QlD z?ID&`-440Y9piSd=_y#cYT872pVz9q4Q1fhaL>=<NMWl?Yw6I+lnvSKW$`b3D(gE}KCR@Bb5j1TmD8}S*-2=t0J@;)LPeO6H&T@vESC>apo?O(dvK6Q0!%0@_{-9$kSs{SD8qw425;xO{)w4^^9 zD|aMxrY9^A27C^vQ+_dg)|1Q9ttOF=r^>Ff%|VC+NwM4%yj1G1C!C@&_P>(o#3-BI z7~6i5FO*&HXFwUI7wUq%+Kc~cHWji`>Ta$Vo@(z&l@myF4eXSwTBH+fUkWNEf9t#z zF63>og?aap_E^Z^RBFb!f%2IOs*~F-= z?3SE@CHubsX(pE0oyrUk%Y+3c4_HLa|4#kfdKm1kU(j>O{Py}2Z>39!{KQzh-edd8 zvplu){b=0$%O^U{3%<+;>A&HvEcT+Ln-$tjU(eG)Ro z;V6kAOm1e8nhW+hPJTdYGFkp%VQD@XdRXV{DvTCgOpE^G|B2~K{&Ay?-nab8_x7=Pg(e&R3x%DoT|af#SwroJV1U9RU*p)N3UqMpYXG=seS3f{J0PuidL4yYo zCRDgELBWO(9zrD8kmAIJ7auSnsBt4gju|^<lV;7D z0}tZchEH3w2l@PM3yLovHEsE{Y4gX^Up{>J{P|P*H2Qm0U*E(LrRE84AHzw%`|b}3M#SJS3t zn^$h#xpf`mb!!x9*rrqigVrX{rpg4TA)-!wnsw`kty40PT~eg%+O`YY#yy*MY2Uwr z2Nyn^cyZ$=aT<)e^woo}S3~>Nx-;lrtlOO0Z5&l?QtVcNel41Bn^Aw}@3vL{btluc zR@VyUuJk#4&radCwZ2VmcA(pr63V;B!fT4F^5|14y`hF;?cPFtGwi6R0Anhy zWLb0wjvY8R?3QsU08GktZI-!VJjyhEk9_p`1E$sH>JdORp!9 zijur4r>io`skY2guq{DcQO}iT+tbfK0S#1877^0sD}S21k~^&eqlQepE==n`{P3xU zJE;WJimDlbRFJXA+=Ng-!K&fuP%wjJl)gtLLlQtrEqyQ3_SDPo!KyYbQmZzLq_b2* ziBwcD>Q=q0RY>#6bI@g(ZPwXmpocGXW%t1=v!lvV`KncGP5%1Y7Q?5!wf`~P3#XG8KK{_Hip;XwW%8=2;)QD7OMfKO zNqlp(>q@WM16SE-Iqulwk3kMOp=o7&(x)pe#cwT?@!GdsqOht9I_lWcZ>S{svRFGy ze^s~5g?FWoWtGXA>S32l#m~o?0ej45Tayxt+y8jplFYCmd-A-YYuxu}MN8dSZ@SW3cXTr;{5_ zv#PS&uj-n_D`m10FRL!Wf0nANd=Fn+aZiVB9KOeS6&vl208)^SDWN>B)VZJEfGo#UsP5U2yV+N6O2#= z8MQJD{%?bY`w+?QmqQ)ykcT%x2&I~nBoX?nEJ@l*P}pUcls#r;rCN)nDifZ!*d=_K zvkP@PXue8iC~G_!BDjk9uEb#nEI?VJgqGq&hheHLT#*YEw^JXy6>TstyIfo}rHwBx zCXCQw54+@tBGt$QHpdyHNB=Z}o8t6IB#rFhBO!?pwN<5Ukh+oCFyy&`t;{`^s*~l| zBAuy(1};6~kZ9a>BLpHTF?7@ryE17VOWulapA<^U+LtUGswg5biAXPt15AUAWJCuc zW+agrNs=W^8?#fBdw!CmyxawE{-B*&;6ghPHU%gT_#Ixz13;lj28oU#4|xRVHvTxp z4=-!eV}7I{u1M1@Rx}?8bt0bjg^`4Al;*?awME9QQ*PC8l3JJ<$_$>zKhvzwJ$Vwy zV6w&_z@(@{RD+s93Uf6R(Wpl&g3;Gdq?aF6$T1tK8{P0Jkt5+vNJx}SnbwbFxVjc~ zvZ+aF;^;?RN!j+`!~aCN(WsV$QCM8~CzR(1FmXjng(%3T7HaHim%(&MMX_oTiD)&W zTFvTKEAkqNh?T2k9qC41x)4QzB#|sN=1k$5Op?_lM%g*kRMq0RBEm9fTQbXjG!-jy zP0o|}N+$vZq%XSpWg31U&xE{5Mo7sAr^c$Lx~|xit7#@5;k0HEja4LZ2E`9hp`BUg z*c5Fdv9gi<52zT#s>=#UqQl|nRzbSai~iE9SLNzhEfUhzkQJ=Hjm=xzdeXFlH5bppd&8 zK2kvl{bUTq{8_PGTD-s)FYLcGredXTY(DQ4wI}`U@z11l-OA{s$P6T0l3%!%+6o84 zy%i>e(d^qaR~WbvzVMq>LYub6RIMHn@ttW}D6(7&Nb*_jE&TxiK?}M=4pSEy@gd{5 zRAbOG<_mWKfG+?XO2%?J6d64Uw8ti;v1p`IUfl-Dg;j?-B1Gc$7VWt(Uy5Rf3XfF% z(F`kRn*T7H#@c)CM6b~9SV#yI;h4#++lvlYq^{}cu|b+!*BE=au-R=PPr{p)N;@`b zr8b_ijkcN|DIax3()VaL7WD*LM>6!v!T>;(L_Y~UbJC2j^;tba=ZcD6wt za*@M?WH_B2!5s8w!fXQoong74+capP0N~pLXUm|Mg7ZPgIM6$nN~7N`=zQ_zsW@%) z_v)FCNT=H{G_TCdVLmyYL|P~5Zi>}|M8fXjtv-mdGNT&Z^0mD;W)5;pqYdM7thDLl zBmZ~%+u?o?5?iH`-1@A9@ zthwO0@1FM~U*=w7q{;TkC}Q&oe2hz#=s<%<@zBY1y2GyY2VoxikY4xCU#>Oxq&F1Y zM*hzU4;8>Gzvode7t;lZ^F#}p(SlC2(q(RyqsLh20_1PRizoKJ$Qb&JX1t(}V(Ih) z@d9n?0I&dQF3{Sp_ZYANXNtt2;$#$M8=~o`a!%lor23SC|H5QK_^&(?$MyP7{{O;{ z<(7{qCT-^Q&MmA$)-VU{0xc+7Z}h6K>NKhR5^p*9?;jn%`4Dg2h7d#SBFNq%(dGs4G>_$2uJsb5?=Xj58t>==j_KB| z<*qKq3bE&kriJcrK71bsAgs$oUQ2g``0GEzT9IesHZ#?)$Dw;tQ7D)6OZ~q#R<^Qz8>FRA->m<-;GYNj_&%a4|y&$^v(*;Pk96o(Uvbt60i}y@e1kjCUFvW z5aL#1q?NAXC#Hf}K4UN3GB?c#0cEHV^{ z^5}Sx6NL``K63w(qS4^*`1S(gw&yH`&Jn9|1BH(83g`|41MQS?Apfv%P|oa-SYp`> zX(m)E&RQxb33Fr$#Vwj+a;U?b^2jNSBAyuP(5P|Ll&50Wsh$*0ZYJlMf&yRYqI>Ad z528pcj3q)CCr7-ZGU?+jz^O9YM>VJDvBJj$#l>AJ@x+7%H1UXy+C(u;voTW>GTlfh z;;}?->mZI3BP`0e5+XTI1f@^{Itz0;Q_&d1apediFi6uI`;A{ZXuB3_dtQiF0tS!5 z>3e`=o2F(Okg;B@!$-6;Fu2pl&W$0#(>=tqj0UYduYx=p>zbZIJ;&=WRP8}>+3zC4E-pa{zjgDIa#GjEAB{psEw@_+!SMjEal11Cm3WkyZ2MsM`i z+^DJ6$RugUOjdJvkf%q7w1f`ENXbWA6of%%qRjY`qn7ilGOV|dt+<%e%~IpH%*;$P zbgQl{AxI)5JnTgAv>@hcEQ0S)up->lBy(;Ap7H^g`hsW1D=?ra!E(vpPUkc9>3Ehz zC-m(qFvm{`rcRKIlissXeN2yv>Ob!3dCbK(SBx6|^J*lOK^QLfpfpoINKmsxO;Ri` zgJVJ;tT~bM!FEemvC5*#wAjuxO>v7&%Pcw-sZR5BS^vdmIkq7&k)p+{=~1o(E{ey7 zs%O9oOLMkplqh9j5Qd3H>D#iVnFyg2ZS^_T}~O^bDCjn+9q45j$BU*}P6v;tZuLq;|ZGcct=P}68UMPC#~UykB0(kYaP z!r+pJ);gt2td)u+u4@_CHcxAcJHD`X&f_QCBs$O} zFkmTz46=f}&gTmO&;wdTo$j>lb&Ecvu$Q6w{Y+5`y0L^`^6 zgX5z{JXor*2!-^9K-(qMde=TsI8h&D3|W{d9R!6|H;p1HXCHWpnOJO4h|jpLy3XWL zdQ-IU)>0WpVQP|xF9cLomNTeHa3H5ivury+u#c$tVddkBlV>{^;pq=Nro!wcS`v9F$ z;hy2yoY%RZ>6xGh8l4gPpyRoq)484B8J^L(oE5sB$JwIQS)T#Aq5nCb1-hL86fme1 z%D%Z)EcH;8B9O0nrTrBl04z~-gg6VhfOp~*`oK8aLp<1#DHTL~0IR6RiCf9(u7*T? zv?D+_ix>w7M|3K-_+=)niEv}O(TLhTl4yAtn5DJ)fop0kR?#RV8e=!_yVf0^P3{Ay)WQ_xNtZ5tQo&?)Ed zfEeYJ!1y^nQOU$8UZ4bT0C6n%13WZkCMfV$Zb#mlE)S_Lw?}U@s@WzSl%zQHmvpO5 zf40iCymGl**p72VlXWoB%8}@Ft(v{grrC?@6zV5Tvu>-wI)B-25`_b4i_Ye z+M*^vg)Ambfd30n{_yb0Sq>=(d?mybSm88sg?7S_c33+UUz>Yr5k0~iozVAnnCz_E znKs-x45rH5PU{Ta_f^d!{K1n;S<4-!h`Zk1z1^E@-WA>3-~G7M2AbbKLW(OmRArzQ_ASm#MAa7wFZ=kR)lh#d3se%CEY4Iv{ z4jtnw&kyF}QW)Pax1&xQr%JFnyjD&SEfUZK=TP2uP?rP=SBti1_fkSPidV7RL6M$M z`kmXAi;-d~xW&EQ4PD^J9o#WO>Jh%p>1@s(-KG8<>Y-cfn_k@=z0C>!?B_JO%f9XD z{NNuP#Q(6K&vCX;+C%~$RnyT396dcDLVY1Z0TiO)BE%0;AJ!RLk-FC?@Ufd7;pRM9uWb%dCF;mOyL!1>vh_Tm1kLB zAs%ARr+)6YUhd64?G2vyCtUaEp6#7}>>-@p<-GTSzu@J}?af|U3!dMve%*0@`fs22 zcmLj%Ur$}yZ4wilREuwLsTzXJAbcY19-ujVB1Zn6AWoqeGJYY>FDp3^vGGpEi39eHl_nGvW^jzBREHTp9sQld$h>deRh zs#J|pF;;!R;3`&*SG8)jN_A>iuw1>0ow}85*05^Pe*J3IY}>hGH`Yzd)-Bq-c<+); z3l}fdyMFsZm75pw-nw^fZltzN8?|X5@rlIevU0(Z{+fx>n5tv5r>8)n%8Ab(0Fn6& zx|V5Cb?S+!@o5_v60&5Kt1Y@rP0+S&g(maKBv=x_HUPE}8e}MPIYWl3V;_%w`>FPe zyHi^B9lJK?nfXG(_E)l|_Vw&FCV1}?{(GbHgU+W9AOFw#^5f^Xe_wz26}4VgUH=() z;97CnW#C~6Du`fJ2s-Fhg9{E;p@mo}xFLfXQuyFu4sIx6gi&cYp^0%>7~zO3LdfBZ zCr(IWh9#o-7KbgqC?bXlf+!=8LSp2YMz#49nsDg(^U+DS#g+;o8okm{XgU=G$}&0K zRvmf>NmpBP7O{q1a0Qv<+L9Da_hf1nA>J3V1rIucbX{MG2rYTpQehO-+qK--`r|g*;DykY4nUQTG zg;w56se$wolQA{p2WTBpsnaQ^6tg8v%RN+(K@Y)XtV0DwX4yjsX>%Jw#s8XQ=CUU_ z3)4du1?Svq*fP{-vdvuPy-%B8F()oSf!sENeqqtuN6^vaPS=swpU;n3B_F6D?^dyi9r*Gfc6@lp1G3=j}4I zWiN|&tuVnnw?DKw%8=ZVEqy4=vAKQpaCE#{eO_$~UnDixp8tOidg!8$PWr!6 ze~07)!mg{?<}%@W6R+!mLi?5`$%OaYOXD09<(T;?Qf{l?eWvR$J#LZEfS(l8!%Q-J z=F-rf6nuG|awmN6#McHh?#RakDd(k+Pk#C4pN~G)Qj>&FXnu~A&jYY2smRb(^-pTmZG|L!nCMXl1=qh;@?Gy%d62cUxNJ%Mdrq5K` zw2NB0Da?MY?`00lGc!{eRkBOp&7$v z?sy?lj&qm?vXO!CYX7m%1E4vVAz?B|9cj>qIyB0RcK?V(g8|G&VYDJobre-J;wVNR zbfZw3azQC7(J9NKqm_#2M_>WzMo;QdzWDQMrxQsvs1!Ycs;(l%ipezEX)i+bBMW_S z1uu`<2UOgFpBV|ED&waOh6Obu%z4vmzJ@#8mC>sHDvEz7TG43g=qV@4DPXE;n794~ zt~Q0MVBjJbnKDK!b`4Bkxp^T7&GnMe6pS}N%GZd}RaG+GslU87w9)8qY$!{lOj0p1 zj=*z0o8^cf?$C@=+`$io=));c;fG*yq)0YtEs-4ZTG*<`F%PM#Y-=0a+}7l_lO$D> zHZxh(C`Td7k;z03rKXlF6l-Qx%Be&e*POI9ME}vH5o4@d*uH-9FVTgrUaFhc?}pc{ z+P&mjxqH~RvM9TQWvgR($`PeS@k}yNU7(|(?K7RB8qY>g9>Vi>pAyzhnYMqWYnhDf4j(U^MK4mna2@RD-LnS|wRup~^ z1s_Fmiu~@Dx3PsSgAH8Z1@}|71TJux|5ZWEJkC`ZZgZW|iQ(!Hq$0fqSaY2sP4=4D zENxY>o>%5LJ$3Gv zfCdCnO=c8F2Lcg{RKz0dG8?5K#_5hieC-@v)S{h?_OyFMA&y4-qc*}&M}2go8RaXL zHBz>v)fZoj;3Hu$lo$0vh7TlHiBd||2qEs#-z0>t7Fh(49OXqiM|o0XiJWENg}wak~v;pDBRa%=Szoq5@I2LzeM6HXR4P z^Pdm>PGOo!w0uAUnf4KZjaUgAu`#NOi=3 z{qhlF6M?B=ehGwp!`CwPm4FvWf+ZME>+>+7;W%hweVTI_n3ZJvmlL<-N2nlhgivLt zfOm_RX8Dj3D|jfEQ7knxVael2>SsOy5C9vYgi81TPPiURXo6Gde$$r_R3bzr15i%{ zDfysp{epv%u}i0b2mK&(I|qAM^)*f+5=8?()MqOcc3c28f~9g5QdlW?_=FiDg?dPZ ze>jEX6ca#ID-#h*%`_7E=T7Z`M;$>3_&`t607%r(Upv@k4)+v#SBF%Cd+FpmiexRv zBOH-Y5=2FMt!Fh_(f@={_=K$3ihihvez=FO*o1t@icaW?fT)XB*HZgPq zi%{5y;;4?}n2x*Xjvm)W=s|DGBR^k5RH<+p`!*=PcN3-c3N<$fcYq36W{E%tYqV8# zUUpl&)nP#wbXe0QkmN(+VUG&5B&Fyis0c8e5{~2Oksk??d&q?AxQgazk|FtyDd|s` zCU35!LA?`8^#&8g$S;JjOZz1X|8)nec5n(-W?$BDvz1^#$u)c@9QxBcbRv`AA&Lpq z8qQQTo79maN&k)~iIO5omFtL=SSgDt>6K~}jbAB3VTmsz>5)~*l~$RSYl)U2*_L7n zmuEzlafw1&6C<_AjqgGrZ#nM8AGn52W4iOHCaxgLw@n4SZf zkx7}AIhmCSZo7o6-l4ny(ouu_>Fi z`Fyl#n@yCPyQz}6$(xnpoAm-s_fb(Z!d4?kHSCsW=N3w%(pXqmY3Q?3(CKc}d4j+B zIl(zK$!1qN;bNZCo!O*G(se0}B}_9Wo`zL&+KHWyDMAfpN!-a@B{fksa!vIaQaI%z zER|9-RsT~iMQ(VdQs%{MTgMmJwQT#ToYl!~fkjdUDqVeMQd?11%~qetnMUl{o|#BO zcXl7umR^gcQ=Zai*F|FhDrhLWW9s==v1o$TT@{jIiG^5{c4#&FO?!5tFU5Eo zx}iA%q@i+W57iz5x}xJLq1ZK7>-9}eN?t39q)D1yIm%)$R%nh!rGchr%0?JArd~1{ zr8t^+LmH$#`JNxP6d+n@U+SF{YNh1`XmKi~gr=kDrDKZ$UF9{OBTA=a$`;=lXlUlA8dA2ZZrx^5nbcD1 z#-FF8tHA0Zw_0uNrmL=ZsHr+@m5HIym#v|*t%X#r*7~im*L4gyuF`3p?-s6zny%K$ zt|PRrLHe%kDz9}puclM4_e!n!Do*;!uc+Futog42`(E+do&+nf2fMEbJDUp2uo>F0 zpJK2NE3u$AvAS8Y7fV7B%bOaDu^r2y9y=%;3$i1ds3iNbCX2G!nX)Ilssuuumb9|! z8nZ$=LND8@`!Ta;Dzdh@vpHL_Ju90)>$49lw60mSL#wbyi<(M{v;xbtrTMf?+yAdo zE1Fa*wfJhapP98+JFi>2nO@7a>yBeppp zO5Mt~i|4kKnXZ0ii+D+xeW{k`*ox-3m*g0jdWg4q>vek@ncq5{YRQ&bNwCUYnb#azh4`__nW--OaGUMhqupb zx1{z&h`-&9|ixu3# zs{6pK8^Ms47qMHn#S4xniH;A*Mat?_G0s_4T-48+FE!%qyvT^YkqY{N*rp80E7U!lTIJjAxEjvFkxKm5d9jE6^z z#Yud^;06}}48nsMz0v!@wph4wY{wvcxPGaGSDeOKyvE+Oz#FArI7NHwA;6-rUjXJgDg6-j9BBWaE#U2{v) zNRlL1lFD}^NymPE@5l4?dOY`f|M%JB{d&BPr;DpIWqaUVXgcI4@c)BGqwzSLyu7>` zfuKet5Q#+H|C^ewt}aQJNFtGpHejS{WMoACzmd(!WQsYNLZMh&ldP>byft+L|36Mn zPUag%qiulZ;XwhIfQN?%o$j%3ADKog-?wjr?DO-ZZkV6nzJmv?5Bm899y}NlLJbM= z2nh+)&DISG2|F1Uc=Du2U|>UJB=zLUu;|E;$jHd($gt?>ebLc@(b18y(P6RCC#?&u zV`ERo#zyDF8bwF9GUFoS;^NrMgG^>5lNp!74r8;UQ`oWe8akWJPGK{%GxnvVq_ElT z85!)1jFjvRWJhObGc&TY0~-Q!vf0`HKRG!$?3|pG8#itg7RKe|^c5DS6c=U}78XXg zMi&>}C@$VWVR3PJd2wNR`34`VsVS_fDQ35`Yii2tY6=_b3ZK-))z#HB)D_p&H8eC7 zHZ&ABZ=gA+xw$;2Z^PHLHkUUyH?%g_G&GDgH@7}%t$ET~_oTJq$&(GVK6&z_c&NC& zy{5grxxKx$yL}@#(ca$PFi_Xs-O$(F+}GXO-QC^S*F4bI+Sk`T(D!7Zuf4BtU|^tO zVBpEnK0A_Y>381JlzZ)6-*f(?iqK6LTAw8(R23M#dJ$ z=H})W|IerA=9U*0Miv&v78WKJ7e*HUPv#aECKeVJmKVkr7dEaZ78l1B7boVH=av^I zmKUcN|9_TO|IZgz7w49jCzhAz7MGV-|4$Y+ZdRA4mzOsJ8tgZx;`;i!czs#C;l&GL z@uFC~EEcbBT!_VDqyN8v|GxzQEe1aS#k%l$Z3$>OgMeOsaYr&<$E|=?U(%IEFgrfp zTVL9fMRZJ6b8RSlmLi@n{9Sqa*7NJ+BYg#~jTJ9$QqC-lKWnUfd5fALq3+gHHCRf! zYH+ZxsrpqV{rtl3>n7t*0(~2gzwf(u`^{ZON2NDm))Op|Mx2G4huKm&;vcC;#!QzyG77r1(sCQB%;_QGV3< z^nJE}7XTz_5`-&;PBPJM=hVaBW_)^K9o9(<#4$Qu-dfaqFrgBriL%b}kJ%Ohgus=# z3{A&S*`ly_1zUG&jN-046Plf7GISh$8-iHYtMfBiRHVM{S#0+l(IS&86hI|NbXe>= zo=%AQqU-jL)*ShWM7uu}xdd!;j9hunXoO4o#dmpOI&sUc4>ByfL+SSBf9B@Q11hf0?)WL-J499NP{{08@p=e%o|I-D>a|@p9pB z&K}Ocp!&?HgXeB&a^Kjjzol_f_JiP_!;Xb^oaI+h2RdKHx4QTBQPYU|vOp-l{Hxi^ zp8u+k6v1Ujr#$ry1E^8Y#75xuY8Sa&w9RR6 z>N0-4%8>=gdW({Dw$Z1vbllv5PHT~QvGFr%OhRT*>Ng$Q2*s(j_V>tG<%nVPfcCyEdI}xwtmNbusxhdu{)zUmx?1)%}_) zIKTMo6EE3heZK6B#ymqFWr5wqZCYH{zSjA!1K^4}G?G+Gs8Ec_ihVDDo*%fVnPM&k zFqD{fdqjC+{nR3aJ4u6V>n|NJRR|@bp$fH=tj(W^(=6<^79h#M5Qm3i63tCPwaiZb z@1##x@gPPwoY18oCUwk3(vWJ8uHmJUTc{4GYmT}aJV17sC~ral{^4a1(9vSV&*z#F zB|HiH-Yu6U(NqmJW`ZJGgbs}AHX<&e-#iep$?3(oW3&#HF;NnwzgX&gZ->UZD4B{Y z!Hbh=o!Tl(9GXXol$m|Xfq)r8h1)@MN;YykdOCIgilg?0;w&u!6~9iv<)Q(2ma!vD zFTx3y#Bes3n1+ND^q5kJj}e`Nd$eL^M(TPXaz@h-SQX^F&=kA9mx(u|f|~RQ=Ar(X zqY}L^2?Ie_90>x6@`Y?VPy&bcYNb!~`aouRnQHe`2z#tc0$CDY z9W>WNS73P($FOK_v&mZltu(<#1 z#iPvu*?%85##u38jc@*MWq~<#jfLRHBd?bdLB^_bEi%mG&N#%VSo~dfgU-0`BsijRjS2z;p)RBr#LJLMZ9`pMug_n( zzBKJ3PfmeioT4Qjb~4|iA=36XrMDQ8w|#ruMjG;e)Q0Z5?f<54q`CFSorsLv0iWF7 zw2u9#i+OST(9f}v$ax2;+uUPuWi*UkdWYsG-{hcok(rK=Kp=%*$lxb}Hd2nTp@h;O zCJ*<#SgvopSfCTSV|`DO22(S0I}}p`B$2sP2#Ya$Z*FPGS{xeHeDCoctI!>NA$ z*rx2Oz3}Gw#A@r$$D)k8mp-|FSRecOWbMV>_@B=|{9FI|6p-SBD33{~YTlFO7KEn1 zmhbRuvmHNII?Tt~(hm8KwvR_9{yd)S9=D={hml!!>!w-QP_Q_+%gDv|7Uo z&-{1hln_ka}y6BJbs!g4Kx=0?Ehr@ z``1fQs)>i%HSeIhF68WPDp7hd@4RDukek_5ws}{W2gg(yTW|2S*Y03mAj46e#bGU!l9L_F5B(?`?J=6b zW5(1vq*;uZZ^_>m9XDy?%)CI4UrXzxL?*sI52l-HmgQBefjg1Mwkgm=xFt?Y*5t)U zl}@5!3P{qAQZN!(*lvPE8UlXT~hq&+Nf$QULszCY<)=B*kzz95pp1rc{!; zmUw@1S&v%zq(L@_4P!+bIAQ9%BnFA(l(iHdA@zn*@~uyt;x}R0y()`Krj2Ducsb45 zUd<9pT9a>DsY9x4XsUc(YV&B?leIL#Jh^3*gInfQkxbk2()(J{`w7I3wa8XMdLn9TXS%)IXe*~W~O;fzwtj7dtCJICmS|Zj zzsQ3^EE7QXvJu+buju++(Tlx8x^cze!4;#oS4@6gAuC_qy8WuT-&Kp)s}^EE#6CQ- zYEoLGic@qwtt%!~`9ZdGY??+j+(H1e6JFc>>l$4-$7_3zw_lD=Y>w}Z9RCM70dI2- z{mNk|=LRX~S_ok*s`Nh*?zy&F8Y%fd%C(22ESK%q?S`^B;KqNBF63Xo^!9rEuj`<4 z9&3AEqF-K8Y#!%EUh0Fq^tXALzw)@h@^XZj`$Flk2f12ra?8=zhiKP}w(F|vqiF&} zfKPr!Y<|^^{F(>(wQuw5e&zF(Z#Hbd+2nV#Ire7Djhp4J(x17~$1&H^(HRAwGp?Ab z3L*=7Zxr-BDCmD%Fz~BDs9ZR-y>QsCa3r>H^hV(eOmq~+v^WL6mn_vP-d;58S2Pz} zG=HOL;XzSFtkmOQH^Y^$b%uHt>MQp)D6QSNwf^ANpA-cG(%=hA^)WGjFCg_bmWR&g zNwo5CtwoEUZ{{f*=IdWuaVMj*;uHz6s`0*siN^RFmsVZd)zj&e>H8n(Dib^){5}4ij%2u8i1@4 zNx#7tCo&Z#K&B&2eIrlo!DHksm3JKHIrvv4U8v&tS2?K^D~Vl`6^|1hM53r5Y!|&c z_d<1Eesz9pbwO&io2Z(nQd448Q|4b&aiOLvzow?Orq->daJ`1Fa=U)LI#D1kCQ6<& zAPs<0Wg_Gm(d|Sb7Gj`&ZYvPTKXuKtiXSUo&Ba!4mn_P>+TS|#|LO9)GL zPsN@Wzyf)=SLC``|GK#gb@Tak3;uP@bcq^Kok->Gven%c|GTRf?ylwEU2nbnN8)Zd zDACKWgYMwNckufo_}?a_TT%&OP`Kg!C|xpE;HBDaUthmf4cw!8Kd?YyMpdh_UZGJs zkWm|GUVEjuw&Jbl*9htIY8(-OS7XqMRMd!nqlNflBRciYl5)W~rNB+1dZGpv%BWhS zOP*fVpxtb8d)Vahu4(u0Cc5f9uO0Wie`~y^OHtgVr+EAa>xAz@tT7eZTYe#oZt@P0 z4n0sh4>pgoBt>B9AWte(Rbv8>{u5am`dsr^TJyORiIF>`|8bFsh}uZ^O)M+kq-#}x z9*Q7rQK!OFZ{x5$Xth2H#z0bTKFELgpt-uyxv%l`jk0lxrVnn&Bo(Pgqe(yOE3Xb> zpNXU_Z%Ta<+)J90EM~w*yGbpHn(KVjHqk?tK>9HrNyWn)$=F0ZjLMVvBfz)`VK!%Q zfmE&cgOzr4n7o(N(j>|mgpFd6>EdGPN&vnMfNPL}FoEpMu;j<6+o>8-+mRPTNQuD1pat?r~E+CPZ4&b!uiR=J>}u#`x|bj zw1TE2pQ!r@!KC%6%|2K3ezdiDX{QxywR^Se7nzcN!Z8O=5bCfGEeszv9U!a&$oYrT zZ8C;E0<-Q8U>hh=j)y>mfGqWqRX3uQkA#o`DJnFK3YD6KOjb(!%0XoLdtTCE5D@52 zIME4WeMLaGBLJPW2qXdwu-1M3Nj4T@A_&=rhdkg)Br(uYe1OR9N#bHBiI~`aIE)I9 z9Y+tj2~x$6dS5R*kiAf5W7t~#++?B;R&gT#C-+(Yqi1)vOZrpcQAEr^0o*GBzC(yI zyq&Ld2?yP4T=&T6KGU!+9NX_?To)e88tkhxGVUJiUix;BP#|Jfx%QDBSM3h#xOm%KR{?|!NB7ex}#ZW>7<|{wHF9NPA2BDS! zOpgbVzysI_Xb`uzGNmdB2_sW1?l$kVNlu(|WQwf|B_Vs=MDTJ3iM1|fw0 z5xs$)w=fk+KLP7(s)HnXGmK zQ?f>Yh!>18r)UGB4-a)dxbU%~qQvz{$>%|*8fI~^ZtTZPv=(#s%~y2V6=*xBL;%}FXA|pj z4;c&lxC_lnk{<<_DhpIOPwFuj9ZTNUDZD+oUrK#t_vuO0W4cr&57RuQz zBxdrX-;<9AHDHot>>r^tOBMMWkDZn3Upyg9ShR^(gUX2JY$|Y45u;UM4~|9Lyahlm z6fGNwr7uafzO#DPYx=%i>^h$mpMQHYx)vk#Dnk0rBs^OK^+qK9ii zc<>4n)ORxO?7^9HFH906AQZ0AYnEg&9%4+NA_*WIBE)$DFy#Fw3Btk{z;0XNo+rp{ zBA^VEI&~Omz9kCG+{pisYm>Oq$@78u7HKXrj-X8Xz2w0MgqnaH_o?P-2$`E7#|KVD z-25uW1BT+i&)+YPEmVQKpRp#6nBU5;5}+o&<=cqA&k8p_!6q00|0A3VeJK5$w>7z4 zW1Rs9OaYmvfju}4Yl|!)sQITv!P-Zt`Y7%@Er8Q4U3CA*$H^Z$p<5^mz6bbSJTo$d4P(60wBkXEl^cbAx%YO>+Q-@a3Pu!sH`-D z@W)pk|5oz(>e~?VqG;#M-0;>j|H^(i#6%FRPM@ZGS5cV`8NP}BlXoT^vMb=EwHyZq zAu@vuYySh&nKUKz6sLQ)L`+e^?WVHa{K~8-g0~C#gcKJU1?vBveqyV5=en4vyH}9? z;-j-A67{rm!ffU9*Dcfs!y1RV3u{qxFAD9FH4d(yU3h&*)9$*-2eTGbX?5$XzQaz5 z-K%VD&&#~F&})A@uD&^86TaHAC?cAj%P&1p!uf-u%O8XXIx8I<&1Nf~pa)jgo+vbGjhMMU}VWtgEP8G`QxX06o68ITsp_c7)jfTdKUa zr6ZJ@sc21gVxnt89a10~zGYB&4b`Ra&?D#%cC1(Fj1Z(EN5FB?<^*bl7 z_YnWkNRJ^r^X}uH(>Jr8g!aDhtPT4^MX324N>*3% z`@@(kMD{%RR212NMX#NhT2w^-g?dr$c@65h9Tz3B%N&Qw{s(W5G74&)1s_L%Q7 zCx)T(9A602*7@pIC?xGp#_YV=7>+^`R8F(`6IKi*@BPZH^drM<%( zS-BTTNno4kzO-;!yVta{jICnG!8yj1saiP(ReaeepRSM_)>#)7g>FOUv^eQm3~tZ6 zJu=7t_~1J@aG(_Xrf&E7Tf;Kh(Z}p}YUH&Qgs#=0hpL2IBbJbID^&GB2n;$a#3*rz z@+wS}^`RlSWFk}Zd#{embTigM<+Nt3Q;+E*Q|b8m8ST+E9T%Z#R{S*wUEL)Wr;@=^ z+kd86e`uY#>w`2oZ~f4}1fEbL&m6I)Xh*1<()veeH4BC1uBb#he8a=81nDn7xnnPH$2(Ly)%?E4vx2BGbfXFG_~%l zJNNqbVZ;gFHUlt-^Sbuf&J+HxTYZ|FU*9>+J`wOSeg&U#t?1yww?ZYXkHcR^O_B8|4%>5!y({XX`g$GWj&QQuzrMO4hzj3vkkwN#Vft!%Z!B>q2EMGjEwSM@p!E$dk8Q zaZbDFfeGM$Bb1ZGUD9pNscUU|$u;w)x(>xO(z~^Nj~NYS{8|a)>)I;51giYT6xb~| zT(L~RHgL25sN^`^=i$sjK37$&ta~$X-s0VbmPqNXzdBxCMxNy%Y(gEB@`c;DtYU@7 zq0W|LgIP&u%Qo4Bx$Pet%G7(6aHs3RBaI_><-4a3AKp7)@^40?jk~iZBr@$lmA_)! z-_dVAdEI|@c5ELNkpIO>1%HSYC1;u4n#jWQ}lEElO1Zk2;T@d2+VG^8IJe4sK)A*gtQqDEwdy0m2AAJt7 zyO>BM$~5)FEk-{T|2`Sz-|mAuR%MwP+r)z^ye@VoSsczi-;$v5GC6*w+%9fm|A+NA zJ@Kpep2jUYeo%K;NF$7XQVr}b`uXYp1B?KSU%mg~Z%po=|9<%g?&)CB4rC!X-2s%B6J9o`??q2Eigzuzq(&@TgUglkUow~feyY>Zl z`JCBnTiBLg|6=CJUoBv1QrQ zsqbA4WbOh#=|CuV292;^fm#Cz+6;&yq4S1_rG{r3(9)c_P@otV9#9e{bk<&@Ju{^? zeMkPw&Irvzkn!+c0L;D0IM`uF76;8{W$Tt%zNIE=%|px>2{lc9w>$f4hx_i#_SFRd z#Q8qH{PTL<=MCo18=amvc|X4w>|XDbu$2nCJ)H5N?0IW&!hIuz-K(axS6#JfjsmZ? zx<mkj6Z011>IBgBSOu!e6-UHd=Ynz|0cGDct z?{%$Ta`wW*9rD;AAj&fo)Sx9m(J;L|db`2IL)4pIBG?u)YjH<)#;bw~RW5YUd|>8L z=K0B_6Gm7EIqazzLILb2H9aG;H_EuNrl(D&TOZr2p5{QLsE8MC2@)|0ZyJgo zY3+G&V^0FNGsLPONM6qvgv_oCYDP<4rX}-Zk|PPI@O9)Vy4NX2l3qyCF~ZPgMp7^@ z`EzZ{!mwfOZR@M5+v*IlGqVJ8h2Gs}lOGiNusb+d;{R zCPHXP6~v6ZjUWJUbV$e=%9X^FTze&l_oj|A56`pI(OA>9y*MCIl;*u1ou)$ZUVe!3 z=mO;!?8|tz)Y@L{m|@ztgv<0KRdl8TcYA0G9fpSuJ2|XV@5eT*1LGO@MgAx2z<$!rqG$V&jQ;jB#a3~|zEL2d(wy?(|91-&9tCBG(O$u%q?m2^@#;2%_wKU&UUG?!Cim>NY)bocTk79;yL%Kw z?lnlgJ4A-dREu#&yFw%*T$|7kF}~`RGYEl#5G5{bPcKVF&_vPrx<+kpf>fvVaMg^HkLKy>vY7v{RgHls_~ zWy7@Rp8=_mWJLMKe8HuGHgUE5;wp z2!MVB48mmzC7E!>ht9}m6#VQy^G_VnwJz$ne?kz>a--f4QGYSVSk3MFq6ORX1T-w#n_yz=(>7#uv% z5CQqM3xxYJ54WHc^1wbD7(fQ2T|t17VCDTS143sG=V?`tqJpbT+l|qM2^D5UKHd;%JHcNYzgxQJkXjNy1h3P z!%fiPf|f*t8xaw8fQcj`(xaxkc40&4O#dW+N)Z}WeT2tAF+OP*Lle|H?jE@-RQ&>`=$Fx&{eUJUWgeGEoq5i~R;L(hAuGBfSf4%6)9ox){nDF`_MWn z09^D61rIAsr7zt=GJGzFrkhtmFno6W&>M?-W2A-vitKLV+zO`f9>u;TdY@0H{*SR}+w_jy^aiWZ}82=Xxv!+T`V!f_g3t z!g+l;4~Zf{A}j#g5ozow#L*YDtjn||fH%rqwIe{!=r%O1gdeeVdm`+rn@F_7^1okr!-9ZJw)7V?ZTgU+Kb-(DEb6+C&dx6Jlr$-Y2 z!Qyx0^T4dL36l7P<>&+{3e1uW8ud=p+riBEua1~7)mwrTMw#AprfSRdVQzvH`l2g0 zL9&+>Mmp@ufF7@43-12*_JurrInk+vK(#Q#t|Z#sTl>thiK8U|+`8N_05S<$)t{32 zdsa3S^qWL|shQtob}dmd0uq`GhDoOdP!iC-Ac6=2jHSyogzG#DpEqolt5+YIDAmh4 z3?#duAp{2E9FMJ9b;K+W{Dp%03t)DFi6MePfK1VZ4BPiMm;_`Jl1%csb@N83`>jrC-d&>%N$L@sxSSG_8U z%Ype&qMzW}$Uzy`O^-?Bar+P*=qvqj8a@)n3+q#f{MNT`xJgP2*(d+;yU|$F@mHBM zx&Iw7JvII$@>R5Jc8UA_yd~ob!}l#-_4DFi7e~GjrjHDIzYqKP-zdMcC;b~%Df5#@-vxsLuz_srt6>`bprJ<9+)qDah7N~Bs21`(Ra z1w3d$iUUysx0!GehHOe-mzI&aB>Sz2$dQF2UqEG8q-{irN-X|TPyqjl9uRJD%9o0| zWcKzV)NoV!Cb}PH-H?9Zbk~m;mJh}iTy-<%U%xrbl=K-*$TyuM1Yg;6RQYIraBHIuuiTEUA3Y=&^o%V7XgI5R;IZp;A z2EnIO%`&0TvVNW7$uQqj4!9_aTowivvo)(HbzkhqqOV{1ZOAJ}pI3QqW6T{`f&-1Y(UH}Vv) z6;wTbC+neDHMdU-Pf^VKHq`Qp+eK?-VcRY8=eoo zA=vCd1Taz{P|bxdF6$z`=P(jxR6)oH!j`EP2+6@er$#NO$kyTyNX1NUMsnE!Eyc;U zUyHRWAgs8*rH8|?bU}+LIbkX!IL0sU@RKQWJHdHtT3G)P?W=id2ldQve(pc!Fk?ED zhun4|d#7P02j`uB#G;tXMEc?rZ-x;OmRDz9kf>~(nw=6bu7)N|zt_ImSqdL|^XcRq zQ9s8KPa!&OmzR?yliK85XdT)YfM==S66AD6AS!7?XWBvqRMuwk$A_PJ)@jM)i&tDo zbij=mlTr)xi?TH zu7wF#VlYqt`fu~xUI;`N4Kwp7#m?+ylA?mL^D<9YJO%7A$S622)3eG+(g3T(m0;4e zAwdkpa7hhfJLw1~*iY~losz4on4o;0LNMU&!Fii&Z)xC6i{-VBcBO<22IYJ%=@yKd z2DAFpk86#}ylulxH|Z&Q=P5JNK)3->i@%+g;DeY>vfk8OpJ`K~Wire% z&z2oA(mBUjO0uN!KreyGxx#ICf_EEkI#zWqz41VWf02-B>#WK;Ll!4d1%wIPb*gj)J45HkVDj zy`>ZsoZNTPefUAdDB4CH;F_4vX=fRAGEm(0tl~PCr+xS?^MmUcp49Bqz`-q-@APfK z8N@tw3t4~;0B97wrCr_!VyMy&hX((s4^TJU-!3+|9+arv*(zkqyH80N^nFW}f2AGN zl4sf#Zj@fM=}7O$G{#fSR4H|>JAAPX7mR<mKAJ=@v3GOg8In<*6S{^&v9-&~p79fdZ6>G~aN+cy0wl8$ z?1APmP?P~Y(~!(q=m@mYf!Y~<=Qcba3PpM{7K@tr$1}*F zqF}H#wp2pRad=opjXz8}lcTJwxRf0&lS-d2A>5}erM|Y>)a(^WHO8_AM<)F;_Qe1>!&e+i>apYuBm7_Sf5!kmbr_z$4O zIDQRLMu@S<2Ca z2+Pd=>j%b52uK%7+MCp_q@J~@L$yl*J-%;-3)VOzEnP3|>;8N+J51Gn3VEi`$=lie zX#Ii-$~xxs-*309Z#12GA=iB$`XTi{Ufmufo&h9C!in*H=rBwkHy8EWNy-C#%76pV zHj)U-P{`VPmZ`>v%6+}%AKbRD?yJiD95uUcbF%!b2>0V;^ue8Y|K9ktU2YV)|EeyB3$?JG#Um!@caUzf{ev6Ar5dFmwYHjK>$-MuXQ51-Oo9NZ#rb`Hsyx=opLa4X=^VEJm)>7*(R*=c>F-_Kuc@h4i8>6PRkv6xC2Y$!_Plx4f1*WA! z4`}B0FMQi6x61zZw#Z}@YUvTU=r@)2K%x6jQNS*>MDKv(wcRpp$ipv^?8ae{YYEhA zCE>gv?dB505;jZ)kTIH|wiK&PXq!AK_}S)jEslkt`(ii_3xx!96Q`@eEh$IqpDs zq(cyhOO+DsRTAy3lOPI|cJsv}+6^$7UTx#CAQLHF``sAzbK_e$_QDk=*b9+aDqT*2 z4wHCCT!V#lU8lO82da|V-nXa3&87@$e0$s8{kTIv=17{Unqps`UX<3s!WrfAJ!7?d zR3CJ!rch-%nM%DNYBU=o4X))7h@zzYd!`KKctCE@IF-F0~VnemtUI4xx!5 zJ1CpHJhB!+A#z7TfMMuF$j$6mubu(dYkMzR3^|p>Wm|7?7AgLW_&N+~Iq_eAB z)K=#I)i>+!Xm|irfl$G?z?54-M)iR&a6SG26T(5^f}bg$1)L=~4<> ztk@@aRr>sOkQAx>D6dTK9>1_WBgxT7nbe|d%4P85vH>IZxd`@k$q!5RVp$^pU#DojX%iE#BZOT+ocP&$Sqhq&l zKr@_BEj{K02b2>W&4=REx|BT}buQg@dyuSrHdJyPB>fSiKI8z-;lREdCoq@b$XZfm zvsOYP6oUr{zBK|bwTi`=&FN!L^uF3&sG*n}`8GK2&o9wmPuMd7tNC}#%_Qvh@=<1f zY3(V6;N~RKK)1g9M!Ro_&7(@74Y6gw^$K91th-^ioU!#6Wh3eb1QpKztn2|QTc@gd zfP@t$q5x9hno0tR>XZCpFP0`7!zJhu*II zVCm&iVTo;mx;tO{1Dvhik9MCl+*;eg3h8t+>hh|s3JAYaSF>8L8-Ud8(hBuY@0Y=- zQPOdg0G0`{W7DOC=?m>D_35}K;CWyFA%F2=osWHWQCGi|lK}-(Y+*JfB@^(H8&brz zZ~&khZZx%+vx1GRtBL8{LJ-IanS(S*V+vJKXb)5^HZ<3%0RlLIH(tShrUgZn8Nc&C zp0TX+chi<1CYtY4JN73nR860pSUg#CH2lD+@T=_$lh9-Sylj>FY$N`lJ`rY?2&L5i zM`_w(AP>RLmMYQq~pV|8-y( zK-5_#91AyGt5c;=2Tn#Pg8N~wgs{f;hGBsm$NrV~Y2(~G!Q}s7{cYd-LRS`NG#bcK z7sr1b{f{#Kt@GU7uK2r)?2Qdw>+#bPr#8!)_)qQ|8!uO_#}No~brMIVoR$LhZu@sG zQaxOLJAHweeStqQng8dYgcppStU}-t3(^mo=mM^h$;jV}*9uK*s!Snp0lbmFcby5R zfw-5VVr}9}cadvE6zvEWfvQc9KiAq&$v4^%)a!f$^ zUM37MD`i$vXQ6mJK>ox(rqQ9cQm+Xt@0D0KwJOs(b|y%xVb#s38fyBXrUu*^=DvRP zSNvB$ykGap@o;M~NjrdacR6Wep%{_=83PB9lLH#7iSl@=PTq!Umi6K!74_B4B(JUE z6d3I4a5EfG7eXD9xr%%TB|;&!3UD)F7{4=sQxA?;oObD9GHj#l$eaW+*uOsdAGOJZ< zL3kJhZVEAOvF9Df;L|-NjSl%-2XM4q2IKaD@5sd{i{n@h{pugk? z292fHp12k+!K>}-1OKi!qhsukCs!UzLlW>C%Kz2S1Gn6tPG>0IKYO?9_{B3PF5cBS zFunWvs*GyrNy}zWLY-AffA}Rwk`wgM9YLqH4_H#L_2+t;WzK)ST7g_2&{h3)-s0u`Ys2TUe{?Z#>D_mj6YoJelD zB5Ue-UVOjDr@=Fz;m*;h%>8#0d!*9k0I4cy#`&Nm&6yRw?Tr5@fk%D@o(R{?y6b7S znj)QOwS~0fK&Co^M;g7l}U8D z=$sOSSt#_vW(RF2Xvy9C+PbU_qLtWQ@X~n+3YH(XsyNnKaoVc#d~4-ptE%MIsw}JO z>#fzdto}#SeaBPzxc>vc&vX`!y*Wm*vuEizB%vI8>l`a1GfAbKbDU!nN~xq{R903t z={VV=(0EJAA%&<&WhCe4^Y}h~f8T%K_c_;iJ+G=q9aVLv)vX=X&rEAtFY)@ck~8&g z@wDH+ub0Q)8<0v4d><$vTrEcIsrQfPOHdVD4RbtoDI5#p(KTy2emO^y1{>cAmovV9 za7$@r=U~d&u%-C$rO(lK!3wKt!B6nyt3QJ~x&3#tDsNV#cU~T#WRUb}3*8UAOh zEGF7Yu7=Vbyvs+y2_@|6f9&k8J3O+X_)M&=n7b7pemOmPyB2MgT*iB{MUQ^T0#Z(? zdkE0k=Tz!o>e5tb0gEqi5ue5eqPgNxzF?!##V zyU+M5{4Z|~P&V=9ZNA@K*?$kAiH4)VgMUtc{^f*fX@lZXP)(w()(k{5@s~`>(3@I{ zQX<%Fmp#j~H^;S<2T$sES!n^KK|i@ia49E#RI%m`nosS{al-34c7#yt+r!CEm+yBE zq+cnHGRfWCZn?WP#!b$+O^a& zrT|KK9xR7r<5u%AbmFwo?$IohX>Aq!u8?sqhvjTyH6Be+WFRC=oazw-OM0pr z3?0v+=vbvX@M(t#v@6(EA!M40Zo9D+Z8V+SR>yw^9+T67U|c6B`|QCyt9w^W^@LMy zxCjx89o^VqO$7t1uo!Y2m&&Nn$^rV?3c}rMtZoRfvNRT{~|^c(+E)^%t1k ziuCQgu>M6RWRQ0B+1}oVCx1roJv;L>=YYBB$v5}h_HuZg6Gx}Iqvy6H?4+~v?}z@p z6k2@PRI=9W@L&S(L%Ui7-ydv!b=S_rUhrY>cJ7PQP@ry>6dcr^b^p)4v)` z6E=Fh26cpWt6Cq0Z7#fk*qyE<=Bv;U+%I|F;sHV;cMY7bKp&A$#pU7CGCsF}$z?R# zkSLmB)7>1~zb)uY(Ve}LKB`84_<~&Y0zy^WEixKE2Do5@Xn+HP+yS_TyaeOmPCa0* zG&HmN34(xC1oM2bB_ah*x=b9ChsdA1R&Bb2T85--HtH|Aph zxH@KwzH%?>J2_P*ssDcqlDjb?Z!h!t_n@6w_zH$};8e4FW|t{BITX?Hh%Qu9qf1lg zrboTdk{SOwqRlmdK#X?Ff|6xCkYdnf1&Z^F*tsV{4pbKw&K3So!-iLdE>R(+Vr^`f zP2IzCOHa#h{dPxCAXi>yskT;(-il-U-zH3&Z*-*HNC{+AL?D|h!)4R zd=Fo2t+t~HH>NQ>RKS>mdp24}YL(h87(V;!tZ;Fq6MfXL(2ht@NZH-DcHup7OaUDi zW&qO#j2LHN)hb2Jw`*FWl6T+!d*pjvB+DJ=5lreOWi>n- ztKuLi5=o+^%bZ$D_QKeoVKcO1FP6fUn>?zLx8t``3qY}F7?gvf+RQu=aPB-(d4b6N zf)MvIA|+4VuDhqY75#$k6Z6VFn+v85kr95`dVm81!!XZYZ!_ORi&vO;E5()<|eQaGSLv~ zZZxEZIfOkPl9CjnjfQ~OsA5PR07FGaC-=#r;`@G=I9&DpH80k)h1>BRyqdU@yQkHE z)FC1(T1JSI(J_w{>pLKpVa)L$I7%N}%~N=mZ-L!f0;xqaMB(BHO|F$Z%I$CjNZY1d z#pwa&m@-jfa|_n^Jr8aF1uVTfcns{hZd3HnGCw_#p$ksHy#?es#uN~>xAr`v=Vw8Jf}6xEj3}otS_9+6{d&0>Kt^b zJbC`B^GeFAr^`+Lhk1+oRl>%Y@i1vpz(|!^1@44BQ1!bh$aCV3TeE^~)r-WXQ=9)e zhs9zlQa{-aE(m7jA4!t|r_Fo4V!N>TZq_pxcHS}>s?Yjo+W=Hc4^=UTSNNdd!7e>_wzS7TMhS|=_>aq4TS_+T1u#Q7df9Y8)> z{9!ma?_G-6ZUE9QVMM$?nqetjT3MISqfTG(UjF{zP`<(^m;0*I`okjCM;RJn?Fs{8 z@A5P%m|($*Tt7A862w>6C_Xkv#Dq@j5C?tNIj%FK&h_chbk|PB^G(1Xb+g1$#Urm= zL3>qc#dl_FK6X>g6o`m@bvNPgnT7drFmE|UA#VeWemkU;Wp4?DfuQLBF3nzkfk)_Z z9^mOc^Ae=Ih(jst% z{B+AXDeBLCJ_YuSf71DL_29Gl7b7x=W-d9R&c++}QUnnPn}>YadoDc!*DKr{^@N?d z)sq|_?Y4sY__%55n9il5R0F2^!Eyk(zeUI6f$ynp0{{gd;0fCltEt2kOt>BOeD+pY zEsKC45|b_7xZAgc?nb~FF@M>|$1|=yo);5KtGhNM5~Aci66R@Q?RV;CVZefjo%m*R zgx1a5LcMK}cD)!R`)AxnJK^{9@7~QTk(2DdozV-n?w`SLFDuT^YM!GZb14X=G#p2N z&BvA(pjnxdAz1#bn&6gbOXd}g5bmuv_?hD3&~oL3u=7w$ubx?nj>IP zG54SB!R?`>4;Kp2zPK+5u$xb^1O|ix7r~Xgc;%zHBM{?Z7;^2U4mV*;uXxB@%;qJG zy;V}(`SN0TNXUE5iFV29(llj+-=|XdI)5eMRhdbGlXg+Tx{iq-83n~}(S>fT$r?)9|Pg7Jujzfy>2N>=MouW{;umpuF3P7rM|8Gtt> z-1w+N3ouZ6_om)_8_^Pii>{G+oAPFl%7y!Lr~TiJ&V8xnuoAyNyRkYYTaOcup3#b) z!i~Svj+&|AeGg={0{7#2P5;=>~7QfwI*1zRl_K&*LvC_bI@}stY z<2)@!`iur20UApRlAM<}9!1h{Fn#>1!T<;u@Vq$)q)|jV0JskemO&7n!2=pND1iwr z#tV0lfc_tHPCaHJCFpr2s5St+cHn&)4FPZm=!BM$zZ&_G>nTX z?TfT04hEA#F#mbf?7wxltVsh1LcfQmfG4JKr}F+s+DIGbrAs|7Hyo3%3DcnoS-gZk z7!|V95#i2_j-Gwy)iCNMAlms&2+0=a@keGo=B0o8mDn>ht_e?n(Q!w$0XJNA^F?Ru z_;L%OnLAIDsUf?u=4896GW+q%iglTUWSA2RnxnWC%Y=1JNM+Wk-+@5gY%kO@fF``4 z(i{d3*o)$^&SVfv38bAVQhNXdb(H(jASZ)I&EP}BSiaCw^p^(Qb~zfu#7Hr)WR#?B zl!lV7mYU!ptym4>wMDwlhhXh-g<&{)tVyfy51i1oq+)%lM<{H;T9|C)p(}WaZk&>9 z>_sxpqCdT1)yoWo+8yp<36c`bNOM!%3b$AIJMst^<(!@uTKfW2B$FF`6w# z(>s*(OSipgS2d9#n)63)?@w z2c_{@Sztu*!n!JlM@azglthiL`Qj7v&w2$dle}SiMxFRjA4&~$9wW%o5QAx6)3Xq9 zA>`{V2mXMEzBJLv*i8AV`E{_O3mjX)$H~R6>}Fd&)tckd`au|Z&?pDd@ti$nWRtk7&; zn^%}gMX^yln*IA6%K+WP!iX-*0X>*e4zko5_tC%)!a>BA@ZXpd0?5H0bNT}d7>+9p zO0j)8X)9pOpEAOu{1f{NXI#e_0J)rdIYDQWZk zoVq3kII=P?W{W?0SS30BKhUKM8UP6VdI9d@PQbbh1OuXj${^$dKh}!ZnsT@;g<^6dL)?D7lP^>__#$F^2LH~h( zS^&8MqK*+$v_KJeO>ut7+!a{vO2pl*^iKcu2*>Dx)%D_dSd4{HPUaqYVC@+0_3^ZK z!BDJ39&g~~_Ez;lclX6rxoLNt^1Hl}67|<&OTDG}LPo!9+cFI5L?HCf3B(_m zs79@(^q+j0IU$HfG;iUCzGSS9LfLKc*fGz5_slYwKj!1DshY>UvM+h|MtBrjHk{s2 zmUWForxy!X#0IjbY0ioNZM(mh$R^*GIb~6-X`B;v@y}AB%W8ssk%8u*u%lLZ;e{!6 zxY7__euz#ky=`;_Q7)B;6vo(=4*k)D-V#&&;nM2)ST+CgH$t@I@1pmtD6XsP)SAJz6Q}B!|eTppl_BoPzkB0*y#{UN-K@ za~v;TjdvdZEi;7pEh5&LydULT%r-_mAeHi%6`9F7G z3@BJ}1Nf<59cGtI91*Tx&T(e)Nu>aqRh<6^L@o`Vt zaqcS#zfE{TNbcAk_pCtOByZ?cx_T_=La02@1Ws{W)||2sK6Uc8y;R5cU)u+r0t9M{ zmRM)d-*cgNO$^#{V*bhz^DA~dHHiHJT^#pZ&ez6Bb`YM^Rtjf^;JJB%bW>*fN17-e z-@6?8?5|m0l5+>dCwqX(YJP8V#w~9Bb{r4*+HC1v{R{G%zGyadS&e5kI^rhV5=M&K^6EHL(u(36THOB5MN z3%-XX{Ef`>qUkais_0b`&_bm%D&kUkF* zbVadB1PP>6ZPpP9cpv(}n~h6txg$xfrK1I-nXd@-nm^iSOQUrN^Ql7feYAOG>F8z0 zdL2KFKwq3`x4Iu7X-$reI6@ZRYR;Gw<-0rfLAtX2ZomB9>S9y6CqpA4c_oA*C8MCL zNLy?WQM@{bJUovGQvjNn{Mx{z`x9#&7G{abDQ12UBEe)&z`}5auvnl2mv`eMrrSJ^ z;EdW~fqU`7PUM35{%d3GVIgekMmnB5N@FrPXTLe+-?w)kIh(~Z?-nKUYj=+$;HOb6 z-VPlVyGgln%X2x;X}m(B zzhE&;ep&=}PwKf&`7xS17eRPcmd7;7084S&r$+X3&_tl zkk4L|crT_UeKa7v%<-q*Nxwtg=h4TXpHJnv{phh<#J^O`n>M!!76X-{@!DwkrlJ_x z0(R||w6fR2punZ3G_}2ATOAzAI@K1UJuX37I<2O8kU*cpvPLC%?!y~n@pMkQ;CxuOFhpOF4*mdS0&H=9lAKx;J8Hu7;r2jKObRF;^D7gA$3laF zbNR-87q3+sr=O`W%ezk zAH4RtG%eSW>r106`W1eG@+#wc0@1pGc8ok7YCswczZ=W138Ju2X50`9R&i8u9_xIi z2I=F`1N8BkbHDlG>V#u8fWaf1<@sOm?Ev+CwdeN5Vhg>v4So$h@vs8N?!ko#aarGq z2ImKUzreO|)1SlQ){Z;ZWbLvWD-Rv83z<{leX8A0#PQRgyf`&8i9>AxA|Y_PFY~+v)7{Z()6=E1G>>dM{L)m%jR+j@mZ;Epf@q1FwLXL>^dh~3{_Cb*Hy<#8mC6`^hePS3R z(B+t8$6@kyU4)3kv;9toH06IEvoZ+Ov-;AMH*wruT6f~t8@Z%D@eiA?<#&jgQP`hf z4&CoM{*tTbDCJb`An=gG*hF!Z~3(wfE2 ztdDl7k?DD?8JmgJrIA~G7Btmt2n2x;Ed6W)6X9Y^M!BDB%iE&)qlfkv&;w+RBazW=+(E1X{ER*c~4ryd?`hsmY_WJ-w+no0x(b z`&kb-Rfvl4$W0d3)xlsHB*&>_$#hueS0d z6&gZm2rN{NhnM#RqaFqpgd&)(&x}D(9EEC5U%UyGKVUYCe3>wOu9z?Ljpp|gS!V(j zr6vnM)ux0FG`;&=D8BG%pK=|1v>)xghO|~GmJo^bAqb>bR451wq^G-a^#z23mRxbf zB3J4sj8iU6{NY8r3zO#_Xhc-noi@c<`mp5mA1s46lVtT_v+w)Z}2Bh{S>YEz>H!{mMDfr9BEDrx^Vn)4Z5~*>6HTBOW zRmSd!yAfTnM_h{;Utgn@&Rb`)8gZ9D4EY)f|Hnd!7WP!p zulXg5y!81rRQxDwzP9(et=~x7yQH|5#&S(f$xhv@*H!V&sUIpm4o$V(m;F^ETl3!S zyCEBb+V|o5hJzk}Ve+GRM3Q)#c8Xc@{2rv8Kw%@q8+_&rH`}??`41TQZ+_w^2d!5~ zm3;f^gM>B#_kncnV#D8z?9nJ(4$e>N7nAuCb?hm0_3@P-cBO2|mYk4Js%JMn-UgYz zRglAwBk!}b?0ggi#qU)pXbGU;XY>VRpV}grX|vN8C)D(CX_w)XbJRpo2Xl*kl#a_v z%EEOjTQ_6~DL`p>i*}ulG8Wc&zl}S$aHiD${+yrr_Pl*Omg|GLnWLYQca5LhNB&Ix z)p`2fpUvh=_R7S|H^vJwx{aZ4Vg&+;&_hJ3{waTXLE#gOw>}JH=7?>_LlB==TX@y8 zD;e5Ab8$uK!6#omb?);t&L_=WguW z#DG$;JODZvSi*ay!lmLfOy@EPsjF=vz`}h|Fb1XQ=p>`Uax>?GG_4@78Jlu)reZ4SH8eWbwgW%8s zX?0^T%TyJ0p`q-0LCE|e5ANvW9;SrmMuuyR z!#r`YIBlA@BQ1szs8*3i8=yULJ$J~)O(!jAOkWTd@0}oo>0t4-YV*!UqgQj&?{4wF zc@3Tp1pj^uKH<*=S5JYfOM*ok4xO-q?whJj_26&?z-d1L!SaSQfJBMd8ayC{gZJ40 z;%i9JXv!;MmVY!Df$Ml!P!~9q1DWgT@j2iwDpc_}c`CIN<2d0X~QW_RVUk zZE4?@ax~tg1^-Sf`E%OM(EGhR*1JWdm5F#uLERBRwlmTHwyw=$ksTD&+;Nz4FF2?r zH{?$S(h>Y>iyya^z0;^H06>xTfCCQI6wQBt0!p<+^JxQ+HUP_lma>#5*3rI93R)XL zt|1L5pmWM_G!AKn1yq&+c@|1L`Z^@*4T>KuJyDmI;pTppyrY z&%e~JEJK9U6_3Q}{NW%Ge&D|B? z5$Rf%H+-dQ@yThNscRQ3GEOvr(~3Ow;L3W!g%3r3&t0%@C~|B#@`Y4HBo|zz7i5T} zyZ5Va*4fpe4}`Kn~eB<(ew; z0P{W<&$AeE9ou|+Z`(K|0W7x7KNo`dXoHO;0e`mnQ%C@M?VK#(t|q-mp0BLgW_-BRvo7vEOQ!EsZIP#wS|i?idN)*f@9H8M!40*y9+V*Hg4u z4;}D4dcq8cHR!=L=>1&4ftZ~V4UZ0cgafj-k&dMKN0goY83Uwp?NQ7nNXS$LRSn3- zAw8yG1}x|~Q3b`XWFmk*fI<^FG4Eh#_8Lq`j2mC-g$0+uD>_1oQTxEDEO)#LPOhp& zp{5EvdkwMAp2#-dkwwN-lh3H!55wxBP^>$?1eR>8r_OL#4I2o3NH`6P5&W>h|Ai!9 zx2AWgUZ?T~_P;x7?>hp!nLHmpp}zp;n#owR9sX1%&(%k2^TXw-6g9Ad0lMVz`yJF| zK<$*Ra2d7^4yqdm?0(r|x4hJN{e=-LwJc7As8zM;*((I8B3+C>IMB;}l~c>dZ<=48$lGbubz(v{r(ShKRONKxz4~LiE!= z;eB}&m3B}i3#w~|jjRXx$2OsfT*x`mW^J5S3idj>9+WH8bn5eYXA7SXYp~G{v#@dA zP$Mi;8%zMu^{kel%PsP6dD(AT1jJeb!c_>QmXP-$ap5}j{1DMH+5ehDWRxS2j_yfo zrH88E)c2*4X4qV*8dzQ%1&kWKQ?2{QS3@%X>GPWC0ke{7+3|6qwc!AnIds5Uz}Jk! zs@HL;%-Y!v;eVfsjzLa4e!`Y<0yOgc49hwW%%ROGw&N6!1AyN)^6kH5$A>Y}8Cy1%J)&1BHV?qc6|b`l!Q zD_797c33Hk4k@z-40rB>FTvMLj2hu3*J|@^G&oS6tg8>#H4z%%Tf#!mh>5Uu^fMM; z`@TQQ0pDLk3XEQs+`T-^?76>YA0>LGN{lUck$)K5bD$_uezZr+9=jRM#%-hJeHs;Z znjL!(!?1{NJ4VpZRaGvl{(APh9oC`7 z=Xhd`(xtwWKG=u0SbvS!+AtB6zi{nk)d-+A|Bui>cwJ?a&Yq(jtW+4TTN_#Q_{i6O zyraPEa(9}pZXNN+mVmV~L|9u#clI6bcitcm*bbLh#?>D9sopS$x@>#1roqZ1gEtg*hxQGD3VUwkYFFq9M37aYXr#zb7W5t!RWK9ow80 z(|s7+G1~XewNLm$UurnEYeSYG9UJQ1H?VuQ^OX<7ZA^0W?4hrBOGeD@l@7=d2K&PW z>L~J(g4TB0a({LXUw4w9HniTD7+frpe;14`tA_^UmLGp&F47~2?|BhH!EI6H&IG=Y zY=j<|kpGM}SiC&Gq@gA-*A10=3XT|pmXvc^o@ova;qG3!ZtQ|2r`MLELpl4b1I&*S zMb3qjD3j~fF#4MKy#9y@M&!iIbCH04%0shWIND5R%x3htTGcC2i!lf3!*~oVqrW=y zrte`5ZqdZq0BDJs;(vWBpf?_8eL6HkeC~}pQ~MV*gp_oiDLfxA5h_n8!Z8WL`{V9U zWw=LzLccE$LCCsEy93}AVLV6}8X-?sI&viAzh58&y@|4@$8S+iM-s101UweJ-8GT3 z|-gq$|&t2b=9p7_zTQ8!g%dYrW^1`Z5 zwj2yr$+nw@>G<5}d_Ag+HP?hHGOKTSm$p5grm_*q!78iN_I`$Jr1}h02cmkjw`{CE zG_(DMtw_$ez;I}&#q{8W*}atw@LfXZIH?Xv8&rnq&e{prnw95IzTKIDyRQY9p*~KY z<9=K|iTyk#|L3Hf9i>}E2epH-E9=wwK6X?h@9pNC&eE9RUzs^*B0ET6otI}Xg{9yzCP^iB?)>~Tk<@Cf#_r|Z6-a4+JO>1yS> zf~rx>*wNaM&kw3wmt~V_IwhCdtcqJ&E2l3W^e29NC}(}2n5g zYG!U07W%fb{$H5jl?OZ*UewVe1T$Y09h`uVUR<(syjQ8TZ1*;{sq=7_Irgf#Fy;H> zc2VxTpIh?_w-avOd%!FzK77#iOf=Z^yPCz`vD1%fiD#`<3n!Y&hIU2VZpeJvwE4tk zJ#aaO&e@14J}J`k&Hr@o*$;isGpFG1FB*W4!1KTfZ*#u+yk5EgXGPnunEm3b!PV!7 zf`DiLMGT)RSb6ci%kQiE#jkEV&wL~%!S*(;=gC9epT52L@h{T#hgR|W_h;U!jlX4w zTMR@v<2;c#R6A*Zkc5ciz?b%pIYmPhOJNS$PkxlHH}_VmewBY_S@gqdMS-^1y%z9K zQNi$)ySs&O!uKD}Z@xMG`BriD!MwT4CM6fmKsDmfhp(YJh-v%e?}2)V=rgcVG-w~3 z_9t?YQim*^NRJ%GVJj{r&i5Zd9V?wrTOuvcea7dxYe*zY0au?2C;$2U;#jfoPmh>V zCxHuVj_-9WKI10;;J^VA4KmT5yj8uerNp>OJ9Wv;5Ppt^G5e0j(v5zilBd!heW>Y z3g9P%;xy&Vhp{tW<+h@=$9BNufL`jgEnv36;Lr~!cgWI!H#QnMis$}z;NHSl_W4@?Yf;o?@`M1ZPC|-k*?TBjJ#Y|kZuolv{`_{DK*7I&Hz1pShbD35!;t+x z3PT+8A)r0?^O0NH62rU4H=rq@nnEATJ)9S9m=+Aa13T9cd8LHoqr{D4X#@j8DZz0I zHY_Kf#I(J)4s&5wIG5xA29V)bNs4>tS02{CPdmgF&n7jA4kJ{Eug{A7<$pVQ=#+^6 zzjN;LiqFwVw8h`nY7TvWCi&v7(f6aL&G(i=%f<%^EHCwAzZKOtjT_ocOLye2tI z^<^UZ!<R37P1hBFK2?2s)i){umSPSCXeHnaQ3Cq@PYuo~d$1lr?L6?ADi716iE6csx zDQVVLR4QR1!>p=JV0!0K!^oavnO4fU;KLz_ZrX#PgCeGxB?2A0VI>kbcXj2fL^}l4 zR7$YQ@=Z5gV(S>guYYPAzX^1fm;b1Nx|4TP`(VjLifu&tflHQSd35WcvDBHp&~I|q zBA0&2nX794bh6ib6X$#?*@^E6vFvVb$4cY-+D`5UTdJ;W1Mj+zlM2)L3z)>A=iTMC zG3;l?gX<@6fUKlLAs9-&KgA*AD~m=aqyY~VMTv9I4?fKMlp=&LR}|6l@gT#*8f_kw zBk&dSnId=(3%;O8agO!*cfKW%pq;ikZzM1I0F^gBnmTwY(=^|>c~I$z9erdsAVq+# z;_)I0zx`EG5>^4$!{D!92|mVoI-!q zze^2MY;}(zDiJ{?CB91VYnn^~|EB)Khu%uMy0dcHX8FOr@H;LQx35dSsd|hGFPZeJ z5!B_ifR^#2ZSW8&n^b=UP2v%v&qyH;?W@F=RIKc;-4kjpPxFuDZov?eQy{lCN)#IG z<7i6(-J~-;xE>%tdCk~MiNpoWh&Cto5l@5$00c)r2dk}L8?&s~k z?7)S4e+2WDbkFl&OsFZwRxJ)RsSKU!+5SjC^o!K&km3AD2~C0#S5wx%3J0XXq4=R03g5-07obLxcGzRReF$30H0}y{IP@k z9a=a5@eZc?+HqHX#0t}_#?y1+iboE9)u^X>7h4F|P*?)i+s8P#;6pbmhcSiV0*SU& zbhKAKwtJjcMP(Vy#}Kksha5EM#h}hRR`~oZ#Tv#RyCij`;>0G+(U|-o&@1De?HIxO z>C}OTSuwYx*%#81=s)xiiT4rclCKRh%@rt}<4)WOm-TyYqqd?Beem1k}A%`z4$k9wBo={p%;G zc6bS563DUquACu*!9|Pq*jO7*=3NV1h{;sMhkNHUK>CFJz!v_1EfXAFPY}MJ3xSW0 zr}83Pgs&{IB&`1OYhv){>}xrF{2S4Ka-@UBlFKD`uO2Dc($CQ|7|)2|R@p6d10Ga<*lr(b>7WBMKlaRt}c z=$wkv5c-+ptVEbePqR`I*7;7vI;)JanjT(MXGjtM8jIijQ@C&?Dsk~|$lFs|E$P+Y zEIacl`l2Y~Zi}Lzrq0%siih1vmQkl*hny7{Q|tC&F-O8|`Sm;5<=`)KT>GGYF{uj) zLmQ(}54Yd<^?fib<*5xRp|gd0$(uSKG`-^y_z%kbs9vK3dJE-e0|g)%qm-*fma8d5 z>k-d9<~q%NiEMQE(GL4o!0@k%qVYq9wX6x$26Nv`?TtxQ9gRd?*op^dRCf>)PYHYM zmkU{W2{VdcZ+0%g%7ajL8uE)Oe&Cjgp`kvyop64nXH7^@$cDczHqE@YCElN@v zaeljR4=#B9+-g`2hXvmRO{em?kl?x9xsa$e1CW$*jB>KvhSYi;<@ zjxT1c?TI7*CQN5nI-b~S(a@;dX8!|3lUFoN_WuV2rnM@ftTM#g&5o8mk!|-z7yw7p zx06Q-J9}|QS0qdiT38T?7McyMoHV&n;09w&d#}3u-g?_VMLFBXF3Y9c?$OXAQ}_eI z2VkS7k3t(B2eeZzvm_v9Od$1&8ee>U%EG6rP%PzueHx!M%IXftI#*mk`shtE;!&D} z$_WVznuW=)Lc|m> z4z3=l4L7Mv#;c#z`l7%Wh+t^w=bGB=%caTM70KE_vguZ@woS4r0I`}9hKSekN?Vq! zDVErw#iYyieGp`d_<_p49Mz6>yEI?>E-?(>HSekb4LQr2a_h>+I4J&K03xLR_PcPa zaHTuPg$ry(4K4N5CEhy^IR4T`PseI~_#PyyqC7>gT2r3v!XWPi<=mb5cl+!#SF(>^%H&$u+Puo*oxS-PipN;py?e05uzw z8<3tYjzU}TxkXbJUp=8f`G{%H=@gihFg#ryMXVUH%NxmS8#&otmA5uh3fQNtF|1D@ zLV$Lb)o6*&sIauyk`qxUNT zaHUI{&$zClWn;+}6oDUs*4G~ix9cB0`Jt=-EPXU-#X9nG`@=v)gIP}0IOBp%h7A+! zyhei)k54F_RAT}H(O^m9SV;(!hiloK1Vw=m&GR-R&CtR1nUfob9ZFVD!i#!Ui$;G{ z*w1U2e=>ftpn-bv3w&q|Cz*R(O$988MTl0=-khaNMT4{?)Ai~P=unVe*kp~h24!c2 z5pmpiCHZnL)JVImC>0S1$9$9kaRrmG8fWx0RUn?s6=5mv8Pm=SSuT;e9{N6i_WepXYsc7j>A3^j0D?qB#az%OxtE4%hmhB=qu*F zf8?CjG)mJ8Dd}@ed0~qXsW0k0@9FLgzvLwiN$3vUrWb$KOE_?y;U()4l4Ynm{RqZL zp)v;E6b@vM44(H&A5k67#uWQ!=~Cf$klA-YRgQ(ilaG0wKYRW6&5OdTMU8mF!I&re zrimVreDTZvRnvnuV{djD2d5~CJE?rl-io$qr;R~IA@9_ADI=ahU+72tm^7Pv zrCSIA>W$FsJMUgvD9FIhT6kGz^^_H~_hmNqlvCi&=V$-Ro=q~awNY|*gPr0$>7DaQ zo4302*^0hg^8&Z^0cbh3Dva_X(F6g3`~tAo67B45H-#;_7Pg)a(1HESA2}RsAqS<^ z5}co0^iBDDknVjMzSA1l`EMv5J~8XBulfY|FdlLJnTGx2g45D}^y&(FsgHgCJ@sYa z%%?59mDU`nQ!f>kUUIEYf(~R{Zlm(GR6KTlAotsc1aZwKR2#t%0~DhBI7d|(mB+3WqNU+0nhc5_(G5(QRGEGL z6fJJ48wHf=N%UJf3Opf7H_7#!v#_!pY+7gd)LMy(Lb3TS%+e@AKogG>Tk8k6N zE`&!^tQ=0JeAmdoJP2E(Yvu>f&LdGCxzi-2!-7!M^X~!71jdK0u5y*pq}Gvy$ ztIgJnEgwVf$$A&>g^bx}gkqBqE+sqc55~v$?=65?Z?whN=1&g6u!G=_rl0%pXakkP zkEalQQbX53S=nIptX3f>xGQZN^_b&g+Lf^yAXJIHUiZ8T~)AtpRY{KOR*a?VcSBoM!aSG{}TZHw|6g_!cI1({lJ* zexF}jKU0O~hp5rbwn}{ZN}N&Lbc4BMo}m!+vUWMVbNR;2uX27()>1|a4)hb%O?ibW ziuDvB<9(MMWZO+aXj23!#~doDdM*BWOvXV3Rl{LTk4V*+&0VONSMdXRoQ2|ZkzU$B zz(WXyjQ9m6KO@t$7AE<`zA|m*1m%<%#U>9!-*{St< z#vPW~4BD_>DDbOJx>{XQxLgA5@LYUh{0d4rF)DCwa9 z6f;Qka5yhQsq;Ra_Vi-z4|~L6x%9DR0mc@?2eIlhh?qQK_algL+6LjZ&sfeY1XVMtQC8{PRutBqq6hk5RtStR^a;=A`7cs$nlcU~K{JqVGho!k?Q*yneo@V^=2?|48#BqQL5$e+tj2n7J_<#D0&5YvWmO`|)Mdi`h>G)?V?Z(B+0cS~8 zm3r)ZHHDoUW;p=#hL}TFaqNZUl+Ad*rHidPm-#bVxA{*a<%1g0(1KKmfGiLN6}W*$AW$X{12K?-8UO@2 zu%Q|_gVl6-Jr|0NS|m1M3J^yrhthdl40j=5e5HN-w(zKnB$Ju~i-?j)r6qJsiM=*R zdZvGB9`83Fk7^(8Xs)592fZaJ$faEpJ2?9WVN$oM=l2kTGG~$kEue#Ga5Ht&f&^eY zpm?&dPmWuHfCP8~TQUSXSO8lBf&u>kC|hc^y;X?qMcmW+hrP+74&H%h7lUuY5GDWs zCNP8mhyXfAnwLfrtt$G`pMT?UdXwt35=exp3>*P@Bmv6+0azv=!s=xL0|5lUGy}0q zf<_Qeg!nXp2tuH#EDSjD>7bhc1QtMbKu1mjKqaqY%?gnSQLSFTLWD8`N;j}(!9syD z1Jv2JZr{ReE<%ik0areHxd-v_0L}?6z6sh)A)Pj`%QhmCSKoX1% z>?CS2;PYy#1zjWNI=vx6Bh$3lMbJ{ojR6;^clP`lbZF5KqAc9#67-)L0$M)77X{AD zaJ^Z%+Rv|lKmY#z{{tAHfO7GrnSp~9c35JIHTGC$lT~(EW(IQR8E6QJhDu4OuNjxo8o>0#L zC6pAuFcE?wZV-?PLQep4MgoQih~I!)a@nPqUxFE?m=YCupkRavf~VRF@NNfLl+;JRENzg=5jCVzf{zE?07JwR z-*ZC^tf;_}1xv|+!Jz>Po2%md~x+x8HvQ9(Y_WyXAic*{+6{|=^*0u13 z?~~!R=BJ--q{1A43xOPd2&Nzov4~b&BOBZ3#y7$-j&htM9nZudJ-9({G=$6 z@s0l&;vOpaL)QizAFB{i#Q&1+&)k+*E$>-5M)$MrHl-(Z_pLLmbYAOR6zXn_V&Km&9l z!V4^*02Tc49|#mlE6O+m9iVBKR%SDx0v#wp3reRu;&PIEu9QBqSeI*qHc$Git0#Jj(G^R40DI>S(LifRLm*8xu zUVa(OtVDte@$>)f%@7;7*Sy{Ws;{tO0YGS}OQq>bnu0Z~ zVjb%eZK}nbHg0xa%nv)J0o9TOHJ%#Ks1r<(P9%7MsZM<>MBIP@F+`1QZJ~t$uqVjL2sXc3yqf)-5F38FoxNUzcb6=)%l5xK_> zLJ$HN1o9IuD1mEX;KRrPp|%8|g&~fhj5BmaJ+Ac$Ee@Mlxh(dv%3UsVu^HKJ>N2hJ zv#ef%;R)4d9RImaqq{0jUfItU25P~eQ zf)?v-?+PFw1v8im23uuMdsP60Mz8_`h&}FElH1$|LpZ|PL?}0NNl89JPA{2c$2j}} zj(gk#9RA?2hwpKUBA6frCNKdDQqY1Nv_Qox4k=bbumRfqLKLEKnivew1=IgPNefmo z1c*i9fGkku$J-GA1_0p{G3cvmrs;rE$ira8dR4+&-ZGcj_*@Gwbf+24OD-bu4OE2U z8v@ZqB&>mEHBYVxIhgaDTL4-*&shZZyo!wvas;R>01$L|NdzLW005Z54GSR2yAmLU zJ`mc_03d)I44{SE{zD3djz9oTAPOsAxh)RvGO0^#>cUa@rqI1GL&uDlhrS~ix?smG zrtytiutV0gK64ICP*E_1_r)#vHAu}167(Jf5KO2+0JK1d0l0t(OpwAEej$eN{N~8d zj`pg3tqQY+70iIgS@%&-XdkE zYj3>x)GKjSDpP}C*LW_qsZYg<87y#yRHT9q1dsw9FyIE91EK?GFoSXql8OX8p$|R> zx_v`n04%+013SQZDmDND{gH~}?9Ot?yY6-6jvTF(Y}Q)s(^kGpjkr#)k-MjEZT*9HngLqu~y7rZulO=^-TZJ0&P-JZEd-M(Xyxg zGy-sYgfzn3S!l#G=)ma8d*$+)Uq17x$@%DxeKVlXi*>P!6?5h_2=8p?Ia$CE5zuo$ z_(c9)l;8aGqrZ{QXSJC3lS!`(6VG!-rkv^A0%i&b23jEhKe?X%{{vu6rP^6_Ui3-E z^r4)YdBr;v1KivK+zdo9=t3?$AO(&KfQZ2g@Lye+UjTaG2VT(tN*45C*nW)D)&LG+ zZD3cW5eT~A3tG|og;~A1+Fjrq=?nmjtYBPpAPoB84<1ySu#c*N8NHcY4cbM@kq#N{ zAP@Q<5JF)T2H~?v63KZU*-=+soL%Wi0ZTQZTlAn5isAnY%AgT`UKZko=y`=M;6WX{ zK^UZg9fUy`*a05AK^nY)9e@ELY>6aHz!zd!3y$F+ieVX++!>zST~uE=ffPk~!8xUX z3}}=WAb|{Mz@D82E6{;pwFNr}015(P@;xCTk|GQm;uT6C8s5eGkzNk4fESnoB7hVN z%vnV}q6bg`Rw#oGHr_OV+j78#&v{KKf<+jX;xR7YDH`BlAmCk;*-v4`B_M%E<-kVO zRZ`8F6R^O{mBbCWz`)Q#2n-zo0OLtvz&8@3<&7dTvSa!wV+rcV391|wn1UBH06JY` zCQtzdh(O$31*Z(mH2j8nnZRu83C}w1Q-H15ab!u zfCm1<6F@*&E(t9_01&9hCkTKAsLc+PrGNdxJ^aEBH~>rNL?{O3Q1a!L6(tSs#};aZ zb}iLLrhrqXm|;#OR#>IcIa;M@0gJeS(9yx9F@d|}0*gq33fw>{K!5;99yl0)1Ehiq z?0{x+W-6S(4M>7%@FGyIV_(XqyZz-6?g#%epu#xF0xEz*C5?*OlRD{(CQk+6 zCx23Dl~!pO$Y++u)cSD%5E#&xf@%Mlis_h=X_=bonWAZ$s_B}tX`8O;3gCd2$|*r{ zDd;fdo%Rh8#Oa*!sdLe%g>itL;_0BCjGp%Cp;l9!66&HRi=iUwqso$^GU}ufi=#s7 zr8<(NQtGCHiKSxdrzVo7?guQ)0H>NNNO&r!swyP?=_Cc}Rlq`7oCPefg+!1lT!6w1 zK!Fel0Tg7#7o2KKrRu5@Ya59wLI{Hp04qe)YD6^aL4d-uYK62OgfIvLLuoi2&hM*8;(Fjt)t42gx#H$eefe@&{KXii-%)kt&0k0ke zBk*ckFakoTfm%dFz1C~CitGOf%)l3Xfx@c6xFUqCegPC9>_K#cSfs_h9z?(P>$mc1 zzxL`uAgsT3>f1AOsX#Ypx;$BXDfA zmW0CgY|yrB&MNG;UWL*A1JjD@vi^e_3@j{g>_3da(f;ezsw_lMZO0BQ%=(AS(rno( z(Xq;FSTHMFY^&P-1JQzn)57gRaO=0$ZAskh2na#eYHiPsz~BC@uQDyS&h69oEku;+ zKP0Z$#_XP&?c*}hvHnA{UhNmWEF-Y(;#w`VmaEgk0?%r#-5$i|PHfa7gwsOp&Ps&p z9t7WhuG<=}L{RP5GH(ClLhkLJZL87@ysqvH$g08$L*jzMSb)OKA_Ocft1!ImKRB)8 zDs9e+F5QN$8r&=CegWSegyv>%&ay7Of`Yyx1kN6W5aev^O2od_?$|mm?y@hcv1=8= z3GZS>vMQ^#`fTC;!_D$5#->I8Lc|y7D)&Ocy=Lsys=>a7?bObI5HP|QTrH_K?8^f1 z{vIz|Ff9Q4EdTcJ)gHtbByjrb2idmo2*1qxCe-c<>RGgH=`3zrG%pC-hX|8!`%11? z9vK&GhF993> zLmSKmAK$4JON1Z0#U1}c9`lDB&vCle@m1t&!}ct~2r^bc!x&tFBb4z!_(B`J!WfLf82`f| z_%SeR#UZG&BaCqy=z$}s@+cexGAr{KFmqNA^B5R2LZtF4H?uN30x`3)GcPkjlyNL0 zggF1hHH*=ax;6y7#zeXfO0eYF&yvlIA_He0J0wV@e7=C zIXCn_nDjv;GggQ+OLsIy|HCeS@hF%B9IrG=J9HpN1VsPCO~W!Z|3gZDG(*30Jd^Mu zgM{SBM3v*g6!#btQtgX@k%Wel#B4j58o_2_hr4sw%a&uI>0bFu+pv z_;zrw_HP2GE<&g6Rfuz4JG5r&^+#ug9#k|&kF{r$HaUy2Y3s3Qr}kCkvP5vUMQiq5 zvo-%ji1uiUbvchgDVK6IlXhXl^I@B9Vn+n)KCRMbtFAsa^HwXkLfq2n;MED0s&*FaQs1#*W1Rzr`3FLK&a* zAwY8*)V79~ac!6K5|lE3zrqK^vM=y*DQEN&oU%Evct)Et7*}_R$MP#&!6>9MAd5IJ z3pQJG_!#u~cAGdv*f@?~0U&!ghaUtl@9`=705k76kdHGdx4}7w_=ux3G^a8%kFx)W zo3d{MxICM1g}G`yx5ZX}1t>`DUHAfFBZQm3Iar8yMAY_GK*O9L1fI`yMHezi=y62o z`77}Gc6-I2zr`!)d6yV=m_w?7H{mGMxn3B0pZmw8lg^?uI-)xI2A1-D>xFLfcPLjm ze}FpgV0xza>84XL5T81# `fItaJAt7|E&1IR7wL6B!RqI*TCLqr;X1+c$`uOo!8 zw*{{2`k>A_t;?sa|A!u=u@7wYFYB^~YlUg|H)h8Lwqv_jK>I&P`=l;Av(Kig3j-_& zg9i^c6s$QYr29VzEkwWqCu>DJt9W+DH=;v>9^CgX*EM#V!)wp9Ie_-QBSine!+D$k zHIc6~k&8619|XcnL@x98O#gDfgYvyE>bR48U#dDR=&dmP!M9rVKd3wN3IWJZa@g8y zHyCgJ@@mX;D>QiVA@sO7hw&@CKrf@XFZ(;h|1?b_#33w!FI<5hyn-kTJwhx&U5|oC z`}I%@^3MbO(l_%dKYhg0vM(4tLeTs#Cp(^Ue8&$ZtS@f!j_chjciR$oyqkqMpYgPh zw{>@RY}2=OzcP3edYyASL>T-*{JnPv>)4Y$M8dk!8m+GSZ|r7k+lmF?jsUPGY|OuK zXa9q0)3)W;{d`k8-CsVP=e8N&_H7Hi9}E7e5`N*g&t3EP*yzkv{B3V!=v*l>oT~DQC*{dGb6pf<2x>oLD368E1SRjzqW;Y zKOCFGO9RBeF|Ym=G$P7;;6JlPOoWd>M0Q&6_#5lu6SjPK-Kv`UEPJC}h>E$Fg?)8g^{i zvk^+}d>eOe-Me}B-u=1e&73=X{yY|RC~f5o$1E8GZFzL*)2TbQ?HhY`?c2F`w+uY= z@Y2SSr>=e;eR}olVPE(D9)5iJ^KpY0KAO1c ziaRYi$GZ7qp``*Ws11Y=Bj~~o9m_Bx5Y-zn!4ge85yj0G6z{?PB5Vwl5h@hIp*CLl zX9=>RyYV2z#$eA84~q&?As!(z(kmNr)X^&vQ+yK2D5d}WXhr`tzBEV(3L|oI$~fhm^S~+_%#S?&8iPUz8V^!qh8cv|vMNvvHMFa_ zeE6pgG20m9iZO_UCeka2taOYvmJkb4NUspl5l9sx)0Z!=5DUXA%o!uo8apNO5LU1F z3z{)}U{%CYzeM#PN4{)Bk01Y`6jCA?RTbA^mjJOj=oTW@(tE{Jc19J%=)zvuQjp>^A3NNTG^AD#4&u*MTheGmGY zO@IX+_}McXAI$Kf|7ls;w-XZcXu1&R{Nyu}F1dDtdS6SfLk@0>!=H;M8XB7$n*H|2 zokvJ=f*gk&A&U<>UM<8I5=MxA-LMjrS<3(U+z?-S3Z+C|;e+O_aw2Nk3u9j4h&G6im9B(k zlNf1AU;grxkqnQOaHz^%I%F-!jO8m3$;$B2vT(|D$S8qXO>5o;m0F9RG`ZPLZ%Txk z*A(YCuO`g<-06Keln4x2gOzW-6P~UKCpqa^Pn2XcbrOMv`Mi=8h1{<(YIvbAKDQ9E z#S@_cnx{P(+E9<+(~=4ypCSvw&WRXmA?}o4y9VVDi&jS%GdO5M5xP)^p7f*;Rp&uo zm`HYZLkKf)Q#YRS1wkc>5q)~$=bZ9Un+hROS^-6$ptjFH0SpR)G6+pa@Irq6@9z`U6)BA_RYG1tDJ$tXZXr zR<(Zinrz*g8ir_CtV)#;SOEn)358LGuoD)OH3*?#NLz-i78HtgD?-$uhC}^tbtKx8`-KgevV~pUPQodKR?N^`&UzM?N-Zcz*1{?^%1vUlWtlzYF<8f)moGp_*@~eG;)j z*hN~Xy|AfJ@F!`V!q^e?s~bP|*9>~QFCj3(rb4c)8k}N29^15Cu+S+CdCVumLLtY^ zodFEHQQ#4OQ@WO?h)TuVns7>8!S0@D3s+P5ZSp8~Sw>s9d*0p?UeQRHHI@h}vc6WOHYh!;o*uz#f zc8Yy$XPY(I%a;GPZkqjUYm<1|*+x;duifqET3XxTrVqEhU2a%LTiod`Cuq(|$#k~W z-0}Xly6Mepb51gA`IPs*I}7f5|C?U-W>G3VkbnzV0O1K&xWXq8feBy$;t`kl#3^2J zi(ee$8Q1v6Io@%Pe;ni?7x~C5j&KYt9OWrjxdjLS1c1L>J8XRe9UL(So8KJgHkZR2 zlt6+V7y{@)7y8hNUUZ`$9qCC|`qG)+bf-TZ>QR^a)Qj$jJ``f-IoJBuxsD5%f4w(s z^}{se(F@~rBpSH5gAKyKZ?{V%9p~_eG?swNbg7RMWvvb55xVVHa`cZk)pC0w8SN-Z) z-+IEo;~$yd{OrdqaAKx%?4JKfFOuO7fBeHA!59AUiC=ukN^wN01prW6HoyckO3Re0Ur*M25%4t=fwtdkOzA( zN_PLy2ZK-u>!btoZ9o3+1cy)wmykPvkO`j<3VFi`qmT-#Ff+u?8t4H4t&j`5a5BVh z9Qt7yqJa#{&(Go8a6Ejg0H<1%N(Gx!r6hl!IN0Agu z(G*V+6;n|aSCJK4(G_127GqHsXAu@jVG+_`5pRz?N(L(X5g+qWANP?T`_Ui&5g-FnAP15l3(_DD5+M^(As3P% z8`2>k5+Wgz8Sa4|+RX@uK^o{mBR7&GJJKUR5+p-XBuA1YOVT7y5+zeoC0CLqThb+8 z5+-9(CTEf+Ytklf5+`#~CwG!3H!>Zh0snMyG=_mFi_$2M5-F2XDVLHdo6;$t5-Ouo zDyNbvtI{g35-YP(E4Pv>yV5Ja5-h_~EXR^8%hD{5awCkeL5zVd+tMxH5-#IXF6WXi z>(Vao5-;;oFZYr!`_eD}5-HO&l5e(tn9|8gZ EJNfU5djJ3c literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image030.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image030.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd10890dcb06b782bde9f6265d831fcc3a6a26ac GIT binary patch literal 46651 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

taz#V0}S85q4uvFvoV;aGthFN#(S+2ak zDsg=6n0vxCkL?%4F;OD)TPZiJbPanOv8<|^m3vGI9J@O(S*%`qX~2{5kzx8rT4iQs zhki35Rbq-za|EWZJQ+AyB##DLG?pC=^T!JsT+GB1ywY zCZZEbBVE*GzZiX(3zcbx;u>++OzBokAx*!x1yL-d(!fC}4-Hu!fKVNsTnYwVJsZ)^ z#X`en6RFzFc=>?Pe2U1Uxsox%g_F)5r2mP3^TLsVz1Li_W{N@wmSB%E8(YeER?Vi0 z!gvMdxD7U@V11_RCQvB5atr5R2(@4jd(}1VxUvDqWX;px9DZ9Zcf(4Ysr6z=jgGYg zZgSW{JcGScA_zLLyd2~CL2HL5;Mw`t(oqauG+BxPt8Q-O&61du|ZAPwbKCpc~iLDYsT9mX|KEe&3xxGq4 z>lwh|Z4L%Oyd6HiO%s6TXA3u7*8N}AeQUEuIlvtic#+B4IH}-GpvXNFUJX4GI~c{( zX-6ZaZmduZ3>c{pDU=e2mkrMS1OMINBi+mvZ{hY!rDh^*yEE-J;MQc|)1`exp?CEL zP*c@pP{b&<=#P~;loK@-;a!gAy>QyM-Ln=LwgyN|`cTVB-RC=Z?dw@eJl(hkS^R~j zGU44L4n6yQJ^dY~L$_Qn2ec!Zz&inbRcEviOdB$HgIN)$D(IDzgyhFP%Ht`OUd3sK zO>e2DySJfBNAnt})^11fZr5bkT$dB02XFF5ckmXnQ+{tm5lk#GOt6sxR*n>+M;!b$ z9EYpBqgUnjhRiDxZx0U6TF!O91m?_Kiq8CDr+uK4k-AIljy`UcA?Z{neR0`acPM#- z6qb*y&EYly=z1qmu`!SL>;H}^cXE|x0qzOhdk)vu*06sqKfg^o8^pW8?&AY zn9}ZF#(3L~?8PK`_5R8MkKeVU@6f~V{Z3T~C3=`*X6SNRIbUEq-zbG^tR)v}u(wA# zkqQXb893OZ`Rel8)`lD9( zHE{Tqf5rKZ=z(3pN!|A(_V;L&+4`sV$iw%yk3+eSPp}aw9N7E6^ZURrXiblRm96|Z zbo{>a`*o0#CHtO*!=pr^qQ8^!4{Nukr8VzBPi8dnILyQ>* zZqeA$AxDoPMHU1}5LHQs6DwX6>1u#JZx1cF8CkOpHV$B99g4=l7cl-q`(sKA0x0~2f{%0Zv;U>L!hV~NJcFbfoX>ffiw4? zARTq*_8JHU3Ymi_|81EIS75Zij^?sc=+ii~N-1u>aL5C(~ZggqWr^uxX zq*@aQLH{6(1Y+?ZFl<7@s z99j>x_v-6wqmBei&p*!08)!j<3>4_TxF{RUAlMG$>^}y}BTu)NVsdDv>1x6v1z<{4 zaYYt0QjVzRn0wACs9OB3x{oI&g2z1j z^z*nEW0a988vpbON0D?Ch)*BC0#ZnW#ypTs!#HAc3-<1sGrtQTbn??99m*2FOa-Bg z)BiF_VpGyGOXUj+_R#Fqq%aMF162@t8__pI8#)ovUV{}@q(B8lYR2e>wF%LX6#XYV zfzIfzBSCCakFf#Ud#}>Lmek>*UL@rdB{QF#bw3ExWY0bPzWpcMjTkcsige%f5~OMe zfdc>f`CP5k)fves?~V%4TPdsEh+I%*j1VTvnOs90m2BQ#lyJ7PAYGpzEU z21Tu^p(|%Gs%tGlHX1@gyjmV28n*^BZ;SH;@k@s|^* z&x?;Rl#oX2XOQT<=wFsr9-?K1lisN5@`SD{vzK3v&s}<3hU2o+dTMxA%>M+kAyQ-fp9K2>KuPuKsBTp>J7xBYhHL^qan+z&$ib9S73-NxWi8NS8h zk5_i~glg~odFXZ0T~OYmr_Orpv#*JHgq+v@d+-OEKE~>;|2=&4v*-RG@6&hx`SF`8 zKl<}|vI?t^QUS6!OxfAOU@DDdGa8W)LW+lq%w!}QLvY&H{AVyftBQTdEG9?mRA%sE&NsW`pFhfUG?;65OPj1(4(+`NDv|FNsRcT7#B5CGAyhS3k@+PLBK&u zjez5XZv>-5_@t3Dta3$HJQm@y_d$dxL6?k3!R5e#g;ea#AY|0h8og74RHUK?7W{_= zojI|Py-_%_^uQU8=@k=3bDE1XnN?7D8n5y3kP~4C88S75vcO@FUjI51NZj-;DD)y+ z??FXAEy=Z6nW{aj;}AYU#U&Wn#+?e|OF9kp$$^9tBS*C3jtW9YI|3t_N|@MJG{=aK z0s|{`(4{~yN)V9#!;J$uDJ@f3MwZsGAZXMP7CH)q6a^_2K$)LAVh2%l2wQGzgaj>1t9FOQPN=K&KTUa3Pz{{akOwDMU6QIw95_>Z$XlORa+ z3J|FI4`iZsts@c4Y6S8~_2lqPRT~I97BnUzDd{BliAFSJm7jZ_>tPTTh(sF_F|Q5; zr)#Z)NOhEo3e*4?XJ}@lh)K>=bd#e!s;m+eMa-+@ay!}??f*Y~3Kk&=$Fc(%;ocf` z*0Ext0%5E}qh1SBm43FV!|6&AGrQT6S#-7kXsvR+<5?ui*0eL7taPlZF%JIHIz1W) zF@Zou6iSw?;{8VjJaFFgqBLbBeHPuI^`r8lH@y%k=QtYzCN|YeulJ&-VMd?>00Vd< zPRa~ys6;Tu*3({#4Uxk_vZsXbsRlx-E?b@3)Lpf?V#jAchEqQv?Jd zP3xB3F`?e@Csyae)sAtMYlgRzBAXUO#9867jX6967_cS-!`^IncmRmP5n8||pAJ{rCdiSc#LngT+n z?3Q|t@13JcRU$9v$Ve`fl5L`urfP>fx{RU;pGxW8dPSO->+L|2I?Jef;BHhTSqi8* z>#2IAc>JMEKe;rT(eq#g2Qq% zoEx&ICE_-W2jMiOxy)xrubbUu4G)zKjkzGBcp%eCQ;M7&K5#x~y0jPV>}&5}~z zuGMspYb(j;&(F2)Bmp!WaD1dAB-1G;yZ#|*q<^U9|h72 zbKUAm2WcqQSdd%srG;Ct)|vX_q;Y$)!EnooX15brv<@enDop`S zz)^J|OVa~5nPt^m9QCh2)3wBe?RHif>+mS^i<+bA)X^&95iZJt#r?`wsHiBl(-@oOhq+ed4(b`kwnfk$&ZIclq(BU+KD% zocetNj1*ws{X8kZFHJpv{P)fK`R9MH>Yrru5eYg1KkY%J#ZeEZA%g}|76a73rE5Qp z2(td0K1!8SU{cNAs?zHirK%62)&UA z4hrnQ|0}fsOcd?lK!eaIjPSwVtEfJE79Q-b9uz8sNGP)?h+en|9D0ao7@oyJl_(qu zCETOE!M$FAL4$a{JCZ<$SgD8;2}S_J8Z@07yf`gN6szb8RwFd6z%yZrJ8=9ui8QM|;B`BsbaZ-Ab*sK~;rfA_ZY;?4_dN+kjkxOd` zdC82DKm~_NFtRurbX1o~Nw6&-8vt1xA|aA+JP2v|p$ELhWh$Z^ldNgt8(G?luHY)G z_^yuHINYM5kkKV+;R^f8MJ+7G&q+h-v%DM$FU51Xv6>@k@(~^hnG_%;M5_SxnknL% znD>ITkYvV8gSvGzK}cG#|NjawuhB1hBC~VJj{(V+h6s+g`V%fZA}~CwI(Vze60SKK zCJyA2q3ke$a3Wp|EhL0UzmZ7oN|b`MqlQy1k>ZLvz@OP;w1W^oxk94b^EYp_i7}~{ z{1A+VdBXg-k5NIhh50>QtVIXYvV-UFGuR5#s z!k>uQx8d-BM${#1ggo-{ju7gKo3cYjn67G4IFHDe!BER6DF{J050J2=zK|C(I68rF z5b=mhpo5ijDuXrwdKB2qfDeq$;tNTOq~r5RFP&i*}q1 zzsM9vs11Fo5->|g)8WET3lH|{G5GV23doKlvNikx21wboqOvd>ix@Lh&W>SDjKdzi z+`##Bq1*9Kgy6-mx}WaCDY3%NH_SA>0nzOMx#W{j+@a7lgr1E9L6#bshkTz~8O067 z&F;a)yu=8xWYHRQ(dq+IBK-*t9SLqq&LW*ZA*IMAebSsbQYf8LglN+9>j;tRi3_FD z?$c5B;ZZIPQ-QG33{;4G6N#S04ka~HF_j%JH3$s=06CpgI;~SXy;D5RQ$5{NKJ8OK z{Zl{56EUQSPy7afh?)A25L# zcvTk201#jS6KH`RnAHq00b4x?E06#yIM#y5fd%MTEBJ?8xPSy0*#ww^fv|y&U4V~u zg$tMhF8{cINcaaaXn>AYfoi?hY~9vw9UVrkP?l2H;S{-vxw z1zS*uSZIdXtzBN&23R!#hBX1${o^r-9?Pl5tXZ^ zMob9Mm9#CpBg{43Ev!_XP+hA9*oP3XNf)IlB{RcLn*#IDcOpt&8XaE;}fVz!<92kfV*nkyo;TNvk2bf`GEdm#A z00CHlNN8Vdg*+#$P(b?A>f=aV1K>Z zP*sO|u!ee2hjj3VbeM-SK4WM7feh$@J(z+JLv_*&{NC28phfK%>3;)mn zM2G+s2;@M{g-B=s9{z_7=zu~#WJFfv2H0MKKmiPhgg~}|24G+JrV{R?zt%U|`A5Ey7$*AJp}TUXGF0#fW)$1YIE2AD{v>$bdM0<`$TPgHGrc z$OMH@2NxiL=goluxPVy@0u-p|4)A6Jkb!}?01L?Ijeg#aMud+Zh$J|HivPZV_3Z!& zaA#14=L?))C*28IqOpADzJ2b9er}F`#t2a*=pKMoRb^FIHR@TdRfpi%j%@&&{RgLB zfNFLH4M>84P=ON=h^emXt0stb(w^3cxlW3@&RSkr*1YBcga(1IMQGq<*sz5F6JUkW=84Z< z)X=`^+@8|X&WO`SiqwAHS!jj?)`KWm0wh3!C5VD6@B%7eZs$INF8@I8-_D8MrrbD~ zfg6~}wa#uR4Q`AW?xQH~gt%+*7MATEondGL9zcR-zz6!SZ~MM){LXLv-f#ZyZ~w-J zWn6FkBkzYWZ=*o(gs=w67H~sp@7>u2HBbXu$Oa0pa0|b149{>4-*67^a1W>O0B3OZ zBXEZ>@S;HQgHVTH7V$rEaAS#uSXfqnmo8XcC$Bg?-*Z0ibE5$BJO794UH*wO|7E)#*n-Uh zXXXJ$p8*!=0S#t!9$^+Z-*#VG?)W~ zE^6at=!%~KrbdV&FaYKq2pNz8bIu7a*npS?(tbC1mH%IPmT!3#ooOHw?gN0g8QUB) zbKf&_&zbw$W|R9?&dQaL9Jxhp?lY3Rlq*-#TqUHcD({v@FieOS$Gjlq+y`vcH*lqz5}oRUVHE=|4;15!?@Q^ z<3^{ag4SToQEB97$qC8cF7dv4x6fTMoHsCpcF3f4qMi4S1E9Dqb%7_^gsrmvR7Nj*gafu*KG>B+;z-Ip0rJ+W&L%j z(L$w5y;*W$(r-&OgO}6=EgwG5GL$eZUE6V1DWF8p`4!lGe(2n@t$rhE*mbhjPF&-! zR|502ptNOMG2Lj39U+}>jm;yE^>GLz%!U_j6InWBuj}yal@pkNFhoUeZhb{AB;FCc z@aZ`L)6ehzFAE!^b~#(bVD(L7%$c>Z2e?GIV&}@(g92q1hN!Fh*NJMuZ-*^>L4~?L zJ*yjeR>Fd6S8-}@iqBj*%YwjKg2f*!VvXAaMLUxfo-d}rrbp<2#poli&cmSKFFu-;9PC%15nlM@D0nuGr@t9&85vl7W4jDNjpVL#jR zc6WgHQa-a0n}Mlmg$wIh$9~Z1C$2*9M~!MabA12TTrih*f3l~HyDg_@N<;{SIO0s< z_XL`vBq=yh`b2y&vvc(w6Ld*+o+5`pHIbz$#r~?u`Ti+c0gXK-UO%5)0;hqqHl*m{ z*f^+wlb4H(2p^}U=?Zy}O_@ZgWE=+7pf4juT=WO_!Tk% zQz9~D0+BsfuYObnFS%s)CSy9xH6~Cz`NCWldW|iv!mI1;ZLt>%@g-N|MC0760>jSaD=ha z6?ins>|&QQK;#4$jSwd}x_*b-hR|^QQUXbRxeW&25X5YQNxA-0X;J1zeFMdsr zrpB0-KF1rYeMuC*srI&b*=7UHyccA;S=;|sK`5X0M&mxAkAp){AOUVZ84^Zhx%K8+ zG)M$xmGP%)xd0Qxmcj8`Xr0Cqz=rJPc?vV%5k72l~j3E6a`_5WOhv=yp2Y2Wp=bfZ-?++^dsBJClkw`_c<|k>@?2bTshu&6w_Q9M7($5^|>r>-q>7YnS)&@tEC6KFSHMBKa_3V zkyq3Mu2DEF=Lp)Rvv~^iDKJ3M?0(=rc0oV7#wtJ37wc8{hCC=gkI0BCrhqh^na_y$ zkBJ!N8Rqf8q!d7pho`E;mwcnlVxfM>GSTFWJk=< z15WET{(elN>g6=_l7uZ(MM7Myng$Ds9jk&Xm+iS+F`d=nir8lh^&JNBwjh}0NsADd zb)$3jN6E4%;zO@?5nR!_Sq9nO!L!N;lChhLtSjfF$O5?^+a|$Lbao&f4`~=rXV+eU zkYqs@_?sDtaA+Y_(fQQ%L>1+)iPW?ubQHOX8@(7rB?nqr+6iP#n&m;r3 z$eCRs0G1k0tLolJKl1`k2f~tLI`-OizUIM6OT5AocF3sBi+)|nOh=U}A?S|pcm5Mo z^4yI2@JgAf>-5?HG?2yyO0y9Fk%4INA`5VaEOd%&$?tpf`%anQjw?W5Qy!+Rh^L@8 z03guOQ=EfQ=AeGOtoWojzeGM$KLVSd$LR@=#*(=}WHTRU2`ZQ5@eRKg zs3+3)@j=bAp^hgc_CLzp`=`(K3qU9~TtbyARfjuN0R85_To)9YdozSNO}>i4!Puv} zyp{5D`FCh`8?Z01p34k2El&Y$Erlkr=daXH*VQymXG_&=CLVOW7n;ak>&|F%`gxHRmdO>5Ch=? zG`uw?CZc8>pWoC>jC)x$u4u)M8y(H;RxwqOdJ{hS0%^2QLQ*G z)PlVIqz6%>Fw+2094;m`o@#e;*TuyFcmM*}GU<0p0jAMfec}yV8Qd3NIP}3Z5nzk0 z#8!@pRE}JgaV4!Tro$N%oFkPS;^ncb!A}+wLULlj1(c> z+AmYwHtTp;cL>{m1K#aVF6{So-LAfAv-+jUbsU=#&EYQ+1ctUye7g)4xDJ;1tWBJZy z-aqj`jv$1m1rGt-uhqkWB{1`flqF`?QMY5n!By8K5i;5o!E!t6J6m2k@lz136~FXT z^apnKm+s#jaO6l@nG>>NKj_vZ$kpzxwlsiVROg%Ete%QLH30e;F+nMr?ETDjMCm#_ zc$b+UlPK&CxCG5q;Guv$P^>-)8jeGQBgSfR0G5kn0ZiYVAmEZS0Bp{5noMEwIz?0y z1uQ+7oB<;u84LfI(6Sb4)P;*40H5;tumaMIBb_4+Xo&Je%1am)Cw@x@pDFL-^q`4% z^r^5rKU4%Tg%fb5pSU}iw8o8K;~yEIIe?b7DAHX}aQpPd1}|{R7E>$u@7tR?b20hh z_4B`&cGy7b$adcoc@*9L!Yc1{U-IdHXwyAud@wk*_2s&VNvQe~gBj)FM~lD!K^Z0( zcQPv}L7^i-!;%6%-3j<4C`|RW?^6c8ik?~wm#s{sokjR9$-I_yfHP1ogN}V&$=hEE zcBWu&dr1Slk(mB9L7LQ&m)scWaW=0^a<9NH{Y*4b)7D$VRZ=sHX#+p4n$(MqBdN?e zcK)DXHVZD`VqAo+zjC}k}rsYo;0Np zQPZtnbhwdec^@|vz&LetqKsB<@hsVhRQ^=qP_rD6)lbmCCMbGTYh)Q=dqBSHC7-mfUR6px z{+GybgT-QB42qAiG=C9?UxpFBDqhJ30~8}K6G=u)?p^?Q zfcIHvX$(DlbpeC{I>mkk@zAMp0M=8%VZJ3|$;50c;mk~;eq&$U`z!GuYIU@kcCj$+ zO(O4oymAG2lZV2(W%R*+m69?@I!d~7es)n7P1^-zwL7y>@ky10tdG(`Crtd><{J~$ z%m=38>VR|B6kzT}qQ~h}oTNblK?3fB9UlR5=dsSU(e||wNbj6~L<}Yo!H&vGQD3#d*iN=e?Ew#wypn<#Ckz&N`fyq@jOi2-R#j@b4KlxvgC3~ z@l97(0f3t`QEAxJqLR$q{~Bk?#4jSruTB=OBR)7GX7|_g2I4WffLvpIEMo0;!Ws`x z04BGVS0!oq^b$)}N_3?@E#(T6X@l-Q#X&bo0sJ~$sUEQj?n>LN%iG+XvcQHE-}D_j zu9Gk9l%ES(ZGaBUqc~~ITuhV=URy%1sC%!Xh%uA^*#ArvVHM4#d3SFx$KjDay;w^M z%W32%oUEW?-e#@e0E_uYizmt!KY6tFK`(l;>V}WJf}0>^COc z%i`{2W{*>oCO!7G(A}PZS4RqW`{jGy1U#NCd~%*-(4UZ~@5i8%tV%jQ&(c4ep9PDq z01&$1flg5MY66E!4J&lcAatwxz(QKZ7qa5BVMWJ6=}Z3-*;Q6!&Vs4{o=P*H4PIcy z2mKA^8rfF1-ae4Q7H*B)mU?w^bwcR7sh`~05IJL&K8F z5c~e&AvEBZ2*AR_fPLrKdh1g-eemz-r?;>m4k#WBreMpH4nG6~rgx5lQl?$| z-&=zN;~D{HsJU~>Cze^1N+Axv)6JtWmvAjB9&C7~L7PlwF`#oH)8pD9A?bn)C> z;bVgEIvsRr_dlVhejQ3%+vKej67$e5yf%pC${>pa31UK;Jjo2*1#s3WCZ1cLb@^_C zA!fQ}D5PCB&aGsAN4<%9`g3*ngDeHPyUXA=dAi-Ayu;eKxiO7_vo?*at|C z(ZpmSADo*sW|}po`gkk>aF!8R9RAnBUE&n6@j&&Au9?AHvk(!Ca(a!L9^&1D9AxZ> zukRA?(|w|wN#UvjVb|jiLaYIylK}xCdL{Q|lu9Dm}b z2&_|dB7i7w3YNr!5y$;nsbMlzVWhYga@!6t`#NY~hXhqFM&2(HxDQK9e`?)IBqbp9 zWxRg_o#Z!irc5895&-?K4B|K?B$5_gZUKAdHEvB3uS?IEF(pz7@b$ER&(^xvRa5|{ zni&#@ERe67tUXPEOyM~^fEHR{zGwhqSY2B?$@1*mEgqW*}7W(irntRAS$t^@F*{wb!sNswy6cnyRzMf zSCWM-lUYphP8Nyk>oeGWpsQP>dU=GnPePVoq|+G@43jDIXgCQ#u+<{5s)G?eKXLbe z2RQUwJ=J6cFcJf5BdypXbh+EDl3Ga6AJuPn6465;yhEYx!^>ERd{i26;X2Wo05~uP zS>iFn!&pCBfeX#UlFmF%IbBQM)-3W2r;SOEM!)>^%&?zFo7GDIK&>NZ-3PGl6S~C2 zSlmmf`Sa;@WHwYUGgJ|F-0Z1fL7GZrtCrxOB1!`;gZu!s=uuDykUtPFUF_P@L5r4@ zrwWjnu~ocS02R~b$1q`L>a)q&C(fxOw)SxST5S5Gd-Ql8GyLFuOU#FSXo*W<1$7a0w4k-y2-0_t0&W2KR1%QG&yZXD z8I#(tAL}5+W?4UOvtv$HxJ zIrQ1sr#B{q66G5Y_xsHbdc+&84flNskR41TCFI&cp4qOIyfYQ2rBy%|x@8jCe=^$| zZGxg3+Ik~~%#vDaUVhwT&dQKYpXw{|PaU{LX0g@JR_Qr|1E6^ZnL`NTKHI~4CL=^} zeb;`#86)|)6YZyM_0trq)HY(sNkf+=VqBe%dNOt^l=1Ez={A$`xYmE;M3Qd5gYH3} zet(AU*3F&AedwCv>+6?(3>9B@>c`5Ce!!Uk`GEXsl`<{BM>z%&(qz`?N}jcZO2bhW z>dOlGu(+dv=-vUBkLevrvqE(pB+a-$!Q~>jx9+lK z$r=9-Z86+etjqLbe(xW)K6(t4NiSrtc_(aJnzMSS$Cu@Y64P>(yDaw|l7ltyJvG@> z4ir5(b^q1{gcSlM-1)|Jit7n^7@(SH+i!dtqkuUcjut|#cyUR@BUd_R7L8tJ-r)oE z$W{}?kpf~e>tSfsUO*FE`UWcM>1#txT}-{+UN1|pnHc{@)$gSwHvTYu)bQ@5UPB>S zElb2kr2w#%(|2yB+3)(-QC!W6%Mg(Rd%oW3`AyLqk>AfGt2y0N--xWSu6U4d&U>R( z+;QAzc)SWSqx1dCAHUGf%NXIm*E(zoSCq8i86>g@;zuwJ3Cgtq02w1v5T1i?DYtQt!->U!T ze)ny0r{pANcT8lbzOF`hRJSp9feuFa76TiV5BBdS^X>YiXG4UX_d#PFhl6w+AxA#isz1(Del`rsI=P zDF{bg0S}XuYRaBgV(y|OtDqFfOqyedB4JJ z&W1Ig9A)#twK26&W7Ptgn(anO9Dh5dA`qkS_>;4FDD zo$D;^MblR6bQVj2pPvykZ{$Lmo=i;p@4AcM*Rk)a_u!Algv92UfZ#vuV%;H$E*1B- zq0+_oI5;pSl_l`88qd3!KAA@5?GZx$rq25JNS`?Im@jM0afUG!ycv?UzG^eKA*J#i{GDhDuYizJEK3K(&_ zAZeL_o*CBNONg2}q~r-xI#(MU)LKLPra}!qLM{t^tgC_9+g|1C9K<`%CH=fR zBG~hch?_^;RQxfAqmG*t>`o-7?|XCX&h$vsd`I2ZPD7pl`KlON$*<77gv*c4^~+sE z*&;5=Na~C*G+mRk_SC8(#+{L`%8-T4)nmeo+R8e!)i)Cx0f=ZA(V%85k#uZwysc$v z+(d$T3;T#B#=ODx1Q)$*q!GmYHA|iCr9u`eWi?zz6ayvh8XvD}d7?&D;a}q(H(D#0 zT^AcG=6>*_EnT0M)b2WKA1^Oh4G}vW&77j8Fl2>M*@C8tEtrzYic5G%?D!S2q=&@n zRY?i8H_4LfcP_#4+JZn4vE^>$U7`$loKom4%6*nKm-VgEj?Y)W2^*9;YjPc#|!7N+oS zdBF5$0z~+l)6Z>rvVC$MGURKyQ?TVD=jJkc@ptoEKNeq(zgbmi-iMpQi!1}L&vDdH zStja%n|^+-*lLdyJZ<6XP-F_%*|nQ;>kI!jX>QZKh4s&$09CKB&3Sf4%9u|PxaAHx zO)Nv9v*Gtpr5$sC-ima4b{Y4IzogEi{-%)L$M*X|c?D;C#rKL+4Q4)_HsY(qf3&B@ zKA*@Mn13$x#dat5>)(rvlhZKd?Hw{~E(ah!^OE^ImBN*^z|7r2himTY^He~u4tu|1 zARp}NKU>Uvm+;&D`SEs|*<8(To_{x9PTBOL9Q=_PQE)K#M^-YBO}MXD;CqOG+Or=V z;tYXd+=C(9Y=ycooA;oZb&E>zoX@F1_O)ftkNn^)A1MW$*VZ*Z3q3u*DokpR+OJ+O zc*VY|GA%H)L>@p{R|xPcC=NP5Xi*OjiLWd`oacx_t?Qw=iCfvhGgYF4WM<6qLaOOQq5ta7|7vi#5a9Hx zbE>g0qQUdRRfl&%(}`4##xR3#_A*QFi*lLDILrJ@@kYo@Lk-jlDwW{gDcE|z2zfBn zb_I7y_)`RP_$v52x6zIM;DDZHc~c2i>kuzwF|EH@;yc7RO_INynxdoq*8f)8jj7z? z{+`3n!M7N~3k<{GG??Ko8FD<6@ga&X*tC;~i~GWHMY~_(_LgzxGSXG$XNMUbX62W_ zU2GfOr95%l-N$Qo>i6yT*3Z|A!mfN8B)-1CJ)q?@Zzfb--ZJ)eA@Ry%H)MLqbL|iU z>}qwNh?&#T`@7qm{&l^BDBPc^dc$8f?xNpZrjI^6y%_QI*2_&7n|&F>6IjG!;Vu8? zy3@@~kd0+E<61OQHr09{rot@h=j+=nn?tAVg z*}z8ypEH|KiBb3G)^V|vjPJ7~gswKD6l_PkPj1Qh!iigQs*F}ueIRo?^%xUq$;#kd z`l(Gj)ZRe|d9LFra3!oLUoP;p{!=#g+tl+*Tn-#-Qy8{3LI<~*xEDb( zDooxvOXi5*(w+y%iUajA0bScQKrWL!?GQ;o!Ycs(%2#A5@D`iDX^e!w>nza$smCe! z=vW|YDVxkvgVlV1%mN;!>;+xRIJqgciu7CEO4iS><*f!H!j{w{iFmf^(0G?8I`)Dsy@O5dea~&vMSaaRet97uTJGtR1FT z)a5ZN7G_(vYEDQ5Rg|X!@?#59A_;Xt^U@@E^J%%xP`14KB>M_@4HFxv;kM-+X%Bo} z@4EQ@(5;qqK4o-}y8M0LTK-{=e+vtI${>L%&nUQ;Krjg2of(w`33_G$aR%|x>sY_- zu#U>I{i<2*uoXg5etOV<`i>t8RUk3h?C)$vWPzOT8J<1AGetlC;8<4STDBA83gz^a z;MAmWpX4IGHzU?2#2I(s{C3M85?sf@n;ryse+W{TFl`R!jt}8}J}4tl0m=u6tVuM{l6IV=2Go>?E*bK-C zLO|NekwOv(HXs5{7nx8MJ*p7>)FRit%WVWlt-Tlj_Csv%j`*RS(ng*#w;c+XD_jrf zHmz7YjbxYM;q2oQKLBV+q}0uXL`RT7FC!&wb|`$^ujEAHOlWT&bp-a#Tq^%(Mt&&U zobO%zJ#_EJ8JvT(^Lv2^fTm|FUztJ`JONg3FTM3nZ#P(GpL306ajuOF)+RH>p|~`G zila!yiE+*;iI;PEqB<-{d=paB2HC`|*Xn?jr|5M}>b>IDf6UFPK+qeV)RUqQZrh7b zhbdE<^xMzqckLm*aO*9f8Y;6VTz8o$VVf!yNKH>=TDcB(=RVvO*ILwT-=AsZvFLKJc(Skig8ThGH)1W9Ta%!jJ_%W& zVZSbXMz*O6@?b>vi|4PDjFFA9VP~H7ra#Nn_-KCDbW;6XZ(hKjI9AT?s*$=s=zjhW zR0>M|TE386npQ-wRxpaM8i+u7sxVEdq^qmK?ws43;w)CLeV}gMns51^qt&~7%R3x; zUEzp-2*jQTVkgw{YP|>7A z(?sgy8_XkWm_+Os0zWVy&>BhJvn}nhpiD;)?99dsc;zw4EV|MZB3mz`BPYH1y6YK$ zb#Aa~z5UW!yYw)?{<2YqbEUmbfmHZi9YYNnBMm;5X0GGAJS$TwkJ?>bG`JA^=k86_ z`0#Sq^GgM{XY(^@Byo!ikp$T4GEr1*=5edp+8;#Rr`Xm0l zY7%Q~6@RSG;MA}hCoAwqtJ95UEkxJ!jaU3}UHsvMs2ijFX0M{+aQru1{)-#cihHRQ z|KIcY7k}crqT*AnW(-4Ig$YjFYI{OJ#Yg8O9~ZhcKa1il4!!wD4^UJ9eqL6C=0p6% z+C_4gDssXX!|pk89WTT@noeZU1y&ZY1z};|rju-DZd&oj)kh@RbRZlBlD|Dqvg>gD z5jEpTNaCbSJY%$e1PFxx$PeIei@e59$#gE{(bh@$BW?5_Up3{u{M-Mo&$!;p&QM+y zll4UC&Lmb9d21GDR76idILI6-&KjM`x~G_B@jYugI&0E7>*GPzq`>WZXRcX^TSS5E z3mlNQ0(=Jqo8;&;t)Vo?VSa9hZ2pY2kp}kxkWXn5Ndo2>)9)A)ws?Si`6)l5bLyZy}hsyv=RtQa}_ecp6l2>9ofaQ}7hdmtV2HLKBz@%p)G&Q8>(d zL_vZ%bD3V~9BJ~`+v*JiPMU^;IChHPjW`HKmx(w(iY{l~C6DzJPHR0PoiX=by*QBd z6n+++$;n6%pCyQlE#8|xyw~-y?2F)o<&R|_OCEgFDf=4p;JeGiPl69$#ytG>;^CT0 z+4q?|8;N_3^Y6$4a(Tm%T(5@j^PTm3iIc z?P_sGgbIHrUFdx2Be%{+@s>g%1TGc|B4D;ASg1D4wKl4>_Qq`OEup$Z*Sgf%8h_op zQqufNo(M~!Y|je8Itux4ikz4xMfT*O2S_!}a=RHle!|4^K=$m{45>=bf7&CBPN0&@ zpemjE#t2Z!NNH72<&(uysk+_AkD7J$k1+UHxjGlj5&+hX;tK(CvUX7?0nOZQ&65C5 z776}A#-d;xp+)9ii^3=Va0%`s8dd9FtKO$poNyb_tjRMxNRt_PNTC&$(o9YL#iXEmRbJKecY32tavW_oEF`}k|F!qN0L+3snfrt@CV z{Eu=UBkwyqJ{h=?9{0XG*$y&j7UfdOU-`H@0#&tn<7HnudpN37{g+%0w3MN#PYq?W zS>i-^iY$1F=*EeR1N({Y{l;^B7IXbJA_ETY15Wn`+~x)@i41zX4_-O$H<=qe6;Hfm zNQjIo>(yek!1OI|3~RIFG3Ebl;s zH3eQ_E7TdaaI|Z`|0YxR$@1^l-&~)pbV=P0@gTImDI3qIi|b{wDz$t46o(c_s1Qoo z5+4>EXSy&BDH~_|JkBXP!F^$ZzieXUP`rf_89zrZYml-ZWwOT?XKaWosT1S>Ca(`w zsGk;~;)*-&1zxW7e9w^8zxyH0NA(nGp?`cRI$L#Nwzh2c@#op6qMuqXe0pB?sq6EnSE6$jpZQZ5 z^daUFnegG^|5AoEF1)^XjEZHOO1@vdKk_*uAxiQ;yK|qTX60p-(E`^Dnih{MuPx1| zdPEI!F8KGtzC?~fZce`=JzZXz8BzH7D~?}DZ28Q^WvvIxdh^RTu@&OQ6_W=m7V|4M zVqYCDE?;Y!ljxNB@ay52Z!VegP{|0EmXwKZe!ati5bo}kBr+0t5CS?{S@PPmA4thTFKK9oABZItZS&wYh{fIvo7SH|sYm&a%#lOng zR0_3sxFn_hCFB0hjH9)CD}z-m$GQs-FbA>HBAh#!Uk-A_t!sp=?3-l*hA#x{&;EXP zgM15`pGoCX38+MnicN(w{@-F?d^-mac$q~bCkp0o=FG*%jaDE)T3eXyy-%n zdu`!MA&15#ocKCTQj>>6gdu$j zx}<(;U-vS`ET+y!StZLXXKSz4E#KDvy}o?=$lq~+%<*g0?G6Xfa}n1h2kTE}yh#zt zH<3=SCNc;3iKKGtv!6N|mj*tG@h}L~(VZSRT!cOWn{+VLTajyk4T)cBWuuy@;x$(!KNEG|iAyn#| z(jdAh@aKrE2~Y5A?DIFs5v3vQ-W#PR%e}YSTHvrT{Xbh_CYlUv_=q0owfzYL$OSI# z^3GAXp6QT#_>`klcFTL7f0`44d>i<)$}0OtPQ{#*7iBZyI+cCy7BL)}vjtYye$9mk zXZ<2sI`~wRuKrR3&7Ct)v@0p(y2$5d_3K|$pb>d}!O_JDeZk+gr7`hjZ6wHQXKdo;JIE5 z6^|m)5d27Lmw38>fzQ+>4k32K539Z$>sD8Co_JH>AB~O$ikg3Z+)XLa`LZI`D;w;e zbd#fm4Z$G1V)flsO#6oTq^8}G+L%q!jfS!)sP(h9yyXg;SRl#rHT}B-<+bB+0KR}g zn$Ou;I)^Xu_xVZxSlrDH!DPTCkgAdzBk}k;chby3u0+EyBQ4Eh31`mJCoK)J^wC=| zJ~owp#$}(0+(5Hssyk>DKW$k749rRQv~c-Osamyjl-BZ zKZM0tZ@Cl4>#fxW_QICXqVmHkBvEL-W!&5qoxf(?w~VZ=*?O???3;~agE(0`me&xY z=lZUe?pJfFUN*K5RmmlJr%Qw8NZ<|oVoe$J1Op&qC6T}yI-)G8{9l??n9!Yz?ElqZ zjO*=f8tkuspR%+ukkcqKKlfAPKgWwLSL$0DY#v#+H+VexbgnO>?`htzMpI!0*O4n9 z+B-G;BP-koY=P}BqUB0N50QT|jHU@fPo4yGVBb!a-buT*a#3TU22z)={jB5B9TH{5 zWa;P3^Z`3H;ceh3^e@7L1TEnI5m+U#h#9o*Z(|_78+(u|$0UO4)Sg@lympAFH0pn* zpA5bFbQ$3>MZ2fn*XWyiwM7S6$07nUVlMvbCKZx>8xBnUP~BC}BTLbM+avv}s;N97 zb#O6TP_*c8H|zy1=8pqai5~{t)P8Zpg%zb4f=eTs*WWu8*<*;m#x-9ZdgZdeORw#i z`8%%bEZ-p|)sz4c&NF!g>VS{%_&p(co>dL#((kv=lV7=)=rV&I=5|8gJG8j66jg4Y z1(o*n7D41w5AE9dEvUPSCT@h|Sd^z_ca->w{ia z&EcW1xT)8V@Le*2IDer36GE4*QJ+}mML=CQjavn$58iyYms6nvvNo@q^_C_CCCeo& zvUAqod;EiH>a&)sHrP_^zP+68B63Fp6+Gba%rq>_*H>L{*3s&vQ;I{Ev(8Y7S&lAK zs^s}KUr}u{F&aoRKX=1w?Hu`6)eN|ck&0u5mlpL_7l-u(eof2mypnyht?AO#lw*i? zd%c~JJbCxRAK;(s*H-f=c9ZXA+m+E-vG(!;KR#ZbF8?SPTDA$jGS(FNNy6otSO@M8 z?j5CxA7C(#TL6qVe2tyn9fMzKb$}RLSD3em(dzkQRTSgE!p8P#Dq7-A@SXLp1?Z)W zSKPN-63-kjO1NnE8?WxByLIP_ROH%k#{bZi?pQ_zn|D*KJSQzlSH&b^hH>^k3c9)_ zMvM-Vw7i@v@1Omu{LXYVOzbDh!161erg=4b5)p3(dui4H2yXh0m_I%eC+@rrPFSuh z-J3(}y*e7OAX49HHn1 zr}B6&JcZ9n<65uZtG!1Y$1!hl)w@kOQQhc%*&B-%4#&XW$sMVU>D@slM61C^LCvFE z(FVVt4(b2=DyHtycCu1;!SJ$&a=b~{c`aw{o4>vp{rf(Ba5Om4^Jnz^zaI+DORG4` z!^x*E`>hX^zTLXz@mZPC(0}^p>Jjdw#t!>-3ZQJhYbN|1>lgZ>=UL=`oGV@Es zCB-YTz+V7>@9*#0+S;$LuhrGn_4W0Qjg8IC&8@Ai?d|QIot@p?-MziN{r&yJ z!^5MaqvPY_larIv)6=uFv-9)wi;Ih^tE=nl>zkXK+uPf_ySw}Q`-g{z$H&K~r>B>f zm)FO^?J)y3(PSzE6fzAHp zahm4p6~1;YPR2EVREmw2itP2PY;~)ndm^0c{KDM20vy`>>{=`}E8FYWs%O&Ux}v8? z53RMUqJ4VZ%^Tg#8oh0r?euCqEt@XSAB~ktBRsohRSN*BDZf=S@U^mIv&Zc9YkQZD z{Onup4XVx6%YUh6N-E}KD`(JH6y-NA3i{XXp5ObIPvrHk0{(01`_cF4f6?jt+rMhE zMLW%w)RkW#Of9h^_x|P4wLFa0TU0DY6Bw<=;xEA#AjRM-&g>_(a=gJBAZ1zXs*`Og z7OTM%A}5=uClsmbSmA9~=4t%To-;@;Z=j-MX@ECW(YGN~Bi&pj^^eIv2jNIHy=?2l z>r-k^VfUH0saYWw{S`rc6e{&4vQy??Jtet&v=f8Kqsl6`}GzdugDH)y_JH@>%7zn`YQ_j$kX z`@fGwzHjQkFN<$Zmb!9O>!KOA8kFjy80w;#uO^&83r<&khILVlbuld0OJShx2+*A4 z)v#S%G}HF5`}ajYXf=4N&1_|5WoBk(c6N4PU|{ZaizHtE_Vw}k`MJBh`@gpT|BUv3 zY5&s#02TxQgT75{WBWUpSUT zsa&ozR$nxc%4j^ECD~9smC5OJzB$%VGLtJ91dk`xSUOiAkwmRK-dMI!qEH}}E!9-M zRH4yexi#KYu~K6&5Q!(FzXBhyxYG?B()wLRI^a59re0AnE2-na~aRI1RMYHzw&sWqO+ zk?m-{+GusUkmKV{Ios*Yg{BnjY`r@eO`_4C?reKFnJtjcmFwcZ+XD}@+OcKz54hPK z07VhVcXz%$oGw)8&vbWvyxjKusOjzM{>lMEKHZt=>G}Q!KvVAeLtnrKpB}`q^*a>A3u0OvCP>_$8b!;n!zlsafmBDyDry!-e>F_YioorGYh)36 zfn!CB=dZ#OY>%WydM@!&E0((%cp&*_cqZy*b{`XD7M-(A1}S!Toh5|H9ra zDDx2*GfE30p4&mosQ8dZB49YZ0B{&+A6vF$5td*)J{|X2oc(8W)uiU>a7~Gi@R^ z*yF2O$UG6Qn)d=Lu3GkswXfPQn=fo3hRJCda={oGWdyx@! z82cb_aBKTs=rgX5j;qFbdyJ{7IYnjN{3TLh zg{MVztL&!*gD|@1RS5{X$F)r;l)iQAmaFFt`w_aAP3Hk5@h$h0su$3<_e)I6nmG(e z8-Rvk`??oSQT@6f&2i1SPs&gKc9^Vg`*xHBLH~Lj1;yBRk{1SQ!;e2ygdxu_seV7N zY`K2Fs2!pIxNKa(?>Npn!B+=hJYIj?U>rJ#lO}5sz|ObI1Ug5_#Z1HDLHL0#Q+-4Je;$d!ZZ=kbh3*L351uK_-?4{rud85eXMU zibV+~!7zklaqs(?ff7WaVt^>rDg^%fHq;2N7s_>11b_YC4^SvhzdO(Xh^==q zcAY^4$U@@Ww)?R~fAAl2Q^5>85AZ9Hbnm7LQ1&62To zS;x4M8~4H`Yc*_6z8O_6~3f~3TS9G?k* zZp;Pqp%B7qR|rO4%!Lj)6+wqr3?P5ZL!Y7)VzQj`V_y7+<6|yCBc&M9jh=ljQ>F}F z8<5hzSmXf)qOJ|p>WVWkTJtvn+PFct)me1FdlL2rgDzui$VT362QSEJj6x>3Q%7;lv zb_z5RkMJ(j1j3z?KjZ82bvXt$Wv&?j;+$ zfXt0;_?MPZGJ1QTiS_+^%$8ZcYI`@U&2zDr=5exXry8%VBU6snDWn=pX|MHr5Gep( zqQ-OO0*sHhANlra5dUOiv;v@`^nB*~+ z(FZWS^(DF7{e0)>$F61!rQ+QKP`Gy;veksUp!xqudmW^dtBX{h+{f&A9b$~Fi#C%v z_`UHuOpbgP?xvFj@ZTK~M6Qn)64cgdHyo9at4~awJS69N8&im_PcGRs!FzZeXM_`k zZJs=$_u_&S-9AbkkvV40e48|vYXD`eOdhj${F+i5uFtw44&>f=n|7aW$a$GO;s1D> z@kegVgONQI#%Z5+$Z5!zMe|4He4mStZ7igaJ(JRYpHG`^EasRxlk<9Ch?RTH7spEk z!0s-V$~Bd%Po1lEyf4+pHdUI*UTAH+FSqhH{Wo5#Si<9#UgYN5Fxg9^iz2||SyMel z;i)de#~S*tsjO_ID@z{Wx?^#3Q%g3AwXx>LCNhUmr_UezDDBO|Yh8+Q?}ZQ|;duGAR2hjXu;F81bL7`fX(oKJ>P=+=Ik`I~!?*Itw@r{XREHIgG3 z2wvAJ%F2%tD=>Hf0K5r<@R9E@@=$CefQPXEIEQ)Y9n-J|_nG6`CXDeN zgI0No7{A+uB=qj>C<>u?CBQKfdxJ1=M z-))O9Xs&e&I7DRb0YAtE-msGMF4A_|mmaF$2JOBcGG;utxd=Sl(6=8$2s%&I<=>ZQ zx~_D3T>J6lKmL&nLNbnaT^kw%P9FF?mH*)1*hBuDJr|{j0yLm?l?7p31;NNJ% zFJD^$y#vzR;EX`GLDy~q(5bn;CtwVoC+b_*qjp61$_(zkxdPX-96gUt+um;j_@_TC zc%P@Z?a)R6umD(p=2}-x3ZEHq&%6@vadrQqF!!+)w}DhoM9P5K7GKy_U-UGOrBv$= zaj(~9aG^X%#XLx%UFR2dPfCe^tP+0|$^h&Wk3lzY%vX;`4!<+?AbTtyiq;?!Gao!k z*RN1VYH@!XH+N=XSG+af|KB8_i)F#c;s~2KnXOHQoP@72_y3f_!d!LuOY-^c6Q;3RKM(L))HTy zL5YlIi3`VZEEbNq0SO3es03qi3aE)3XQV=Djx;AI++%TS;iyTk5ds!TLYlVXsm{_X z&Kf5!!rdqA}aGws^Izc!i9n4xI+-oTSlFro~I7=~$#8 z!+30-_y_=eJvDs~Ib234Gc3wd&QCo4{`wgbk^VC0_l@N*$mpN@mWJIL*c}$T7M_v3 znoK*E5f_F+NEt|K9vEX0gzpwSq8SZKna*Dpuf3MpeP%}?o(yz%Qltzqx5#V&wPu%? z1;ei;rNCv+d1#T2VeFP=q;lo>Vq>=dN)9wss`suU$-Gy+j8@8?QhHu^ub$OyQE$coiS z#NQd{5$lD+kU+SWLJ)URTk|n zReFD4!ogY^X^9#AJ3QjOlw>S7nfu?jM;RRTPg^O}u+_4%v(y9jvJ5GP1+HMMgzP-a zWL}FDo``7M_dF5t@*+zL0?NNK;#uf*{`uv}ke&tqGV*(=E60T^n$}6bU{cIEQut4@ zl`^uF-c#4cQW{QE=GRlsC?e}#D|^*L{7(E;q$*=QEA{IMvb&b2b(G<-Fws)wbjojtrF+tQXfi!RH9ZXz@9#(Dnq(Izh$V3e5wWmQcQ z=~V9Z98tAf??p&f-V-Ht_2V^w^?FNt3qK&jhK;U-0M^ zmS{pe8M^875omRTgx^6nd~X;tx@Z(u~D>c9pRBUZGU0gQgB*@6kAyX zT1kXj(mRxNwX@YcVpX{#vCq8SD@s(y+JA$!|C_*QDR*v*{97ztnGIj;VbxlliCT-( zA(c>RNR?99QMVCMkKok_`^&F4 zhIQ3LZo*UByy5k=R%48@kd3nTnjZ6`fPbr1BVMT*VN8mF@(@{q^#a=f=v=#$GW}Rd^d{n!1c*7e`(+`QRg_0gt zoXX{o7Oc$-F`6vN3$F{UEJEJySDXQ=k6;eOD)q5$+K&EF?sgaW5JTc? zRMF_F(2~x*^%i`?K7K@uq=|u^aWr_8XPuEiqF(zfOmG9h924&H-3Z7ZcQlX}&zE;}c@G{geuODdV2eaB z_H#5IcP#O9G=_I9=@UMpax`(GKVx$&=W{G?($*4p+@ELM#&EpwvsE~KyfAva@^icv zm!w*UU=pT#zN5F!yDiJ9hkdnCEobX>;&MdTI$bwc(N!1Fmbmb4q<~YF}qM-f~)3X8JUG^5S#g>a+X&a~kaT%)QQx zzR=9GPVQ^gj6++_r+3u1b=wE-ETrx%v@RNi&#Z95tXuyqd<=o{%j_Q^+m-0S(Txf; zpQJhO+U~5mxw1*?^-28f#B1pJRotT1P7o6^-#mSQ9nMv+EDbBo)I2j<1m$XP?5}A; z$p!PfsXr47f_RIEEXWX&1v4#bx00GuRb+(p$wpO#Z*1NWRbO1V6o1I%?Q1KhWzX*vuq3JAi3|yDLoWUgX1=O4`I- z`0iZ-M`9W!VvOpE8F8VjHb^ zYo8vp&p2JGz)ZoacfgKJVK+~1w@+pmNX}J#U|COYd{1UYd}s=O$jeX8(S0bheMmEn z7VEH~#DAoscckWfl)u-JS%0LneUuhR84XUAWJHw!er#w<6+of6P`m8R(%?KO%qd169+o2 zPdp9wJxlXFbD<~M+&aqvo#o-5Z+&fH)Y0BJo|opFFU`}f2htrm((UxqtukL!RnyZI z(l_JNpMulZ%UyI-pZDTlmUN#{?cv?{T#n{kj(1;9(i0?UF<_%#>PjkTAhMFv1vL z!8BZYD)Hu{=-rf)Xo12%o*d+weG-XCCSGv-wI zkHU7OWU(Zo4ErLvk5V=JGuIq)-;W9e9B$}OD*8`qeoq?T>;iGKvfEF3x#Yan2a?r? zVxR+|*h3NDL*Vs+@HCxdEV(|xi;VA0n(~XQ-%A8KmwV5P_s)y&_e*5M6X`z+C%xBD z{bTR>W2>CkKi$Vs-^Zl=uhx20i9e3R{N6(RZfXX=m1@B$@}Qd0-}43D3-#ZN{oYIC z-UGke(zoBMXHFCGKRO(#Q?^h4(w`;x(nRso)PBEr$DO@^cxmFnl?|XYYN055!B-kS zCwD%lLEoRV1Yh$%zAEg7`+dJwZ!V^V=}DO{>Okj>)nC>07pM1MTRj&o^q{pKP_OUJ zEenKjEu;$Lw+o0b@eH`M=xV!xhhog#%g!7wR z3CvU)q$R$Fdv_P3YicLkTOV#$_LWftKk#|p4%hlB2xj>C-fynA!bi-=)k!QcNQ3ZZqBKn#yo93zgAnIEHw za8??n+H=1jC$HkYm!es-bd)3+SY#e&D8p5jr2GSHkfvObL6f0-2xOV24*(_C4FMh& zoo1?tZy)3ZA$~e52qUmPDgePkNEF3zTpkrANdB@a@sc4BLddX8v4-GqKP@6Ch&=Tp z$ujAVE+WdQ{zO(${_{kntSQT;rp}`KcUjrtZ_~1lhtHF`cEFRWs=ifr)2dF=U)43E z%%x;ajZ9rOO|2L}7wt&^?XTy-<=Ijr~Z1VRz#wx@l>n zn2(~ggJ^N&x5F^DYEI)g0<`plSXuTrlTW=4ktJ)4s?jis?kUZo5HPzV7=` z93c0@B=v6hrI_PgkJEoVGM3aVk#3u1YM1IxD-+VUY;S6O)JDt&VTUg zqk*NuN6GiK2dtmQt4-LTgrrpp7e% zHbUyi-jum8P`1FXCSh#UpCtvI*^BrN5P+OEUT>k4Zg{e7(v0L#yOLkeLg8!NCNPtNcUwV=jXCt`IKf{O|qJR8;kzn5QpXjH5px z*8Px#CqlB&3=KVfw~(B{hDusPcs^y4l{~2%qe#XPJ!zCxDQy}5x)pEko36&~O)k;&<3hg6H^{)4&LZ!ug z!BN0R#nkGPkieA1MKvc))fzI7tj+j7G-pHA8Vks5EMzCvh7(nr2-dJ>U!iIPP$vzx zlvjsvp_!7Ktj$0fnxodw4cqUSrZf+lGp?>Id-t@hJu%qR$rqcO*O+a?E;c<%G=!)o z>Kz+Lwr*V?y0@X~od;xg9#dX=kHzX;7k_R%YdW-+QjlCsl`}Wip|!>3$kvk7x`t`7(gKM}GUm^4obXb?7}ei*G>2G6Vu34ZaA?O`y;1 z0$^D406$7iD0$k(kg}NH3we8KVAcZey&MyqCIc>@1p&t7PU%zLrmQ8JQ&y%D$NWENC9hyq?Do&;7S?y$$g~7%oY|?X5bAOt&e03JY2G7!cM7++kfZ_&Mxhg z8#4BupPQSuuB`I4QwEPs(m+99w(cX^t34@hT@Zwd-X|XruuE=&So3y1-#EJvex)53 zKK8*dJTq_vT7X7s^IF%Ya@4qUVM^b-0xjGFobU3!Um%D02ZuePodshdn$v}1og*4E zj|p9n@6 zu1wKBU*-E$HH&kBf$@;t1#+nk)4epN;90Bac4;KwJF~!Yt=R&(wvOmtJC%5C%}l#? zCV5|ZP)Gt^L2fuZc(*}eFWYc8s{<5zhgvPk`*=0>!vfs`zCDv8y8!>Rjr*5Feb zmd}ZZz~@W{|HC+k?_IKN@=3c!8qcK#^qNhxVWp zZr9NSaA}~Q71;3$mzN0=?hZlV{z8c7P>@weK-GER^#h0>-TPU9NM702K@)&=3#Pj` zgw-oV>pb)x^xs|^Lh>Hs_!KgX?qTO0Heek#F&RPC3IQqw?REMIt^4^fniCkou+7EYg2B*X#SJP4PA~e5f``qrMm#6QJ$c2vKgAJ1 z(P9+^!#xdRPRS#}m4p7g!1)W{k4N6~fdREikx=h08Q@6eZE?bXX!;c_?r{|RR@9*p zI2+YXY&~ihEJ3_Dc)%lR_9>L&EtX~tv_KpQkP&B88Oc(qqNnA}8jR*o1|!5C|CbCV z{5cenED7h_?bRrv{y1FdJyvol?)L~(ZIo*I7|Xuod9CLix{%DBl)xg2z=Q=S3kN5I z4WvdKO*9cJ*O6*XmMYy8Z&Mj;fgJV78mL&DsKl74LLBHpoMc>-swRa)W9=)T1&Zka zi%ljM8>FSZW!O4_a^8c(S-ldSGLz20fWwJyjLBgL*|}t*ev=3~Z;o1A8W4SQ-#mtF z5U%Ws^;FgAj|iQrMHSi1EU`6=$(3N)?M>O`d)Yl_)ZNdCZQSYXLxDpbxe@B=Dqgug z<*^iJV2F%FGHI9X>MB>U> z0xR>Z#@mPC zEW`#W@6|bjHZ*>MsKDqwh4ToD_o-OA*t_nn$f=?z<~{FdqCiLn5~r++hQA`G2o|O) z6t-3B!<&+|===}9O#K+@K;i2}Rh4JVo>%6# zlx_kJH6Mz%^UfxCFF?!A$H^-3iE5(!(b#rc4ZGrxV4K8gS`F2iWVcbdrd{-tmGTqS zvUgs0-jdGV($puD&;8Q;jkx}urj>}Zuv)2g+^JPrC05lmUy9c$@g-YJH&b_|ifFT; zf228vuHDMEP+zsNhpYLkP}cWK9e!z=Cwc}Lycm!@9l)n8xut>!wV941-|4bZ2c^cw zHmm6~rja$nJGe|8A`mh)qxIO|v@|v{rQPPk3zGgRV0fgXB`e?!REztoy!2NgO-GC7 zXeroflTS(;`KxEpW_8}BlZ8$M4QXw;N{ZE6!EH!c?no6TS(7(gaTSUSM|5%=U4^?) z)9h-N-g|TrN__`utCKE*c&e}IP>~#0XE=Mw=1IHg?_}Rl&t#D-AEbUBZUjYiKNaoH z)|XC&irP?>0_aF_2x@yrwR2Z?LFUiGbEl3i+x8Xi$W_eFNzD2q)K&`;oWR$DP?kX{ zolY8?mO{3&$WK+tMm@LeahhPANGTcvtjjJ{AYyKSs&@$w;zSGtm4*e3=l1>Y*!9x+3`QK%Wuf1_P z4O_f@Z6A@tE;aZ^EwY>qa(qER-@e+U@>ikJ>V@{>lfG+HH@u$C2qKr)(2BRq(zWv> zq3MvO&Tz}%rZE5B^rG^Djqz{XEso>;jwe_&6sbryDMnLiR<-44Srg1J0~?z|dmoec zC)xHd%o=Cj>Lc>Md=rg}`u=}+ftW^@&g1E-J6f^&Y}dNVwi_xbhnc)b{g(s(Y zdJ-!Sn!Oi)%LxnH8lYGob9c|^VX7OED;t^~SYt*Q=p9s7>Dq&iMz>5Imq*7%HsgZy zmR(G2p-r90cWrZ~+(BCI)hA$}N)vBP1qn>iZWqaC7yVyP2G6>tvWLJ|9V4aXeYkA_ zpY0Q=s}oD_{jny=lcr5Ez1-jlVs*q0HO z42_Go<1lqN^=1k%b@om*kYd%BN?%iV^e zRlU!&##T1tFn^_UQ>;4JEE0;$m*h^BO!aj1wx@hFb&pim*jG+Ncn`#Q6T;Ojiqr}h zZS3&=WU^_%E}pgy8WWIR18{9vvJahpsx&^UBQzPCyPok5>5VQ%TBfuJ46FN0*)Zu% zPNysdsVb&=FYe}y4Y=;*c3+>6T0B>;j1HURFCK2XYA!ep$7UP8kQyS!T?dQGbwLd! z##nBP+$4IL11P06Y}b}e)y^=7w?oee`46yt&qgq9pylOY^jC5HrUnKTe?jeCZfcym zuHO`^bCQ|IR)coC^=`ek@AkV5z8M`BI~{OgjyEU%W0sEeEqoXw0xn`aTVLn6SPGOS zT2ul~D?>pK;v+((M(=0xzx}XE5(YrZgcyj`?j$T&a&9 z1g^jjJlo1K=N&*k1H#`T1f7*j_Ype-^wf_p1W1Rb)?wSVwwr=&lTg&r*>@wO+9ZKA(92)M*SNt0D&o2Eo*7RZw z%xu7oX40rr)wGVK+9;dJaY6QhJV*ajv5Zo+n-`30Eaahcs>f8NX29}mrri_83QLiI zY5V8-feKrlg?j@@*2;{Q}@b`V-r(_z_$Q43K97Pg=jq`!xNP7oK4`tgyJEuY6WVuS#z!^# zRc-5#>qtoM#HB!NHMV$W5!$UNQ;(42lCkH%*W>Rc5APOnU(=WUG#FR_U>6ocBHlnK z7#0T8IxT)rI0)$nx613SAus~{mt!(Eld*W%Z_z|ri+j@XWNLMIM1?%?i9|4&=G_EH zDKvaK4d3W9^g_u<5+5{GI98LnLaEezXSgJ)#Zsk`W>!t&;kZgo<7AXIbY#$KElEIV zQQBRFP#xZ!nza?Gv1Yt@m{OHhOP+Eui)5nx+`)}L7HMbk&vVr)p;|apC*Y-qgW(VY zMFk#g+oeK70tY&>=L^eeXP$UcYm=Zn|{$`1DpUyIxAEp=EFgIzcE6rof;C0xBz z^Wi05!vcRtTJ!J*zE9lHcJ{T?3EV1*hiLY3JRBosDAWZxs&T@Q1W`=v-SVEM06ZLV!tt+PB(#m+?X zWJP7gy2ka+-X_PaYs%ggjUT-Ce8z;uui5|mev#EBo(4tFdHtL{j5xI zDfg;wqbTaIE#T|7I&OJLe68+!n_jP$d_DhQ=y(Fx$?4hX25DZk*2Iq1$UyLXG7S8X zE~=`b>rPWifho{TjRjBqX`O~DK+QCE5vjx6O19*zESHP8Axgyi+HY$2M$c z^lKo?9LA_tOx!|#pYOQ_Ymv7&{}gK}`Bwr;P1}sHoO)8GsxhxC*zw@fTJ_CMW?a+F z&ZRO)sAU0z)SqXuxX8Yesi}g-zCUUDD83>B5(IAI{u3$l(=c92!Szry@ zScAoeEKUI@lP|v7)`#Z2`32!IyW-5EZHj>SCi~bs*7ob`olO251pd@+y>x9o#1*@q z;)E?QcV%mThB)b)iUT8D;`AeU<2c8R)3IsBhqO)=VQ~QeW${L8Wlt8cH{8~S^nT0MMZAjp6J#GEh-;LamC7mVG8@z+EIH(VRE+Hs z9iqB8w^w^wc%W+GFpHLpZh%sODZvV611b-9&_1hlc2$}b{+WL=5IraoPl_QYV*rqFVnDYNIsVKT3YoBDujTxN`P8J`BIf* zQ-$6awZ;JTa$Vxj$|@64&4u#iruwETLmyFPD43G~NC>c78tB&y z;y$!y9nzoX0s;ye;AQ#17+vc}LK;omb(gvy*|Y{=@oQthM}vNQtxu@Evz47Aq!4>h znL*rYj5szo2!5z?4w$t5LP9fnXNeTfmeBH=D=Yu|^U{>)`i_Ldt#hbn|ett zKGM4I%2iq?qO4i1BK!Jx(FxYMVq(+=OUC^8N|%e{59vG~isxCY?x&*UmauGUS6MWj zfJu&SBofJWwAbM_vWGyytXL3A&2pCGHB7S9VzINNg?@TrKLoOGEe!Z|z zLxlUJ+;NEwSN+b$cK)xjI;_4MA8bJ)FGYAP6;hkU@#`E2UaC9Pc%1Y7=(&h)La-Zd zk4i<`S!W%-$UGN{0y-saK@h)N}Iz_9adcOJNz|%6c za_Tf3%mS1!cV2g;wSh>ho6hFW8v2pc>8h)r)=m?0)UK#qbHb+FMU&+hvYI)wHplVu zpMP@KxSI9?SlW<%Ohg&9CjQb>?aNuR(+bE<%UC}aVIiF>6ihBWld_dNrC7FScrI0& zmPr`XU1%<}FE@9yRfG7X&eT(vmzY$kYlG-64Np``fn@CUNmZA*%s(><*zX(2E|x8n zJJy$<&oyhRu56q-D(#EtYml&Qr@>uY5BNFS7ku*1)zr6QBbz%8uDU0e)weG~Te=?j z4wss>cR;55JvhHNJz+X`A^KbT)?9R#$$86>U>*i+)b#_!y^UaNIEOu!4PbdR`hR_M zj$U=_$0v0jy0Lq-(St1i7IYo~jNis}=^q|s*0KY{9w&)XAF@X(2c~$43biL6{=KYs zD}p@Aghl?Vm9JY|e;W_%4_&b`-!um19ht61dwE61g2tD4he(qcSAlC1O zk<2SIKc3A4P^>}QLf5s4M_@6pjI3C)7y@`bqKqA)-}!{} zMo`Q~7Nq$k8Mq%pMx?^{sjB;^O8Ll^`!^0o2OdUOPx$0U+mtCrq=807M;X-B#5B$M zG~M~YH=L`8{b{IPz$P*MaX$SuF~f5{1BjRrx_}XxgbA~N37>?Synq>;gxb>}os|S+ zhw9HNN5ZC7z@|sSZd$-@OTyt=z~M{68Ct*@OTv|Mz&;J6O*6`;!{KQz;OQpe9X^n2 z3kH-T&~B6PACrg|X#=qR1wbT%(1n7?q(Yd5LinV@i6Jw7-hnIdM9B0iZCd65!5nKFBkGC3J8FPTyb6gaR*MUPC)v`Edi zNNL}sc$7pVv`7R0C*QpucovyfagkOvnRauLb~l;MaFNb5nQni8);gK)F{nuInoR$> zNZYfhNutmIncNVw*bt4}fH)1DmfV=V*qEQ(M6B3Ej{J{W@gI6}T!Uh8e<)MOV^d~R zQ`=&*P*dYjQw{%PbH`!}J#wq&Vyo`sKjfym-i5Nu#Wu^NGTX(r*T-O^#kO<+d*~8- zWC{n&5(j(=NAeO!`V;V8FnjJ3C*%?*VKXNwGZ(EAdpR>#BMKMh5;tE8_fQJQ_hS`E zfO-yvx>k{zQjuqViC1@tVq(b$BmiQu#Alnr_qfFOn!@k7#1BN_-!J3?U+RNq9)L^< zfqfc4O&Pdd;!jN(L~b4gP8p(B8lq<&GG1cwN*3lyslQLA6<8VuilvOmDGGJff+#GF ztfq`=E{*D@j2+Jku7t;sdMJ3^2y8d=`FK_scOP03PUNJ zmCW4KD2lYqiuBCvEl-La%?f?X-MFa>_yA=o*@ld2D`GPe3OJ`gJI{WKPzDh^cIk9ih@f7XXtImB;~E~gFv0!Cab zM|^2VLn}vPX~$A3$8su1`@zPmX(yU1C%S1ThiOOPFB2Hcr|8RbkI(+STTGvy{R5p% zm!HiXU(Re-&aqn#qp1TV01NC@3;cA8VpWTBbW3VgOL}yRfl$k~bSth^E53BAp*9Qi z)-sU2bvajc%jN4J>W$;_jqCF2Zn|3Vi}id^)fO_%n$im7CEd>R)%H0U>7fvwLEsK% z^&UR`K6&*%J^cZD^#MQqp;+~y9R1O=&2|n_uW9vh=tb9YMVDjs$$mx0v{kp~^>I#h zj~+d`65yh_`a($%e^ZE5A&|@@5bw0_;<)??rWO?bbPa*#W1Mh{|&nNUIrt;04Kqy1qCoD18rW-S+(L=h!hrm4VbmF6<7y$z>>;BVVGHcxk{ID0?0RVFcj4*x z)aa2`YLRvrk#VXKjQ5}(Ykz#y;ynfsAu^%j1X6AW;D6fx2nzYZQit|ki!M-y!N7#8 z;DD~~fUYlyVO57|e23&I8wY!lUF!W%GXmaI8qec)7stB z`Z>~m+|#Vo)ATs%+&VI1If95_9IFg!o*ipQ-5FlH8Q%KA-s@{Vq*&Ok{xWCEKsz^Z zcs<~K25`nTU?n$jc?ICOvuJofaMw6Nw>I$fIB~SF;Fdb^4LI@5IPo_;@NYbDT(AiA zIPot$2<|uuAv_9=u<$`RYcM(s95e`iKk)K613y?qC!9oS9{JIo1*Dy!ty%QkYXRuB zU|5XcxwUW&j4(WmxOuE_^0yEbwa^p)iIP=zrSUtEwZj}B|Kcov07gg{sDQvmfzd=& z3#QZ~Bp(za&%&l`)vGMvqC5bmqRb}G)1)fxqGH@6uivC9&!%DLqRPOg8r7th`lRmk zq>=lik<_H#;-cOGYSQ}e7%I)C+u)+>=c4n`D3=$b=ho z_bci=1ihvt{ZK zbnUa%fRJ@dv&96v&48;->a+Dpv*m!R<;aljOtamDtKCMkJ&v1I1H0{ts|GHICC-Z- zMT?^dhYL)Lt(~j>_fKXVW@4IqBF1}iPG(YRW`-nYvYLB_4o8L!W~P=G&x#k177n_k zdd~qzMyq>|1~-NY4thHdW_|WGdw>5Qul^SSgp|T0r0yin!W8lSRD^6eoqhg6Pyx!E zA?TbiI<29g0ijT*R)6i*Fn#whdCssX_t3c4;DXn%)Yh=1)~L+Z$e`D#meGhc;-B_H_?;a7XuTn|5x;c5^p3b9?-BAGd2;d~x$O zaN{;`Uwm~h_rs?-A$fCIkJEUNt9Xv1IFN@uj4Qp%V@m*l z0Nc0zz1zP%2-G<`!#&;Cz1`nE-sipE=RH{Lz2E;m-1j};4?f`+es-_Ao5Q)B(|MiW zxu<)&q%S(DC;F#@x}`(9pG&@`Q+nicex`$ZpjY~-i~gn`I^wf=+E+^egaGTezU#k! z2*|w~z&`EQzU|*W?&rSl?>_JMzVH7&@CU!}vwn6nJcLbqwcEk9XS=qCd%@rPyXQN= zcl*J6`@rivzZ*RE2YmHkfA)L7!sC0uFTC-0+_O(s0EmG4uRr^@zx%&G{Kvoi&p-Xw zzy04o{^!5`??3_VoD^Xi%X;i5A^i@?}z`5J5C` z`V=Y%FH@;{aT675R;^pPcJ=xdY*?{dkuEiR7HwLU0R*&l`xb6oxpV2(wR;zDUcGzy z_VxQ0u-&q138M@U0&!x+i$heU>V|P-$&)EpwtN|LX3d)^4=(%}bZEl?NS8K!8g**b zt68^p{Tg;`*|TZawtd_6K+(Go1`zQZcyQsvi5EA19C>o(%b7QK{#=A--qWe84Nx6> zcJ13gOXqGjrcv?Z$(J`j-urj;>#whO{~o^f^zqjQwtpXge*O68)A!%~zy1IP9B?h& z2uumL1QlG6!3G;N@W2R{YEQxnErhSX3jv@|!wz@L(8CZp43WeV(*n`L5lvh%DHK_Z zP{kKzoN*x+C5(~A9BYJ7#}s?~F-IF=1d>REge+1$9FbfSMjlI4lF1j3j50eYsk{U?z0Of}u~K|L!CZPHIgh3V1@Lmd@6NKtj@ z)Kw!@HNI9|{jk(oCAAe-BWtZt)?5pN)mNB;%@x@9dL0(fU6F0*{@7)~EY`hdoo!Ls zX%mvx+9;t7GutYw?N(TDE8R9pajPTOR!-Gjm)&+b{gyy%%{>X-Sp_hlfPD4cm*0N< z{TJYX1s<5-f(;hP;Di-knBj&Eb|nER=bf%zTPwI2tl1)At z<&;$h`IU%Sly_og;foChT5^g&vw=go!>HX@DXAd0Lp6R%_*` zr7k&usja@cb^l4eR!G?z`X4 zTW=)!?tAUO0Uw<3!VNzh@x&Ehobkr@6x?y2A&=Zn$`had+;Sf?HyrcLJ^vi^&_y4e z^wLc~oypEo$9whETX$Ra*SU*b_El-G9rxUI-<|i~eg7SJTyGEl&*6zb@%X2WPaaX` zC3hbB=%t^Y`s%H}9{Y!u&z{Kbxo7tKY`qU(q4CL|(fsq(FD#Ds-G3kc_~oCU{`&2| zAOHOI-=F{f{f~nd>x*6-ERNw*`*gyw95P}hu-~=gHK?@eJ76No00q4*` z4}K7YAr#>VNmxP?o)Cp8RN)F)*g_W;@D`#=AMZFw2OHiHhdI>Y4tdx^AN~-CK@{Q; ziC9D<8c`0mkV7s)H^bf4@Q6{A;uNV^MJryBhjRX)11{vSi(Y)riMoR#7RgvfGoBHR zKGY%|bRh>{07HYo8)F*jSVueF@rP@q125zdjA6vlcXPz!APHGWEb5UCzbK$F07*kR z%)yX&gaaIUNXbZEvWJMIgD{982V__-jJXpe9V{8dQvUFicTA-XOS#HbM)H-Yl%gi- zP>f^9K^c?_CGG@C$yiG9muP%tD={g{LDJHO$&dpxBDc%h^^%k~^yMUV=u1*klaM!*>vSO#p%s(wiBJ|RHr4`X-yo`6PrRrrVW=N2WRN$ ze*qQfKnYq27Xg)Ja z%#dz0n3?opGvx3L8WHefqTZ}% zEP*;wr-BrtCUvJ!HCn_7#$iSrbm3OH+EuT96|7<9Dhzk}$f6?ktWzziRNL9qdzLe( zC8erT)k;#jq7$xF#p^lEna;Zob**KbgB-9bqfr(Uv58e|4wJaVv+=Z^X(j4k=_*pF z-u0tOO{!jp8dtTZ6|hz9=}|+=Suzf`urE67Vp-eTLTZtVUM$-fgX+_#QdYE=1*~mJ zi`mNFR8_7o7pGtPP@1$s3i&{_Zax|Yz z&F(jas?B-gHnQMtC_E?n-72D%xsZhJeCb<8J@V0yVq0x}5t~x}4iUbFZSH>wT;L!g zQjv0Cq}TRqU{$);!9)zOY6l!)RQ}Sx7B-_MIq69TS6IU#=I?}AG|CM7mWLO{XsV(Rj}Bas@2k-!_`phVH9*84Xv@qBYk~ zwK7oi%5E{M_uGlqER?0_YI9llt+@SlaTUGgljhp8nB}*>Cyj259vsH4<~D`BElz?T z8r%jCc%>iR+idrix0Ka3#g9vHep?)m_7)eujhb+gKMx|?r>9xLYNc+m{HdA|?;Z5;)A^hy8uhrV{&Ssa}>t;HBJzHVdbI}uSa)Wa` z-hglUrFs7IvCsUHc(+ifaZJXpH~xl-pO)SSe{!ghI0+nqNQ<`&<$!c%MW zhC^PM5Jr6wCGRZAMm^B6PqsX@on9q-zU}0Wz1*L@-Ym$VY)gPbcrKg$k zk>7mfDu2o#cK-B9PwdlEANyXf`HrQpN+mBD>ERbX;rygA3YTx-^2C?>;2YG0C(vB1S9}84~X_J&%_V@Ov%qYkJaRl|B`O| zV&(wjFOB-o#h$AG1LXCrY4*l!+Op2ss?FNUOy00=1jp>!zH95mZ`$fg%VtmYSg!&n z<^pBO$9C|-#*h3;4G3GS1OG$s9xkqouE~th(5TAR!mY*J>IJ3Fhw3i#G|T>?Xb5d3 z2NQ4si71$aOapn)xw4QxC{N$4unMK{rip8SN)C>;^_wD(tPugfO%TDkF z>F&^0&=0B3(e@DSm~Gtv@$FoT4CBKL9gYT}Zn#oT)6A|7u@2s#5COT)n9Q!~Y;Ost z{%8?br4c8qqeLpZfUNKYvGM}XqxP;2D|&T6*IBX)UFDtF%7M;n2vEhK9IBYkE4_g7 zPXlcb`f%{(qH!a2tr=G?6}Qg!M3NNyt{TJdB(X6iQ4iZft{v~K*Z?smn=KIjzwaUa zO}waWuktMs_inqEat?cv;eHY;%?KkaWeck^D@AN8xuYw;@+-qKQpR#6$x;!A(nH2l zE%yw^%+gWZ@-2@~F0;eLR;<9%5(7i*E)#_=>k{?;vN{TF0tt*S9q`5olTZS4AhGhr z5)+FUb2c~bjY z^3_0$7h%#PZ%fafapE!!7uhWW|LqUMjlL+;PaIP=CGf`lODba#HNmdfbTYX-tGIUa z<*t+P((no+aVJlcHi@#~dJiHOQXUIY1aA%H}aDiLuPMvlDBOwTyF5m`?3Jjwz9@7lo7l_zWLIlF}|TCq1$^ zEzLer66#n@=U5RQr<2qQ^4nhV)|L@B4NO7tgh8=0)~qo?Rdm;wFh%zf*lrU?O;WI) z^Fl^Z8cAv!N76sT5k@l*5v@NWtlMw{*_ThUDg+2_8M&lAmOnz*V8Vf(=>TcAm?>9J#_9$k|WJ6=>ASgXSEN{b{?a&RY{b%R8Uc$bQ(q0 zZ5NG3*Rkpzu-pKyWJS~)a}{i1mhCzcZ*!4A>ysXlRA|f5Y#}sek#+KV)(T11Cb9<%pbe+*r3u$=Gg7KnN{ra!|Ij41JaV2C&bW%rGa7Q$J166VTHVJ*! zVdB2oiQ<_bS^}Tho_G zE;e{Q7z^XqKWLVOEewR0sYFllX&j*j1jjl14a)?@+*Sii)e)imw=pu{eR(_4-V0gFQEjv3JK1ij2$H zjL#U2(U{Iu6B;`HKnE|Jnomq;bd2^fH ujpJFK=b4@f>YeWypYvIt_nDvj*`NOzpaWW<2b!P@+Mo{_p+_em0027)Uw&i& literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image032.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image032.gif new file mode 100644 index 0000000000000000000000000000000000000000..958926a12739051bda14f392b38e5fdfc820c586 GIT binary patch literal 14295 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 A2mk;8 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image034.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image034.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f8a82b0a000c2b9d5dad4dcb35b41e8f916e11e GIT binary patch literal 20241 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 bhM$C0B}G}1VuDHd*QEGn(rtDqaPR*BUO0I4 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image036.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image036.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3107f521e1085c305be8ac3332e51d1ddcc09cf GIT binary patch literal 14859 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 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image038.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image038.gif new file mode 100644 index 0000000000000000000000000000000000000000..d4bc0a0c04964a8f223133d992910ae6ef52ac8a GIT binary patch literal 9598 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 Zj57K8?c|q_lPX-3s*;mJuThZ%{s&i{CRYFe literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image040.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image040.gif new file mode 100644 index 0000000000000000000000000000000000000000..986b09364801d1f740527b00d1b1438e3ff58cb3 GIT binary patch literal 5063 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 IV}p+W58>=uF#rGn literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image044.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image044.gif new file mode 100644 index 0000000000000000000000000000000000000000..569e4433dc8f7a1fbdf0fb7fb20dd9e67d6068cd GIT binary patch literal 96503 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 !A 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

YU~mN5{xVgqwBT@#mh@O4^jk+OXi|kqMSE=ltwa z_#e%GTJOoWj@Y#2Rgo%WiAT;47W0A{jZ4K9+f_azAR;89VveL2@?%qL;Zr5k=8K3& z!r>e6FQZ&5et^iK3zzXsrT%ack5yxQYU;SAg7mgs=+h?M*7>YkZ}=x(R~p zHKXJJPM}n_GI;9HG2t^`ag`8N-+&`Q-5QKasuNnBgH^}Gvd>@YPE@aT;R8>c=co2T zwSX3Vele=yph&+&Ae};5IKtg-AdoIJ=e4zeEWOm%}&z0eylY`KB zP}w5^^Y}p_kgq<-16nzBGscSXc^D?D7;l2O1^=g<-)WM)|6PwN6kGfNB#|*cz){&D zRwmWihKTb64Y3O=0haO&_!fru?p?6=p`va_&JhZZous;~(;)|3f z!3H?^x>IFmf6#xiJ!X8D-Ysy~$Z%XL=Kn4Ah-;m3uHZKG2Y|!@Y-%9%6KhQGsP7bi zgK4LEj~Dxl*U%3yF_`zso`<}zBr5zQ6txiUXdjWExyrYV>%Fn2@X}nVM zr=hPG0$x{ue%b zVtbVy=h5^SZ7+fSEa>0=jK2*!ZzbzZ@)Mns3Aqk(46gj;#rrXDUZu?{6d%Vv2q9txd^P%wXlE8X>wj6asvK@Yl}g_h3NcO(~Tv= zJnbOah{%yQGtwbZLmP2ar`W7t)LAkxlgt#Ft&el|qEX~v>zt}{J+HPQk=dpW`~f!v z0L>4b$T#XaRe~y-Ur}NJno|vxiC5fkOq}>N`;$-a>|f!9^jYOq$3|?leJpIwkix$Jjy)&hDWY+WY z+P>y$92=wym^enwT3~Yv6GHIJ`PaDP{EEEg8LaAz>8g;q-t9DWshH@B$voR(;1lKP zDcfb#mLB4vW9CMkg)j94Iz+)4u(F z>rj9GqKtuP37M+`6w5;asSW-ee2;}RPcPKm`lN3SU9$C0?T)VXt*Iq@H1O-Z_MKaK zK8t_6za|u>f~)|E!ibT!138mMM*BwP#OBthINaR`>jZH+=ca^ibxr@vM^OC6@siW) zR~MllfO{Lf$GMMsrkLN3Zx@l99B(xRO{G^b{*LP4e6}<(0qpL>5uD2XbL}r~l9Xe624(F_ z1qdw!``>g1)k5PQLSx@qFu z56s#r6teEkKouVn(LTZ&$#b7!zeAl`tR-&&bSQs zpzq!jX`NGmX?}UgrnZk9-dEbafU*WOb-q>2?Q6Op?88Aah@sze?#fpW{))i>K>z;$ DSFZ6> literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image064.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image064.gif new file mode 100644 index 0000000000000000000000000000000000000000..c1ff28bba215c871d1a3813d63a14ab9e1a57cc3 GIT binary patch literal 3405 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 literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image066.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image066.gif new file mode 100644 index 0000000000000000000000000000000000000000..e18a0bc362875ed474e960779f0fde806649cb8c GIT binary patch literal 4961 zcmeH`_g@kU!^J^T99>^E%hfH-a+O-$O2uy1v~o5z#jIS{9Jw+T#f1w{aSz;*0}vNZ zmgcHN%(SdTai^i;-V@*F`8VFrdww`SpYJ)JV{Cd)SI_YnkObHU0FI81$Ye5`%^n^e z=5RP8BO{}uqhn)Z&4Gc&(`|K@VJv$L~vb93|a^E@7JadB~J zX=!Q~QwAfWC@#z=lbUL!r@gYGu#r|TNU1}>bko?xO!Y8T;p^|L7 zwYm526QZYGrHd8b&a}w>ezA)s!Raw!WoHA^8s}dd;bvVC=GFApne1v!aI+!$Io7&kkt zmz`PpruF#VJl(hRBi;3cz9NHY(Lc=^h+j)?fYe^F8p;O ztd~Jq9&d{lLygj%03c@iMf)$!v~_NOiFwh37RcsRm&(`UUs@RJQ_>**Y1xPGn|Ie| z2P*9Q-X8)NTt;e8HMib}?ys%$#`}u?*@*)xDo!AdopPIq6jmWlL>(80-isEym5qz} zi|tJIt^B5h#hq)S_} z%1L@_%o2>oDfj7AlX$k{9iZC8bo!%v>N6Qu*6uTzPqHRUvmW{FmS(+#(_FIbkb1v! zoSn8W+#-aK#w;#o&-POxN}e<;fKnMIl!U5? zmY1g9ViC*Y4dL!(=)h;Q1RPRhzA)&PGyp`zljcd4P4n{=eDWu{haB-6UV~TPfA69usSF}*0AjzYSZo>zTW$rsw(~Lq>N>2n3#(SHbR5@NSm_kQ zI+8zt%`Iv{GOo{SJEZL~s~;467T$E7Q@y#?rDjyQ#=1laU1>WmxYG9d+MwrpuP(Q8 z{maem<7ayz0x#b78#!+q$QgkWH@^OJwqWD)9ph2|J}Voq%^#4?=0^Yt|HaKg2bAU( z`(Lcr){q;aYHQe&vbe?Z4XJ801m1Dj9u4AFZS%)Mw->j^5n!#Ii5MC0ok_H6`1Xj1 zpkn*46l1O3=?ok1-I;9H>fPV@u%%rt4y6T|#wbg-9U~H|;qzL}fKHw^mAtpmFzCI% zNaa@VFEwv3?Ju{1TSMl+f(GrYOx1@#aqY{Ju_s?ZB?V7tPv8zV*{(H*TO&TnFSaL8 z5r^ATSRelG?AwRUw}Dm@{QVW1l@5vfCXTI#_m8g{9xU^qz`z5L;*pR^n}B?O7~s6M zoH(;h=$vn)I7YGdoJl*tkQ}vQXMbD3AyOQ^60OAqO6EV3P?b>nFBG_T;Pxr_BV!HB zyW_4VopN>ku`A{8#9`Eqt1BxgzUGFbM5M``lXNor?03c60=|(dkkvTt{@arHAVEN= zWBlFzcCo_QI}6ty8{5Y`lxYb9YRA99xCEW6?I+&5oOT7{dC6J6PxjL_*5jnW%3lh7 zZl83fR+EA@oD~+?T{rowNx{>~vYW!jMt+auKq3Gk71M6B4hQf(=J`_q0MbI<5qz0= z{zC0v-B%qD8N_Qd>gMidJLI~In)5D~p60L~H$BO$&!5q>4`$hY^TW~>T(l$9KR;#F zWfkAVYe(m>oY$UYeY8@!b~g@aB6=Pm$Hd>Dh=9%nrGsq&2D0zFL9(8fdF<|2a#wN6 z0o8Bw<}3*MeR6%Uy0-<@7a)ufy21LI)PVylE=HaLC?Zp~078F`ss&oHzFuwkUM8<-ZQ%&9%$z6U zZxqbkx5>3E+_J*odQmR$=Gg#_?oYgTfpkAO*Q)fJ715xq{6Ws%cap~SveO^k05{rx zRKqs~Z|QbO;>m&ljH9U2X1iE3>*+#6W|fy_r_cz*hW4$oI_M+s#VCA`8kkw*xB2?z zkvz2Jlr?`W z9L83iy56s~Xos(go#k&0w(?tQ1b%VGf$2J}8>7piaRCzoszL1lYv1T2h6C^)XzNM5 zHuA4f$KyRR9h+4()_)sJN#(IYpQ8;=QYQqptbn3F^lLG$7Qf^<)DJGy+9WSb!Jqp( zUDubcq@XOO&*ecY&YIMvVJoM9wulSWI@e_oEM_$9a-h~<>auD}X0$?RJwPdWN!c`-bggQKmR0e?>q6qW?3U7%9^qF zgPhb@>3W~{jI;NX`lYcN*2{ajzc<(x*l68ixZtF)&t^Vos>4=2E!Ev0!k;s6!GIP$ z?DE3Co$9$O4HW|T=P8b=WEn`KB^D4NiV#B>z3V?C)N@Au*xkB49p;6(W~ZcT&@Lit z=;KooGQwSg(dG`lqCf}Zd@XeQAKsFYgZejz@PUSA5}=~;S5n;G>CmrUO~sy`5gMWy`iU>c?Aq|nkE$=1g!>r3=03qx+&@enCxnbHzTC*PD;OcdLb!Sl){2wIo|W|t zEW%pTL;7Mk&9LU>=!c;>$6I%pKHaP7eW4kbT6g=;cCVK_3`@2+Qff19W_0rt-wuUv z_M3EIJC;X>RUt)d*{b|a!8D)7U!kjcM^q!fGw>)v{?gG;YQMI&8h;y^iPuw)czJ||ogEuHh zs7W-Ai&*#+X={R9?F!+6C5haa5gp$ua5zc^tpE+b%0&4?!};x4)DH^Unc#H|7>Ws! zj+c$gko8I#gk@&OC91v2Wye|gA&>ovD|U-Z(v8Qnb#bzPafCwDY+_>BfoN#JL|4G> zptp2T>;vJjU?LK%8+F<(#!MFtV+I?uBjK`f0BEcLG4?$*!q*k?uW(e94(4wg)LEU# zCPG3v_4;LSj5{i!Ul$!KlQgX3dzKk-$0o52jpCT-Sg0bjbP=9z;S^>J1e#Dyh?r}F z-(&|c*-425iEh})HR0&Hx)DCE(No#MSRKqEGbSM$b80Xl7aN-`gPdUpe@7!8&L(51 z3F*eEC}ygsYlJ@)_D0dN* z{cPsr>`Y6yz%i4Q&uWQZX0gZJvjWs}{IX$ly4VF~wi{aF(vJUQ;~Zu8bo(LH5H$VY zA@~PjY?p9s95rh}IpsDwYYU9LEa&eP6!QZboo^aU9?B^Tk^riuMZ05YYT5cZX||Lw zNk`Pdc6uG{wwHR0pDET=FItnYmlk82?u5>NLoHyqW)5~2IOOEMEKm2zF6?(t8>YY~ z%Oeu>@@>@Pr{$#X+7^A%DKIZB!Uq-cz_t;w z!R1nn?oghwzy$|^3kCupT_o33N*bPB8khe|iteE1bCP991p;P8nnZzXzGXHf zfu8KBO1+##Ibe0C6#L`mJSdJ zujCVP&r;L%NX77^42}G(XA)|@AVcyoLtoJ4z4CnuQBar^2tlFu3Z`YshH~%`5D9tK zyFyZ`YI*wA*?3cUWp7-b@o**Er2IPE3!qVKYkQQOr`N3I zl1>82vh&qK?Ir(+mVTs{K4+H3b1M_~5NRH@F1c_iVsbjG=Hx6{@Ueh(eAzWz*_Gfl zR5?Ed>K4@!oVbpTN)fGgBV~EaCwYnzd^8B_!m(kw#DL*~6p!HEV1lbh@w{2xvBv_D z5aRVm#EU&)R~V)5%tFAXB%`2)ouGuU+|U73c^<3$gg)s`2-c8;sCI9Xvn84Gs!VF5 zszod6o&`6>7sTW=#q408=|^7?EAZiv^%PP>9BW*}5>CEOixUGKqG*4Rmtf_R@5Uq8OHpQw2_B4>p!+68=?<_i*LC5LmnSd!e zk7?)WQgZZn+a6>kh!nK~-f1qW6hhZfB43&>t{;xziAa5{Xt>i|^EFS>kJuPvj=~H=yB6ck@SHe^h>eOEo8S&Wb3JK1+tyfI& z-2FPY5Ud@R5UGD+U=V*(fndo?ZH5yVdu?Lfjjx9CCfypSd+)C)wLa7*KH0DT;@nrjJg8V<#BF#; zRPB*!hnq!2s1Y2>K~E)qb2U|HJR_AZqG0q7T!lCn- z@y*P5OfldQphB`c?Phnz^X{zB?(797Amvv6NO$2uH|{j6_$F)4l8Fyx5%XE3W>)10 YtNMUNKHXDyv!~&CPt%Ab5D3u!Uvp|oG5`Po literal 0 HcmV?d00001 diff --git a/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image068.gif b/doc/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/image068.gif new file mode 100644 index 0000000000000000000000000000000000000000..84ad44f134253211a8f05abdb2836d5d327f952b GIT binary patch literal 8392 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 - - + +