From 89fb732502ec1811bbdb7736dea34037214d5481 Mon Sep 17 00:00:00 2001 From: Ananth Date: Wed, 3 Sep 2025 22:58:56 -0400 Subject: [PATCH] docs: upload whitepaper --- main.typ | 317 ++++++++++++++++++++++++++++++++++++++++++++++++ opencompute.pdf | Bin 0 -> 142304 bytes 2 files changed, 317 insertions(+) create mode 100644 main.typ create mode 100644 opencompute.pdf diff --git a/main.typ b/main.typ new file mode 100644 index 0000000..9c8c860 --- /dev/null +++ b/main.typ @@ -0,0 +1,317 @@ +#import "@preview/charged-ieee:0.1.3": ieee + +#show: ieee.with( + title: [Proposal for the Establishment of the OpenCompute Laboratory at MIT], + abstract: [ + The RISC-V architecture, originally designed to satisfy research requirements at the University of California, Berkeley, has enabled the development of fully open-source computing systems. This breakthrough, while critical for the establishment of a fully free computing environment, has not led to the development of many consumer electronics. Doing so would require the development of custom chips, input/output systems, and related firmware and drivers for a fully free and open-source operating system. In this whitepaper, we outline a laboratory with the aim of developing, from start to finish, a prototype of a fully open-source, provably secure, and fully (and possibly purely) functional high-performance computing environment. We also present a sampling of potential related research directions, touching on subjects as diverse as hardware security, homotopy type theory, and compositional design. + ], + authors: ( + ( + name: "Anthony Donegan", + department: [Co-Founder], + organization: [Massachusetts Institute of Technology], + location: [Cambridge, Mass.], + email: "ajzd@mit.edu" + ), + ( + name: "Ananth Venkatesh", + department: [Co-Founder], + organization: [Massachusetts Institute of Technology], + location: [Cambridge, Mass.], + email: "ananthv@mit.edu" + ), + ), + bibliography: bibliography("refs.bib"), + figure-supplement: [Fig.], +) + +#let tiny = it => smallcaps(lower(it)) + +#show "R&D": tiny +#show "FOSS": tiny +#show "FOSH": tiny +#show "CUDA": tiny +#show "NVIDIA": tiny +#show "RISC": tiny +#show "RISC-V": tiny +#show "IO": tiny +#show "ISA": tiny +#show "HDL": tiny +#show "TPM": tiny +#show "CPU": tiny +#show "GPU": tiny +#show "RAM": tiny +#show "BIOS": tiny +#show "MB": tiny +#show "ARM": tiny +#show "ISA": tiny +#show "BSD": tiny +#show "CAD": tiny +#show "PCB": tiny + +#let dark_blue = rgb(0, 60, 180) +#show ref: set text(dark_blue) + +#show raw: set text(font: "Fira Code") + += Introduction + +== On Freedom + +The free and open-source software (FOSS) movement has gained significant traction since its inception, promoting the four essential user freedoms to run, study and change, redistribute, and modify computer programs @gnu_2025. The work of the Free Software Foundation and notable contributors like Richard Stallman @stallman_2023 have resulted in these ideas having a significant impact on modern software development. +As a result, FOSS tools are more accessible than ever, supported by a growing and dynamic community of hackers @milewicz_2019. + +While these developments are positive and broad in scope, the focus on software has led to a severe lack of free and open-source hardware needed to provide the necessary compute for FOSS applications @gupta_2016. +This has led in some cases to great disparities and loss of user freedom---take for example the proprietary nature of the CUDA ecosystem as a result of proprietary NVIDIA hardware @eula_2025. + +The fundamental issues with proprietary software raised by proponents of FOSS alternatives---namely that proprietary applications are inherently malware and often spyware, that they discourage community involvement and impose corporate limits on user freedom, and that they are significantly less secure than open systems @gnu_malware_2025#text([---])remain (likely with greater importance) in the context of hardware. As the basis of all computational power, proprietary hardware systems infect the software systems that they will eventually be trusted with running @zhuoxuan_2017. + +Proprietary hardware systems cannot be trusted to run FOSS software---while proprietary spyware is limited in what data it can collect due to hardware and operating system level constraints, there are no limits to what information a fully proprietary hardware product can collect and transmit without user knowledge @belous_2020. + +Consumer electronics, the most prolific examples of proprietary hardware systems, are inaccessible to their consumers, who cannot modify or inspect their internals and whose interactions with the device are entirely determined by malicious interests. Proprietary software may strip users of ownership of an information good, but proprietary hardware strikes at the right to repair @eff. + +Lastly, when proprietary software is insecure, its vulnerabilities are limited by the environment to which it is constrained to run. When this environment is also proprietary---e.g. on Windows systems---the results can be catastrophic @djajapranata_2024. However, vetted underlying open-source systems can contain these vulnerabilities to reasonable levels. However, vulnerabilities in proprietary hardware components open up critical concerns, rendering all software systems deployed on such hardware completely insecure. An issue in a hardware random number generator in such a way that it does not produce cryptographically secure random numbers, for example, could lead to catastrophic security implications making modern encryption impossible. Developing open systems subject to public review can greatly increase transparency and system security @clarke_2005. + +The development of free and open-source hardware (FOSH) eliminates these concerns and allows the development of entirely free, provably secure systems. This goal, despite its immense potential and appeal to almost all consumers of computational power, has yet to be realized in its fullest form---proprietary hardware systems dominate consumer electronics and, even in environments where efficiency, security, and control are highly valued, alternatives are rare @zhuoxuan_2017. + +To the best of our knowledge, a fully free and open-source, provably secure laptop does not exist. The first project of the OpenCompute Laboratory will be to challenge the status quo in hardware development by utilizing only FOSH components and fabricating custom parts where necessary. The end product, which will rival existing proprietary laptop designs, should be fully usable by the typical consumer and have feature-parity with standard laptop models. Embarking on this project, however, will not be an exercise purely in hardware development but also in the development of free and open-source software to accompany and extend it, allowing for the trusted execution of FOSS software on a FOSH platform, unifying these two interconnected regimes. + +== On Progress + +Having discussed the security implications and necessity for a fully open-source and provably secure hardware system---i.e. _why_ we would want to build such a system in the first place---we now turn our attention to what current progress looks like in the field---i.e. _how_ we can build the system and why now is the time to embark on this challenge. This inevitably leads us to the story of the development of the RISC-V instruction set architecture (ISA), which we outline below. + +In May of 2010 at the University of California, Berkeley, Professor Krste Asanović and graduate students Yunsup Lee and Andrew Waterman in the Parallel Computing Laboratory (the "Par Lab") were working on improving hardware for parallel processing @riscv. They sought to work from the ground up to improve and experiment with novel hardware systems, developing the Chisel hardware construction language in the process @bachrach_2012. Chisel was then used to design an entirely new processor, based on the RISC-V instruction set, primarily for theoretical research purposes. + +The Par Lab open-sourced both Chisel and the RISC-V ISA under the Berkeley Software Distribution (BSD) license, allowing it to be freely used and distributed. The ISA specification was also released under a Creative Commons license, allowing for public review and further research @riscv. + +The impact of the Par Lab's RISC-V ISA cannot be understated---prior to its development, the primary instruction set architectures in use were x86 and ARM-based, both of which are completely proprietary. Other architectures were practically unusable, presenting a significant roadblock to the development a fully open-source CPU, the most significant component of computation @butler_2022. + +The development of the RISC-V ISA is quite similar to our aspirations for research directions in the OpenCompute Laboratory. The development of RISC-V, one of the most significant innovations in open computing, was the result of research in parallel processing and related hardware accelerations. In much the same way, we aim to develop fundamental breakthroughs in open-source hardware by pursuing the most far-reaching and abstract research directions, in the interest of identifying promising applications. + +The core of our laptop will consist of an open-source RISC-V processor. However, as RISC-V is only an instruction set architecture, we will likely need to fabricate a custom physical chip based on an existing RISC-V processor design, as, to the best of our knowledge, no open-source physical chip supporting the RISC-V architecture is available for purchase. However, due to the theoretical nature of RISC-V research, numerous open-source high-performance chip designs exist---they only need to be fabricated for use in a laptop @laghi_2024. + +Once an open-source CPU has been adequately fabricated, the remaining issues are much simpler to solve, the primary ones being the implementation of open-source RAM and GPU, though existing implementations exist, as we discuss later. Most other components for computation are significantly simpler than a CPU core, and numerous open-source implementations exist, facilitating the completion of the fully free laptop design. A similar project based on the RISC-V architecture has already been attempted in @butler_2022. + +We believe also that the timing of this project is optimal given that the RISC-V processor architecture, having matured for several years, is now supported by most fundamental FOSS components, namely the Linux kernel @butler_2022, C compilers @cheng_2025, and even high-level programming languages like Haskell @tennie_2024. This significantly simplifies the porting of standard applications to run on a RISC-V based system, especially when using an operating system with a sufficiently advanced source-based programmatic build tool, like NixOS @dolstra_2004. + += Related Work + +As far as we can tell, the end goal of this project---an entirely open-source, fully free laptop---does not exist. Indeed, we have not even been able to find open-source versions of certain critical hardware components, like memory chips, suggesting that a project of this scale has not been successfully attempted. Nevertheless, much of our work will utilize and extend existing progress in this space---while an entirely open-source laptop does not yet exist, there are many almost free alternatives and there exist liberated versions of most essential hardware components. We detail our findings in the literature, challenges we anticipate in pursuit of our goal, and potential extensions of current research in this section. + +== Similar FOSH systems + +The most similar laptop to what we aim to build currently available for purchase is the MNT Reform, which is built from the ground up to ensure compatibility with FOSS and utilizes mostly FOSH components. However, this is notably not a fully free laptop as it is built on a proprietary SoM @mnt. It nevertheless remains a good example of what we aim to achieve since its processor architecture is, unlike x86 systems, fully open-source. + +Its open nature offers numerous benefits to potential consumers beyond merely theoretical advantages---open components allow for greater modularity, user-friendly design allows for rapid disassembly and reassembly, and the keyboard adheres to the OpenRGB standard for full user control of lighting settings. It achieves this with a relatively powerful processor and 32 #tiny("GB") of RAM, on par with modern proprietary laptops. + +However, in addition to the few proprietary components it does contain, the laptop is expensive, heavy, and lacks full integration of hardware and software components @geerling_2024. We aim to meet or exceed MNT Reform's performance while improving on price, weight, and integration. These concerns are severe enough to make the laptop unusable for most consumers @cunningham_2022, which is a critical concern if we want to increase uptake of FOSH and FOSS in general. + +Other notable advancements in the development of the fully free laptop include work by Purism on the Librem @librem_2020. This laptop is nowhere near our specification of fully free, as it uses a proprietary Intel chip architecture, but their work in implementing and enforcing hardware security is intriguing and will likely guide our own analysis of hardware security concerns. Some of their key innovations include the introduction of a USB security key, BIOS and boot sequence security enhancements, and tamper-evident sealing. They have also added a Trusted Platform Module (TPM) chip for secure boot verification---our goal will be to create a custom, fully open-source TPM chip for this purpose. + +Most other "open-source" laptops are significantly further away from meeting the criteria that we seek to achieve in our design. Pinebook @pinebook, System76 @system76, and Framework @framework have been noted for their open designs, but in reality their products are only "open" in the physical sense that they can be easily taken apart. The underlying hardware components are still mostly proprietary and, in this sense, they are not a major departure from traditional laptop designs. We reject this approach to laptop design in favor of a more transparent one, with a singular focus on maximizing user freedom throughout the process by choosing hardware and software components that facilitate this goal. + +== Anticipated Challenges + +Given our preliminary findings, we expect that the greatest obstacles to the completion of our work will lie in the hardware domain, specifically in producing fully open-source components for traditionally proprietary hardware. In particular, fully free RAM chips and GPU architectures may be impossible to find and may require us to design and fabricate a custom chip or some variation of a partially open-source foundation or design. + +The closest open-source design of a RAM chip that we could find is the product of work by the OpenDIMM project @metodiev_2022, which works to increase transparency in the ecosystem for memory sticks. Their work has resulted in a preliminary model of a fully open-source RAM chip that we would need to modify and fabricate ourselves for incorporation into a custom-built laptop. + +There is also the OpenRAM project @guthaus_2024, which is a Python toolset for creating and testing different RAM designs. This can aid in the verification of custom models and in creating modifications to existing open-source RAM design templates. However, it seems the extent of open-source RAM development is purely theoretical and no such chip has been produced and distributed. + +In addition to the challenges of sourcing free RAM, we must also deal with the addition of a graphics processing unit (GPU). While we can opt to perform all graphics on a fully open-source RISC-V based CPU, to realize our goal of a high-performance laptop, a discrete GPU should be developed. + +This presents numerous challenges, as GPU architectures are highly proprietary and extremely complex. Currently, the most promising research in this space seems to be the development of the FuryGpu, which was supposedly created by an amateur hardware hacker. However, it is on par with ancient graphics processing and required more than four years to develop. It is also not open-source at the moment and numerous questions remain about its origins and development @barrie. We conclude that designing a GPU from scratch would be possible but fall well short of our goal to create a laptop that is high-performance. + +However, there are numerous interesting theoretical research directions related to rethinking the architecture of a GPU that we believe might yield promising results, so we will almost certainly pursue this as a side project. However, for practical purposes, laptops we develop will likely lack a discrete GPU or use a proprietary one supporting FOSS drivers if high performance is required. This is an unfortunate compromise that we must make in the present given the state of open-source GPU development, though our aim is to contribute meaningfully to this space to advance our goals in the long-term. + +== Related Research + +The primary research directions of the software team are well-studied, though we believe not enough research has been conducted into applications specifically related to implementation and construction of a fully open-source laptop. Here we list some of the research that has inspired the aims of the software team. The specific research directions of this team and its structure are outlined in later sections @logistics and @software_design. + +One interesting area of research previously hinted at is the development of a custom GPU. One of the interesting steps involved in this project would be the development of a custom shader language for it, which we would want to be purely functional to fundamentally restructure the language of graphics. We would also be able to prove certain properties of our implementations and low-level graphics correctness, which is not possible in most existing implementations. + +A prototype of what this might look like can be seen in the Funslang shading language, which is a purely functional shading language with Haskell-like syntax and a Haskell compiler. It is transpiled to GLSL, a much more common shading language. Its primary benefits are monadic separation of syntax and semantics, a core tenet of purely functional programming languages, lack of side effects, and an advanced type system, among many others @challenor_2025. We will likely seek to emulate these advancements while adding additional optimizations for our custom graphics framework, as well as possibly looking into developing alternative functional high-level graphics interfaces. + +We will similarly aim to develop methods for the formal verification of firmware. We will likely borrow the approaches in @ray_2019 for testing the integration of firmware and custom hardware, which will be especially important for verifying security properties. Current research in this domain is relatively recent, but we believe there is great potential to expand on current developments and prove more general theorems about the firmware itself as well as its integration into the overall laptop design. + +One of our central goals will be to develop a custom operating system or variant of an existing operating system that can seamlessly interface with the complex custom hardware components that make up the laptop. This involves two separate research directions: one focused on developing a custom operating system from scratch and another focused on extending an existing operating system with specific configuration and patches to create a usable user environment. There is significant prior work in both areas to guide us in completing these projects simultaneously. + +In developing a custom operating system from scratch, we draw great inspiration from the House operating system, which is a purely Haskell-based system that lends itself well to formal verification @hallgren_2005. The work of the House team shows that it is indeed possible to create a fully functioning operating system from scratch, including drivers, window managers, and related software, in a purely functional programming language. This opens up the possibility of formally verifying key components, especially related to security properties, in a way that is as of yet not possible for the Linux kernel. + +Moving on to the second project of extending an existing operating system, we would likely be building off the NixOS project, as it allows for purely functional and programmatic builds targeting custom hardware systems @dolstra_2004. The core of NixOS, the Nix package manager, can be drastically optimized by modifications to the Nix language and core package repository @nixpkgs, which we may consider if we decide to build a custom package manager to support an extension of NixOS. + +The most abstract and eccentric of the software team's proposed research interests, homotopy type theory, is perhaps the most well-studied and interesting of the directions proposed so far. However, as it is extremely broad and powerful in scope, there remains much work to be done, building off the prior work referenced here. + +The two primary applications of homotopy type theory to our work that have been well-studied in the literature are in developing systems for formal verification and theorem proving and in analyzing and optimizing chip design and circuit topology. Both of these are intriguing in their own right and merit separate discussions and related literature reviews. + +Homotopy type theory is the fundamental basis of most modern formal verification systems, and its use has increased tremendously as mathematicians have developed more advanced theories and explored applications to novel domains @avigad_2016. The core idea of homotopy type theory is that it provides an elegant language for designing formal verification systems and writing and proving theorems about phenomena in complex systems with many interacting parts. + +Theorem provers like Lean @kong_2015 and Rcoq @bertot_2008 are powerful because of their ability to translate low-level verification tasks into statements involving homotopy type theory. Behind the scenes, they rely on large libraries with domain-specific proof strategies. Writing proofs in a new domain involving different theorems and methods will require creating custom libraries for this purpose, using the power of advanced mathematical machinery to describe the relatively simpler processes we are interested in understanding. The advantage of doing this is that we gain sweeping general insights into the nature of the problems we are solving with exceedingly simple mathematical manipulations. This has led esteemed algebraic topologist Norman Steenrod to quip: + +#quote([Perhaps the purpose of categorical algebra is to show that which is trivial is trivially trivial]) #text(cite(, supplement: "abstract nonsense"), fill: dark_blue) + +One interesting application of homotopy type theory would be to develop a similar formal verification system, perhaps based around liquid types in a purely functional programming language. The LiquidHaskell project developed by the Programming Systems Group at the University of California, San Diego, is an interesting proof-of-concept of this idea @vazou_2014. + +The second, more direct application of category theory and homotopy type theory in particular to our work comes from recent research in using it to optimize electronic chip design and study circuit topology. A general foundation for this approach based on category theoretic formulations is given in #text(cite(, supplement: "ch. 6"), fill: dark_blue). A more practical approach to analyzing circuit topology is presented in @youvan_2024, which we believe will serve as an excellent reference for the formal verification, optimization, and analysis of the hardware team's designs in software. This is still a very active and highly variable area of research, so we anticipate that these references will provide some initial guidance for structuring future research efforts in this space. + +Lastly, we examine literature in the space of compositional design, or co-design, a holistic, categorical framework for the design and analysis of complex engineered systems. Co-design breaks down dependencies between independent hardware and software systems and analyzes each constituent subsystem independently as a mapping between a partially ordered set of resources and a partially ordered set of functionalities, where order is defined based on some predefined hierarchy. + +This field of study is quite recent, but applications are numerous---the language of category theory seems, so far, to enable the development of general insight into complex phenomena that can help us better design novel systems, like an open-source laptop, in which heterogeneous systems interact to give rise to a set of core functionalities. + +The primary resources that we will reference in applying this framework to the problems we face include the seminal textbook on co-design @censi_2021 and Professor Zardini's thesis at ETH Zurich @zardini_2021. Both provide a general overview of the techniques we will need to formalize the systems we aim to study and provide a plethora of tools to analyze and optimize these systems. As we develop specific designs and other concrete fabrication and software architecture plans, this framework will play a key part in categorically improving performance (functionalities) with minimal resources. + += Logistics + +Broadly speaking, the OpenCompute Laboratory, abbreviated OCL, will be split into a hardware and software team. These teams will be further split into subteams, which will vary depending on the project and phase that the Lab is working on. The details are inherently vague because the terms "hardware" and "software" are poor descriptors for the interdisciplinary abstract research that both teams will be continually engaged in. Below we attempt to give a detailed discussion of how these teams may be organized and what interdisciplinary research might look like. + +== Hardware + +The hardware team will be the more practical and applied of the two, though it too will be involved in highly theoretical research in conjunction with the software team, especially in the context of cryptography and hardware security. However, most work will likely focus on the integration and development of custom modules to support the constituent FOSH components of the laptop. This is a highly non-trivial task and will involve extensive low-level systems research, optimization, and, where necessary, experimentation. + +In order to pipeline and parallelize the development of these complex and interconnected systems, the hardware team will be split into several subteams. The main categories for development will be in constructing the physical device (chassis, IO, power), PCB design (mainboard, SoM), and chip development (SoC/CPU). These subteams are subject to change based on evolving project needs. + +== Software + +The software team will be simultaneously involved in highly theoretical research, investigating practical implementations of those theories to support the hardware team, and in developing software (mostly at a low level) where necessary. As mentioned in @on_progress, we see this abstract research as being crucial to supporting our mission and driving discovery and innovation. In this sense, many of the projects that fall under the domain of the "software" team have little to do with software and even less to do with low-level implementations; a fair number seem at first glance to have no application to OCL's mission, but we believe they will yield crucial insights nevertheless. + +At a high level, the software team will be split into various research subteams. The main categories will be in hardware security (jointly with the hardware team), lambda calculus (with a focus on purely functional firmware), systems (with a focus on operating system development and software deployment), homotopy type theory (with a focus on building robust, domain-specific formal verification systems and languages grounded in mathematical theory), and category theory and compositional design (with a focus in rephrasing problems in the nPOV @nlab_npov and applying category theory to optimize designs and specifications using the co-design framework @zardini_2021). New research directions are sure to emerge, and significant departures from these themes will almost certainly occur, so the structure of subteams should be highly liquid and prone to change, encouraging collaboration and interdisciplinary thinking throughout. + +== Timeline + +Weekly general meetings and independently organized subteam meetings, as is typical for build teams, will likely be the primary forum for research, development, and discussion efforts. We will need to request access to relevant fabrication resources when necessary and physical space for design meetings. + += Hardware Design + +== Motivation + +Proprietary hardware severely limits the modularity, security, and trust of modern consumer electronic devices. To address this, the hardware team's focus is to develop and implement fully open-source, modular, and reproducible consumer-grade electronic devices. The team will embark on a quest to develop a fully open-source laptop platform, the OpenLaptop, as an ideal first and significant step towards this goal of democratizing computation. + +To accelerate development, the project is split into four primary stages, each representing a significant and free-standing step towards a fully open hardware ecosystem. These stages can be pursued in parallel or out of order when necessary or helpful. Each stage places a heavy emphasis on documentation and modularity, allowing the devices developed in each phase to interact with one another for continued development. + +== Development + +The first stage consists of the development of a fully functional open-source laptop around a commercially available or otherwise pre-existing RISC-V SoM. This allows the team to abstract away the logical components of the platform to focus on the physical device, including a mainboard, power delivery, display, and more. Almost all components for which existing and easily sourced free implementations exist will be open-source. However, the core of this computer---the CPU (but not its instruction set) and RAM (but not the memory controller or relevant firmware)---will be proprietary, which is not ideal. + +The second stage is the development or adaption of a fully open-source RISC-V based SoC or CPU which could eventually be integrated with the laptop developed in the first stage. Possible research directions range immensely in difficulty and cost to implement, although there is a lot of existing work to take advantage of. The result of this stage is a computer that has at its core a fully open-source CPU chip. The SoM board for this chip and the RAM remain proprietary. + +The third stage is the development of an SoM which will act as an interposer between the SoC/CPU developed in the second stage and the mainboard developed in the first stage. At this stage we will also want to consider open-source RAM chips, so we can present a laptop, without a GPU, built from fully free and open-source hardware components, fulfilling the first pillar of our goal (and the second as well if the software team can complete some initial formal verification). + +The last fourth stage will consist of experimental research and development aimed at increasing performance and, crucially, at developing an open-source GPU or working with others to create one that meets our needs. The timeline for this stage is highly variable, but the completed product should fulfill the aim set out at the beginning of this paper---meeting the criteria of being fully free, both in software and hardware, provably secure, and optimized for high-performance computing. Developing this will be a continuing project, and we anticipate annual updates on achieving and extending this goal after the completion of the third stage. + +== Integration + +This is a truly full stack project, touching on a broad range of topics even just within the hardware team, including CAD and part fabrication for the exterior, power electronics for the battery and charger, PCB design for the mainboard, HDL architecture for the SoC/CPU design, and more. Completing this project will inevitably involve hands-on exposure to nearly every corner of electrical and computer engineering. The hardware team will also work closely with the software team in creating drivers and low-level code, diving into diverse topics including formal verification and hardware security. + +// The goal of the OpenLaptop project is to construct a laptop which is built around a RISC-V SoC, modular, fully reproducible at a board and even silicon level, and accordingly well documented. + +// In order to pipeline development, the project has been split into four modular phases, essentially constructing the OpenLaptop from the outside in through abstraction. Each phase represents a significant and free-standing step towards a full open hardware ecosystem, and when put together create the OpenLaptop. Throughout the entire development cycle, a heavy emphasis will be placed on both through documentation so the entire development process can be retraced and the reuse of existing fully open hardware whenever possible. + +// The first phase is to develop a fully functional open-source laptop around a commercially available RISC-V SoM. The second phase is to create a drop-in replacement for the SoM compatible with the same SoC and with the same footprint and interface as before. The third phase is to design a RISC-V SoC compatible with the previously designed SoM and implement it using an FPGA. The last step is to physically fabricate the SoC on silicon and install it on the SoM. At this point, having reached the bottom layer of abstraction, the OpenLaptop is complete and fully open-source from silicon to screen. + +// This is a truly full stack project, touching on a broad range of topics such as: CAD and part fabrication for the exterior, power electronics for the battery and charger, PCB design for the mainboard, HDL/Architecture for the SoM and SoC design, chip fabrication when fabricating the chip. Completing this project will give team members hands-on exposure to nearly every corner of electrical and computer engineering. The hardware team will also work alongside the software team when creating drivers and low-level code, giving exposure to programming topics as well. + +// Below, a much more detailed plan for the development of the OpenLaptop is given, split by phases: +// 1. Open laptop platform built on existing SoM +// - Mainboard PCB +// - Chassis +// - Physical IO +// - Power delivery +// - Deliverable: Laptop which can boot to Linux full reproducible from documentation +// 2. Open SoM built on existing SoC +// - Backwards Compatibility +// - SoC Compatibility +// - Memory +// - Interconnect +// - Deliverable: Laptop should work the same and boot to Linux +// 3. Open SoC implemented using an FPGA +// - Backwards Compatibility +// - Built on existing open-source SoCs +// - Implemented on FPGA +// - Deliverable: Laptop should again work the same and boot to linux with reasonable performance +// 4. SoC Fabrication +// - Fabrication of the SoC onto silicon +// - Deliverable: Laptop should work the exact same + +// Once the development of the OpenLaptop is complete, the hardware team may move onto any in a wide range of tasks. The actual compute power of the device being constructed in the first iteration is likely to be relatively low, so significant work could go into producing a faster SoC. Modern workloads can be accelerated using a GPU or even an NPU, and creating an open-source implementation of either of these would represent not only an incredible step forward for the open-source community, but would also researchers to create fully customizable chips to meet their specific needs. Creating a RISC-V based server or cluster based on the previously designed SoM also could serve as a proof-of-concept for future and more powerful designs. + += Software Design + +== Motivation + +Without repeating the information already discussed in @related_research, we will give a brief overview of the general research directions, aims, and integration tasks that the software team will tackle. The primary motivation of this team is different from the hardware team, since it is not primarily concerned with the development of components. This allows the software team to pursue significant theoretical research and invest heavily in research and development operations. + +The goal of the software team is to make significant progress in theoretical subjects that will yield the greatest applications of interest to the hardware team and help further the overall goals of the OCL. Thus, much of the team's research is partly focused on implementation details to aid in integration tasks, while the remaining research is in significantly more theoretical subjects, but focused on applications of that theory to hardware and software development operations. + +== Development + +The primary subject areas of interest to the software team are outlined in @software. We will dive into some specific tasks that each subteam might consider working on in support of OCL's mission. + +Hardware security is one of the more applied branches of the software team, and research in this subject will require significant coordination with the hardware team to rapidly test new prototypes implementing theoretical ideas. While there is great potential for novel research in this area, a lot of the initial tests will likely use the significant existing body of research in hardware security and cryptography. Much of our work will be focused on efficiency details and issues involved in the practical implementation of these ideas, concerns which are often overlooked in the literature. + +We aim to create efficient hardware implementations of multi-party computation models, garbled circuits, and modern cryptographic primitives as FPGAs. This subteam will also work on hardware authentication keys, algorithms for verifying boot sequence authenticity, and secure information access and transfer. This will require the development of a custom TPM chip or similar, as well as hardware random number generators and other important security modules. + +Lambda calculus encompasses a broader range of theoretical directions, including the development of purely functional firmware, domain-specific languages, and drivers for ease of formal verification and mathematical reasoning. This team would also deal with integration of the produced firmware and drivers with existing hardware, which would require the development of memory controllers, TPM firmware, and possibly RAM and GPU firmware if feasible. This subteam will likely work closely with homotopy type theorists on formal verification of developed systems and integration. + +Systems deals with the application of high-level theoretical constructs to the development of low-level interfaces. The primary concern of this team will be the development of a purely functional, likely Haskell-based, operating system. Related concerns, like a package manager based on the purely functional software deployment model @dolstra_2004, will likely fall under this domain as well. + +More applied systems work will involve porting an existing Linux distribution, likely NixOS, to run on a RISC-V based system and interface correctly with custom hardware. This will require significant upstream contributions to a package repository like `nixpkgs` @nixpkgs. To ensure a fully open-source software stack, we will need to create free alternatives to necessary proprietary components and replace them. + +Homotopy type theory and formal verification touch on a vast set of subjects and are involved deeply in almost all of the software team's work. Here, we give a sampling of the primary applications of these subjects to the OCL's work. + +We aim to apply formal verification wherever possible. At the very least, this will encompass verification of functionality (low-level properties) and security (high-level properties) of implementations, all firmware and drivers to ensure the validity of monadic interfaces and existence of proper error handling routines, and, if using a custom operating system, basic security properties of the OS and validity of its integration with installed drivers. + +Work in "pure" homotopy type theory is significantly more theoretical and will involve developing theories for the construction of a custom formal verification system. Our focus will be on automated theorem proving in the context of validating security properties and high-level expectations of functionality at all levels of software development. This will require a study of dependent types and ways these can be used to construct and implement liquid types in an arbitrary purely functional programming language. We will also perform a comparison of different type systems and implement an interactive theorem prover with domain-specific knowledge based on homotopy type theory. + +The other primary application of homotopy type theory is in analyzing and optimizing circuit topologies at a very low level. The results of this analysis and its utility will be highly dependent on the methods used by the hardware team, so this research will need to be well coordinated to ensure it can be appropriately integrated. + +Lastly, we aim to explore compositional design as a mathematical framework for optimizing all components of our laptop design at any scale. The extent to which we will be able to apply this framework and the utility of the relevant optimizations will again be highly dependent on coordination with the hardware team, as co-design takes a _holistic_ view of design involving both the software and hardware components. Work in this area will primarily consist of developing the appropriate categorical diagrams to represent potential systems for analysis. + +== Integration + +Even more so than the hardware team, work on the software team will require deep familiarity with both highly theoretical concepts and the low-level applications that we seek to develop. This dichotomy is at the heart of great insight and innovative research, and it is our aim to work closely with the hardware team to develop practical implementations of workable ideas. At the core of our guiding research philosophy is the nPOV @nlab_npov, giving rise to categorical and higher homotopical interpretations of low-level systems. + +// 1. Hardware security +// - Efficient hardware implementation of multi-party computation, garbled circuits, and modern cryptographic primitives in integrated FPGAs with drivers for OS integration +// - Hardware authentication keys, verification of boot sequence authenticity, secure information access and transfer +// - Custom TPM chip design and isolated components for hardware random number generation, decryption of secure information +// 2. Purely functional firmware +// - Memory controller +// - TPM firmware +// - RAM, GPU firmware, drivers (if custom hardware components are fabricated) +// - Purely functional shader language for efficient and functional low-level graphics +// - Drivers and firmware for custom chips (see hardware security and other sections) +// - Keyboard lighting drivers +// 3. Custom OS, similar to NixOS, but built in a purely functional language with theoretical guarantees (see House) +// - https://programatica.cs.pdx.edu/House/ +// - https://ogi.altocumulus.org/~hallgren/ICFP2005/ +// - Either use Nix, Guix, or similar as the package manager or attempt to recreate this as well +// 4. Nix optimizations and getting NixOS to be compatible with custom hardware +// - Custom NixOS configuration with proper patches and optimizations applied for specific hardware +// - Will likely require significant upstream contributions to nixpkgs in the event custom firmware/drivers are created or these will be pushed to a separate index as Nix flakes +// - Significant patching of existing packages (possibly a nontrivial subset of nixpkgs) to ensure compatibility with unusual hardware components +// - Fully open source software stack (if proprietary applications are needed for standard functioning, open-source alternatives should be immediately developed) +// - Rigorous testing of hardware and software integration and automated management of NixOS system configuration +// - Ship a custom Linux distribution based on NixOS +// 5. Formal verification +// - Formal verification of functionality (low-level properties) and security (high-level properties) of implementations +// - Formal verification of all firmware and drivers to ensure validity of monadic interfaces and existence of proper error handling +// - If using a custom OS, formal verification of basic security properties and validity of integration with drivers +// 6. Homotopy type theory +// - Work on automated theorem proving in the context of validating security properties and high-level expectations of functionality at all levels of software development +// - This will require a study of dependent types and ways these can be used to construct and implement liquid types in an arbitrary purely functional programming language +// - Possibly extend LiquidHaskell for automated theorem proving +// - Comparison of type systems and implementation of an interactive theorem prover with domain-specific knowledge based on homotopy type theory +// - Homotopy type theory and category theory applied to verification of properties regarding circuit topology (https://www.researchgate.net/publication/380151636_Exploring_Homotopy_Type_Theory_HoTT_for_Optimization_in_Electronic_Chip_Design_A_Theoretical_Framework) +// - See also: ocw.mit.edu/courses/18-s097-applied-category-theory-january-iap-2019/63f5a5f9dcb83726256388ea83f91396_18-s097iap19ch6.pdf +// - See https://florisvandoorn.com/talks/Toronto2016lean.pdf for some potential research directions +// 7. Compositional design +// - How can we optimize the design of heterogeneous complex systems using applied category theory? +// - https://zardini.mit.edu/assets/ACT4ED-syllabus.pdf +// - https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/648075/ACT4E-thesis-nocv.pdf?sequence=1&isAllowed=y +// - https://storage.zuper.ai/sync/ACT4E/ACT4E/alphubel-prod/build/last/build-public/ACT4E-public.pdf + += Conclusion + +In this whitepaper, we have presented the foundations for the establishment of a new research-oriented build team at MIT, the OpenCompute Laboratory, or OCL. The goal of the OCL is to develop a fully open-source, provably secure, and high-performance laptop, a task which has not been successfully attempted to date. The development of this system will mark a major milestone for user freedom, hardware security, and distributed, democratized computing. The core innovations that will power the development of such a system are grounded in rigorous, abstract mathematical theory, which provides the tools to overcome several key hardware and software limitations we anticipate. + +Our novel approach to this project, as well as our team's unique structure as a research-oriented organization devoted to promoting user freedom, is optimal for the task that we aim to solve, which we believe is a significant component of the single most important computing movement of the last few decades or so. We end this proposal by reiterating our steadfast determination to the completion of this vision, which will require ingenuity in design, abstraction and philosophy, and likely the endurance of a significant amount of ardor, tumult, and obloquy. diff --git a/opencompute.pdf b/opencompute.pdf new file mode 100644 index 0000000000000000000000000000000000000000..663298bcd47c2214550f10fffcb80c08b53eb79e GIT binary patch literal 142304 zcmce-1yo%@vNjsr-GWPScb5cr53a%8-QC?igaE-cxH|+(a0%{i!R6nF%)FVo@818} zT8~|O9d>n9byanBpAD-%3Pn+I1{OvxcnW{u2Oge^zJ-T%6n-tR!44+>D(6CmoRJ>kNRY zf1iPahlP=i^S{mj5_*;9`j_;-X5e50O~%6VA5MWhe^ufB?^HOM*%?`QSXcn5e+vX; z9i+q04^KkEr0QXBLc%0&XX^}lQgQj@{K^2anL!+3Lnjl^C<&A72Q?{WH9A!j4G9lN z6IByO8xto6WfL|#$AF59y}h-G4Uh*CQ04&l z0cns!pr{=!?49i#NmzJZLjwjx)nBEU)Je2K;j(fwldu362L~q!P=O?DY-}WKB{Yn!uHocHb9h{go6_p0usPO!p;F`F@uN$n46siL>wHz2ao{3 zKMrmZc0hpbRRb^%5C=00BM=nCAn-TaK;i*n z2SNd+c%21^2$<&Y+5xVB2v|)HV4A;~-~bj9Akc~e?7wqx0HFXDKny_rZ;m;cfpopf zak7#C!~=N12`n98576ZV9)Ja82K@@;^{+urpf&(YAO_&)UqLRQQUC(d%>`r*kOM}! zfHmeM;RY?kD}f9G83z$ajt4}bWd^DdAP|q61w^1Ea03s342TD;F(`ikj{`)YbaMk{ z|Axd3sB-~+03Sewf|3pl@qmZ}NInlxuYWD`u#oToD+4&p1F!*~0snZ|LBt7o#REM2 zU2q;w5`aJp0<052pc3JEB~bD40Hq0tzt%7_P}{)G1*{1RGf=g_4GNHj8MHTmq5@oC zVFu;yAJxwcls|C)-8;YrVE((mSeSt=0J=eYk{M(RSfN)tAbp^=fpupAZ8qQrrGo{u zr+^!@iY%ZF2i$o7PB2*$TQg^KAd%dlL*nllEFx!U4|-CU108~|hp)JW zwX=yMaEe$PI-7`^fKEq{QQ%NAF|>hq&$daGvfJcF4LQBT$`Wr;h1h@V zkCVK|l+r&aItY;xP-s(cR{N+M8@RK&P3p=6CDe{$#C?>RriR;AYDASw>x(V4+1Wea zS(epYtxyWjq|tHnaqn>F#)z*zs@{9wy55j z?9X}OkausaR@u0K^H8KZnCxAf?A?r6HQgunPXyi9#^i-XoO5~Qn)C^DCchj%3=8Rt zztGp+^%5MLZGF%(`eAC^ND{OAE|)|kTRY(7eHQL^D7T1wt-B(5X1wNxlzcmMMR?t3 zB!|z4#)RfENX7_`E8X@A^1Q4hhY=7SfYj#Dr*BhTyI*etwSrNM#Xj7!mR^%E5JsTy zeL6kIqLKthmq%le5r5WfS`MPp}dGmvurmu zwChw*v^m3+2=-u`@wBEtB4-REbQU&r@?_8W3ij63w8h%xw=$&_|7=-u7i`vqKAs(V zkwW1jc~?9rhB_-_u5a7`l>^?d!)QaA>^E zKQo}K7GmV3X(;`BG|BAC%XCDpaYnm<V+O(p711lAE2U!$bA6yXB@Rp2xNmxsx zyH?JM-*};0wq7w;nqJXOf_5QS{LlUNjT50|Y~s_fu{-4O#_!7`=gs%WiLO~!L#-~J zL%In>R>xC8<)>4<2PeNEN=^j{aFU2nb-(tOtM7+vCB^2u?RK}aGYjxfJ$U-=j~J~E zrrG=I?V8zm_8w4XukKeK7k#@k^IcO|#iG3Oc@QeIg9Zb=Wc*`8{qtQ9_`dn~*NuN{ zR^SL>XM6ol|8I6Buy6m5cc*`U4-xr~{aWD(r-7;7AVhdn8q1PC+0b43H8KLPv1x!D zkHfYJ8p{}M8P#MpvoIgub5$cNbVdEzN8&vyR7@+Sc%AulALLl2gKYNb7WOIY>64vN z_V9yghlkzs>gJ}^=Wi`H*(zptIjha|Rd5(>8uYW%lk?$n%^5ZMH5nx}nwM?^17^jd zW}eR&UGbw)6iL)O6xbX;qZnyC9(mx1%R&g5Y9n6uOggu=`y+FX?)WeH?;opPGOucP z;~J#c_=OHA$F43+YnX|vIYa%JU1emgGf9-yacaCYH261ClrqsFrSk)$5J zfYMW2UBR=(_!nCW2C=~A z=z1?%i}s|YoryNz^?EYgXmAbB(e>6nLo#K|HI|2zpA@GGx=eYM-mu#R+!Vrx8dv9&M=#KJ`pR7Q^H|PedqT*a@<+(-`-bqqkQX){U zy2rX#Ufc~&{K)G(ZJlZyYW#JhUK#1-F%n2aF?1zz2WRXzseglbLu+s+6}Hl7dV{0@gVGMjSlBs{#=f4uJ!P}T*-91 zn}N7|%3m(7`iee%6}WDzRCuZo=l{04=~)&fX^f9dAbUj?i9lOO`otL~VrTuRhCXZ0?RfriuR1FnSv9#PR_uIAcMW6*Cq39|p(3P334gqPK-JIT@>4Ve zmfUI0Vt(Pkh}9rC1Ii~)L=?|cy*l61@k(rX%*|yQ2D29EDwK*)0%I0^6QsJ*P?rsK zjpqceTU^;KB!tCAH>Jr#AI?>Z5C9DPKhsC)5TQ3Ser4Dhx4qXvZ&leFmnQv^c!!3Mfh>fs_^D|qRx{e9kn@)%!>`$& zi$(W=mKOsLyMkYQz?03~a*ZAjyjwe0ZYk1zvX;iJPq#VNe(`&B1Y?>LK(Nn;>&59ml!_h7hV_`V$O29au zS}chAV?EUjp)f*9)WC1LFrecg38&=j0^X2#LCJ=1S*kZg|3dlVBM)mNKJC~>nbQ!Y zuY{0pXx`}|_yjTuAB{}*XjLp2>0#Wvl`htqh)$KF>TJq%FZU1om2Dc^18o+cAS&w? zohfU_$iz-5AyAS=z%OawP9W$8bdxe>puc2k_~D(KHWkq8sjK$JcIoavuzibuI=J1y z%HAH<@1mRM4e|B?yAW-~(63b25TfY9TAPBVfcO9?u9mH~ztoyl{@0lxlBch&7nFbv&97Y*twQlarT!4g0TW4X z_!zY^3V0W>d$I#vcX+S5?XKqaUKgsR1T!*+VHJZ6j1q4fNNWk!sDxQV?23I6@T2Y* z0-uA5&wJ&B57hS96LVA}Y%`=A7WRT53_|lhPx&%E78VE*T{OXnH()}@JcoOiDUl6*T48^#6-yS206L%<4zv zXbL1X7{VD-cCCqP3$`TWykmyOH8vcMzij!if%(@r5n!${#x+@$gYezX*BTfDGx^Cy z-+zFI*O2hPr`1hUh)B03Fp1{e$+#iXzU)OKd0fnrdIQDJ?D3~vb17)k4S~jQR)T5GWh3(15+ymqcUvS?7peI)1WM8N91Gt6}P_68KFt6aC#(?xx4g#gF4U5&Y6 z?cTD_6Lz+|3!YlHX9=gjB@o1$R^LE)T4|5Wq$QtJ3UL?Xt>>m(+kUe1I(Q&y7>==mwiY6bKZJ=#0@2c)WNZ4%(I=NT(H{5)D+OR{PAk3jeEB%vP#{*1 zG9`LYZ^^R3ZpQ4iooUmN`ETS#=g7k$nZW(3<3iJ8ambgbm&Hn0FIl0$<%N5mm+c)_ zpCe}>J?9L5O>||sPhYJKv6Ob2ecNH@;ZDz57Ry`w%}XpOa_g^N2r-)HsVV2bDR573 zaOp@l4`$W)mGPZh@JDCysShGjtKi6B4Ucbfq1h&KhIpoBzEkksrD*efPlw;CcB&?* z&|oA>QEvYr+vcDWz66D?dbFL$p#HNAIesc~ z3im7-3P$Q#Y|FjoYTS*ku329ABegF*7Dr5l*=L_I?WpbPWIYUc9v3Fk)hX36&_5XH z(Wa1&VM|F>l-BD=;fr~gczk_NJt}SagWqxc7MFPw6A7ESYH_JNmG_CA*z}Xs_Fk|w zwgD0|R$QBeUxrph6`%>MNZe~<1YVOyt8z} z0*VhT>AD~N$!-oaVludg46z!&*eO42aAgEw|aON zu)>70s0}GJy*Kpy)B|sjGv@_!3C5St-~7-gVo8V5h^>UuKktxh$MVd)x5qGc=}wc> zh;sN%_Q)2a$x*rO*=+q?V#k)i{(0GV2i@n+`-TezHFf%ItuM%~<9pgh(N{6ZA8CnU zTRWVYG=tg|MIEha{SkvD+J-(=B1}D-JZ9Zqe@IG-+lCwW3+kEF_1>Uy;b%3;w5O8~ z#LZoDGA8fE2=gxWHGC~jGmA%mgZPIa8LJ+|l|%khGsc8S+S4 zA@W_1o!IY}E4AK)r0I1vwWL4t&{Zd0>AD?;9f^PbZ? zV~2JvSs^X3nEIrJEvzioW%6`wd7xI<6)e4L%6v;2iehw3wJ70-un)_P@Eqe?xO*_FVj(?eo_VQZ0>9eE+TORGN3+KWVPi^ILqO4GhMFwoK=-rh0^9 z3dUH#n&+sS@(6&$gr*zZsiqjMYeHdDUxc7+pt=c41v^tNV_J*$Hxn|=J>HIuMrP9? z8j+jo#%w|o@8(()ZbAqREVSq3zWQ11vj#?CXGm2Z8E-?mzBCEL4>S8T>2iAH;c31n zy~%-253RCp%x$K&w#eDus2q=kGDZGL1RT0Ch`&`S?oM$l3U19=eeJ(0+JQWzAE!T z=?4m0o8kukIlH@^b|5$9dZ%yRICMQ}#B*EO)AJ`+Txq8-g!ejMIieuxO#t^<7~d6C zVMt-feUAlYpU&5vQ?AB!hTFwsWHOac-!k!;uka8q)G z!!o{Ay38`kH#lo6 z^j7cA7KoMGRIe|uxbxs(;{zV&GigKnOVYQ(YV#s{2>RM zT~{AXy%Zmj2yMt*7_n?R9W!3ph#))?Fl-H38s5{;mZSCgEO6K(2hQ(wH=7sdEW?&r zvS@8p`7Tl=#-dBO0X7MndYVl@K%(I+(g7yS%xN!youvY`V`}l8A7^h!QJ;y* zU@*OcdP%Zxi0F~8*wgcvk4)8`=oori!_e3Ah&SYIr)idKQb@+l!z%^_XvGD0$h7kgv8)vV?5SB^ zy6m63dL!T6U(jx{f92LmX7f}S;`N=w&km`&RBIbNm3>K0auIXbq}rIcX2N4ql1tNS z5#%X$ysP+~l!?|Dhf&RLi0z%}zkI@@Kk@bcn%y{0cITE}46U^jtK3|C#cLONUMGgk z756qm{VHDII`J)^rh&3}49wSShxY?b=ab6cp`f;+^Ug0hO}<4`LRW1YtXpQVrh7xR z1v)(Gwm5SA!MF~QY3>z&Xp7x&kjFnf;;4RX;9`R_Xmk1rQ5X8{`|lFD98ohTT|cWj z9mTk|!CW)Gp_1;4F8VEjM6wtydCTN`M;;q_8LqEMB~p>gvb+r1nb;D+u6@fqk~u?1 zwfVm>or8Hl7iJ1Ta7$2&iazLb#WOL86AXv8hJ~6_TwVbLJX^%|Q z0}F(n^R)fE-k^nx+efzqxs=*I-b{T9337$+Qy-Uz7jCZ))<%cic{#Mus&u;-(w(tZ zx>l5igd-Ihq$Lp2h6#${&iZv92QPZ;@mkL1@ManYk1&3f`cCUi+~0?Cal_%9ALtJz z^_|FjI@7FJHa04)&i3AR<__{hIXfdO3!YbUiI5tqAM~YeLSDX6PwN?rnpa*{vt^*8 z+kQ*8Y=T|8NH0~SbeixLJN#p^CBezo8{~bJ%sFNW zeTY_eL<~kh&Wrp|x+R*z@DeyYc41!BuFi3bhhRj6Ni?YKM|!w;-iK6^KCe=ZjG z0;c-*-~CRDB|__WQ?3|}MN~&ECi(##@r`DjQE})}vao41S%z<8Lk`YZwx0W4MywPz zAuNR&a0CI&lImL!*i-7a z?5kSRAhWB49x!5BT#fx#Y$x|E%!vfRS*Itbv1SWcqS#LT^lwVwa1ew=q1jz_)2!`b4g3 zWIzFH;CCr95u@FwVD~$lsDAHT^U|C-sg6&+6B&l7tVh78VIdw(eWEkW# zaeE#fXDt(_V^#;=Jj+sY!-uI41TLKVBR6eOY6Mhy=D~2h&D1gPinAuB#5uzM^b`hp zw2AaoY|QnH-(|w0NzJJeTp56gCl7|EA1IX)!%)fjo1IFBtXn&hUW@_pTp`oeJX@fl2VERR|^;Vl0pXsr^rKz;Fx^Ft=UQk7T9qD;UPfFYS?F*ShCwCc1eW zCaT|sEo^*ZiP@ar{>YN+TT7FpSSqH4#z9z`kF!=+7i*=9-DAnAdiX6dG4WGrQSxzM z!l$;n`LE``;Todl&YX-4aM?<(zYfo9M(PFB^PP|;y=X#s!W0lY#Ib5isGqBfyT*!U z3U(lg60Z@gGTV+!U$Wd zTUAC`J?3{zx&8DMq8a~Zc1KK`ZtA%$eq&aoYI}huE4(?+2Hcu?e+S0zi(2tn!^vu= zi%VZ~)k+nQ##V*GFMw_olLl{y38#@l1MuM+Y^QpahG^!g(q`JYJ7R>gJU zie4Ry4tvLZFeRqC7p&2;!&6!@$6Dv&Q0w;u5A9_mc_gm#+R2x`qg80P^10yWh8^$H zRj3q-?X5VOvFf{YYEcn1C4 zDIygoQG9`@qSvlG z7Xk5SLsX(fI=CT;*?VaIH506%WJ~GfoZ#D&WM`R_czN6L=4ia5h*P~zrxFeew(X$X z`=8RYOmSWMFl`dO0|-f?!K=SoYR%B9u_LhPFB4Gxjdn?5*+FpoF6$5hfdiRsa_>-*soKLI z+CT{WE^Y;!doJw`+j<9S>$-?tr6gv*p`tSB+EPZBqqt*W;kSf8oXmLlcTDTSrb06B zEjWudHA?MJNux6?-^0y=SlgDeii14|@Qwbq>g;q8@W`y3EN{j3kYxrjW7^4e6zEF| z-K&N20g(VvNQ6hznV+0DMlA#(iiS-QL>CO;vl zp*)4EF(7r@k63jX^3>pR$lB&jX=vVQM_OBwCNM}M#e80azU9Ri-JC0*T_R#^Uow)( zqF>|M+an$PU`EjaKjv47W&pFI_>`8mz%`oJwKIQR8?GhYK8$xdV&bs4H}D;>LYhZv zW@sbc&C z^>-H1k6@xnS+qr^{_Vd&vb!;d#6dMubO*_d?+aERKeGzagSya?l5oBVnR2cr=TMXS z3lr;I>c^u??ed6%hD>Fb@ZPfKp7XgM_!e212N)Fc`Ar^~So52!y|REX^wB608d zzH7fbcqaa)TR+$7&=_VnVg=n@VUQB$)9eRR-d49Rs6KH7BiM#*QSdo(!~sE0X%;!@ z$C|4>ZO-gH<;Fk}5qC;pSl@hz@TQTxVU-r{);gy2*<~?-iyS*wYt7=qqIerGhhAcL znj-uMt!F(}&22;D)OF%|EZW0;K?jq855nNc7i62i8Wgp=`A4-Z*;S|$b6bAr5ghHa z4>HuiWsn}E;KI(*C~}vGdPfadt;3f-;%1CKTv?zW?A1$jL0--k#`nWgDRUZWO+Vl&f-&dt%#KxU2 z^^BfbM?jY<8K5)aCm|$%Dh%wM;3r2RcQZ;jsI|oN4t^YV9O$j-f3~Hl+!)qk+En)QEU(5oUV0!_KRgK_rNaX$%7z}7(iJ+5+WblP;vPZ6zd0} z?(JVir(`=V*g>RI$?7NVkK(WJ(8>Mn-7(bZNB?m>HTO)vVw&rnUIZ~L7jM4MvLFzpPc`kxqPCxp#MP|PTrj$K)YYXyD}`s)<` zq>A)1v(rQHvNN|H6gYUF>QgT6@7p)1m=JdQz&}1-LJ&lG*=%&MB3t)v z65oweoI3>Z;IXb4jH7SrhPaB(N+VpbH&3Gv<)PdjST+pk8E~P?7w2n-Wji&#J*8uu zn-*h-e5eQkWBUNcx2k5&fsX8?X-3mxSZ0P>S8m9cjy%ZUzN_*XZml}vxTlLh)ZQ8I zhZiar-8uV}Y<_V*F`X!qz*P#7=`#XF<{Ngm!GSv2D%h7#1T!&&JvTp`Sifqiw1*z3 zM(W}kdp3{=v@rc4IBU6ubI&!cUR^`(shmJ5a9O`>Td(PnM1d;4Pr1Wfa5<=2dEfom z#YbZ)EsI`sf|Z`8J*Tom2t8qq>v^|OQ-GLOQMX@?EX>6@YBgM{ActjK_;uE}v3_Q@ z{&Qr-a|*8cdAldsM%IA7cIPgUK`Jv=TW>An2ZospR8@R&#^q|81yVOxx-p;1@#9J- za~pK7F&`4Qtt>gwC4(Q6A)D)2H^ahp!Zgo(Uw)7L?pK;xPX80x+W0WPmXU}q!BK28 zv@#>nHEe|2mO6URPX57hah2R(pAC)YGc4MoTU&Si&s}$pFYq5ysntnb#~ql8N?DAU zmRx$h^D}Oj@{>=A?tS^uug;3YmL!^fzFZC`&%RV8(JYr#XYq7fVNPGLK?NfEy0{vt z*dTo&ypeqhvofbg>gk4@4Ko1Glz|Ya;;0j(pkQO8C={&w{=K8)kJKKJe?--i;AW%M3CK8 zXTQ14T4pmX|sONfZR)s#%pQQJlrW0h0LdFJG2KQEP3W|=*^)|OrC=N<7r zoMs=DKJ8MqHcf!}Vdhw9Sm(+zl2DKZX^NUH%3BVHoZPJ|o)D#xBb0^Ve;9%t>VPFM%##z{aerlk5&Kp$4>s zGqV44KA<_;1b`QSdNuz8ECO_7|9ki5zk+==^S=YQh$^Uj6#Fj#m%o1hzs0uzXb8Z& z|B7#UMFaguclbZSMgLn&&cFASf@1kMXwLuaIY{vTH+Tzx0{|@sFy;RMZ+V4~0Pq%2 zJ3R>C@(Qy6U@o9eexTd`l@EfofUpIxu$I@BeV~efR(YU_AJk|6w-q1gvIl?`pizMR z7cBBW!&+V&_FrKwudV(-M?cWS51n@Q5YcP%HOpDAy+_nm{;Tq0A2y* z;4gRur2AjNDE3c9NCt%{AXt=*y;vYTOoUH#J0TZgju^Y^&?Uz`& z5a>Pz=u4VK+6?5dBo2FGa#lNtHHKtpRE~)denJiUA*SLO5!=nBk9rIx`;9kG-X)m@ zxj#->9wv3!=9MR+(nR<&eicl- z=&0T6WH7-@bVueNW-a0hl|64Dn{gX_z*wS@(EFo~EySIcx9IxODEF(^%(INre=p)b#nEm-0;prL#gOwseUqa}vudY0zHNzGLE_I|A^ zdJFWhUIx;61|D_NOC#9})|g&q%P2NpKlR9?dP_KIAH@al=0qwqMd4QEX=DaEV+E@! ziV(i&GsWP6h4uZ)aX!wUzBU;5ydY>b>&|UF(R3g1JJJlT-Yj|asb0x>u|ILhJ`;o0 zgGvTF2j@hKhaB<$gq#Jb)eB9Y-F2iNN7Kcq2KD_1UODd2;iQKqN#d z=p6Li_l^h(eLUxgiQtiFY3~?C2;$#JhZ{oRlQMG$kj6UtL4u1wlM@F}-%w1#A7O?` zpJ8%-ewz!&qDbsdK4Su*po~O5i6y1Am&(8|g&Y4FUfIsU46irTbLTz!NAw|G;qN5S zTU1?)N;p!8L)3+E0cOa3KU0!-ph}%cJ`jq$K+-bVQ&BM}4&<{H?tjpcpMnsSnu??? zWS3D)ouW59P~LzTvG7!^OQwX>awLIER@U8K~=e#m>wDIywJ4%n!i+zkx3B@qls1*lnl?VM_$>BgGau$}koujfqzTr-4-7 zLmpr^LQLPFy`ddWoN1*WPW))2ndntzU}W8uzZ6X5i4=f}F6@|?6dZpUH*xAVfuG@Z z;&bYC<28E|Loc_q__F9#(H@F+G0H}Y2n`XlX%mrn=HbBaOQgVTmBP%!MaR)(#1o>z zlp;s@Ee*G?54E=ZXy299svMHDBbfa0lKa9@687Ek-P-jn!qv6@OD4a-ZNAfmRd?gS za8+0^>)TQ0YVrz_kVe{=G^SB>=~OIC>03?Q4B?ZuW+x$cs-~y#EWNJXUjg<(3HBZo z!g?JfWhDAtatZcn<2&M1#XFecP&}H;TaWCvS4SLm%~l9~S81BdxKMY?n0ls;w!Dob zK9A`A;6(aeV{15=IPfc(V=+HQ(e3-89tjwq#&@?b5~14IZ5@2^;wG?6FPfCHI0qcm zv9}PKSu{(oY&@1V>zZ`H;s(bs;Sq4gGv3jUr|Wi2q$kM}ze`VgxFYG!Uh}9^tJKEl zqBEVT#j@h6OlP1+i+zb@&t>MJQ)lKQHx`C{XB^QKtEC6yI?WOhk)M($=i6X?@wKbZ zE6H1}Y|zpvS$$CehEhS$&S}29;leR%<|ONpph+mDwjlp%;cB&Z?UU^H)D+F2;bIK@ z3nk`O&2`crfpdP8(U@;s>{LDtu-O_I~bkun8jdrWU z@;GG4DMzT(6oQjt<>WITZ*~z4jWupAlXC5{S=~m?aX359r zo^Z5+kw4pKx-U*Jjk}+__JxMuhc6{8k)3`To(KNzCiL=aIZeLp@!|(xJ~v_;)q=uP zLzV*(KZf)ZxSnXCpz%s8{)JGF;oiZa0bcqQl>5mn;l(75nbyRn5YY;x2<;G_3e$XO zcsgs&0Lj32%PbL5HOeC1I)`+m%{5nQ|GM|Eh+uU@ege01D8}g>!lE{4Y+9!Qsb2Z2 zl-!{!znL#Sz$?6yeph6tgP0dWI`7qcjxv#FBjgas?N|A-f^^ht>a2M(`qi8)Hcc%( z+-~Bx&!hCx6GYlj($fR)&3cf{evR?laK7F*NF>M=yg^;yMP$%$4|VkKpH>(Uf}OBc z3Xu3L4GY8w4dZTao*K<*#>3V#S zxdbajurN<^3~t=Wv@Z&(N`-U3m~@RjJ4B1RzI&z(+Ei7{%f< zbK^CQoV#CNZudAsWb-jKe?*TlrSyM!8kCsiKdwRO!9P4D@n+=mfi561dA z3G$acHErjigp}7g5OH$zKyR(B>3(1hZ&42fHpY^desAq zF*k|EdcV^Pwt7OJY;n=cYH9QcxvrBO0wGH2w77_qmA4auVpoJ_hw0l$RJndColGBB z(W&4`T7q=Squr-Ahke@S7uHCmB}9%kV4N z+$|raKONzxUX{Q3qvsyBz*!OH%W(oEIwkUC%8_^NOPVo5U6ZGAU=g-M#6+c)51=(m z$=+>H4~6}(qcql_ZM>3JGL+A%zH`0TgJ!5QXdsqW>5bW)pUNkDE^ zGkwfCyG|I8$=G6Sn+7G03pPOQr{#~eJMI9o_ ztN(tZ!4E0;?gw2tXO@IMQH`1%Ye^$%d&}cJIe~bOCNthR6;BbC4~-cUl4}qR3hYk_ zQ^LFf_YU=$*;UntGhQ%}4;1(7*xW3ZaNQ1=@U>s>+{GQ10*qRH3Asg(v+)janQOd8 zkpg9-$6H%g=)a_LX!WoAJN)TF8b@RXr_A>f4O&t_Z6nn*qnlOHZ#kDZ%j?%6$j$8PHoqa%ka!IE>*RF z@;Dhf`7Wb6=t}R_!-sXI;n?fvOy9Pj#VWWA;svQ&kCp0~NO-bq>g?ZVW*U$wuFFH% zNO3yAb~~KtPk#O>AmmbbYCY<9^(#vUyIx`J#F9SG`z+0b{#~jt^(Vz?f6P*)gz6jQN1Mxd zGI0H<@IrHa{0>L{wCCv~tx1WLChfaT1KKaLle?wWUo15b*K=o2_Y6LZ`k+46A;^9; zLJNZX_A8{1e8`wpr{qSBXBcKp&@pa*PZ*nJiRkbtJVMiw6*rpP&T4drfH13S3V&Kd zGh^72tdd1200vF2K~Oy?;=rT=re%pJC*MvH?HY6Ey<9KLfE$QjPpx`@OfUE&3sRUSbb)yI}z(tUB)yDJ}UVJ@ip$4~pI{KX~cjw_5ZFIa+Kf zhn(?kWL0PG!#(q=ENi>ua5)Rg`+6hnIH~A;S!EHp8l=ki#)pV^pXdchPTns5cCZUx zlUKAh~+P`X%CrSlp2#7s& zcHYuyu)Ws-Q%CDE;BDP=N;lB+IxRF@-sLf z^qhnFo5i8xj|`iK6@get| z`rZ*XGot*)%(~zIV&h|$MKBYf^`*t~^HR*zO|53Q>#_bqJJc*;f~P%#9L+exc#lWF zjmTD9>U!10di(dlV>MQl6zXBJo=*lN=S{7uDjzX^`*u9he9x=%zfaB#bv?_v3}*GH z8LcQ$LC*fj=5vLmdIy@XU?n}eihyzQS>k@NODWBq*Wd+9SF zo%U>RcN0Ft-Vcs>aalL=xQTD(es-+-1}inel<;#~_uyOol2vxh7LI{~Oh}?GgwDrfOyCOzLpErd{@| zNFCA$1x#K1e)fguLFLA*!y- zKZ@54P*ZZfr}-kqCdHwVt1!!2U-hu4MAjr)i+m7SCYq#r_rR^!7 zSHzE*79VsCxCNR{|8~7tuVrWy)b0szHg+#|s$XxX-^u zE#VT8Rm|iG!Z{J6znWMCEn%taQrmrt`Q(GPHk|L|s$t=*m98iwTr1M-vOw=TL4hFy z=hjuAhgj#)A&TV@6fD3IjC~4Wo2$I`1@arjwl2@%RDO9*vGX;dI?p$6GLhVdMQu=` zgOD$txzKxj@^-smswfSpDv2;F85+4bok2&%rlH6+QmQ%y-dc}L4^M%lk-W3jIH~qL z#v~lg-48?}nInd_YiYs3hv*Y>LC=t>8((ye>gu=-(3%!=o^_xxf;lgm`koR@XiaHvt^w87`UbVj61rzT_rKs-JRWG1)3K1EVh#+5x z3TbQ9-&9M!`$47@qcBJ*80Ri!+bzwfAcK6VqP`!EIHP|5Rl%^%1*U=qNKCK{vx_RT z5X#QuOw~kpeH8i05R_Mzpv4)@#S#(C&A{MPzujAp3YwxU4Ss(RSbaT7DSVl{m@7M6 z$T0BU08YotKS@b7$yA@J-88=Elc`(-HFK0?(ZU+pO-E7Rh)8nF@HaxPT*;Cb*>27S zfiSNlyc=YN4_!kbD`}#huhKM{HakkWP$7`k?8uemR1BMszv^X->EZEbE>g|k9SQyE z)ZSsmM?qyQh#yDSa*mGIB$pQ*<{vNhDdobeF@$`c632uRDuBM40XY+AafV4HNxDd^4 z&IpxM2_Azpb?UySnA#cAvTRw*?SN^boUvFTi(vJ$m#>)6u>3^B%>ZyR#eNWSlkcwT zIm~iO|W=*o{@RS%+aD(FW+10O%@D-ir`hXYT|Pa^-{`3 z4IRd*=a zZggT(zG{7Ec+XIxViJq=WAar(`y!;~vHe$PX!9uaci?q{iMQftLa>Io?+o3?8FvIH z)zDr67i_C@Fuze*$G(ANa_Z}6M}%*DNbl>I=iVP6=;bK*e9=$Fc}8VMVNSn*x)_lL!2#Cw_Npfnwxnw=x2cLXf z8k2%qf+2~+sjrKeWEP^^#~yrR*W41A{soCk>`Y#_p}z53zqxjJy~@(T!cxznW!YR6 zzFYMQ6gIu1P>b)0MM(2jfogF?aT%Dh!e2U1aP7Zaqi*&@^}ZL#k(sHK~J zHI>PCdrjgS^`?+f@iMqptG)sw>2Up(elCx1#! zpelnGJ6P5f;o6NWIlkKVfd%szHqMW?xW6h!L)mxKRIp;Je=r`>8C6%6_s`Z4EOFrr zkR`S&G}VVN5{etloYY>(Uh_8)3tYtEY7grgJd1jh)4e~nF4Pi$u9+goenb6Jl1pu% zQqgsg@>sJ>zv9!m=T?AKanJj~7hEIn?!cCv`S#yV+14UrOLcfvOn4v-u7#I=&dbsU z)8_^rp_u&<>-$m)`{99~R}x*Ddza1C@9tni)Z07g^-Bvr0wT;0LV~YSh8^}WwpxOZ z$P3I1Y^M~`NjvPOY?B<_OIxmwc@1nZT*#|vTwg6I4p~Y|C}B?d-)2tTz5$PGj4T0< zvPD7A!xcw@UPn5ncCOv~q6A{nOiqp~h}(X30tu<&BKG~_)wV12g4DWFxTU6wIVA(R zXh&WuLy=;;J$Yy(IL}zcO|6U~cJ>|%n+r!QqjZQgz17b#rd^*0TxDZ|y=pnd zt?c{LtMRu#hWavBM?r0&H46JC=d;fb6_J|-F99u_Nx%FGFjUgAe!T=irGnIwgSbr|)OM-ZL zcN32ID&La%Pts54kUiQ_Uf*3YKA{)iFYPbD2H zI`|zOO--?TI}M$LBzq&Nyk=wV-`MnvC!yYjk;M`8k>9r+3(Wc1sW%wgGnD9k4jUEv z#Msw)KcoANGDfop{d?{b51FC;;xmVpkFpdQus`*F)L=r+y)^)nF>Ml{65Ds8AIHGd z?l7s2xLkY75}MEwh*!MQzB)w($3vcqPUxV`vo&uiYU^!H_)*sucE@(ZbU$|d$Qs8tc1E4RsQ4LPn|hVj@Bw!+ zT^b%`!mN^O;VAAkkt_NQ#zaDLH2k*3HgbcEOAtd*;kQ@XFJRc+9p7n}o1g?r4itg) zz6%=1`0`AhNDr4)aR-jRKr=tXZKScnNVb60SaNo+?CtkA;L>7sRCWQ&ajPnrU>IF1 zCi!<__a6dqIW9vXIR^$abgacbu2iZPQ3f0UtK&!<>cD6wplpB;`}oQ_wDs? zX_#*j>b83L>` zwr2-??zz5oKsgIIqJMsP4Z-Wl|wL~`8^%17yq4q_}e}u=j2d_Ddp_ZF8w=9SZjt% zah_G*?yoY|;H_^QcWkAg6P&@wMTISX=6WCb?om9b)62g;Wk91j%@N=X<+ml^uOY>B z+g^K*bw;<`^3w2-=+L*7n||bw?I7gk?HNVB(5HwM+mg_l73FM-j`zd^D%day-~|d( zZ@c-1FrcS5ir7&6!+CqLrWeF7jsvXv3QeY@$7IVJnO7~Ug(jE?U%mn>U~7h?S4`g| z25WwPu(;t3_awi z7F|V@VL_%yg+?;2&NSa>g0p+ZoqGmVIozWn5{Q>lDh;~aiaVoc zXF;=vF+ZGa5Fqn7n|~yzQ}bfgpsv2xb3fxwLm01OVkvlW)YX*)q7#LEJncH zKxu*5PJ02LM#46hg1gw7g21~ZBEimPxyzIvXvJT^X${{JYrO+x0&=VVo89U1{^J!2 z$vW5S!VA}0NvV0dsvU(Fe4Wa=(_No>heasFoQbR;n&HuXbG7kKd~h^s;+ibsJH(`r zN!A)p2YX|1y|C*gmlx~Wj^Nz2#2h)p?ym;HvBt?iZKdCgr+9UFbt~r%w9B7w3i_*D z-OQpU2*nW|dtln-S8J-oK#_&D;CJ}RITR}6x-CvGn}3q8)lt}V7TSE&OX0fX^AW4Y%RH_4Z7EX%JeAF*1TZvG$qWk_Me$0PfhMS zLAry@6Fv`V%fip9Cw5H48Jc;mgc+1kSBfukA5f`*03AVR>so-w%j&A?3^JkXSct<^ zR<7ITg@|OtrX%{&<&L&BIk<))Q)lYL-BgtCX~qeK3Af^^L~JuN*<$BGqjea)##bPp zP$7Jdb`2xoTcCaKth5W+0%qO%(FQ^s23G>Q%ih$?px6;*!s3N7v2q3QOcA@xU4cxl zY(+?jOJORTz$eY;biUh&z6Eth(fqeklM%1R@TlhJL=`a_f^j)^O)lTeQq~cH7s$)` z7csNcMZP2^Zj`f5V7RBRpfB|3`NCp5v{n?bvW8eXg|JMFIFUDL-R?GuhgnT&&{Uw+ zSJO)$$k#JEY#`VW)DsmwjM~NN&akqyUOU6FH;{33`+zb7Bm7eyRBjL(GfMUoWVne* z87y>YT8?v(%D=2Lq096_R42UUU9I>XJNVr&L_KoD2)p>N-G{Lx+2zl!btJwx-G{OZ%~RX~vSFO1Vahh_lH#b1aM1L&6)Bk;k$AWk4a z{gQ@}6;Oa=di+7p3TQn7w`hNlIMFaX-OT+f{|`Z@KN9i~<5_PH30#N`lZv2Lh1=6Tj7EaQVrYG$Te-pPX^c{@k z^HW9a@!74!#AKRqKCoso@_aO-JiqffS#B8<(raW!IBvEP!HwZvUSvS?RdswKcsf)L zEpBz)9(oRfoQRari!4lHm*rC`%PeX$Iz2q~{9r#sQ*?~SS0M-b)7~^6UEH_Of-(%A z0WwyXN>%2$&6!NF1!aVv?-T2fZwq-vbXVP&^ZfT^-Z~*~Ku4FQW^ncU3hGj+Dncmq zl(8x2I+p0v)R-NhKAdCd%;b`;#GURBS5Df;mvAMyfg+5NzYu2#@=SVba;bJNgED55 zAwg#dS@CDikP@G^}!=wh_K2*U>%>R%v1!&OekXsL-cy%UU1p8%;MOz z+?VYptkN%6#Zk!%XEPv+OgNyY6YFw&WqC@VymQI5*V%-5HSxAVrpCPqN-={vXT=fG zv(5IYt`07ViY=x320C*e_~5s<@D6n{*jfPP0wjGXUqW4_cUt3!EBhEIiI`$|{djOg zmAZ-aR8-Rw$R?r-$_pfk`j&H z`}uQWvX7x+u0hT_^zwR+6-_!${UNv5L~fklJbP!pcfzqKwknSEOVN=?nIAAQQDS$g z+Q(P5-M|PJ$&t6Oub0-Awk%zzjV?7c4)k`ku0HeJIGvg)nCp9<-o>$D-3n*nZTrfe zFJNNM&jK{_)^R;7%0;Z!$fi zjhyD@L)A6r>lNqG%c&0QKnl|95qkaxu3(d*mSxl*+I_9Ft&xR#n&LW_+#dG>3dmAkf~2&>!s`UPnbK1m(gTnMM<|+U!*h^Ez#?$%YWO;zk$~QI{1%G ze%jAJf!C!}6yNi!{y|>%@1pAfCH#-*I>0OcT}Joxw%?MJ-+c5p9sYB4{ZIS-`1${{ zTn-?z|2eq+q_+>C;lJo^fLwnhmmib4Cteyz<{ruD$7Jr2ZGKGV9@+FqlKt_0k0kqJ z`=e$&z;^>f20+ok_SE)7vOkj3k0krA{r!DehNn;bD$4-u4XDWgY)?!(fU*Cgu7C0C zkH-QI^SC{d>`%oQ9{2o;%Fe}NAHeFpjmTzSCu*gqf% z1-8e%{9@Xl==LXs{qYmO`1QxW{3^@v^ob{G{jmqXsP)J9JyPoc&kpSQS22dC;rvyN z0ciZ&toIMWZ|470DL;0^a-AME;EFTA$VUJ}+??N9O+f^SM|T`Q&eRZBw@ZLf@*6SS zvZr}EwyHu{_t>`Ef!$$E>PcB$mwoPDcH*d~-KFJxqf=-(T zH*BVqalK-s@5D4Qc8WRo4Hleo?Q zFv3J_>)B=!=SU0oY6#g)l-hPDi1+EHolqBw24_I>;xUJsCxk*~j2@<^6Wqe7aMSm_ z#)&1Y1*hRbmFrLOIppn+#g6ptd=68J@umT)ga@bkLnk;yy02+p5_lmRtU zu)956KD50HpP4Gq#6b{#O}Ns;z)yo1RfMvc6kw(RJH9`5#Gu=|vd+(7$2J9`o7Z)5 zydWSw%z(aEZ_~oJ+je%b(Px_7OT;+7*p*9f*#E?m{%I~kDBVSK83#e?*^y9@{%MA> zOSEFai1O$6qtaA*x;4==7<8KVSZ*F_S<(e0*DS>Q9wOg%Rb8Tm3f@nM=wn9L_(ZSv z=R3zqqLjr7kP3?VKCgp#Ut4H@Eu2ft6Gt31phtv)iX5kF8zdj5UJ})vuTU_M1nCnU zshlg6C0DRPaxF(A6)9}`Z9IA^$GAZ?D=bco<=#RmP~VSIlxnUxv~yvQ1P3g{zkk>g8L8Xmb10Y`fFPm4tsTns`&X5Gm_lG)#}&< z;$I+KT_jG{oqq}{jR{P5rMcoUTYOiO@<^+?7QYgI?&>OMW23_08Rs}>d3#;WMP5Ws zTZ{Hd^*}OxJF!z`Lr!4%`sn%sOD#;L2VIOI*&{`z49(nC&%H%ck2T>t$!WB!N59Ij z${_ow3uEqL^2Wh-$*JdChli=s0+dCCMb*RY=1C0ykM%t1A4_FdXT)~u~=S76I56j;BCp*s=yLX8f=q&P6S7GATiS|mg zhx#&@&?JpwK&UK+9x2T3Y^guTBF|_^yu?@%2vs=Z6yjqzxj3w{I#S$m+|SH_3os6R zCFfEannF%SXeXgV`u@3#C7+C;^<|{ARBSv44w}4Nc2l9~qDFFah|mvzJ}+q%9upX_ z`A83x+Kcu|$MBC!Te!#QCZ_eb20@swbX{~UK7~sj^&e2ykA7s-Tuv>H^5^!{ayRax zWpG^^d3OH7b#q8bXA6UD9$!6koLZTNj~LOt_~WfqU<3|#g7)X32{CyRw;#T+t*cQz z&!6L3SBf2+K;lt5C=V zGwy-10aam1bCT(;Z^evj!yelNitM(OR*~g(0p8^2PKTPk#PhLexamT<`jjI@h$kJA zv+q+Cu}R$LbnN0>y06>_we5O~ow5x%j2~Qwuwfurw`^)GDDTVeby3 zaBUGVKyco?a5w45KHu0FbFh_ccRf0Bc!NsfT5AGf5R${T=DQRQC zFW|#4%nR7@Pl3Koi|1>;lw@GT^@)MldngXDAhufOy zrsX5zZec6wtQtFpzaL+;Q@wfiV#J5N6O7bMI`(U1OcxC`HD@f{D9eJGNj^cVD%S^y zz$VwDB#}D9jJB^!3NczGPBNsznIl3h)%D?;$HZ2-)5tpw3140|B;m&=U|~yI;=(q$ zd*(QY!!_$1^u8szVW672vL#>P;R`*2s`GlqRKX;ogohBF*ubGrllS-P5xC7lO!+NO~oH zsh2O#I^MspCv6xtF-5-u)m>JI8EF~Z&3d}Sy6fbzR$X$)^y*mV5R#~oYNFd>+~GT^ zW7)CWg|Rda>sJUw-v*n>x%KoVEqP$9ylZ_qlK2i|g#Ww+^0@Oeezlh^9^H@U=&>Y+ z$w)i51Q6?t6P*$5;b9iYX+iDFz zja3bTU-rwzQ9iF=HNFv;(a&DE?CCj(sqI0GpQG+!8B|p_t%!_sjL|F&Rj>M3D!vK+ z@O_}oOX5Z4LZX8C&2|@Z!qEsZ{|6Z2GHzZ%;+F{_cjM`8UYPd~Ss$gmdo9w*_U z>5s}9Pp50Adp%vRk({RVijJ~ACMQEl#{B%iqCj=gV{%R?#Wpg8R$3_-G=9$Nrzxk{ z$6T-@B$4VV-=~#`L$bm@h+w2XE!*kVJCes%6S`<47Brx8GBPVQH7FegA|}x;s5Z&Z zY_6;c@^x}CN@CjBfgDDb(RO_)G zl3c*ZXZs2FT2X}sw1iVNV+^Q1^(d49-?OqM;p_3XQ+)9)wv~~FLECO*OeOd7(scd9 z%v7wbrY~`s+7=Q~1#;+;AB58uV7&}qEVj}Xw{eBW!y-3~7u8P&7Y<`hDC;v86oirM z{|Qxv9y z=lfrklfhRdQp%|FQUg>>zbfGqB_@+=@~e-O(Tj;z2fYpwu@~(z9$Y{MMWACvJsfyz zNjf!3hUxjf4C^$r`;-% zlpG?;z;o@g;t8_s|G0%HjUAECsiALF^tmo~E@4`Pd53Z`^_B9{cJ68A>FMdkI;WiI z9B(6|rdlBy9m4#n;TP}oZI~NX-H^9wp_1aTYIL}*$wCER7VtFrb4!}})D7t_RD4^TFiM(uZf}x-RU}8(SZ0~a zDYEqOe7_|Y`B%lDC$o5@`a!m+FJ!__6`sTOdi$X?#)Jj3|KE6%-dZ__p-K1Nqj zpOEwxcDxH*p_s9p=ht{2>R^R#6;EmvGueqUwlh`);*62lUKUT2RJ3+_v9qqNzmyLc|KRd=sbH>WrsIWZ;)7mPVC?P+0FR$ayrMg+UOONn!q|R#=Jw-Yt*7?HrD*cdSKQp*3;*f4UoXdCc+CkMI zK$iJimo}8bsO3+}gu8vW9(Xt`h+ZH6L5pcwfKrw0QXU#L1wVIip!m*_RMCmPt#&Q* z2$mX9)n~zbHVva?nAYhyZhgaJ&Vja&XJ6`c>a)VkW}WPg z?TdwE1Lfq9zE(AeV&J~6w^%kaX%zh-U8M(ACzIJn^77hOfGQchL}tudxUpr*ixKi1 z9x)sT#VeW4f*B4%bneO8nPlxx$#$um1^7yH305VHNrz<@0EBb$utrdWL$&lM1~S^agHtq zC2#*%4W>H9NLpc)vN&6!mJd5r{PR;J*XTos5vJEb)24_!U zWwEz`%1B_qN%KY=&sHJp&+&JV>w=&|5?o60npzr$BePj8IiNWZp@EgVm4bLt|*Ah2|JpxS>3-D8b`)sysu5arLjWh zrcTPV@XCir_KS$rc{`V_5wsk{Jd#dNgFqFE*4FKZR$7`Id;E!|j$p_(e^r`5Lz^1( zx|}EP^0Kx*B5h$dEUy_m`c-yDR#s(>pxAX=kwrKI2oa?_Yd@*3-L)j-=qjBZ_&Q8yvHb&oI~%CBBgb#WjRMUZfku9KB} zeZqsdt+bgl4OtY#6fl|sA*&S&Jiwb-utRX_>$aE@4sHaw>!|org+i>MM=@0JC^+dg zc_FKUX`@zZSYBpCB;rQTh!ffzRX>penqDz&cwvy93xeE%XJG2Ji6a$aEh9y_D`7wg zB5vle)YqR9@Ttm;$NT|xWbN3YhPL+0uw(cS9-mqG zir_z5`uN{66#sPf_Wv)n|A9yhP%D&%30M*YL}Gvd0?eE3(Sc!V*$cLMFC4{6Iai^x!`ae(-z@g=>ghd5_a;Lx5hkhKsr&7p(Zph!2PJJ4e z-|jH{6@y@X^2;y3{X3;oqn|Jc!7KM3dtgBr1Y4ae2vg9UL+uPB-Gp$-L-T5(GF9-t zRgVMUAV~N|haC=a$(BAYWj=I#g}v?ijCyITVDS2KdymhlaVbDoA!xz^iT$+JtS=)> z7ae!_OprE!$b@#TW_{N5K4$os@SDaem$s(L=l7;~0Zpo|`6ArwCcA#m-f$%V_Pdho zqyq>Z6nKueOEN(%i*ACs%l?Ht3=|9s1%;lYBZD-#L*AV(92YZwKp;zTPMC@yAzs!@ zRh&P1(RMt#FxEHec<~&)Wq788Q|NavEi(?spy9tkH!yhfQ{=W8YfV_veoD%B0 ztCpD=G{#&WxV0vEwbvVGHIV+kFd|Uof)E{Vg}(CnfNM~IBapqs9+y%6hR-rWDx~p= zy$=~hgRq;XE6l^dX6Sx4Ywq6O5H=wQY*%l)CBBCtre$j@ZDsezb*kN13(qqiC_f&4 zk&u=)l{_xY4@q{P?}&LB1wrZCO(GweL{o`oWupsRf>l2R3PL7E{#sByxr z{L(hr6Lxp$lE$LP&M6r}; zr9&Ah-|rfT6`dCP`pxZ>8#{=|n0XeNF|`pV^nT8H=Hs$I;_=}*Bu`yR2+}0gH`4}5 zqDbA`(;p|>bzX+tdnZDQNiW`->LtuFeZ8ekI~kvfT(SVklieOaBUkQD6PbI%2^%U; ztVAL2N-ZxnP1Qb_??&u$fhapT7WK(4IK=LpghYJ5aO5DbYw_Dyw0LQC><~4tq{i!_ zz@Px_XCX;QwA7(Q5CP|E-6LMtn_3Z8CrbT6M?Y5bF$M@%goT`Qk2p>tD-*W&5|xXE z5Kj6#S44(OZiNM|TLyc|-`hF8rvfv@sTUqAG>9IsDe~ZFs|K1Y}b{bAlL{dm+EP+##f8gjw zu^*RveyIBtYvrYa$YE3>TA04%F}9FrO(=BeG4hSzn>vSJESe$8&bX9^b4+>Q>9qQO z1so(VxGLuRR}>k-$edUgH>&jf#4wV8iLJqI{pG|^M?w=r2?iXxo$2+VR{hNxRq`1=7|l;G z=Hnvj8l~BzY0XrRgi0(5rhz1+N@wtU#Gg5=9?!3>L0sZ0N%4u@B2r%diBKrZ;esi> zE}Ta?2}l>D)*T$yxOhkuyTtg=Y@EUsUm!e?stFLn=)8{+_JxD!*{G}qr(Q7nNDFu- z`byAaN1D*L*MTMa2=GDb!wN*vfF%Y%$Uf`o9|8Nh>aS=FhRrDEP2KM;?rtP2D5?xw zj`2{n-imUNqRlIM%t`%SJb%}hB^EL0Uhs=w6TE}uj!+75uY*pS!|7HMz}>G{`W4t_IL zls9#PxP+O}icwmfaxV9Dj@pXTqnR{!M%>54HVXVC37Jri{OpFl*!m+}VKcW@*Dq{} z{~%xj_fvl#Fn`Ng{)~tCC%MY+lCvkly+<{`zu>J5tgQ63%x`F(Zb~x%HQE^%AE#s> zCjXvr{e6DM&i?e*V>cc({Q!vKDHHh}-^#{D`-H&$G2!|oX7+c<51>Q#kH+#^T3XpZ z_T>M|A&Hw8}yy)w4ITvIGwDc-%L13bLZVUIQ=Q zkXz^g)u653>X^Ff^H`YJ(;DbIPyqi1W-4I&Ye8v1pzVKe3y7Y97R1B?peVoD0%B#P zWoCP7`!CvJsbgtx?D$X2`P)0Be;K8J;TlH3A&ksyYydmJ%mBEC0f49(nOJDq8J^le zAiy;YY`?@J|6SJzTghAf@{Pb7wWq}M4V|)zDxiNy%g)Ne258+evar*F=-C0n;>qQI z=cYgUPVg^JIYySpQ;r4Duw!Cmqh(|TjCcgYX<69W9+dzY8E9FU8UDj_?tfqyFsJ}R z`X`3{(HDt-Wf&vi5_WoE)BqHOi53Jn3;;!#S!kJASb%SDjBG5ltboH<|D$W^e_$6A z6D>U>^PkxDM*;C)*~Rc^7waP+0|W~Y)04XZvsjp(n&@fS089U~2=TA2Vqj;XWdh_= zff)BVet&x!0yNG4K3XsUF`EhS4B#yWAV&N;3)vWfv3v3sJu@x)|G`=K$hfinnYRGZ z$$!Hx7A7D>Jdsi$CR!kLJYHR_Kx}7yY6AiYE8xQay1$r#2*UU$VFL&&|9iXGK(wrE zkM07_1UA51042sk3j#g0&;x-IuoHM10GM(9d$EuK!~hK5pM(tNKa!;VSCU$zGj2WI_KAN@Po1QU?8JgTg+GSM;sX#+EWvC-4g z0}pDj08x+?X!x%f!~`hYvH~;7qb+|J9{!zVf|-Gx7MN%s`8!r%o?rrEIWrS8EgOgp zVE;gjK)&~wBK`O5VE~T6#0p#}kB9iXaQE+I6OWw-PEjTX23q>3ERUI)5pWW~DuQU4 z{^Jzy&jR?PYgpKT2?@jw(3*c_%fFLBFav#N2WC_tqhkg*N8oy40Hz}#R{@M;XZmlQ zX20b`|1=K#Q5cZcF*0}zP0~8HkLf;;ZT|(Hl`zmZ(Rq>qf1JWt9#3TUUl27v@bv>g3rzqCCC7`r!WPszXRo2R@P`1Q1U`zUD)yzNoX`03ZL z{O)P8lzkL5er$XS#lWwpgFNaOKQ%sHFhJw4y#U(9z+ZoZoIdsGA66Jyf$@K|@?R}P z9cV1Y5VOj9t+Zu1wOlT}R?j{veA`Y9ZM5nQExeCC@|zxvp%+_r7j*@rC_ZCGToU4J{WiCdKQ zvXSOfp$RwE%0hs>!RwIQR`1F;W|6W#isADFJ*ihsvQ>C?C8?CG*6@4S?;@`D|o zcEnB=>Rr$S96P?_MlWqE_@?#N9iJykV%BHzz7d%r=gaD2t@kdP5=u(RW1=rw%TK^> z-H25;IbA8?YvM-M*wRMY)i~EFcYQ9pX4AKiGGPo1M{uc6>NqQy69tNmOKvd}=yoT zgApJlZl@7tv#K+9{5@ zZIWr@tT<-pBtkn7jB8vb-x&Pl5`O-IBtXsxZrWK6ZWDrl-`sQ?=9(YhPY;#gqxDpR z=tAzr7dHGiAEfL>aU22?N0o#8e^3i^bP8nQvQ#8~fM11Xq00kTdJ(_3wZ#@nfjU)z zO=lT>fGJ-3LDTc05Gui{Pn{`S^XMuGoYVFMfsvGef#`w71<^k=?EV$eZ~&ClRkgJH zgMpc?X%8sAk`e7^fSX8=!Zme{&-@qn6^^;vP4rIrK;_Xm-YW}s$GKpqDtrxvNS7jh z_)aw0(hhHIdJT`|vqRlM=-GbJ3o4%g5`s&bP`j@u7e9q*w=gT|U=vkdFzF2wEQ?Uz zd}lF8#W$>j2naZsoqTaDRyc>~c2tEED;aPc5gC+_$mTE_&41P}+S@K<*ux@VoGRkg-HS&C_* z{ISyNDyiRe9w7BOVL}EU`gv)4@9l&phbnyi!TQ4L^(?T~Wxgr>lZ*D+3GbVtA&1@g5BEw&c6Gnrd+ z#xcz{rpr4{;Gp@gehkA2l|*dv_d_s8ttOIJ)T0wuKcq5e;0-9Sy`lbG&6>83?v?kW zIZTy2HCg$yFZq7=`H^3hD%MK)axZ*n9P;_5-H9f?Z&_%>peo@{i^BFMSML-w zCG8O=;srMiHr@q~irT4uZBJ+3KvMsr%%~R6QmnI&7>GIrS$MxkZh#h^T>)X{kk4D+ ztI?~xsIkW3#1Qmc$Jvy>xy@ad`ev+T!qHJk<%MyIdJ70^XgBJzxZ zh}njV1R8#=ZWk!h`05py+ZSGNUBO!YylxfeG;$=eUZh*)-2D%7A z@C}Dg88N+rmN*kH_591wdjzse12M;xScftD--+^ETY`dT{UD^`rS95Brn1 zuP9F=mncst7D6djylUr+8xc+>5R1%xfvn^bgmwGFCP95ybMc)7$2`GosOKuFJPr6{ zfl@glt4W@{GJIbGY$l}&p|77j_F`Ol3)Wg%M-a#I@gOu~s zSBmL6qvE?PZoKrA5EK5aX_^a<6qFj7v(Lh8Ql<;4J8~-y!)h&>>B1}FLp_J#e5^V! zpN>JzzF{;P=ouYwWmH;)43wT9XygMavIu)U`!oyHQ>D8GiBPe6X#ogoZqr7jSE_Y- z(x*MoZyYKN@DB>CltdqfYQ8!xjIE$D>lw^7q^{Gqr4+OWB(Xbl3m|^hK0#fNEZ!Fg z**Eae)x1~6i9fDJKau}hj~<_z;i4rDH-njE?ln4x_fbdLroR(9-A+j@vz-a^=!-GU z;DaQITRjaLv#btBipnPzjjNADZzCkkjj!Zr7EetEtzT2^%7al3rS2nbGlckLR4vRN z1%i!^&f1LfL4ZMcSSEMQ+po<8sODS-IkpOV*A$Vs);dIH{gRKOMk}mN_65nZn0MFp+{d(^QFWW76v>-a z%EVA>GCBUWCyZj3T7 z?7|C%5=P$7yv;wGj8d~;;gKt+E8lL(i{sf?kv6Zjxp_&-4XS`n;4>m@mrPfz)nO4) z$QMu(J|n)6>-ye}M_{Xz|I!5tpsl%v?ke6Kf)zFDhf_~VJ9sJZm6+~*-6M}msk$&5 zl{~R}k@MO@X(oV-07Y%h46QpMJ|;Lu@Mf)yZX9uvEmRVm?~KNz`iJ=h!bgo=QbXsL z#ns4&G@WqI;cIw-lA(TXZ}p|%Ga=Y&Ke8b$O{B&8zi(8<`K+TG*LG!xzqp>X>2>Mb zZ_X4K4zV9zjcJu_ehZziZt87$;R)H!M5<=BYK@gwuVmL1Taw>PU8})PE*+|yCwj)P zm7=W+jd~kkS@jL+JVi2TDS@3Yd}8~`sBB;alLy?Gb`l3e;nRheKSIYP*9-8Iv>U9D zctV8veVOumBEk|GO5Gm3qG2T)Oz8+Hqqj+lW#U10kPnx+^s?@`dFZPaSy$4lBW~fs zX~sV&j2e&Ks8NfW1JN-XY5OZ!^ZHh(gmTleIU&V+-DBUNrW^eHQ0RW4b@G)s_eQTx zX4!Qy6hl{?0eN}9f0*6)Fe>hpbx61@Ze1LKVXQqs=5lcOCAaX5#xB3R)PT0IAgJVo z|9yv+p$MSjR_7C|gUX#>c&jf)yZp*#ZfK=E=raOB&xe|tpdrctnFFe@cR^wh$U=Tc znhPQ=a9yab%~EF2W*S(ZQ?aJpayr#%@%CP3muHQHIfg$Y*ISM27>9?>Ma^dl-ox>-;7dEP4%G&V;VA`L8KVU%2pf-C`)MzEi>S>5PK>k zD8f!tJgO<~z7ybhSuC`=YA4h6MKp$=&|ej%pfdF$e-a)_gC z{s-oS_cQ@!guxdZk~j`U|oGXKK^8@vI)nGgsA`Z9UR_ zuY1cE=g4Nj*Od0B`QED&PKOO+O}<4Df1@o-WpQlvlc4E4xK7cV&+yHAK~>G%cAeyF zAZI-4Yr`Mcx0@TvtCt5iWW$IqAHc9MOo{cq0)pHe*t!!t#`^8AKW=6(*dJRq2<~QC ziy(9-OetY(pS}%stQAjXjZVDC2q@-V%kKXf%h=`&7P?79Eb#Dn(4dLFn!V@&caaXVYg`9L^J9?Ow z17y;WEQi9NV97gNFlQxxI*4 ztLtLO&oE6T+O!szZiB`J$|oQ|BVgn!$%fvssm~`-C#dV{0)i`EpcrP51mxBHXaHQv zxKL7TE5nx;XQt-g@=|h(UvDTEjLd1j&aQK~3je5IADgl@Z4G?!r+`N>8K1Ud%x5tZ{Q<5k=YX|3}+hM%A_b>4L`H65QS0-6gmaT!Xti z!GddWg1ft0aF-C=A$V|i=|%qCxB8AcRk!NgI-eM97_feO%35R3XTFoWqO*sy8{sPf z_68&M2CkQk3Ry^h4;QpL>}~{yT<5pj=G^_pScb4q1xb+&Ha4W!H{sjAv83`o)VC}A zil|K738gYp$;77OuRz)STC|k;vF3(Poh&r==p01U_b14y(l|2}f2C9OX)MnK>rG-R{DK*sBU&2gH>Meym_0}xFt5&iV8giQ`|2G|I4VFFDwg; zeu19Vw6L|wZVy{jH;KlvK~+npyaU7ujW6Uam3lJzP`I^2%}1JEUSI)`CuL@yYRyAU=ELJ!A~O+B#Tf5WArS*S_-LnNGKsHmX<9 zE=AbVwu|8-sxWqCyC%RZ-q55G6w$Wmw6Iw15T$$v5xDtkTtL&fZ|Y`T(I~DiSiDPz z7FvOJuH`ix0-6PVXL!Hgkl15%t%s%=ZMqxsDb3DvMHCatjZY2jRI7!=Z%ud!TlOe= zqnF1$v&8=jA3_}bH*G@cMTfHb$#Lvv+yti13}*ZI(HVGX+bezOi0q& z3$KOSL|{HYB}IfR5GN^~LteKY09l7?3KCce`H$2Avf=UevF zO1AAiY`Bl^<;ZGinb3`~?c`MHTh%AZ$AkWJo6@=T2$CD>JXV9n5G#jH5AWw%VDj}w zDpr};5O>fM7TAN#W*YhkWV3!su1hj3_mLm53`ls*<~o#snxj_zmW;^YBnwf}d4OOE?vX9S6YM@uv~75-=iwj9-T@`P{U z62}ZvlL)KdUP$H8h0UmC=xE;Kp;4VPol$4!CLl7>&8#3TL;43NEMY$QOK2Y?7ICGy zR`@1#y~`!-cy+knzm6FwA7?CU53`j#>z1jaWs_qdkT`x}%*<$wgBM+^RP^|0Q=;|FWKx8Q-tU(h zBGimi$jgk-d;01Y2e_>3f3Aq}1F>us$E|s)Cn7vq#FIR2ZGh^`#zV+3O}?DBft|ys zD&;Hj{Dp9Xj-HrzOgvm$k;%Ke|Mkl~R^suPZ|!d4bZR|5PnNZx0;l84-EIG zLQ~?bV4t*c1RZsh=wG7yE?Mp53`(Ckf;1lJ!AkguSddKvO3V`3IcJfc_UiQLRLU9W zZ*9JoH^HclD%tT5jDp%8=2T>hfkNU<8e2?cBI`Ionk%Q062*_?1~qs2U$Cr$i1&T$ zxL!0B^rvF*AIn`X|J;h-=n>%_fHiaJh|oBnM3E%K^;ONgRQ6TQXc?^2YoXkTrXxMZ z(%mRtwA#$ZW(;rM<6Yj$NI0!Pb!28smt&gsAzY+-9y(%;btTgm+vX;^F0vg#dcxJ@ zB)PyAIw^||{RzlKTQ0%$sOA9ZweX^*5qqo5)>Pf}uf$N&N9LEDarE2=6+!Rth=y=W zY*Nq{=zPm#+c1O+={rrqg&rj#R$E|HGhA^u4dTA>OvOA)2+GO`Ct6MEHnuZhQ*IQ` z5!#hlP_NmV_*{$d(X-7q4{Hk-I~!ZT)5Ikn5;7YO4BUlYYodDazld$_EM^ewCyyhf^tFOZ#>-PtOT;<~D0}ace@zyTrKozY zD(oOoT!J{DC;K~Npl#02$uvxxA%@q2Q|0yY;-^nd+NdQ9?eM|%Oe9MuG+%=^f~C^q z`7G>vna-1oK7(MU2dtS&g*e*LT$&}Hs*GZWNvg^O3IALzsV`U+o}DuUC3OR7cW~84|gmkrMIU8b#^SBY2lmJ8rg8*xOQ-73oRVK(gL{MKEAa z;!`2%zMUPLRN_oEJBuAk?tf4ZW5wNi?Ji9;<4VLq-hzI-5hsu-|J35NQR(st!F-Eo zsDKmJJ~EART@2Zk)E08*MqJ^^v#cf=?&)quPmZP`&ToQYH|sNh{dZV@dsLe4h+VAj zvo|h*k9n zll+yYDDg>)0oe73qtQuZ%~r~^xZK-dSjIW!ybu8o0Tb;L0UMM1o{s)Gf_V#W45N~-I{YL9XGI|qc)fdIWyT`XAa0R| zbW=&3{oZJSO4mNRLI6Wp8Ea@o8@k8iGR>*8Sbdqggb1mux}|%OX-wh{+l}T#0Y%Go zhjN1H?W%M8x`({3^+#q=__-aT*~{lV2BPPFes8vKXD>sFv8Dw}S*01J4hS2u$Gh)s z$coBqM)rd(TK7qUWJXYbKiUkcD4Kc|edfpZ?%x7W>_-7-@1R-Sa_!X#!Ilmlal%VRv*f+*Pyx7n~NK1)xI6_(>M0c)U zDja2Q1mY^qH7l?RzPQ|E)uf6_K_QA9ovO;J=;^&K&nwH=m%E?%`9Fk}y%rB?M znxafAIdZrNueFeivTMW^F|E!JG-Ls{*>>1-Hj7%Aqy-y0BUE=g*fOI^ zaGdp^npdwf)~DHjjH^w;Y8R7f3v@<8m0?6)FZt28KOe{Iu( z2CWa9m~88G;0YIJy-=<&Z{lRn~DYcvX7 zIPRW_Xt&lL4+Bg)&8U=VYtMy=aoUg{4-_)gvDjN_K{+82vCx$E-G6SCUXIC!xrS`R zoI4T>wK5mZ!-EeIGr)ikO{~O!`F)p5Cog0^M;JQz;(|V2`5=#L)X8<0b;R~_*vCjjx&CGBJ!iv(QTT9#3>2TwjV#it%?qqO zRQ>$lwz{BLBH{fGe=x_ZBYu)jB8FcALx;Ec39Y9On-yw7U-+;)e&LBetCYR(r-;=q zej-a})$vk6w{9=|K9D1XqS@LB`c)ppXS}N}-T&iHaxESm7LXpK*>EkSk9T42f?b@) zrr^gZX20mBlZ%GScY9G(d}sGeu9p~=%|3_oBNx>b{+Pu__28OS#;8X!7W$q+;sL&+ z<^7o?qJwSIzFrEKMERTV@E~3CW-Ih4@R>e^=K(6RVas41?Jcju;0Cqp%_zGWVpa3I z+WH|XHtDf}Uj{2`>s}C>p~O~|WF*t#6pBGLUL~IE&4h&Y(@QhW^wHoZ94U9dK7Z%q zs39?T>iOBPB*5N(Owxh!H4p^~8rY`}oYz!G-{GMHPgJ~$D~4N&nb2h#oxIyP(St(O z1ofex=fIHW1!{_K@^*t`x!}fm&0%t-iBJ3rVeFlC6#9}^wlQnNI0BkG3m$@{-dfRs zVr6P}tN~lIjva^2ZAYgfyJ9NiHKxE+Kj0JI4T>k`|bHXWd<4&fE(~p890i zEZHdqj8N>#r=oM+=+eS3*RuqYW~X&1y+=<8g-vG-eFhKX#_c9Q67j%zB(ZBa9^`L* zr7%1c@U4`PvrGG|PQsW&R#v|_FRw~t9iznr>0KE9qD2mJ^xGi8V>Z@ewz_Yk-C-Mr z?F~Lbv@2^@a^HvQa`jsG|Ja~oAJbR30t>9>ZM}k>!8{@Vh3EvZ#DAZTFat~YT!4B3 z4rOI$1s3z)!h`_R#LoKXB{sk&a5FRiV@vrQ?7+%9aH=b?n)>h8@_|EO|NHd-3+imZ z8Z;mhfE92+_`DtD`v+REF~1!V3#@{_75mTO1VDZPbc*}0F&1!`?SH?bH(ACE&^aLZ z2>9DT1;F2C0U#6SAE3p?3LrC}iT=Tg{?j)4J6wqwxOx^qC%r{J0XTv4Pa|;xDC!Ro zWMv0j3{d7j2VyvwxEZ(rnfKSd?yr!-|H&%75j<`nOce;!Vguj>&_-``jujX@ZwBkl zMEtXD#16cpZ=)FC2!An-{tj1S18ggxlQ@AQIDoeb;7VM8h+-w;WCBq1+lc+==7j&W zb^eZ5daH$l1F#xE-WUTX6Cg?00C396^5+%6{BSY<%a#03>$pF{=Rd9HO_BVY75T5( zXZAPU%)tuu-v3n&FoiO(vj7GZc=t1|Eqd{+2E})0A2IH>H%aC z8_?bUvEIhc^v3u(|AV>U?@;GA(D!zNInd{r-exv7;Fbh%A&$451Hef7=O*em&(91v z;J=>M{?5a}zjZZMz^t-yznRs4Ya3QT$#DT}`=6Vr*#MZw3dluZO8)oL8jzO$H#!@z zaR3P81Re^wf#)9PKLx$XRgSkU9l*B$`vdOX|5$GW9!wYj&JVnee^t=mc{+G&7!KyQ z6iC4A156g^aIBmhz|H|yApP_0NsjZa$bYOLApMbn0|1PFY0uw?=6`>B1NJy@a)xai;zpUu5?xg=WfDzb_1Ngx=82Fz7 z#y=1C%D@cr_RD~T{MVO1P?Ct_UpkTF?aF|k{YxhT+eiL<_b=nf@h{`Z@h{`}XV@qM zH}*fj@~4UZcfk1Pn*Qyk^#AUp<>F-fF9F65UF|xu7NyVY`VM{$U08Pbt7Rjc1MqDI zxJ<&-csQ&znPhR;4X)KpAQnRaOpGYlDi&RQx=o8%*DdS%sS9X82w-&8G z|Eha^9}MZ1>+gGg>~&sVgu>GRWpyXh?3$IHW8g)B-=al2keFb{sP z1=0-}=&|Of__l1fUspfQpW~w-u0n_JiVeLzUbhwGJ}10-4zx6QQSAR9n{bw$uq^&T zlqC<+>GNbSYHDhQ-9SwKwXl&z!sK~@Mi?&@OtQTNr z?%wqsxahHEOl8}YpAOr;(GPl9?s{6OCunxcQnbcGu;&o`c7UVcu>LWh`2*!dILi}O zMlqS8s{KrRzqHQc)=xXFg%jh@;?|5O<`Yg^Bzt&t`reXWVrcY-UGT-g)b%+c^xIji zW4uDKREjiZ^(~=*Jh}J=Fa>NQjY9HD=8RzTX6HgsapLT1AKhd8MV$%$76ReC2*m@n z&_m~Ht11QMhFb0AJxk#qys(@y;8bol7$)XdaF(*M&7@d5#)BW@0-?c!+QRd^6&E(* z3i<9v3wv?tD&s4}he!F9n9=iuJ00hQf~3oC0$RwRDyrC9EtAH+S2h`xmOaaYB52A> z`+W&^^XXI0;j%QU4rs`lP*^Z#jZ9o^Mqx}#-^w}-UdE@q)g`~`ph~mNC^D(!rr;73 zr$&fqa@u=h;v%V4nwa`^Nf~KlE0`wh5o!SOyR}|@O|?Wi<&x0}!%cpiXb`vdSIdB>FRu)Tb-$9BHm_UUfRajC>BeKm9xI+sU zVVBL9#Cb2Gch$3+TD@~S$r}nzO7fT}OiHo&Y$Vlmy0=r8b02NQiZG3%^!WRE+EMFE zXFrta*5xWVZjP``tH_&?(H^a^|4WHk#Ie~_I?~$cQ&zw=VSvq26m*9@sYZxIoAg6wXO%XkLtJm#8e8Xs)k2{xJ7paWC zDohSJS)#>2Zs;>BamK>PyAMv==KGCxtE4|F5^3+Pn+ea~D{8-9e^!BgOvS@jB7vc1 zbWU9tBqy_GZH!ygBARNgv1WMo@HT2pEqK3xH%g6E7gO}>30|Ko5BU7%RgWQc#;iU4s+%=f-^I0!h9MGGvI% zl_t0g-*h6a+n2K&CpZ?ZTU?32oGhI+<-(csQ0w+^FT0MQ7{gVm_Y@qCb-kay^W4D% z&dgwo-BuHqXHAyAXH63cK@fS*S`Z3n4OZEddGOn9z%&R$i=#Ax_rYSEN5oo#gQ`!! zlvqqKw3b|kd4Z=m{3_>t0W}{}6lc025Zo^y-;$$y`T=IXB4uG2p?{tV`xwl1 zPT?!etJ`9fR=4zo0>$!0+XpESy)StETCf=6+3rK7Oy$!1(|P4WQ9rAR*acQ~K!xWF zO}_1ZKDA!8zf05|X~gL)2|1lzK21Ho?*x+LdCoj+U4 zkbSq|gVS(gplZ-iAJFPoe9r$gOWw<@e4H2|A>b?p#)AWH;Z<9btbQpR8rFQr#n1|@ z)jT@ht~Zs0tvREISmjOPan^9N^pdPY5`B+r62lAbKB}Hed!Lgwe(gxmXg9BAH*Ybq z`=VKYs&!b`&b~uRSeGMv6;*T;HFh0Ul5}&woBPeQK95O<%D^)c=dh~Ct0sz|R=m?y za3lK@vOGa5&u(Byy{zPtdl&5o{FxUy)LiY`?iVjF+OdfYR{^DP)L(WM@cT=4&tq!y1)Lmwl;=`|#^N;3S zoidGcC;4d1(0WJBC;awMCc?tcwEixYWSHfn2_j=@L5!P>3~k5D(%~|Vq2e#N&xG>SAlv zn`6symCH^x+Z`%jSdNRkMxC%Y@7%xX*4o8+jMmIUU>7Q7@MrNfGlb^xA*|%R?aX<$-ys6FWKa~?q!4<02 zFqFciRvnUHz>CTTp7FX9F*}!AE%Nz@4hG)kT11?HC`)#7{8q`9{H0Y+=sXdyPdc=O zVA7_+HOLce^)BM0otR1UY^CwMhb2~`E4NAGqc#awB zt*zVy=HPl}_mp84rR6@4Y?M=b-w9m0DkY0e#mZF`cs%r}6l# zC?_M>?_4?yM^*OI72;+*^>0+o@ zMKX-}Y(WKWGf4GDpU`o5Ds(62Q{B7R+z1_Y(L}hvszNG`@gPp%vrULwYaCm6r=iL| zTI2EBY?1wVU)UcBFI8@#X_vp2(&(V5>b+6p$M!+-gSA%OobyJGq1kWEY# zs6}SKs}pj|7Nxv4G1Cdkd+j3Hq!Cur?Y2d>*jW$GvO@n(>MW&cKbOP$2mC_+SyPKc zf@!~72d#`(2^KgHeIp<2u4ov@WH~Y`txwHz6}L_$-x~*3Eq$m=WTw7B%|2KQXzU@l z$A8SS0W)N62Cv9epdY#}AbP!e84llmM~(T*W$WjUV3!e+`OqTV3VXG==(5-D@&YP# zdTL=?-)&?oV_0le6%^t~u5QC@3bfM_t5WoYRl>(ECAdzd*?vi987prl^VsfU3Bl-5 z?pmBNvQFA%an#6wx>UD#_XFs?Rs;G0OsLGA@cWWccgSsRN4>R0NvV-o!~%|fP5E6c z6}iQaz;lIwc7}}chY~aD`I`4t^-9CWt7~`UeTVzC4dU!JUY>*ReF%&D6J)5n$UqEN zY%s-^yBTr<`E**#G$Jmb^4kcNx zHn&J<6wyqAQ;*n+Fykhjzj_zWf_%_MIV^Y=XmtfgL^vM~I3-tU$HNZE%%OK#Xn zAxD)u;klnf`$oh`gdSEc?nXR@p|>G;~#^R@aOS$$~ho12rIIw(q^Mq z8gP*mgsRC`i8YtQv_$E9@#Nwu1Xe#Qh3Sl5yS741b6mp`8g*k zp9QL3v%wfE#Z|MWv)eMj;6Qy>z54Ouevif(@Wn0zF*T}aVgZ-OtdbkYs0tyK5ct~u zEEFv<#_?P)z_iZzaki6Tn&(ISFh)}R?XJ#hRuW>{NUTk&{3vz44_>}e1O*Z9(VX!m zBK@x6*hRdyN8l3j_TyrSHQOXR4kC@kF!UI5^Z}K+X=xHn;>kMQqT=M2z?2#BlOQ4U z0|VzpV=Hl-4fA3M=2}_9EqwZlP;h)tzBqQSdN?MxB;9P10nz+v75CVL9wGtubsV9u zZ2Pr776^LyQSP&%Rr*@V_!#&)S5%d-^DZ=3@7R(msXf!Oj}@}Qv(SD=uJ(m`S79m6 zB_xS%FqOcQT4mH{ z!QB4DcyCULhk<8}02-cFt*7Zf`RaLD3_ z*W#ab1i;JX>rXE-4Qk0?(g}78p+k!Hm)ndiz*PWmQ|O=X53`sUI8Db5h?ucw<+}P0f7`{V>Lk{0oFkaALrVJ&qv5vRcb>5Bui=s7 z)xIRmQ2pwp&H6?4D~^A2NvVgAV8J+8;V`0gw|iWkr!B$E1sA8D`g(53a0op?|Y z`#DuTR~EaL)>0M9Z8(}PuJq6zq>?zwY8S;A!fC%>HKALTAn9E()fa+yv-*7S-`CcP zKnvyEnJaj?Yh_SkSh!hL4)87bet5FgO16j=BN5T%H{>%%o4kp;J@lIAjnfnge~5-} zxo8wsz!asX`H9imLgmY-m6V75OU;~V*j?IEeV?=A{D!3yC?P^~J9gyz!ohc|7v?;L z#qYRB@cWls!=uTOc?o`o1cE-jr|1;Z8z@LNluKL9+W8O{M3Iz$+urWTF*jHbg9!Xn@R~k*Q zp<=gM#&>i0quYI5&;{8T6zC8_^_Ro8cN#y2-G9xMzeb{Wuo90(j7 zmn~IqHoSC{LD3${Hu$cDVbl`nSZ_eY51rNvTTr+NGK>aLe4CtFANlG*xW zaVgg5amMpRW+0ZD!US@1>dSu|zW?aDB6{oWz-EovI2=|QW#t%M_=%nUUgL?Yj&+4= z6&~#uw8RGuk~Xo&zOx}FA%AE*r$tP-{KM$$!fHm35b5xSbU~>mL*NXZcXorS{*O~4 z$ULIMaQg|HrZxr3ht1xn$Y#--IkHJ}Q~Tp(A9Hk7$3Ao1S;-k;%=F4Ze|z75Zk}9u zq%aK1Te%ohA57&)AYl8FOSewnqb2Ro7!x;Nt8q%!Ir166TRZ6mI{X#Q-5vWZXWi65av;&r z+QSe_vR=x?9ktSKdF(H5qSj7_5qA8M`nZRg=BpCl<) z)ueOsa8ccuRpAAmuZ=N`Ik&bt;;lV zW+#o?_VgfTBek>vgSf>)mNfoXqdkT8``eK{PVHXN`_B%upf48}(@i@#Pt~3x=5=&< zc8%+$xt}~tDGBLBxaOZS1#XGGa&$19vKWGy8zNByKD-b>1%67wLc!ouilJN5SUqaS zr%D~(pb{iwY`v)QVlb0#%SvZtkZ%0_r63M+0)HX^**jN_&<*gLo{wD-Jw_igJ$>jF z_ps;gZF=}Ds_~C4>;ODS&^{J6*g#6M0lsLlM_3?0#sfrbR?%!vP$g=f#;M8VJHY34 z-*J>R$k5kQ8%CEc_B8Nw)>W^lZ8)IGU6&Ze_EHc@=`J(UZ#=>_ln2eUVTtjXm&>@m zoJ}$;iH`F21gZsXmUP5f9;4-2spE%Q9Sh_}vl>GwzUNlek*@4A=b#t&aF-oclimBI z3l(rd3>(L3B!DR@HMMTFC5ksRQx27LOu1M0WmhqhCdOs3ahyNrXz?yN$=o5c(cX!5 zU%DH$^9TVA<#-X+a+CN<%YObJ~Xm}WK;}%q?~DFn83_Vl@`OTu%^hetAMP9 zizWM3hrjgp@X;*cs8}XilV!+_72Z{5dj_tG2yHnE2~ys$Svxirbs(|56gHU5;Q&g= zD{lkh^5sg6p9CDZ1y$J-t0zWR@t0MNWgx|Vvm|l?vP0b-Bov!ievR&Clh;>c7wJR$ zbW(sDwip5spvH>gM?Mr4c|=3zMS3FIAuGyiOTbu6al$VMzg$#2#sy{X@3@blxygSg+Db!Gl^2~4Lu*%qAvV-a?=ME3B zHtp~cCHPdmpqc}VM%Mb(4erDjDR1%f4v1p3+BAQ0f4`-drOUJq{Oj?BDU)B>MOY)4 zZF!AKu;#3pALyho>@$%oVvf1Y1ej9q184gqNYO0SDPKDW6YR%4A)#acURT-YnbEmS z<%52e0fqd8$AuKmob8g6x%W3`_xM%0Jjza_MlD$giMRHzk4k~;sZcY);pO46Ih0g1 zO~f8-vjoXjmy)*Bygj6;_+A7&WEB^cW*&LUY&HC(Kx%2{&jMB#J9z9gqo zMY|UbN87%N?~(F;-c~o zhTeE#Dv}62n$*VA-+D|alQd=to?wTHU`r*!8_DB&YH8tX<7GP5{Ij9KwRSF_F{(8; zmJqbFpN|SR%v+)|DD2-aZbsWhoYX*>4=9jB&J^|Uuu{V8q28^S zsCvx}FDEqa(lVnY_RZTuK;f8l+Z3fVwcS;J;s3F`6t#~4&61U4mIM1T@ z?G~k9_3OT+C}vxA*b8_CSVHdiwXV%HA$YB+CpCmo|L%mX`>|+IvQ-vE+u%A9*lP$$ zE=x2bpyjr2hJbfyHc~J29NDeM_4Nj$;2rY}rJE&bbdk0i*;3y5N3~MJ-{x!KYSZC7 z4m{0WodA%Y!Yx~a7>B}gE4)cN_c6y4iW3GwQUAo)8AVCb%{soXqCeTPOV7U z2L{Ec%Iu

GE)kF7@MN((o~1+et#rzaUlzs;){mcfOK&t-F-8w+Rq`ki^euz``G- zkf%v8%8zLp47uo&G@o%-OwcrGEv*+8q}LQny}vqxF34wx*gwR>KI*{y+!MP|who>U z_^UpB=$ADc!`<)7dgMUL$T%=|LHh3$VuIY{=hiyndjdgBsSDHy9w@Mw`RRDIZsrVx?O{<>I|s?wU^SgaH&T3HD+R2Fg$P*hEJTg2#ATWBP< z+7T8wnhh`vhQ)+cH4Gi##EP^%7OZ$Ja$C3>RSk|6jm_OFS})$X zjEUo<4)E0uvzZV`y^!xIOd9hVQ6x|@1BkoQWYJDk_-_ucQU(mZzuSX8zOJz=H@7Ml z;6Ld#E(u*!fYKDjH(g9JL&F4a&Ez6D>nVB103(gH)m6Wh{r~*;gHX z-&xv2Pg(GeU^%mEuZ-Zbl9#>}7VEq2!Mshfi%*|*+T>NZX==7W-eRUqst>}5E&>t3 z*KDG;S#`-C3890-@eIMZ`IV!L27%Kc@-C9YHA2}u*)$nP{c%aIMIxPs{jw;57ZpRQzYQj8~k7WJIhNM zm1rReSq&TPuI# z6QZ|XMs`*W*}d*FTt8qTqJC*t!K!2kbkgLd0_Q(WYtqjoXD|&9AJ^oQSHHLwsa>IB zRo2t*@7clKm4rC`$N~`u?#T1|yf4~5Qgsf0OQl+!1FfF9sKfoX22*qb#kE6lX{Ad; zZYSuj*(NnZ{LIcNcFprS#Co+FVBtl&ughZ5dapYbev4Zyd&w>I>>}+S^0QY)y|nTk^C$2t=_&kpDvf5EBE2@>YqBiTAK}3DUJBQ8@OS6J$r%2+ z6!SPvxa5mmxY{*gQJNCOpvXWBxCDdxF+5rM(VBW?ZFFDxOW>rn)TP!V8T%!uVG4*E ze*&cePGPNaZ@qHP^LDo7Eb0Ob{GdC{Ifyyqw{La`(R+=#-^XuNbJuXcIYQ;(XmBwI zl6_zz9{q9xa>f?cJcc_=5GmhVHMIRnsZrsF;!h;*AGv8Qv?Z~mT{^af;MX-$1B&Am zKWlDUW3fmu<2NAP&{-m*rApZm#Fk<3P<=55N$&5ZN5-KL*MTqU1xq$PrRg|1oG?Zjv#yeyDk+$zWS-&&d1jdh;+IaD!BgLsQjg{g<0@ z<1*l5qD4KNKu)V;i4p5YijAL2$HwO#S#*#4YC&I&(96o8mZH>9&{TC#gl&4sM_H-V zXz`-xX9^Mvm26kxtb&+t;e!f%*pI+}JPx}{66-K?D8=VFt&VQ%N>Q~kp&dv$o!T+xw7C|IGW*{bb}T?dAR7>)2}nV}+5sdL_}jox0qiIn&~I6p0U-%g z^v?-9Ak~oGJ@26R>i#0S8wz1Im`^ZG#68$O}kl_P5u7D9^W6`{xiO z3$SyB3CMx|OESpyx0ouhWd(rHK=dFRaP`2&zadBfa{>YCTmUErG$hbM|8oUVS=*Ue zI5}Hc9k&cM6{gnIvL{}T~#UJ?T!YX7|UHuV1|o8|wXmj1Q}g5^&H>3?u*`KvqS{|%`H z_Ne?9NbR2o4nV>F%gb{9%gb{9%gg?mRDqxU%gg>5zsf{^h5_*9U+VTxGyLyt_Rs(Q z_iUDlll8xn``NE+6Jyvy6X4Y=$N3n#KxE|0tMu* zd+@IU0?!Afo~1|A(@uF*t6oK;JGHuvhpR8ciLcK+$uSnN3W86+dS89c20QPI9I%t9 ze^B!kur*s`PB(+KKiSE5zMi|izFzez5Uxxs2;vE}d#iMOV(dRc4vEIzc2MvH2YU`S^r}ihb%~#Ke`>KH7O-ec;>Dx68~f3$jf{*R%DW4Do#YjX)j z*RK5#he}fmg`&W9m3#`fCg@?_+x~ZB@awK?3 zJDf?5wBgk|V;tgd!@cfuLph^dtmpcEmY%P<~${D9S zzB3%MNTFlMR_77X+)fy)X>|4A#>+K#CdgZEtabm1UhOGx^I?a8+r#)z0!Uzm&XU9%M|{4;2>*itgZ8AA=X!0d&%^0rH|6N zyvimSo((u4{^r$E5)`zqTYX}u(*UmbcwHoR+@HB}9+FsRDbWdzZTWHfmL3$ja z5j(JOs>$fhksCWjgubuO!w5&gC@LBfgd@K4{WPqYq$`%Vm4hngDMcpf3)Rs+&pQw2 zqt~Cl|H4e##aZ4AK}%M9M6XL|aPW0m9Ga0XwLmPQe;9u_PveYU#Z=>wyNsLZew|I~ zepDSxchGA@_zWETOLf#U!CI}!LrlU)IaOkUA%u9n@JDL+tpxUu6nFqoS10C&z}|;pJ03LQTArW{kCR+#e5xoP$<)TDaIp3=d^* z2lX85LD;?eFVI>p-ErOJl~a(w!*!x`4;AZ*5BSRy&YM~wrA6W7qcku1Q1m(+6%_cWiRq&pg@I@Es0@pc zmIP-6GKe1HF-vDk=(4Ja&4ip3i=z1|w?gHeY$?-~s58)VVO~tB)*RHJR71;Cy0`Kk zO5NhUZHT-d?lM~cr>jp&McsJA>+f|wzPq5%U@YeHAE3eGh7x88mFQYQdbobH;s9e2 z)KBT{U7${Uyzv9YRqQ9gzr%x{r@T{Ro(ejD_fpxy6&N8ZQ6nQ_z!1H0bZHK+%x1t4 zX0oHvZpvBYH%V}K=Vn=1vj0N-HQd^$d_xUNx@F_K5#-kSITKFk%mSuvghFVv;@RJu ziqSczdPm#^b$v&`nrqAo+0e$0k>bH+#ft5cQ!h+c{%eXF+7r%6HSuEmv&yW2{;2DSY_E_ZSI@$HO9 z%_QZ6fG8N(%Ajn>{6zW@RC1^vKJ}}JijYrFY&JECUirD)&qEdtC=?apZY@eCCJHR( zo=6DlD;f~E0FLV@hq?;qFCzg9+g@p)F3ghW(fquhGyU$wU z_VJXrI}k%S6ou?Fpf;YeVys+YE?~P!@ipC#24Nr3j^|Qn=oHecTsCGjntss3TotHn9fL(vOvC4#FI`*CN|cu)MHNC+N+vJ##7`{5KT3n zc|SReswF80=B&|L7=+4`WGLSaKlSqInF~tlC5WU36Wst5(I$6dFP3>gnuKIx)lXdW z6Nx1_=S-n^L$qmyNO{N4D%asi1~D-n+vb7`N4tC7lm^m*7Py8QBI%SQpX@@P zB_uubzFE}aBh~+6(hys*q8Hd4Jzj*VI+A2krSfGbsy)|!J#Jnm@+zKw6mZl>7-gEp z0Ye*4kn}@zI(^t&=loz{DSYJM+}n;47>99-vTKx;n#3Hpx-B-zOO6oS#i|;k&EF9+ zPMImORR-$tOMz=qg^FiaCq;71Lx$r*<{VRE0gYaE54L~UZqXf!kD1q^jUtHHLs#3# z$igKIjrZr2Q;-Um`G^V8H~!#HO9a}`HTH!$AiBF~%o1|D%})8m`)O5?w=A}9FOOp1 zAB*I9W^z{f3N3b0XKlYTr_7fKw+{{-oHXyXw>Ffgn02CAd^QeZ-~KOSp&fFOnZA9%zasKn345X}45+sDau6D=N<-5zeObIj0!(JlCwt zI`@Os+WKHn{%UFe$M=+2g%YP!(u2dthtdA~56@)8wGYc5598(@^ZEpI&ObGD-?0r_ zScU6uX+1%5K<54ah_Fb;rfY?!cYY&9wAw^kKwrbur{}XOgd@msSxq<9tFJ3d{NqFC z`kk@Ukx7pp9z%vZdw4f=wH zpI*qkTpc`-+Ia-cP(ST@vG*|k1rw=#AUuOE?-3B=16izzrKG#QkVqiA{yF&1w>+{r`| z*o0*eq;f^~({f53qUjDrbP@jidf-pjZ-~A_a$`)d+@&f9ACvg zB7J99lYPf9yn8gso+(Wi+MT@F1A5REPf1F@RdSkIUqylz0mTRlvz*<$+ z(5Tk0Xx$l&2kgw}-w}FCLB%+XE5R{@Salm38~8TmoT$oQNZBgA!7GvKzm!1Nyxy@2AHD-v7qP$KsTRu zK=94VN+^`PwYRX;cY4gS%v!!z^m2=-r-KVHhO*a+7{svh-%o+T#RtQDcTL1wGY#es z9mb7rRHU>gCzxbetmN}XHKg7KSP@LV`ri;6~OM-i&jVHLf z6WoGB@Zjzi+}+*X-66OWEV#R#&bO!L)SUVD)W7%azfKiZU33+^JnvfXvli9Yy6#Cc zHSc3bR-qktI_u#G#9mgN?qjP<#*C>>(>h&RAY)V#Ie&F&@2xwBg8U* zVq$^$$rSyeIH0HN3!H*hLpoG4k68rEDzW8B&!vYzo14K%k7)Lfwf?@D`$%6OMw(f) zOsOuDIqA!AL+2226`Xuog9WXhVsv@#k1irJo z+m1?~2D}S@x8`aTh%Yv1K(;Kz>ko7(1gH8_D+#|2t63l9XlxF}(Ml#=dgJ-w1RJuj z#6|Z-*lB^6L*~a4VfYe&=nSSwVHl@WmpfqB~W$CQmk(=L4t%9r$IOK~sB) z1u$_hOm_}z{rz;c7YevB{qSnY?gE&U1{X4;^KPAcV<#xM_9y@&?AIXIy<6l-Xf>_* z4ANtI9g13+Du!`#(##<`_hDp$ISp0--C*S)TPhAE%ZXH4&vSx9*o^D&90LJUZc+9! zaL9fywQ(7b_KOyO(JalVJ&;*ZUM!ojt)ZR+AcXmz!rKn+;80%R+h1 zRGv-PQiI1eQC$j`9u7UJG{Pl%{kV>FjXn1q8pdU7pLi_WFbwFU#pqO?eirMA1&jbV zPxT*Rss(SUyjoec5*Mdr$Sons$AAv(a2 z+ytq(8144wb9!XMN@SlgJNdScLu9bK;vp6a+LHR+dBH_-hQ}jNZ9DPJQ_d)qk(bgJ z9c-(~uEH&xjap^%fivrWz_u8f>g0+>Kq#@z4|D;+SzoqGB{Fpp)w$U$aVw$@+#5MxEnij!VqTSYUutFPz%LiOzD-@F8L% zIb#Y_EH5$|tGXwqL)WBCx1_n#UMz%Jcj;CZqEVzM#Z6Z*Izu#&KFP$hh1i(4hdTiF zBq|F9K>9ktc3;p=faV;6ZFTLIE8WnO4C$2y86(1HKSw+hb05o~695rZ;EESF?wa~L z$Z=lpu5)SmIZOB;E~+f>w*JXg`d0tqVRA>p{knM0nVNN17Mc*eDTZGPa&aF{DoV;N6xaXi}Sz5B6|4Anplf7dCGsM`)d^N2b;ZRIiDItYG?(4i~c zH?~xx&%EoTB)-Ju`q!p>Q%EGDTesB!r@}sHgW{Il5_|SiofF8 zPssbZW0hxl32MQ_*F2PbVp#I%Lex~FZznVCk7aI+sRE6dwMKp z7SOPHF~sxq(`+8Qb74K%LvP~wHU%727Vbi0YrC|vMPl3*piM*Wlp2Z2kG&ACW8V8 zh_~b#|5)0c2LLbjepn~2G6+18K>u-iZI|LBcuaJvF$|xp$M)vL=pnyZ3-1#c-8*#> zT#`-{SF*(SflB2D%7q$TNEDI07a^o+)g4O8c|`@Gwf5)StS#J#;hB*;vc-f@%8anP z)BIW|3#=BT2nVp@mS9>tCR$z+A_H75WV9}JyUAUud=`qC_M#8&7RwSf>=7x9$1-}=`!JzNm^XHl}RO~`w#~lr> z&V~;xR$hftNa551%lu z;d>s7UK4IrY~TgwrqZsXf^VkE>W3JVnzmAtn#ShTVyKn=wcM6{=nBnnWYT1s0jP}o zh^OqQeyN}}%}h^5|1WTNVLFx02aQ;eF)DpAWA-jiT|3N?knBj zyTS=}uDV+2j3nm0!V7DgW#Snj_ik!6(BwIKj^B=Sr*+upgX(h4fc8Ui?^-mA;|g}& zf$j)W7w?w)_N(mJG<)t|LZmtkc0SJ3mC#nxVnNOVZRhaZViexHd*gE|M@bKN$#||_ zuzgo*k0*wCM^HQy|t{b^7uHV$vZKU#wz6lQ@I*bGxCwM zCq8f32Xae<8iBo^$nmsC2|gnk1Xm789>|r%_d8S^KD?T=`6hxv5#Sd*b33~ohP_!9 zm~HyjV52s7qLC`e^Xb>j<~M&~bvL*b`$bh>0Q7NQRJtGMr?czO3CqtJhI(&=Oqzx9 z59EGbemE7F58iPLILhmU)_W<&yvp0CX|zWgK>AfEP7epg$S;m!h)#RcWJQ7@fDzx_ z7UeGz!5zC7kTkmZ-BJfh`4cI?ct_{X{!nhxfIBr|3;Eb7C`OYfzswXtC_9x2X}=U@ z=TXJzqryXepr8fXZ=U9&=Dn&T?`d`&0Zy|QvFmUZm#76KHBg#){4KWATl?ig>wPqj zG*Q*bTZp^i&r8g^kD88ho-SLD)_^q#w#cLkr>HsEbR0M`vb|QV@Eb!%$;kGP6#2CB zmNM93dQ+8F#M?-lUdOzCqL#v#gT$wot+O^YGqg>^F@o^Wi4|e4bs+uI7Ds@Z!t9w9x@*#7Sc#_z&O4tW-hGa#hy!ni_mHG?H3NCSpek~!` z*bJChYhWWUuLG)0dl-#J93^5d)em$nTWK3EhCzcEo}Zld9|JarDDE~-lBrQI=CJ`#*vzi2C9rt68Q+3 zYuJ)S0o-_*rgj7*rH;=xzdRcej7mz`y*YJDx@eFL$W9wGMm3*!sP3UuRZY+&@rhcP z2$%KP?}D=z4ZYzMh6FJBTDA9aiyvl5fw{ggmc>gdD43A?zjFx!9crZD;u<1a$(e1R zP4-&>;x}i%pz#jyg&bVo`r%HS>C0By+*2iq7<$~UZ zn7KrnoSb7}o{B=U*+{AXq!c1<<-S&9@LEuvRuBKmf7$@?$zvDMyDh>Ubn%^lu>nf$;t9qn2Ct88ZJ#fehOi1X zp_i@tnJ=e#gZVVv>dQvSVa|San*S|ym@{5zGWOPpG5Fl)J&Gt~+jO|aVS*&`IlUS9@0(e0Irox(RqUn|ns(c9N+|SK?p&>_?N2#ddofNE%UBv+< z0?QslcJ|I~ROwAjDV;;Ou~Y)$*@sUKxZ;o5S3X^AA!5AXpCMMufD}jQaUi#gTt$u` zU$rnso(bmfcCENgt#-E+lVk=c8~rIA3@YebyK}Qub}P#25$|0|jVvb8xV5g5+#}T(khde@}S(AAaQj zC^iIz5C7}q0}5dV`GG+>xg4M@a}E$D3X0BVVFGXgK_!8ZDtf8p|n$sYaA_!Pz{XeFG|H%mdmxYZW zCK1$c{=l#xQWa#^1mHI&yMzgSy3k-cS2a3Ij>yS^t?}ll$K}2*3`KR0BbfDQJv9&F?SCF36P*>L1+y zcn>5-{m=G_e^MCeuCjwB``<3Spga7pKU(Y{CZC-hv;u*xIRT)DjEjuz z&mIFbGyj92_TSgV0R$nh|BOHft)c&VU7&psh|&ff)BqI$dYb+eLBQvK_% z_}?g1(7uQJze1@_=x9eXG}(Izb{RrTNZ^FHyPn(Z9g!tsf=B5;kbU|Q3L)L|FoGzu zlJxRi{d=_ZDa_bqiXiBhW=4u(ECbF+>uhK8OPAi#3t;kWZ%EMVX;c30CBqZ`nkCvi z?2K}-Ct?<>55n#t3+w%2_Wb>PZzxMJB`M3>s!0C*;c?|D0)RZy;qkUp z^!_rI2cUZ2)O+J`e|zq;gt<1qFs)_AjhQ_Tk4}1j+j|Ue8e7cIxV*etj5>MF{>4F6 zarP9o(Z7i6{(8uht*WDEW-Y{xyEEL)ncacWQ?Q7OOS&0Wvk_v3r4r=mNf=`5{AKdD z!gffst?@IYVc@UZE?oid=R@@@e9-ZJyI(z@W6=hhr-h}u9Vc7JpO(b~d2Nt_4E#?{ z70_PAS}}8Qgl@%P;K)#ny{K8nlpW+Qnt1mW?g`jr_W~N@ZGpC%25YDwemb7IvBt{HAKNevXV%pRCV{aj7rbqaob6fLYXySD zK=6E(o+ap9?lNO`vVUv&u~w0q1Y}eq(w!uDdW`d(mC#1-!ls~lh#FuLp4g*RLA#rDMO|NQmoYVH zE4Nj5vY^Eq=y4}3G{Q8k;YP;Z^I|NgY!6=eHg)lYpW1G77OT`5`6s?9B$u( zG%3ynd#sD|ZP0x5Xv@%^#+)_MKkYX+%g=P)*VVn9wO=>g%qO@i%@=({Y^@aIxVi;l zxw>G(Oy*zoyC6Et&}=;~;5$w9uz`}H@{Hp!89RrFozIx$y@>3$>7ISo@eZ*?Z055038?K=`Epi!TjCMfW zV2|9#RU+Yu3K(r*7VnZyogSATBbP%;=FK-wW5iHSe=0Cu(XWdy|B!DCoF3??Pzx?e z*zuJ3xuxrK4@+6eW9(3VD*1h|IB!RNUFS;9#nhFdf=4LQpmt_VIj+e@bDVR=!zxvA zhFHw$UM+SlRIz%w1;Fo|LtdEA*N1rWIoGn|RxCClXW1(TtVN9Q!)B~T&rZ_TtL^*p zc3nC;Tv-IdnBBH2umMeR-#*#;A~nDd3w;BMv{Xi26!}~jnIMF!I)uEu{qw0rsAS-s zUsHTbrzIF~|JRHjbJC95ThEXA4Scw@m0y-7LK@X+Xhf{X3pp`+`8pk!ISvQ?Io<6h z>*SJkl<(Oq$T-doSMA4Yz}o5$sKa{NN@d?Gj7~-k1`4vE`JKOHwl3ycKQ-DDoj}>} z8;Y6UM-SSB6%ZcW4bEB71>W+gdhb1VK3Jn)FGU5sZpw>P^_{3fBYYWEoXaP_K?RC- zw_O}Cn_wD$FdWJj<(1~zUyZNY{^7ayO5i>HUY7T5fnN-7d}}s-k6A4BC&Q?I_uBy4 zkAPgRmZ=szB@&9(+C+{%b#ak;M|p!;W9rE6Z$?eMtT?f0RG$OEKdwP;IqA znC?_yF=)fhbh<2wL|m}}*}m#6tk9*$%Z?U8aMTQh2Ryx5)UO=~*{2FH_oOCM>Nt*O zl@D4w70W2GVFzXDCA&(*_WhD>wDx#5-KF{l#+AvdD#jDqqK=(2s6EdG8h7SSbb-_8 z<+5Lk5JIAoA=xiixshwEcg{Cd8GOjyNkz(Mbk3P0ML)%zIJ9H)TV2~+8+@}rmpd85 zTIECvaXg;!Ec&gs7(hJKvr5~R=WDwyv!cgLy51Sey^1tAvYcuuG_LC;yM=A6-6ghA z)}5nuk%8Q&K?9TU@nKkQoOboi2*KesqDTR(qrZRq9wqwuLV8q9Um475bv$%Wv1|fg zJj|E;LObQ1=_BC{<9Ggwr~?nxXvfb6biS8){qgT_xfBu6TI^ZU!r9chxq?(|$;mB_ zScto{9GtDRV{D1{lnLw!5$av+_*Tc`F~u&Y0zT0Q#0n!MTYJat z#NW?0(90{PU2Tz?Z*%Pg5FsX0i+O6^O&)u8#1TnZtz8(sp7DAna3a1{nb(0i7==}YRj5H+>e&3(J8fz zDkVW&Nzt=4#FXAq7s&+obo!)Aa`^;gjURuE=HOB`R{~Fr#z?wT+Y^qb%EyAG-aqh| z9ktz277}l0cNpO{UE6BHh?;_PQx#)d;`7>!lU%^B$Q1t~Y_7#MAurpJYgzr6Iu0$? zRtP0kIHmMdeFmoI2M0alUo>m-959CdxdonE_XsO@Z~}pE40Ad^X)y__Kp;16YEBJ# zMJG^~G&Ok%i#;eU#Bkb;VR?MtnZWi^c>Z9Vt?gJQM`V<2ll<^nqe&L9uIsO?IbC&5Z{}mDkhhDn0lIPzGK4ekk|$-o|1P)KB-|B zf9*^zRjzgR3=JQ3jI4?ff2g4dDQe4lthc=J3PMFHhjH+0NYvb6;;m_4LVhd|6%n6; z__bT?!hse)yelGe&*GQYyNta))OG^QY;`0}tB4N&m3DOT^$x97)DWGca4C_@f=LcA z#8Ugavf0tZTL_3oCXe9*n4!n0UdUF4ve_Qt@~bUMbQIIr{}9r#Bi02hSj;z_rJAUw zfzbuS3B5Nw?@8RFmBcpTOF&J^9)KGfELPD>F!KAAJ3ozna2r&dQd?=Sctc^WnxaEA z2;?;g^>9|IJNVj!sJd+hP2||yCd%ObsA}5nL3Hc)F@t?N*=&4rf#L;9 zCERQhvhs7PfxvGw+Bc}2{JILqEL3{fob30g`a(iDBryrV=+|RWP71XFI(o1iM)5e5 zhFYp0i(0QYa`7paEZ}aXss(WiGqVCoVMt=e%M}xKNklL;!Y(YC$9tFo< zh=E^Q#b2ROz9!IUxu!{3OhHWHX&b8-(NdgL#gLX5yc3=N=uF>7UPP1u7m+Btg7!~% zDcvGm%bzoT-}5RE_ed>2EAdLjbDj-xyw8_X{Nh2`D+m@)~R!`2%PT1iK8^*{sc_D_((Y|zE3i$9kQ7oz^n0(dh8A_T!X`3yMxaN_jlZ?jGcZo&<6gv`ViRj+ ztEO`f^-m~ofytUF0?dtRa2e7i|+{HRA8#7`A-#?%w%%uluUDQkurB5^FOu85Y;pzTVA z7i?(KI>q{YrrmpBX%QH3ybzTT>G8EfG!eaW@AQQbP9;fE`0gr4OgK=gztd6rZN|!Q zCdi<2t@9JId}fjgM9pJ&hGN4Pabj=ue0WBsz)dC32?*2iYp+Z!x`7MMj|D6qE|p+c z!{72Z6Plaz2qo)p0p{(ywcn2F^)*}1WNhh9=6{XOYi)xU^4QL6zY8_SJs_34;Gm8AQc0=XzHy~81hoCs~&q_mjq!l81Y zc~-!JYCwzVN_@2$t5OkpMA^6eIq0Vnh7;c>w;!IAuT86WB2$cTTL}xZgFac`Tg!|( z>K`-9xkDV)G7=Y={HYzqeH&&49Qn^EtQK0b~7EAEMMXnWJj#jzPHw}wxh<%rZj;y6ERo%boUcsa7H&pi?uGg%sI^!z#oKelpcP?qw8W#`YrMk4SG`3a|i=lEF~! zz@yD}O{}d%fc7c86t+nN@U{fX4_hXUriD$VlkutZnmi@svDxUKs4{dxu z(;HlJfL;rUogeJ&O%$1qlH3a?XF7k9 zsCPN2<&qw2;QP7$88@4$%?!D3g-%;3JI}@{F~(}Ovfj34CKje!e&9Q^=hx_WzTx$0 z9?{#Mc`F`mXR09vWzz+LL6p34E+VSGP6Q~eRxHMi0P>e6pgr=jhL;Qev4Yq1tw$&RAt%4Jba&HHyzo`x)^`qZR6ZNm*TOp`R* zAl#$%09j0QFg`_@eeTo9$KYDe=uaM7y9x)oM?r=vu@!V4)TN!-E>}Gv0a$~90|X5e z6X-PB%yAk>(YCy8_}<98`oYWFEr~HX**C?;H;4r@!eIG?I`}{ zA_uca7A{Y0A7A7I4mafj-`{(hnOb^)w#sknys3lSeqDBKCf+u03xi2!2PdkSyyu6H z;M>iFUj3uAf!G(>q83+)5Fy}J(!_v(>+)JbDX-1AeD&mSB^xG4iHDo=UWqeqrk|%zTZw)M z%+L3HUCneI%Bb?nl9IbA8Tk&;@k9X@>~UPs{n&W zwnij1iT1{ox{uDkJwib8xfRWSI%Hz&EuoyaM#HHcuRPc@>@uud1?AU+j)>fSCt`;7 znhmwE1%o+yVf5U10hGma4}|=LO<3u9Sstv|c!NMjcP(eb%f_n<7mUkC%}qQ2lG`Dg%tog#fRNKh5IX#=45MVGSkumeK(eEx$b6Qw41SAt zN(y?U<&SEf{huUl9Njcq51JUu5k5TFWPudX_pY00v$Ryl&NfXnx9@4mUH8*xiWaV-fZE^ zJ+8+`fU!y=E_L}Ab^1r*ty9KA>ivZ@$qLP8tIiN!#2;>4C{)LF^K00;U5?Gco=diL>mZO9f7K`E9HBGXbv*K10dseb%BCFm2t-Ao1Yfjyetyz(sh8R!)oL zfmJURa55L8&LMp4zsJyy$F@aJilPqsK)!5e5ua)oEKO@f-5nn~JsaG0sU0eFy_bT~(Kw zu$!BJDx%}dCC}{Mpze^s$MIVuN_$q1C{!yBw+_FXvn%nHLae;29>+!RErsSv5p^rb zfl}`WrWgNUk?Dw@=s&O3Cq_^ypwV&yS>XfHW$uKi?E zFJ!R_dnz# zIqc|rVPt%FXIMv2m~|<%7Nsj0uR)*CR~fcegH$?{`Hoc)uIXm;kh)Oa!qq`4q!-!b z<`kov+(!5>X;JA;eLCnLT-evmi)#t#`nN0u$&7`zLeoFYztz{q*&qnd2`xwcl=^%_ zG%?2-+B8Tl#SlAx?_Xxt{LR4URw?hNQk@1XL;%O+c?m zt5=z0;g_ZMbeWm zvC1a&Uc1PZhb7xuA7unGYEZ!r(#=sH%=uU^ri%5zo$sD`E+}O$S);1RryT^(i3}iht

`R4A6V1vR9B*NmFrW_Wv62=AdMz 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 G>i-A(QI_cd literal 0 HcmV?d00001