diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index bc25ba1..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,53 +0,0 @@
-# Compiled Object files
-*.slo
-*.lo
-*.o
-*.gch
-
-# Python stuff
-*.pyc
-__init__.py
-__init__.pyc
-.pydevproject
-*Config.py
-
-# Compiled Dynamic libraries
-*.so
-*.dylib
-
-# Compiled Static libraries
-*.lai
-*.la
-*.a
-
-# Eclipse projects
-.project
-.cproject
-.settings
-Makefile.*
-Debug
-Release
-
-# Some usual extensions and folders
-.DS_Store
-*~
-*.bak
-.player
-.svn
-*.suo
-*.ncb
-*.user
-*.tmp
-doc
-data
-
-# ROS specific
-CMakeFiles
-CMakeCache.txt
-cmake_install.cmake
-build/
-bin/
-lib/
-docs/
-msg_gen
-srv_gen
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index b01d820..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
diff --git a/Makefile b/Makefile
deleted file mode 100644
index a818cca..0000000
--- a/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake_stack.mk
\ No newline at end of file
diff --git a/README b/README
deleted file mode 100644
index 258cd57..0000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-todo
diff --git a/asctec_autopilot/.gitignore b/asctec_autopilot/.gitignore
deleted file mode 100644
index 4848492..0000000
--- a/asctec_autopilot/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-build/
-bin/
-lib/
-*~
-CMakeCache.txt
-msg/
diff --git a/asctec_autopilot/CMakeLists.txt b/asctec_autopilot/CMakeLists.txt
index 895ee0d..616d9d9 100644
--- a/asctec_autopilot/CMakeLists.txt
+++ b/asctec_autopilot/CMakeLists.txt
@@ -1,34 +1,48 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-include_directories (${CMAKE_CURRENT_BINARY_DIR})
-
-# create autopilot library
-
-rosbuild_add_library (autopilot src/autopilot.cpp
- src/serial_interface.cpp
- src/crc16.cpp
- src/telemetry.cpp)
-
-# create autopilot_nodelet library
-
-rosbuild_add_library (autopilot_nodelet src/autopilot_nodelet.cpp)
-target_link_libraries (autopilot_nodelet autopilot)
-
-# create autopilot_node executable
-
-rosbuild_add_executable(autopilot_node src/autopilot_node.cpp)
-target_link_libraries (autopilot_node autopilot)
+cmake_minimum_required(VERSION 2.8.3)
+project(asctec_autopilot)
+
+find_package(catkin REQUIRED COMPONENTS
+ asctec_msgs
+ diagnostic_updater
+ geometry_msgs
+ nav_msgs
+ nodelet
+ sensor_msgs
+ roscpp)
+
+catkin_package(
+ INCLUDE_DIRS include
+ LIBRARIES autopilot
+ CATKIN_DEPENDS
+ asctec_msgs
+ diagnostic_updater
+ nodelet
+ roscpp
+ )
+
+include_directories(include ${catkin_INCLUDE_DIRS})
+
+add_library(autopilot
+ src/autopilot.cpp
+ src/autopilot_nodelet.cpp
+ src/serial_interface.cpp
+ src/crc16.cpp
+ src/telemetry.cpp
+ )
+target_link_libraries(autopilot ${catkin_LIBRARIES})
+add_dependencies(autopilot ${catkin_EXPORTED_TARGETS})
+
+add_executable(autopilot_node
+ src/autopilot_node.cpp
+ )
+target_link_libraries(autopilot_node autopilot ${catkin_LIBRARIES})
+
+install(TARGETS autopilot autopilot_node
+ RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ )
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+ )
diff --git a/asctec_autopilot/Makefile b/asctec_autopilot/Makefile
deleted file mode 100755
index b75b928..0000000
--- a/asctec_autopilot/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
diff --git a/asctec_autopilot/gpl.txt b/asctec_autopilot/gpl.txt
deleted file mode 100644
index 10926e8..0000000
--- a/asctec_autopilot/gpl.txt
+++ /dev/null
@@ -1,675 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
-
diff --git a/asctec_autopilot/launch/test.launch b/asctec_autopilot/launch/test.launch
new file mode 100644
index 0000000..b23cc5a
--- /dev/null
+++ b/asctec_autopilot/launch/test.launch
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/asctec_autopilot/mainpage.dox b/asctec_autopilot/mainpage.dox
deleted file mode 100644
index 243d786..0000000
--- a/asctec_autopilot/mainpage.dox
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-\mainpage
-\htmlinclude manifest.html
-
-\b asctec_autopilot is a driver for the Ascending Technologies Pelican and Hummingbird Quadrotor aircraft. It provides access to the sensor information as ros messages and has an interface for sending commands to the aircraft.
-
-
-
-\section codeapi Code API
-
- - \ref Telemetry::enablePolling() : Enable telemetry polling
- - \ref Telemetry::buildRequest() : Builds the request message for sending to the autopilot.
-
-
-
-*/
diff --git a/asctec_autopilot/manifest.xml b/asctec_autopilot/manifest.xml
deleted file mode 100644
index f6e5944..0000000
--- a/asctec_autopilot/manifest.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-This is the hardware driver for the AscTec AutoPilot built by Ascending Technologies GmbH. http://www.asctec.de
-
-It should be compatible with the Hummingbird and Pelican quadrotor aircraft.
-
-This driver is not yet complete and the interfaces are not yet finalized. Full functionality will be supported in the near future. Contributions are welcome.
-
- William Morris, Ivan Dryanovski, Steven Bellens, Patrick Bouffard et al.
- GPL
-
- http://ros.org/wiki/asctec_autopilot
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/asctec_autopilot/package.xml b/asctec_autopilot/package.xml
new file mode 100644
index 0000000..04fc6fd
--- /dev/null
+++ b/asctec_autopilot/package.xml
@@ -0,0 +1,36 @@
+
+ asctec_autopilot
+ 0.0.0
+ AscTec Autopilot Hardware Driver
+
+ William Morris, Ivan Dryanovski, Steven Bellens, Patrick Bouffard et al.
+ Paul Bovbel
+ Paul Bovbel
+
+ http://ros.org/wiki/asctec_drivers
+ https://github.com/clearpathrobotics/asctec_drivers/issues
+ https://github.com/clearpathrobotics/asctec_drivers
+
+ GPL
+
+ catkin
+ asctec_msgs
+ diagnostic_updater
+ geometry_msgs
+ nav_msgs
+ nodelet
+ sensor_msgs
+ roscpp
+ asctec_msgs
+ diagnostic_updater
+ geometry_msgs
+ nav_msgs
+ nodelet
+ sensor_msgs
+ roscpp
+
+
+
+
+
+
diff --git a/asctec_autopilot/src/.gitignore b/asctec_autopilot/src/.gitignore
deleted file mode 100644
index 578a25b..0000000
--- a/asctec_autopilot/src/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-asctec_autopilot/
diff --git a/asctec_autopilot/src/tags b/asctec_autopilot/src/tags
deleted file mode 100644
index f1159e6..0000000
--- a/asctec_autopilot/src/tags
+++ /dev/null
@@ -1,51 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.8 //
-AutoPilot autopilot.cpp /^ AutoPilot::AutoPilot ()$/;" f class:asctec::AutoPilot
-SerialInterface serial_interface.cpp /^ SerialInterface::SerialInterface (std::string port, uint32_t speed):serialport_name_ (port), serialport_speed_ (speed)$/;" f class:asctec::SerialInterface
-Telemetry telemetry.cpp /^ Telemetry::Telemetry ()$/;" f class:asctec::Telemetry
-asctec autopilot.cpp /^namespace asctec$/;" n file:
-asctec crc16.cpp /^namespace asctec$/;" n file:
-asctec serial_interface.cpp /^namespace asctec$/;" n file:
-asctec telemetry.cpp /^namespace asctec$/;" n file:
-bitrate serial_interface.cpp /^ speed_t SerialInterface::bitrate (int Bitrate)$/;" f class:asctec::SerialInterface
-buildRequest telemetry.cpp /^ void Telemetry::buildRequest ()$/;" f class:asctec::Telemetry
-cmd serial_interface.cpp /^ unsigned char cmd[] = ">*>di";$/;" m namespace:asctec file:
-copyCONTROLLER_OUTPUT telemetry.cpp /^ void Telemetry::copyCONTROLLER_OUTPUT() {$/;" f class:asctec::Telemetry
-copyGPS_DATA telemetry.cpp /^ void Telemetry::copyGPS_DATA() {$/;" f class:asctec::Telemetry
-copyGPS_DATA_ADVANCED telemetry.cpp /^ void Telemetry::copyGPS_DATA_ADVANCED() {$/;" f class:asctec::Telemetry
-copyIMU_CALCDATA telemetry.cpp /^ void Telemetry::copyIMU_CALCDATA() {$/;" f class:asctec::Telemetry
-copyIMU_RAWDATA telemetry.cpp /^ void Telemetry::copyIMU_RAWDATA(){$/;" f class:asctec::Telemetry
-copyLL_STATUS telemetry.cpp /^ void Telemetry::copyLL_STATUS() {$/;" f class:asctec::Telemetry
-copyRC_DATA telemetry.cpp /^ void Telemetry::copyRC_DATA() {$/;" f class:asctec::Telemetry
-crc16 crc16.cpp /^ unsigned short crc16 (void *data, unsigned short cnt)$/;" f namespace:asctec
-crc_update crc16.cpp /^ unsigned short crc_update (unsigned short crc, unsigned char data)$/;" f namespace:asctec
-crc_valid crc16.cpp /^ bool crc_valid (unsigned short packet_crc, void *data, unsigned short cnt)$/;" f namespace:asctec
-drain serial_interface.cpp /^ void SerialInterface::drain ()$/;" f class:asctec::SerialInterface
-dumpCONTROLLER_OUTPUT telemetry.cpp /^ void Telemetry::dumpCONTROLLER_OUTPUT() {$/;" f class:asctec::Telemetry
-dumpCTRL_INPUT telemetry.cpp /^ void Telemetry::dumpCTRL_INPUT() {$/;" f class:asctec::Telemetry
-dumpGPS_DATA telemetry.cpp /^ void Telemetry::dumpGPS_DATA() {$/;" f class:asctec::Telemetry
-dumpGPS_DATA_ADVANCED telemetry.cpp /^ void Telemetry::dumpGPS_DATA_ADVANCED() {$/;" f class:asctec::Telemetry
-dumpIMU_CALCDATA telemetry.cpp /^ void Telemetry::dumpIMU_CALCDATA() {$/;" f class:asctec::Telemetry
-dumpIMU_RAWDATA telemetry.cpp /^ void Telemetry::dumpIMU_RAWDATA() {$/;" f class:asctec::Telemetry
-dumpLL_STATUS telemetry.cpp /^ void Telemetry::dumpLL_STATUS() {$/;" f class:asctec::Telemetry
-dumpRC_DATA telemetry.cpp /^ void Telemetry::dumpRC_DATA() {$/;" f class:asctec::Telemetry
-enableCommanding telemetry.cpp /^void Telemetry::enableCommanding (uint8_t interval, uint8_t offset)$/;" f class:asctec::Telemetry
-enablePolling telemetry.cpp /^ void Telemetry::enablePolling (RequestType msg, uint8_t interval, uint8_t offset)$/;" f class:asctec::Telemetry
-flush serial_interface.cpp /^ void SerialInterface::flush ()$/;" f class:asctec::SerialInterface
-getPacket serial_interface.cpp /^ bool SerialInterface::getPacket (char *spacket, unsigned char &packet_type, unsigned short &packet_crc,$/;" f class:asctec::SerialInterface
-main autopilot.cpp /^int main (int argc, char **argv)$/;" f
-main teletest.cpp /^int main (int argc, char **argv)$/;" f
-publishPackets telemetry.cpp /^ void Telemetry::publishPackets()$/;" f class:asctec::Telemetry
-requestToString telemetry.cpp /^std::string Telemetry::requestToString(RequestTypes::RequestType t)$/;" f class:asctec::Telemetry
-result serial_interface.cpp /^ bool result = false;$/;" m namespace:asctec file:
-spin autopilot.cpp /^ void AutoPilot::spin (const ros::TimerEvent& e)$/;" f class:asctec::AutoPilot
-stall serial_interface.cpp /^ void SerialInterface::stall (bool wait)$/;" f class:asctec::SerialInterface
-write serial_interface.cpp /^ void SerialInterface::write (char *output, int len)$/;" f class:asctec::SerialInterface
-write serial_interface.cpp /^ void SerialInterface::write (unsigned char *output, int len)$/;" f class:asctec::SerialInterface
-~AutoPilot autopilot.cpp /^ AutoPilot::~AutoPilot ()$/;" f class:asctec::AutoPilot
-~SerialInterface serial_interface.cpp /^ SerialInterface::~SerialInterface ()$/;" f class:asctec::SerialInterface
-~Telemetry telemetry.cpp /^ Telemetry::~Telemetry ()$/;" f class:asctec::Telemetry
diff --git a/asctec_autopilot/udev/99-ftdi.rules b/asctec_autopilot/udev/99-ftdi.rules
new file mode 100644
index 0000000..21a6af9
--- /dev/null
+++ b/asctec_autopilot/udev/99-ftdi.rules
@@ -0,0 +1 @@
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666", SYMLINK+="ftdi_%s{serial}"
diff --git a/asctec_description/CMakeLists.txt b/asctec_description/CMakeLists.txt
new file mode 100644
index 0000000..bc49727
--- /dev/null
+++ b/asctec_description/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 2.8.3)
+project(asctec_description)
+
+find_package(catkin REQUIRED COMPONENTS roslaunch)
+
+catkin_package()
+
+roslaunch_add_file_check(launch)
+
+install(
+ DIRECTORY launch meshes urdf
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+)
\ No newline at end of file
diff --git a/asctec_description/launch/view_model.rviz b/asctec_description/launch/view_model.rviz
new file mode 100644
index 0000000..bd37503
--- /dev/null
+++ b/asctec_description/launch/view_model.rviz
@@ -0,0 +1,155 @@
+Panels:
+ - Class: rviz/Displays
+ Help Height: 78
+ Name: Displays
+ Property Tree Widget:
+ Expanded:
+ - /Global Options1
+ - /Status1
+ Splitter Ratio: 0.5
+ Tree Height: 521
+ - Class: rviz/Selection
+ Name: Selection
+ - Class: rviz/Tool Properties
+ Expanded:
+ - /2D Pose Estimate1
+ - /2D Nav Goal1
+ - /Publish Point1
+ Name: Tool Properties
+ Splitter Ratio: 0.588679
+ - Class: rviz/Views
+ Expanded:
+ - /Current View1
+ Name: Views
+ Splitter Ratio: 0.5
+ - Class: rviz/Time
+ Experimental: false
+ Name: Time
+ SyncMode: 0
+ SyncSource: ""
+Visualization Manager:
+ Class: ""
+ Displays:
+ - Alpha: 0.5
+ Cell Size: 1
+ Class: rviz/Grid
+ Color: 160; 160; 164
+ Enabled: true
+ Line Style:
+ Line Width: 0.03
+ Value: Lines
+ Name: Grid
+ Normal Cell Count: 0
+ Offset:
+ X: 0
+ Y: 0
+ Z: 0
+ Plane: XY
+ Plane Cell Count: 10
+ Reference Frame:
+ Value: true
+ - Alpha: 1
+ Class: rviz/RobotModel
+ Collision Enabled: false
+ Enabled: true
+ Links:
+ All Links Enabled: true
+ Expand Joint Details: false
+ Expand Link Details: false
+ Expand Tree: false
+ Link Tree Style: Links in Alphabetic Order
+ base_footprint:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ base_link:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ leg_1:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ leg_2:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ leg_3:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ leg_4:
+ Alpha: 1
+ Show Axes: false
+ Show Trail: false
+ Value: true
+ Name: RobotModel
+ Robot Description: robot_description
+ TF Prefix: ""
+ Update Interval: 0
+ Value: true
+ Visual Enabled: true
+ Enabled: true
+ Global Options:
+ Background Color: 48; 48; 48
+ Fixed Frame: base_footprint
+ Frame Rate: 30
+ Name: root
+ Tools:
+ - Class: rviz/Interact
+ Hide Inactive Objects: true
+ - Class: rviz/MoveCamera
+ - Class: rviz/Select
+ - Class: rviz/FocusCamera
+ - Class: rviz/Measure
+ - Class: rviz/SetInitialPose
+ Topic: /initialpose
+ - Class: rviz/SetGoal
+ Topic: /move_base_simple/goal
+ - Class: rviz/PublishPoint
+ Single click: true
+ Topic: /clicked_point
+ Value: true
+ Views:
+ Current:
+ Class: rviz/Orbit
+ Distance: 1.1685
+ Enable Stereo Rendering:
+ Stereo Eye Separation: 0.06
+ Stereo Focal Distance: 1
+ Swap Stereo Eyes: false
+ Value: false
+ Focal Point:
+ X: 0
+ Y: 0
+ Z: 0
+ Name: Current View
+ Near Clip Distance: 0.01
+ Pitch: 0.935397
+ Target Frame:
+ Value: Orbit (rviz)
+ Yaw: 0.140399
+ Saved: ~
+Window Geometry:
+ Displays:
+ collapsed: false
+ Height: 846
+ Hide Left Dock: false
+ Hide Right Dock: false
+ QMainWindow State: 000000ff00000000fd00000004000000000000013c0000029ffc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006400fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c00610079007301000000430000029f000000de00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000029ffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007301000000430000029f000000b800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b000000044fc0100000002fb0000000800540069006d00650100000000000004b00000025800fffffffb0000000800540069006d00650100000000000004500000000000000000000002590000029f00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ Selection:
+ collapsed: false
+ Time:
+ collapsed: false
+ Tool Properties:
+ collapsed: false
+ Views:
+ collapsed: false
+ Width: 1200
+ X: 42
+ Y: 44
diff --git a/asctec_description/launch/view_pelican.launch b/asctec_description/launch/view_pelican.launch
new file mode 100644
index 0000000..cf22667
--- /dev/null
+++ b/asctec_description/launch/view_pelican.launch
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pelican_urdf/data/pelican.stl b/asctec_description/meshes/pelican.stl
similarity index 100%
rename from pelican_urdf/data/pelican.stl
rename to asctec_description/meshes/pelican.stl
diff --git a/asctec_description/package.xml b/asctec_description/package.xml
new file mode 100644
index 0000000..4cd2065
--- /dev/null
+++ b/asctec_description/package.xml
@@ -0,0 +1,25 @@
+
+
+ asctec_description
+ 0.0.0
+ AscTec Quadrotor Descriptions
+
+ William Morris, Ivan Dryanovski
+ Paul Bovbel
+ Paul Bovbel
+
+ http://ros.org/wiki/asctec_drivers
+ https://github.com/clearpathrobotics/asctec_drivers/issues
+ https://github.com/clearpathrobotics/asctec_drivers
+
+ GPL
+
+ catkin
+ roslaunch
+ robot_state_publisher
+ urdf
+ xacro
+
+
+
+
diff --git a/asctec_description/urdf/materials.urdf b/asctec_description/urdf/materials.urdf
new file mode 100644
index 0000000..d3b2ff6
--- /dev/null
+++ b/asctec_description/urdf/materials.urdf
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/asctec_description/urdf/pelican.urdf.xacro b/asctec_description/urdf/pelican.urdf.xacro
new file mode 100644
index 0000000..b209d96
--- /dev/null
+++ b/asctec_description/urdf/pelican.urdf.xacro
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/asctec_mon/CMakeLists.txt b/asctec_mon/CMakeLists.txt
deleted file mode 100644
index 80dfea2..0000000
--- a/asctec_mon/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-#common commands for building c++ executables and libraries
-#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-#rosbuild_add_executable(example examples/example.cpp)
-#target_link_libraries(example ${PROJECT_NAME})
diff --git a/asctec_mon/Makefile b/asctec_mon/Makefile
deleted file mode 100644
index b75b928..0000000
--- a/asctec_mon/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
diff --git a/asctec_mon/gpl.txt b/asctec_mon/gpl.txt
deleted file mode 100644
index 10926e8..0000000
--- a/asctec_mon/gpl.txt
+++ /dev/null
@@ -1,675 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
-
diff --git a/asctec_mon/launch/monitor.launch b/asctec_mon/launch/monitor.launch
deleted file mode 100644
index 8152013..0000000
--- a/asctec_mon/launch/monitor.launch
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/asctec_mon/mainpage.dox b/asctec_mon/mainpage.dox
deleted file mode 100644
index ab4b208..0000000
--- a/asctec_mon/mainpage.dox
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
-\mainpage
-\htmlinclude manifest.html
-
-\b asctec_mon is ...
-
-
-
-
-\section codeapi Code API
-
-
-
-
-*/
diff --git a/asctec_mon/manifest.xml b/asctec_mon/manifest.xml
deleted file mode 100644
index 77f61cf..0000000
--- a/asctec_mon/manifest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- AscTec AutoPilot Console Monitor
- This is a curses based groundstation.
-
- William Morris
- GPL
-
- http://ros.org/wiki/asctec_mon
-
-
-
-
-
-
diff --git a/asctec_mon/nodes/monitor.py b/asctec_mon/nodes/monitor.py
deleted file mode 100755
index 9d8d364..0000000
--- a/asctec_mon/nodes/monitor.py
+++ /dev/null
@@ -1,441 +0,0 @@
-#!/usr/bin/env python
-# AscTec Autopilot Console Monitor
-# Copyright (C) 2010, CCNY Robotics Lab
-# William Morris
-#
-# http://robotics.ccny.cuny.edu
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-################################
-# This code may not be pretty but is seems to work.
-# Commands
-# q = Quit
-# r = Record Bag File
-# f = Test flashing the screen
-# b = Test the terminal bell
-
-import roslib; roslib.load_manifest('asctec_mon')
-import rospy
-import curses
-import subprocess
-import os
-import signal
-
-from asctec_msgs.msg import LLStatus
-from asctec_msgs.msg import IMUCalcData
-from asctec_msgs.msg import GPSData
-
-myscreen = curses.initscr()
-curses.start_color()
-curses.halfdelay(1)
-curses.noecho()
-curses.curs_set(0)
-(maxx,maxy) = myscreen.getmaxyx()
-llwin = curses.newwin(11, maxy, maxx-11, 0)
-gpswin = curses.newwin(3, maxy, maxx-14, 0)
-recwin = curses.newwin(3, maxy, maxx-17, 0)
-imuwin = curses.newwin(maxx-17, maxy, 0, 0)
-alarm = 0
-alarm_count = 0
-alarm_interval = 10
-gps_lock = 1
-imu_lock = 1
-ll_lock = 1
-rec_status = 0
-rec_enable = 0
-rec_cmd = ["rosbag", "record", "-a", "-o","asctec"]
-rec_dir = str(os.environ['HOME'])+"/ros/bags"
-rec_process = None
-bag_name = None
-
-def drawSignedVal(r,c,w,val,val_max,val_min,big):
- center = int(w/2)
- if (val > val_max):
- val = val_max
- if (val < val_min):
- val = val_min
- if big:
- # Draw Top
- imuwin.addch(r, c, curses.ACS_ULCORNER)
- for n in range(c+1, c+w):
- if (n == c+center):
- imuwin.addch(r, n, curses.ACS_TTEE)
- else:
- imuwin.addch(r, n, curses.ACS_HLINE)
- imuwin.addch(r, c+w, curses.ACS_URCORNER)
- r = r + 1
-
- # Draw Middle
- imuwin.addch(r, c, curses.ACS_VLINE)
- bar = int(float(val / val_max * center))
- if (bar == 0):
- imuwin.addch(r, c+center, curses.ACS_VLINE)
- elif (bar >= 0):
- imuwin.addstr(r, c+center, " "*bar, curses.color_pair(4))
- imuwin.addch(r, c+center, curses.ACS_VLINE,curses.color_pair(4))
- else:
- imuwin.addstr(r, c+center+bar+1, " "*(-1*bar), curses.color_pair(4))
- imuwin.addch(r, c+center, curses.ACS_VLINE,curses.color_pair(4))
- imuwin.addch(r, c+w, curses.ACS_VLINE)
- r = r + 1
-
- if big:
- # Draw Bottom
- imuwin.addch(r, c, curses.ACS_LLCORNER)
- for n in range(c+1, c+w):
- if (n == c+center):
- imuwin.addch(r, n, curses.ACS_BTEE)
- else:
- imuwin.addch(r, n, curses.ACS_HLINE)
- imuwin.addch(r, c+w, curses.ACS_LRCORNER)
-
-def drawBattery(r,c,w,battery_val):
- global alarm
- # Battery Settings
- # Taken from http://en.wikipedia.org/wiki/Lithium-ion_polymer_battery
- battery_max = 12.7 # Maximum Voltage
- battery_warn = 10.0 # Warning Voltage
- battery_min = 8.4 # Minimum Voltage
-
- # Draw Top
- llwin.addch(r, c, curses.ACS_ULCORNER)
- for n in range(c+1, c+w):
- llwin.addch(r, n, curses.ACS_HLINE)
- llwin.addch(r, c+w, curses.ACS_URCORNER)
- r = r + 1
-
- # Draw Middle
- llwin.addch(r, c, curses.ACS_VLINE)
- b = int((battery_val - battery_min)/(battery_max-battery_min)*w)
- if battery_val > battery_warn:
- alarm = 0
- llwin.addstr(r, c+1, " " * b, curses.color_pair(4))
- else:
- alarm = 1
- llwin.addstr(r, c+1, " " * b, curses.color_pair(5))
- llwin.addch(r, c+w, curses.ACS_VLINE)
- r = r + 1
-
- # Draw Bottom
- llwin.addch(r, c, curses.ACS_LLCORNER)
- for n in range(c+1, c+w):
- llwin.addch(r, n, curses.ACS_HLINE)
- llwin.addch(r, c+w, curses.ACS_LRCORNER)
-
-def drawStatusMode(r,c,w,data):
- # Draw Top
- size = int(w / 3)-1
- llwin.addch(r, c, curses.ACS_ULCORNER)
- for n in range(c+1, c+w):
- if ((n%(size+c))-2):
- llwin.addch(r, n, curses.ACS_HLINE)
- else:
- llwin.addch(r, n, curses.ACS_TTEE)
- llwin.addch(r, c+w, curses.ACS_URCORNER)
- r = r + 1
-
- size = size + 2
- pos = c+(size*0)
- llwin.addch(r, pos, curses.ACS_VLINE)
- if (data.compass_enabled):
- llwin.addstr(r,pos+1,"Compass",curses.color_pair(3)|curses.A_BOLD)
- else:
- llwin.addstr(r,pos+1,"Compass",curses.color_pair(0))
-
- pos = c+(size*1)
- llwin.addch(r, pos, curses.ACS_VLINE)
- llwin.addstr(r,pos+1,"Flight Time: "+str(data.up_time)+" sec",curses.color_pair(0))
-
- pos = c+(size*2)
- llwin.addch(r, pos, curses.ACS_VLINE)
- llwin.addstr(r,pos+1,"CPU: "+str(data.cpu_load),curses.color_pair(0))
-
- pos = c+w
- llwin.addch(r, pos, curses.ACS_VLINE)
- r = r + 1
-
- # Draw Bottom
- size = int(w / 3)-1
- llwin.addch(r, c, curses.ACS_LLCORNER)
- for n in range(c+1, c+w):
- if ((n%(size+c))-2):
- llwin.addch(r, n, curses.ACS_HLINE)
- else:
- llwin.addch(r, n, curses.ACS_BTEE)
- llwin.addch(r, c+w, curses.ACS_LRCORNER)
-
-def drawFlightMode(r,c,w,flightMode):
- # Draw Top
- size = int(w / 5)-2
- llwin.addch(r, c, curses.ACS_ULCORNER)
- for n in range(c+1, c+w):
- if (((n%(size+c))-2) or (n/size+c) > 6):
- llwin.addch(r, n, curses.ACS_HLINE)
- else:
- llwin.addch(r, n, curses.ACS_TTEE)
- llwin.addch(r, c+w, curses.ACS_URCORNER)
- r = r + 1
-
- size = size + 2
- # There are 5 Flight Modes but the bit index of the serial active
- # mode is currently unknown
- pos = c+(size*0)
- llwin.addch(r, pos, curses.ACS_VLINE)
- if ((flightMode|0b01111111)!=0b11111111):
- llwin.addstr(r,pos+1,"Emergency",curses.color_pair(0))
- else:
- llwin.addstr(r,pos+1,"Emergency",curses.color_pair(2)|curses.A_BOLD)
-
- pos = c+(size*1)
- llwin.addch(r, pos, curses.ACS_VLINE)
- if ((flightMode|0b11111101)!=0b11111111):
- llwin.addstr(r,pos+1,"Height Control",curses.color_pair(0))
- else:
- llwin.addstr(r,pos+1,"Height Control",curses.color_pair(3)|curses.A_BOLD)
-
- pos = c+(size*2)
- llwin.addch(r, pos, curses.ACS_VLINE)
- if ((flightMode|0b11111011)!=0b11111111):
- llwin.addstr(r,pos+1,"GPS Mode",curses.color_pair(0))
- else:
- llwin.addstr(r,pos+1,"GPS Mode",curses.color_pair(3)|curses.A_BOLD)
-
- pos = c+(size*3)
- llwin.addch(r, pos, curses.ACS_VLINE)
- if ((flightMode|0b11011111)!=0b11111111):
- llwin.addstr(r,pos+1,"Serial Enable",curses.color_pair(0))
- else:
- llwin.addstr(r,pos+1,"Serial Enable",curses.color_pair(3)|curses.A_BOLD)
-
- pos = c+(size*4)
- llwin.addch(r, pos, curses.ACS_VLINE)
- # FIXME: This is probably the wrong bitmask
- if ((flightMode|0b10111111)!=0b11111111):
- llwin.addstr(r,pos+1,"Serial Active",curses.color_pair(0))
- else:
- llwin.addstr(r,pos+1,"Serial Active",curses.color_pair(3)|curses.A_BOLD)
- pos = c+w
- llwin.addch(r, pos, curses.ACS_VLINE)
- r = r + 1
-
- # Draw Bottom
- size = int(w / 5)-2
- llwin.addch(r, c, curses.ACS_LLCORNER)
- for n in range(c+1, c+w):
- if (((n%(size+c))-2) or (n/size+c) > 6):
- llwin.addch(r, n, curses.ACS_HLINE)
- else:
- llwin.addch(r, n, curses.ACS_BTEE)
- llwin.addch(r, c+w, curses.ACS_LRCORNER)
-
-def record_update():
- global rec_status
- global rec_cmd
- global rec_dir
- global rec_process
- global rec_enable
- global bag_name
-
- recwin.clear()
- if rec_status:
- recattr = curses.color_pair(2)
- else:
- recattr = curses.color_pair(0)
- recwin.attrset(recattr)
- (rec_maxx,rec_maxy) = recwin.getmaxyx()
- rec_maxy = rec_maxy - 2 # remove space for left and right border
- recwin.border(0)
-
- if rec_enable != rec_status:
- if rec_enable:
- rec_process = subprocess.Popen(rec_cmd, shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=rec_dir)
- else:
- bag_name = None
- rec_status = rec_enable
-
- if rec_status:
- if (bag_name == None or bag_name == ''):
- process = subprocess.Popen(['lsof -c record -Fn -- | grep active | cut -c2-'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=rec_dir)
- bag_name = process.stdout.readline().rstrip()
- recwin.addstr(0,2,"Flight Data Recording",curses.color_pair(2)|curses.A_BOLD)
- recwin.attrset(curses.color_pair(0))
- recwin.addstr(1, 2, "Filename: ")
- recwin.addstr(1,12,bag_name)
- else:
- if (rec_process != None):
- rec_process.send_signal(signal.SIGINT)
- recwin.addstr(0,2,"Flight Data Recorder",curses.color_pair(1)|curses.A_BOLD)
- recwin.attrset(curses.color_pair(0))
- recwin.addstr(1, 2, "Command: ")
- recwin.addstr(1,11,' '.join(rec_cmd))
- if rec_process != None:
- if rec_process.poll() == 0:
- rec_process = None
-def gps_callback(data):
- global gps_lock
- gps_lock = 1
- gpswin.clear()
- (gps_maxx,gps_maxy) = imuwin.getmaxyx()
- gps_maxy = gps_maxy - 2 # remove space for left and right border
- gcol = 25
- gpswin.border(0)
- gpswin.addstr(0, 2, "GPS", curses.color_pair(1)|curses.A_BOLD)
- lat_val = float(data.latitude)/float(10**7)
- gpswin.addstr(1, 2, 'Lat: {0:+012.7f}'.format(lat_val))
- lon_val = float(data.longitude)/float(10**7)
- gpswin.addstr(1, 21, 'Lon: {0:+012.7f}'.format(lon_val))
- height_val = float(data.height)/1000.0
- gpswin.addstr(1, 40, 'Height: {0: 7.3f}m'.format(height_val))
- heading_val = float(data.heading)/1000.0
- gpswin.addstr(1, 58, 'Heading: {0: 7.3f}'.format(heading_val))
- gps_lock = 0
-
-def imu_callback(data):
- global imu_lock
- imu_lock = 1
- imuwin.clear()
- (imu_maxx,imu_maxy) = imuwin.getmaxyx()
- imu_maxy = imu_maxy - 2 # remove space for left and right border
- gcol = 25
- imuwin.border(0)
- imuwin.addstr(0, 2, "AscTec Quadrotor Console Monitor", curses.color_pair(1)|curses.A_BOLD)
-
- pos = 1
- if (imu_maxx > 16):
- pos_inc = 3
- big = 1
- else:
- pos_inc = 1
- big = 0
-
- # Height Graph
- ################################
- height = float(data.height)/1000.0
- imuwin.addstr(pos+big, 2, 'Height: {0: 8.3f}m'.format(height))
- drawSignedVal(pos,gcol,imu_maxy-(gcol+1),height,10.0,-10.0,big)
- pos = pos + pos_inc
-
- # Roll Graph
- ################################
- roll = float(data.angle_roll)/1000.0
- imuwin.addstr(pos+big, 2, "Roll: %+08.3f"%roll)
- imuwin.addch(pos+big, 21, curses.ACS_DEGREE)
- drawSignedVal(pos,gcol,imu_maxy-(gcol+1),roll,90.0,-90.0,big)
- pos = pos + pos_inc
-
- # Pitch Graph
- ################################
- pitch = float(data.angle_nick)/1000.0
- imuwin.addstr(pos+big, 2, "Pitch: %+08.3f"%pitch)
- imuwin.addch(pos+big, 21, curses.ACS_DEGREE)
- drawSignedVal(pos,gcol,imu_maxy-(gcol+1),pitch,180.0,-180.0,big)
- pos = pos + pos_inc
-
- # Yaw Graph
- ################################
- yaw = float(data.angle_yaw)/1000.0 -180
- imuwin.addstr(pos+big, 2, "Fused Yaw: %+08.3f"%yaw)
- imuwin.addch(pos+big, 21, curses.ACS_DEGREE)
- drawSignedVal(pos,gcol,imu_maxy-(gcol+1),yaw,180.0,-180.0,big)
- pos = pos + pos_inc
-
- # Compass Graph
- ################################
- mag = float(data.mag_heading)/1000.0 -180
- imuwin.addstr(pos+big, 2, "Compass: %+08.3f"%mag)
- imuwin.addch(pos+big, 21, curses.ACS_DEGREE)
- drawSignedVal(pos,gcol,imu_maxy-(gcol+1),mag,180.0,-180.0,big)
- pos = pos + pos_inc
-
- imu_lock = 0
-
-def callback(data):
- global ll_lock
- ll_lock = 1
- llwin.clear()
- (maxx,maxy) = llwin.getmaxyx()
- maxy = maxy - 2 # remove space for left and right border
- gcol = 20
- llwin.border(0)
- llwin.addstr(0, 2, "Status", curses.color_pair(1)|curses.A_BOLD)
-
- # Battery Monitor
- ################################
- battery_val = float(data.battery_voltage_1)/1000.0
- llwin.addstr(2, 2, 'Battery: {0:.3f}V'.format(battery_val))
- drawBattery(1,gcol,maxy-(gcol+1),float(data.battery_voltage_1)/1000)
-
- # Flight Mode Monitor
- ################################
- drawFlightMode(4,2,maxy-3,data.flightMode)
-
- # Status Monitor
- ################################
- drawStatusMode(7,2,maxy-3,data)
-
- ll_lock = 0
-
-def listener():
- global imuwin, maxx, maxy
- global alarm, alarm_count, alarm_interval
- global rec_enable
-
- rospy.init_node('asctec_monitor')
- rospy.Subscriber("asctec/LL_STATUS", LLStatus, callback)
- rospy.Subscriber("asctec/IMU_CALCDATA", IMUCalcData, imu_callback)
- rospy.Subscriber("asctec/GPS_DATA", GPSData, gps_callback)
- curses.init_pair(1, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
- curses.init_pair(2, curses.COLOR_RED, curses.COLOR_BLACK)
- curses.init_pair(3, curses.COLOR_GREEN, curses.COLOR_BLACK)
- curses.init_pair(4, curses.COLOR_BLACK, curses.COLOR_WHITE)
- curses.init_pair(5, curses.COLOR_BLACK, curses.COLOR_RED)
- r = rospy.Rate(10) # Hz
- (maxx,maxy) = myscreen.getmaxyx()
- while not rospy.is_shutdown():
- c = myscreen.getch()
- if c == ord('f'): curses.flash()
- elif c == ord('b'): curses.beep()
- elif c == ord('r'): rec_enable = not rec_enable
- elif c == ord('q'): break # Exit the while()
- elif c == curses.KEY_HOME: x = y = 0
- (current_maxx,current_maxy) = myscreen.getmaxyx()
- if (current_maxx != maxx or current_maxy != maxy):
- (maxx,maxy) = myscreen.getmaxyx()
- gpswin.mvwin(maxx-14, 0)
- llwin.mvwin(maxx-11, 0)
- imuwin = curses.newwin(maxx-14, maxy, 0, 0)
- #imuwin.refresh()
- #llwin.refresh()
- #gpswin.refresh()
- if (alarm):
- alarm_count = alarm_count + 1
- if (alarm_count == alarm_interval):
- alarm_count = 0
- curses.flash()
- curses.beep()
- if (not gps_lock):
- gpswin.refresh()
- if (not imu_lock):
- imuwin.refresh()
- if (not ll_lock):
- llwin.refresh()
- record_update()
- recwin.refresh()
- r.sleep()
- curses.nocbreak(); myscreen.keypad(0); curses.echo(); curses.curs_set(1)
- curses.endwin()
-
-if __name__ == '__main__':
- listener()
diff --git a/asctec_msgs/.gitignore b/asctec_msgs/.gitignore
deleted file mode 100644
index 872a51d..0000000
--- a/asctec_msgs/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-msg_gen/
diff --git a/asctec_msgs/CMakeLists.txt b/asctec_msgs/CMakeLists.txt
index 4a14e9d..b894dee 100644
--- a/asctec_msgs/CMakeLists.txt
+++ b/asctec_msgs/CMakeLists.txt
@@ -1,23 +1,36 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
+cmake_minimum_required(VERSION 2.8.3)
+project(asctec_msgs)
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-set(ROS_BUILD_TYPE RelWithDebInfo)
+find_package(catkin REQUIRED COMPONENTS
+ std_msgs
+ message_generation
+)
-rosbuild_init()
+add_message_files(
+ FILES
+ ControllerOutput.msg
+ CtrlInput.msg
+ GPSData.msg
+ GPSDataAdvanced.msg
+ IMUCalcData.msg
+ IMURawData.msg
+ LLStatus.msg
+ RCData.msg
+)
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
+generate_messages(
+ DEPENDENCIES std_msgs
+)
-#uncomment if you have defined messages
-rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
+catkin_package(
+ INCLUDE_DIRS include
+ CATKIN_DEPENDS std_msgs message_runtime
+ )
+include_directories(include
+ ${catkin_INCLUDE_DIRS}
+)
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+)
diff --git a/asctec_msgs/Makefile b/asctec_msgs/Makefile
deleted file mode 100644
index bbd3fc6..0000000
--- a/asctec_msgs/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake.mk
diff --git a/asctec_msgs/gpl.txt b/asctec_msgs/gpl.txt
deleted file mode 100644
index 10926e8..0000000
--- a/asctec_msgs/gpl.txt
+++ /dev/null
@@ -1,675 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
-
diff --git a/asctec_msgs/manifest.xml b/asctec_msgs/manifest.xml
deleted file mode 100644
index ce1bef7..0000000
--- a/asctec_msgs/manifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- Common messages for the AscTec AutoPilot
-
- William Morris, Ivan Dryanovski, Steven Bellens, Patrick Bouffard et al.
- GPL
-
- http://ros.org/wiki/asctec_msgs
-
-
-
-
-
-
-
-
-
diff --git a/asctec_msgs/msg/.gitignore b/asctec_msgs/msg/.gitignore
deleted file mode 100644
index 14fbcc9..0000000
--- a/asctec_msgs/msg/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-lisp
-
diff --git a/asctec_msgs/package.xml b/asctec_msgs/package.xml
new file mode 100644
index 0000000..a33374e
--- /dev/null
+++ b/asctec_msgs/package.xml
@@ -0,0 +1,25 @@
+
+
+ asctec_msgs
+ 0.0.0
+ Common messages for the AscTec AutoPilot
+
+ William Morris, Ivan Dryanovski, Steven Bellens, Patrick Bouffard et al.
+ Paul Bovbel
+ Paul Bovbel
+
+ http://ros.org/wiki/asctec_drivers
+ https://github.com/clearpathrobotics/asctec_drivers/issues
+ https://github.com/clearpathrobotics/asctec_drivers
+
+ GPL
+
+ catkin
+ message_generation
+ std_msgs
+ message_runtime
+ std_msgs
+
+
+
+
diff --git a/asctec_msgs/src/.gitignore b/asctec_msgs/src/.gitignore
deleted file mode 100644
index f934d26..0000000
--- a/asctec_msgs/src/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-asctec_msgs
-
diff --git a/asctec_proc/CMakeLists.txt b/asctec_proc/CMakeLists.txt
index babd9cc..1e32e38 100644
--- a/asctec_proc/CMakeLists.txt
+++ b/asctec_proc/CMakeLists.txt
@@ -1,31 +1,50 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-# Set the build type. Options are:
-# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
-# Debug : w/ debug symbols, w/o optimization
-# Release : w/o debug symbols, w/ optimization
-# RelWithDebInfo : w/ debug symbols, w/ optimization
-# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
-set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-rosbuild_gensrv()
-
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-# create autopilot library
-
-rosbuild_add_library (asctec_proc src/asctec_proc.cpp)
-
-# create autopilot_nodelet library
-
-rosbuild_add_library (asctec_proc_nodelet src/asctec_proc_nodelet.cpp)
-target_link_libraries (asctec_proc_nodelet asctec_proc)
-
-# create autopilot_node executable
-
-rosbuild_add_executable(asctec_proc_node src/asctec_proc_node.cpp)
-target_link_libraries (asctec_proc_node asctec_proc)
+cmake_minimum_required(VERSION 2.8.3)
+project(asctec_proc)
+
+find_package(catkin REQUIRED COMPONENTS
+ asctec_msgs
+ mav_msgs
+ nav_msgs
+ nodelet
+ roscpp
+ sensor_msgs
+ std_msgs
+ tf
+ )
+
+catkin_package(
+ INCLUDE_DIRS include
+ LIBRARIES autopilot
+ CATKIN_DEPENDS
+ asctec_msgs
+ mav_msgs
+ nodelet
+ roscpp
+ sensor_msgs
+ std_msgs
+ tf
+ )
+
+include_directories(include ${catkin_INCLUDE_DIRS})
+
+add_library(asctec_proc
+ src/asctec_proc_nodelet.cpp
+ src/asctec_proc.cpp
+ )
+target_link_libraries(asctec_proc ${catkin_LIBRARIES})
+add_dependencies(asctec_proc ${catkin_EXPORTED_TARGETS})
+
+add_executable(asctec_proc_node
+ src/asctec_proc_node.cpp
+ )
+target_link_libraries(asctec_proc_node asctec_proc ${catkin_LIBRARIES})
+
+install(TARGETS asctec_proc_node asctec_proc
+ RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ )
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+ )
diff --git a/asctec_proc/Makefile b/asctec_proc/Makefile
deleted file mode 100644
index b75b928..0000000
--- a/asctec_proc/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
diff --git a/asctec_proc/gpl.txt b/asctec_proc/gpl.txt
deleted file mode 100644
index 10926e8..0000000
--- a/asctec_proc/gpl.txt
+++ /dev/null
@@ -1,675 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
-
diff --git a/asctec_proc/include/asctec_proc/asctec_proc.h b/asctec_proc/include/asctec_proc/asctec_proc.h
index a9777b4..a124dc0 100644
--- a/asctec_proc/include/asctec_proc/asctec_proc.h
+++ b/asctec_proc/include/asctec_proc/asctec_proc.h
@@ -15,8 +15,8 @@
#include
#include
-#include
-#include
+#include
+#include
namespace asctec
{
@@ -115,10 +115,10 @@ class AsctecProc
void stopMotors();
void publishCtrlInputMsg();
- bool setMotorsOnOff(mav_srvs::SetMotorsOnOff::Request &req,
- mav_srvs::SetMotorsOnOff::Response &res);
- bool getMotorsOnOff(mav_srvs::GetMotorsOnOff::Request &req,
- mav_srvs::GetMotorsOnOff::Response &res);
+ bool setMotorsOnOff(mav_msgs::SetMotorsOnOff::Request &req,
+ mav_msgs::SetMotorsOnOff::Response &res);
+ bool getMotorsOnOff(mav_msgs::GetMotorsOnOff::Request &req,
+ mav_msgs::GetMotorsOnOff::Response &res);
public:
diff --git a/asctec_proc/launch/asctec_driver.launch b/asctec_proc/launch/asctec_driver.launch
index 6121410..1318d84 100644
--- a/asctec_proc/launch/asctec_driver.launch
+++ b/asctec_proc/launch/asctec_driver.launch
@@ -13,6 +13,10 @@
+
+
+
+
diff --git a/asctec_proc/mainpage.dox b/asctec_proc/mainpage.dox
deleted file mode 100644
index 3be2a07..0000000
--- a/asctec_proc/mainpage.dox
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
-\mainpage
-\htmlinclude manifest.html
-
-\b asctec_proc is ...
-
-
-
-
-\section codeapi Code API
-
-
-
-
-*/
diff --git a/asctec_proc/manifest.xml b/asctec_proc/manifest.xml
deleted file mode 100644
index 3c628e0..0000000
--- a/asctec_proc/manifest.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- The asctec_proc package is a bridge between the asctec_autopilot software and hardware-independent MAV tools.
-
-
- Ivan Dryanovski
- GPL
-
- http://ros.org/wiki/asctec_proc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/asctec_proc/package.xml b/asctec_proc/package.xml
new file mode 100644
index 0000000..8a6a46b
--- /dev/null
+++ b/asctec_proc/package.xml
@@ -0,0 +1,38 @@
+
+ asctec_proc
+ 0.0.0
+ Bridge between asctec_autopilot and hardware-independent MAV tools
+
+ Ivan Dryanovski
+ Paul Bovbel
+ Paul Bovbel
+
+ http://ros.org/wiki/asctec_drivers
+ https://github.com/clearpathrobotics/asctec_drivers/issues
+ https://github.com/clearpathrobotics/asctec_drivers
+
+ GPL
+
+ catkin
+ asctec_msgs
+ mav_msgs
+ nav_msgs
+ nodelet
+ roscpp
+ sensor_msgs
+ std_msgs
+ tf
+ asctec_msgs
+ mav_msgs
+ nav_msgs
+ nodelet
+ roscpp
+ sensor_msgs
+ std_msgs
+ tf
+
+
+
+
+
+
diff --git a/asctec_proc/src/asctec_proc.cpp b/asctec_proc/src/asctec_proc.cpp
index 2980f16..f7bb13c 100644
--- a/asctec_proc/src/asctec_proc.cpp
+++ b/asctec_proc/src/asctec_proc.cpp
@@ -25,10 +25,10 @@ namespace asctec
{
AsctecProc::AsctecProc(ros::NodeHandle nh, ros::NodeHandle nh_private):
- nh_(nh),
+ nh_(nh),
nh_private_(nh_private)
{
- ROS_INFO("Starting AsctecProc");
+ ROS_INFO("Starting AsctecProc");
ros::NodeHandle nh_rawdata (nh_, asctec::ROS_NAMESPACE);
ros::NodeHandle nh_procdata (nh_, "mav");
@@ -48,7 +48,7 @@ AsctecProc::AsctecProc(ros::NodeHandle nh, ros::NodeHandle nh_private):
ctrl_thrust_ = 0;
assembleCtrlCommands();
-
+
// *** register publishers
imu_publisher_ = nh_procdata.advertise(
@@ -102,7 +102,7 @@ AsctecProc::AsctecProc(ros::NodeHandle nh, ros::NodeHandle nh_private):
AsctecProc::~AsctecProc()
{
- ROS_INFO("Destroying AsctecProc");
+ ROS_INFO("Destroying AsctecProc");
}
@@ -130,8 +130,8 @@ void AsctecProc::initializeParams()
max_ctrl_yaw_ = 600;
}
-bool AsctecProc::setMotorsOnOff(mav_srvs::SetMotorsOnOff::Request &req,
- mav_srvs::SetMotorsOnOff::Response &res)
+bool AsctecProc::setMotorsOnOff(mav_msgs::SetMotorsOnOff::Request &req,
+ mav_msgs::SetMotorsOnOff::Response &res)
{
state_mutex_.lock();
engaging_ = true;
@@ -155,8 +155,8 @@ bool AsctecProc::setMotorsOnOff(mav_srvs::SetMotorsOnOff::Request &req,
return (req.on == motors_on_);
}
-bool AsctecProc::getMotorsOnOff(mav_srvs::GetMotorsOnOff::Request &req,
- mav_srvs::GetMotorsOnOff::Response &res)
+bool AsctecProc::getMotorsOnOff(mav_msgs::GetMotorsOnOff::Request &req,
+ mav_msgs::GetMotorsOnOff::Response &res)
{
state_mutex_.lock();
res.on = motors_on_;
@@ -176,7 +176,7 @@ void AsctecProc::cmdRollCallback(const std_msgs::Float64ConstPtr& cmd_roll_msg)
if (!motors_on_ || engaging_) return;
state_mutex_.lock();
-
+
// translate from cmd_roll [-1.0 to 1.0] to ctrl_roll [-2047 .. 2047],
ctrl_roll_ = (int)(cmd_roll_msg->data * asctec::ROS_TO_ASC_ROLL);
@@ -204,7 +204,7 @@ void AsctecProc::cmdPitchCallback(const std_msgs::Float64ConstPtr& cmd_pitch_msg
if (!motors_on_ || engaging_) return;
state_mutex_.lock();
-
+
// translate from cmd_pitch [-1.0 to 1.0] to ctrl_pitch [-2047 .. 2047],
ctrl_pitch_ = (int)(cmd_pitch_msg->data * asctec::ROS_TO_ASC_PITCH);
@@ -312,7 +312,7 @@ void AsctecProc::createHeightMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_cal
height_msg->header.frame_id = "imu"; // the frame seems arbitrary here
height_msg->height = imu_calcdata_msg->height_reference * asctec::ASC_TO_ROS_HEIGHT;
- height_msg->climb = imu_calcdata_msg->dheight_reference * asctec::ASC_TO_ROS_HEIGHT;
+ height_msg->climb = imu_calcdata_msg->dheight_reference * asctec::ASC_TO_ROS_HEIGHT;
}
void AsctecProc::createHeightFilteredMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_calcdata_msg,
@@ -323,10 +323,10 @@ void AsctecProc::createHeightFilteredMsg(const asctec_msgs::IMUCalcDataConstPtr&
height_filtered_msg->header.frame_id = "imu"; // the frame seems arbitrary here
height_filtered_msg->height = imu_calcdata_msg->height * asctec::ASC_TO_ROS_HEIGHT;
- height_filtered_msg->climb = imu_calcdata_msg->dheight * asctec::ASC_TO_ROS_HEIGHT;
+ height_filtered_msg->climb = imu_calcdata_msg->dheight * asctec::ASC_TO_ROS_HEIGHT;
}
-void AsctecProc::createImuMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_calcdata_msg,
+void AsctecProc::createImuMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_calcdata_msg,
sensor_msgs::ImuPtr& imu_msg)
{
// set header info
@@ -353,7 +353,7 @@ void AsctecProc::createImuMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_calcda
// copy over angular_velocity - minus signs convert to ENU frame
imu_msg->angular_velocity.x = imu_calcdata_msg->angvel_roll * asctec::ASC_TO_ROS_ANGVEL * -1.0;
imu_msg->angular_velocity.y = imu_calcdata_msg->angvel_nick * asctec::ASC_TO_ROS_ANGVEL;
- imu_msg->angular_velocity.z = imu_calcdata_msg->angvel_yaw * asctec::ASC_TO_ROS_ANGVEL * -1.0;
+ imu_msg->angular_velocity.z = imu_calcdata_msg->angvel_yaw * asctec::ASC_TO_ROS_ANGVEL * -1.0;
/* // Uncomment these if you use covariances
// define angular_velocity variance
@@ -382,7 +382,7 @@ void AsctecProc::createImuMsg(const asctec_msgs::IMUCalcDataConstPtr& imu_calcda
void AsctecProc::startMotors()
{
- // set the stick to lower left, wait for motors to engage,
+ // set the stick to lower left, wait for motors to engage,
// and reset stick
ROS_INFO ("Starting motors...");
@@ -404,7 +404,7 @@ void AsctecProc::startMotors()
void AsctecProc::stopMotors()
{
- // set the stick to lower left, wait for motors to disengage,
+ // set the stick to lower left, wait for motors to disengage,
// and reset stick
ROS_INFO ("Stopping motors...");
@@ -436,8 +436,8 @@ void AsctecProc::assembleCtrlCommands()
ctrl_input_toggle_msg_->yaw = -2047;
ctrl_input_toggle_msg_->ctrl = int(0b1100);
- ctrl_input_toggle_msg_->chksum = ctrl_input_toggle_msg_->roll + ctrl_input_toggle_msg_->pitch +
- ctrl_input_toggle_msg_->yaw + ctrl_input_toggle_msg_->thrust +
+ ctrl_input_toggle_msg_->chksum = ctrl_input_toggle_msg_->roll + ctrl_input_toggle_msg_->pitch +
+ ctrl_input_toggle_msg_->yaw + ctrl_input_toggle_msg_->thrust +
ctrl_input_toggle_msg_->ctrl - 21846;
// **** Assemble zero message
@@ -450,8 +450,8 @@ void AsctecProc::assembleCtrlCommands()
ctrl_input_zero_msg_->yaw = 0;
ctrl_input_zero_msg_->ctrl = int(0b1100);
- ctrl_input_zero_msg_->chksum = ctrl_input_zero_msg_->roll + ctrl_input_zero_msg_->pitch +
- ctrl_input_zero_msg_->yaw + ctrl_input_zero_msg_->thrust +
+ ctrl_input_zero_msg_->chksum = ctrl_input_zero_msg_->roll + ctrl_input_zero_msg_->pitch +
+ ctrl_input_zero_msg_->yaw + ctrl_input_zero_msg_->thrust +
ctrl_input_zero_msg_->ctrl - 21846;
}
@@ -461,23 +461,23 @@ void AsctecProc::publishCtrlInputMsg()
// **** Assemble the generic control input message
- asctec_msgs::CtrlInputPtr ctrl_input_msg;
+ asctec_msgs::CtrlInputPtr ctrl_input_msg;
ctrl_input_msg = boost::make_shared();
-
+
ctrl_input_msg->thrust = ctrl_thrust_;
ctrl_input_msg->roll = ctrl_roll_;
ctrl_input_msg->pitch = ctrl_pitch_;
ctrl_input_msg->yaw = ctrl_yaw_;
ctrl_input_msg->ctrl = int(0b0000);
- if (enable_ctrl_thrust_) ctrl_input_msg->ctrl |= 0b1000; // These are from CtrlInput.msg
+ if (enable_ctrl_thrust_) ctrl_input_msg->ctrl |= 0b1000; // These are from CtrlInput.msg
if (enable_ctrl_yaw_) ctrl_input_msg->ctrl |= 0b0100;
if (enable_ctrl_roll_) ctrl_input_msg->ctrl |= 0b0010;
if (enable_ctrl_pitch_) ctrl_input_msg->ctrl |= 0b0001;
// update checksum and timestamp, and publish
- ctrl_input_msg->chksum = ctrl_input_msg->roll + ctrl_input_msg->pitch +
- ctrl_input_msg->yaw + ctrl_input_msg->thrust +
+ ctrl_input_msg->chksum = ctrl_input_msg->roll + ctrl_input_msg->pitch +
+ ctrl_input_msg->yaw + ctrl_input_msg->thrust +
ctrl_input_msg->ctrl - 21846;
ctrl_input_msg->header.stamp = ros::Time::now();
ctrl_input_publisher_.publish(ctrl_input_msg);
diff --git a/ccny_asctec_firmware/.cproject b/ccny_asctec_firmware/.cproject
deleted file mode 100644
index 6f44e65..0000000
--- a/ccny_asctec_firmware/.cproject
+++ /dev/null
@@ -1,240 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccny_asctec_firmware/.dep/LL_HL_comm.o.d b/ccny_asctec_firmware/.dep/LL_HL_comm.o.d
deleted file mode 100644
index 4f9d081..0000000
--- a/ccny_asctec_firmware/.dep/LL_HL_comm.o.d
+++ /dev/null
@@ -1,110 +0,0 @@
-src/LL_HL_comm.o: src/LL_HL_comm.c include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/util.h C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/gpsmath.h \
- include/ccny_asctec_firmware/sdk.h C:\WinARM\arm-elf\include/inttypes.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- include/ccny_asctec_firmware/pid.h \
- ../mav_common/include/mav_common/comm.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/sdk.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/uart.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/kalman.h \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h C:\WinARM\arm-elf\include/_ansi.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/comm_util_LL.h
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-../mav_common/include/mav_common/comm.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
diff --git a/ccny_asctec_firmware/.dep/LPC2k_ee.o.d b/ccny_asctec_firmware/.dep/LPC2k_ee.o.d
deleted file mode 100644
index ad96fd3..0000000
--- a/ccny_asctec_firmware/.dep/LPC2k_ee.o.d
+++ /dev/null
@@ -1,6 +0,0 @@
-src/LPC2k_ee.o: src/LPC2k_ee.c external/Common_WinARM/inc/LPC214x.h \
- include/ccny_asctec_firmware/LPC2k_ee.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-include/ccny_asctec_firmware/LPC2k_ee.h:
diff --git a/ccny_asctec_firmware/.dep/adc.o.d b/ccny_asctec_firmware/.dep/adc.o.d
deleted file mode 100644
index c869883..0000000
--- a/ccny_asctec_firmware/.dep/adc.o.d
+++ /dev/null
@@ -1,13 +0,0 @@
-src/adc.o: src/adc.c external/Common_WinARM/inc/LPC214x.h \
- external/Common_WinARM/inc/type.h external/Common_WinARM/inc/irq.h \
- external/Common_WinARM/inc/target.h include/ccny_asctec_firmware/adc.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/type.h:
-
-external/Common_WinARM/inc/irq.h:
-
-external/Common_WinARM/inc/target.h:
-
-include/ccny_asctec_firmware/adc.h:
diff --git a/ccny_asctec_firmware/.dep/comm_util.o.d b/ccny_asctec_firmware/.dep/comm_util.o.d
deleted file mode 100644
index 537e0db..0000000
--- a/ccny_asctec_firmware/.dep/comm_util.o.d
+++ /dev/null
@@ -1,38 +0,0 @@
-../mav_common/src/comm_util.o: ../mav_common/src/comm_util.c \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/stdint.h C:\WinARM\arm-elf\include/math.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/_ansi.h \
- ../mav_common/include/mav_common/comm_types.h
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-../mav_common/include/mav_common/comm_types.h:
diff --git a/ccny_asctec_firmware/.dep/comm_util_LL.o.d b/ccny_asctec_firmware/.dep/comm_util_LL.o.d
deleted file mode 100644
index 12a81d9..0000000
--- a/ccny_asctec_firmware/.dep/comm_util_LL.o.d
+++ /dev/null
@@ -1,35 +0,0 @@
-src/comm_util_LL.o: src/comm_util_LL.c \
- include/ccny_asctec_firmware/comm_util_LL.h \
- C:\WinARM\arm-elf\include/stdint.h C:\WinARM\arm-elf\include/math.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/_ansi.h
-
-include/ccny_asctec_firmware/comm_util_LL.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
diff --git a/ccny_asctec_firmware/.dep/gpsmath.o.d b/ccny_asctec_firmware/.dep/gpsmath.o.d
deleted file mode 100644
index fd37291..0000000
--- a/ccny_asctec_firmware/.dep/gpsmath.o.d
+++ /dev/null
@@ -1,32 +0,0 @@
-src/gpsmath.o: src/gpsmath.c C:\WinARM\arm-elf\include/math.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/_ansi.h \
- include/ccny_asctec_firmware/gpsmath.h
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
diff --git a/ccny_asctec_firmware/.dep/hardware.o.d b/ccny_asctec_firmware/.dep/hardware.o.d
deleted file mode 100644
index 26f9101..0000000
--- a/ccny_asctec_firmware/.dep/hardware.o.d
+++ /dev/null
@@ -1,35 +0,0 @@
-src/hardware.o: src/hardware.c include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- external/Common_WinARM/inc/irq.h
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-external/Common_WinARM/inc/irq.h:
diff --git a/ccny_asctec_firmware/.dep/i2c.o.d b/ccny_asctec_firmware/.dep/i2c.o.d
deleted file mode 100644
index ef7d6a1..0000000
--- a/ccny_asctec_firmware/.dep/i2c.o.d
+++ /dev/null
@@ -1,11 +0,0 @@
-src/i2c.o: src/i2c.c external/Common_WinARM/inc/LPC214x.h \
- external/Common_WinARM/inc/type.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/i2c.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/type.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/i2c.h:
diff --git a/ccny_asctec_firmware/.dep/interrupt_utils.o.d b/ccny_asctec_firmware/.dep/interrupt_utils.o.d
deleted file mode 100644
index 6063956..0000000
--- a/ccny_asctec_firmware/.dep/interrupt_utils.o.d
+++ /dev/null
@@ -1,5 +0,0 @@
-external/Common_WinARM/src/interrupt_utils.o: \
- external/Common_WinARM/src/interrupt_utils.c \
- external/Common_WinARM/inc/interrupt_utils.h
-
-external/Common_WinARM/inc/interrupt_utils.h:
diff --git a/ccny_asctec_firmware/.dep/irq.o.d b/ccny_asctec_firmware/.dep/irq.o.d
deleted file mode 100644
index 8c25def..0000000
--- a/ccny_asctec_firmware/.dep/irq.o.d
+++ /dev/null
@@ -1,6 +0,0 @@
-external/Common_WinARM/src/irq.o: external/Common_WinARM/src/irq.c \
- external/Common_WinARM/inc/LPC214x.h external/Common_WinARM/inc/irq.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/irq.h:
diff --git a/ccny_asctec_firmware/.dep/kalman.o.d b/ccny_asctec_firmware/.dep/kalman.o.d
deleted file mode 100644
index 6ca21d6..0000000
--- a/ccny_asctec_firmware/.dep/kalman.o.d
+++ /dev/null
@@ -1,98 +0,0 @@
-src/kalman.o: src/kalman.c include/ccny_asctec_firmware/kalman.h \
- C:\WinARM\arm-elf\include/inttypes.h C:\WinARM\arm-elf\include/stdint.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h C:\WinARM\arm-elf\include/_ansi.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/sdk.h include/ccny_asctec_firmware/pid.h \
- ../mav_common/include/mav_common/comm.h \
- include/ccny_asctec_firmware/uart.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- include/ccny_asctec_firmware/system.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/kalman.h \
- include/ccny_asctec_firmware/comm_util_LL.h \
- include/ccny_asctec_firmware/ssp.h
-
-include/ccny_asctec_firmware/kalman.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-../mav_common/include/mav_common/comm.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-include/ccny_asctec_firmware/system.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
-
-include/ccny_asctec_firmware/ssp.h:
diff --git a/ccny_asctec_firmware/.dep/main.o.d b/ccny_asctec_firmware/.dep/main.o.d
deleted file mode 100644
index aa2ea25..0000000
--- a/ccny_asctec_firmware/.dep/main.o.d
+++ /dev/null
@@ -1,163 +0,0 @@
-src/main.o: src/main.c C:\WinARM\arm-elf\include/stdio.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stdarg.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- C:\WinARM\arm-elf\include/sys/types.h \
- C:\WinARM\arm-elf\include/machine/_types.h \
- C:\WinARM\arm-elf\include/limits.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h \
- C:\WinARM\arm-elf\include/machine/types.h \
- C:\WinARM\arm-elf\include/sys/features.h \
- C:\WinARM\arm-elf\include/sys/stdio.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- C:\WinARM\arm-elf\include/math.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h external/Common_WinARM/inc/irq.h \
- external/Common_WinARM/inc/irq.h include/ccny_asctec_firmware/i2c.h \
- include/ccny_asctec_firmware/gpsmath.h \
- include/ccny_asctec_firmware/adc.h include/ccny_asctec_firmware/uart1.h \
- include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/sdk.h include/ccny_asctec_firmware/pid.h \
- ../mav_common/include/mav_common/comm.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/sdk.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/kalman.h \
- ../mav_common/include/mav_common/comm_util.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/comm_util_LL.h \
- C:\WinARM\arm-elf\include/unistd.h \
- C:\WinARM\arm-elf\include/sys/unistd.h
-
-C:\WinARM\arm-elf\include/stdio.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stdarg.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/sys/types.h:
-
-C:\WinARM\arm-elf\include/machine/_types.h:
-
-C:\WinARM\arm-elf\include/limits.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h:
-
-C:\WinARM\arm-elf\include/machine/types.h:
-
-C:\WinARM\arm-elf\include/sys/features.h:
-
-C:\WinARM\arm-elf\include/sys/stdio.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-external/Common_WinARM/inc/irq.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/i2c.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
-
-include/ccny_asctec_firmware/adc.h:
-
-include/ccny_asctec_firmware/uart1.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-../mav_common/include/mav_common/comm.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
-
-C:\WinARM\arm-elf\include/unistd.h:
-
-C:\WinARM\arm-elf\include/sys/unistd.h:
diff --git a/ccny_asctec_firmware/.dep/matrices.o.d b/ccny_asctec_firmware/.dep/matrices.o.d
deleted file mode 100644
index 9bab750..0000000
--- a/ccny_asctec_firmware/.dep/matrices.o.d
+++ /dev/null
@@ -1,39 +0,0 @@
-src/matrices.o: src/matrices.c include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
diff --git a/ccny_asctec_firmware/.dep/pid.o.d b/ccny_asctec_firmware/.dep/pid.o.d
deleted file mode 100644
index 7a58515..0000000
--- a/ccny_asctec_firmware/.dep/pid.o.d
+++ /dev/null
@@ -1,98 +0,0 @@
-src/pid.o: src/pid.c include/ccny_asctec_firmware/pid.h \
- C:\WinARM\arm-elf\include/inttypes.h C:\WinARM\arm-elf\include/stdint.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/sdk.h include/ccny_asctec_firmware/pid.h \
- include/ccny_asctec_firmware/uart.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- include/ccny_asctec_firmware/system.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/kalman.h \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h C:\WinARM\arm-elf\include/_ansi.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/comm_util_LL.h
-
-include/ccny_asctec_firmware/pid.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-include/ccny_asctec_firmware/system.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
diff --git a/ccny_asctec_firmware/.dep/sdk.o.d b/ccny_asctec_firmware/.dep/sdk.o.d
deleted file mode 100644
index 9574208..0000000
--- a/ccny_asctec_firmware/.dep/sdk.o.d
+++ /dev/null
@@ -1,140 +0,0 @@
-src/sdk.o: src/sdk.c ../mav_common/include/mav_common/comm_packets.h \
- C:\WinARM\arm-elf\include/inttypes.h C:\WinARM\arm-elf\include/stdint.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm_types.h \
- ../mav_common/include/mav_common/comm.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/sdk.h include/ccny_asctec_firmware/pid.h \
- include/ccny_asctec_firmware/sdk.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/uart.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- include/ccny_asctec_firmware/system.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/kalman.h \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h C:\WinARM\arm-elf\include/_ansi.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/comm_util_LL.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/uart.h C:\WinARM\arm-elf\include/time.h \
- C:\WinARM\arm-elf\include/machine/time.h \
- C:\WinARM\arm-elf\include/sys/types.h \
- C:\WinARM\arm-elf\include/machine/_types.h \
- C:\WinARM\arm-elf\include/limits.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h \
- C:\WinARM\arm-elf\include/machine/types.h \
- C:\WinARM\arm-elf\include/sys/features.h \
- external/Common_WinARM/inc/irq.h external/Common_WinARM/inc/LPC214x.h \
- include/ccny_asctec_firmware/gpsmath.h
-
-../mav_common/include/mav_common/comm_packets.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-../mav_common/include/mav_common/comm.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-include/ccny_asctec_firmware/system.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/time.h:
-
-C:\WinARM\arm-elf\include/machine/time.h:
-
-C:\WinARM\arm-elf\include/sys/types.h:
-
-C:\WinARM\arm-elf\include/machine/_types.h:
-
-C:\WinARM\arm-elf\include/limits.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h:
-
-C:\WinARM\arm-elf\include/machine/types.h:
-
-C:\WinARM\arm-elf\include/sys/features.h:
-
-external/Common_WinARM/inc/irq.h:
-
-external/Common_WinARM/inc/LPC214x.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
diff --git a/ccny_asctec_firmware/.dep/ssp.o.d b/ccny_asctec_firmware/.dep/ssp.o.d
deleted file mode 100644
index 3ae933a..0000000
--- a/ccny_asctec_firmware/.dep/ssp.o.d
+++ /dev/null
@@ -1,27 +0,0 @@
-src/ssp.o: src/ssp.c external/Common_WinARM/inc/LPC214x.h \
- external/Common_WinARM/inc/type.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/ssp.h include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/util.h C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/LL_HL_comm.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/type.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
diff --git a/ccny_asctec_firmware/.dep/syscalls.o.d b/ccny_asctec_firmware/.dep/syscalls.o.d
deleted file mode 100644
index 9b3cff2..0000000
--- a/ccny_asctec_firmware/.dep/syscalls.o.d
+++ /dev/null
@@ -1,76 +0,0 @@
-src/syscalls.o: src/syscalls.c C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h C:\WinARM\arm-elf\include/reent.h \
- C:\WinARM\arm-elf\include/machine/types.h \
- C:\WinARM\arm-elf\include/sys/stat.h C:\WinARM\arm-elf\include/time.h \
- C:\WinARM\arm-elf\include/machine/time.h \
- C:\WinARM\arm-elf\include/sys/types.h \
- C:\WinARM\arm-elf\include/machine/_types.h \
- C:\WinARM\arm-elf\include/limits.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h \
- C:\WinARM\arm-elf\include/sys/features.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h C:\WinARM\arm-elf\include/stdint.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-C:\WinARM\arm-elf\include/reent.h:
-
-C:\WinARM\arm-elf\include/machine/types.h:
-
-C:\WinARM\arm-elf\include/sys/stat.h:
-
-C:\WinARM\arm-elf\include/time.h:
-
-C:\WinARM\arm-elf\include/machine/time.h:
-
-C:\WinARM\arm-elf\include/sys/types.h:
-
-C:\WinARM\arm-elf\include/machine/_types.h:
-
-C:\WinARM\arm-elf\include/limits.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/limits.h:
-
-C:\WinARM\arm-elf\include/sys/features.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
diff --git a/ccny_asctec_firmware/.dep/system.o.d b/ccny_asctec_firmware/.dep/system.o.d
deleted file mode 100644
index 4a6ba34..0000000
--- a/ccny_asctec_firmware/.dep/system.o.d
+++ /dev/null
@@ -1,131 +0,0 @@
-src/system.o: src/system.c external/Common_WinARM/inc/LPC214x.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h C:\WinARM\arm-elf\include/stdint.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/uart1.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/LPC2k_ee.h \
- external/Common_WinARM/inc/type.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/i2c.h include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/adc.h include/ccny_asctec_firmware/sdk.h \
- include/ccny_asctec_firmware/pid.h \
- ../mav_common/include/mav_common/comm.h \
- ../mav_common/include/mav_common/comm_types.h \
- include/ccny_asctec_firmware/sdk.h \
- include/ccny_asctec_firmware/LL_HL_comm.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/kalman.h \
- ../mav_common/include/mav_common/comm_util.h \
- C:\WinARM\arm-elf\include/math.h C:\WinARM\arm-elf\include/sys/reent.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h C:\WinARM\arm-elf\include/_ansi.h \
- include/ccny_asctec_firmware/matrices.h \
- C:\WinARM\arm-elf\include/stdlib.h \
- C:\WinARM\arm-elf\include/machine/stdlib.h \
- C:\WinARM\arm-elf\include/alloca.h include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/comm_util_LL.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/uart1.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/LPC2k_ee.h:
-
-external/Common_WinARM/inc/type.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/i2c.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/adc.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/pid.h:
-
-../mav_common/include/mav_common/comm.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-include/ccny_asctec_firmware/sdk.h:
-
-include/ccny_asctec_firmware/LL_HL_comm.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/kalman.h:
-
-../mav_common/include/mav_common/comm_util.h:
-
-C:\WinARM\arm-elf\include/math.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-include/ccny_asctec_firmware/matrices.h:
-
-C:\WinARM\arm-elf\include/stdlib.h:
-
-C:\WinARM\arm-elf\include/machine/stdlib.h:
-
-C:\WinARM\arm-elf\include/alloca.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/comm_util_LL.h:
diff --git a/ccny_asctec_firmware/.dep/uart.o.d b/ccny_asctec_firmware/.dep/uart.o.d
deleted file mode 100644
index 8a0821c..0000000
--- a/ccny_asctec_firmware/.dep/uart.o.d
+++ /dev/null
@@ -1,92 +0,0 @@
-src/uart.o: src/uart.c C:\WinARM\arm-elf\include/string.h \
- C:\WinARM\arm-elf\include/_ansi.h C:\WinARM\arm-elf\include/newlib.h \
- C:\WinARM\arm-elf\include/sys/config.h \
- C:\WinARM\arm-elf\include/machine/ieeefp.h \
- C:\WinARM\arm-elf\include/sys/reent.h C:\WinARM\arm-elf\include/_ansi.h \
- C:\WinARM\arm-elf\include/sys/_types.h \
- C:\WinARM\arm-elf\include/sys/lock.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- C:\WinARM\arm-elf\include/sys/string.h \
- ../mav_common/include/mav_common/comm.h \
- external/Common_WinARM/inc/LPC214x.h \
- external/Common_WinARM/inc/interrupt_utils.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/gpsmath.h \
- include/ccny_asctec_firmware/ssp.h \
- include/ccny_asctec_firmware/lpcUART.h
-
-C:\WinARM\arm-elf\include/string.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/newlib.h:
-
-C:\WinARM\arm-elf\include/sys/config.h:
-
-C:\WinARM\arm-elf\include/machine/ieeefp.h:
-
-C:\WinARM\arm-elf\include/sys/reent.h:
-
-C:\WinARM\arm-elf\include/_ansi.h:
-
-C:\WinARM\arm-elf\include/sys/_types.h:
-
-C:\WinARM\arm-elf\include/sys/lock.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-C:\WinARM\arm-elf\include/sys/string.h:
-
-../mav_common/include/mav_common/comm.h:
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/interrupt_utils.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
-
-include/ccny_asctec_firmware/ssp.h:
-
-include/ccny_asctec_firmware/lpcUART.h:
diff --git a/ccny_asctec_firmware/.dep/uart1.o.d b/ccny_asctec_firmware/.dep/uart1.o.d
deleted file mode 100644
index e942c7b..0000000
--- a/ccny_asctec_firmware/.dep/uart1.o.d
+++ /dev/null
@@ -1,57 +0,0 @@
-src/uart1.o: src/uart1.c external/Common_WinARM/inc/LPC214x.h \
- external/Common_WinARM/inc/interrupt_utils.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/main.h include/ccny_asctec_firmware/util.h \
- C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h \
- include/ccny_asctec_firmware/uart1.h external/Common_WinARM/inc/irq.h \
- include/ccny_asctec_firmware/hardware.h \
- include/ccny_asctec_firmware/main.h \
- include/ccny_asctec_firmware/system.h \
- include/ccny_asctec_firmware/uart.h \
- C:\WinARM\arm-elf\include/inttypes.h \
- c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h \
- ../mav_common/include/mav_common/comm_packets.h \
- ../mav_common/include/mav_common/comm_types.h \
- external/Common_WinARM/inc/irq.h include/ccny_asctec_firmware/gpsmath.h \
- include/ccny_asctec_firmware/ssp.h
-
-external/Common_WinARM/inc/LPC214x.h:
-
-external/Common_WinARM/inc/interrupt_utils.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
-
-include/ccny_asctec_firmware/uart1.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/hardware.h:
-
-include/ccny_asctec_firmware/main.h:
-
-include/ccny_asctec_firmware/system.h:
-
-include/ccny_asctec_firmware/uart.h:
-
-C:\WinARM\arm-elf\include/inttypes.h:
-
-c:\winarm\bin\../lib/gcc/arm-elf/4.1.1/include/stddef.h:
-
-../mav_common/include/mav_common/comm_packets.h:
-
-../mav_common/include/mav_common/comm_types.h:
-
-external/Common_WinARM/inc/irq.h:
-
-include/ccny_asctec_firmware/gpsmath.h:
-
-include/ccny_asctec_firmware/ssp.h:
diff --git a/ccny_asctec_firmware/.dep/util.o.d b/ccny_asctec_firmware/.dep/util.o.d
deleted file mode 100644
index ce72ce0..0000000
--- a/ccny_asctec_firmware/.dep/util.o.d
+++ /dev/null
@@ -1,9 +0,0 @@
-src/util.o: src/util.c include/ccny_asctec_firmware/util.h \
- C:\WinARM\arm-elf\include/stdint.h \
- include/ccny_asctec_firmware/LPC214x.h
-
-include/ccny_asctec_firmware/util.h:
-
-C:\WinARM\arm-elf\include/stdint.h:
-
-include/ccny_asctec_firmware/LPC214x.h:
diff --git a/ccny_asctec_firmware/.project b/ccny_asctec_firmware/.project
deleted file mode 100644
index 8f4a996..0000000
--- a/ccny_asctec_firmware/.project
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
- ccny_asctec_firmware
-
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
- ?name?
-
-
-
- org.eclipse.cdt.make.core.append_environment
- true
-
-
- org.eclipse.cdt.make.core.autoBuildTarget
- all
-
-
- org.eclipse.cdt.make.core.buildArguments
-
-
-
- org.eclipse.cdt.make.core.buildCommand
- make
-
-
- org.eclipse.cdt.make.core.cleanBuildTarget
- clean
-
-
- org.eclipse.cdt.make.core.contents
- org.eclipse.cdt.make.core.activeConfigSettings
-
-
- org.eclipse.cdt.make.core.enableAutoBuild
- false
-
-
- org.eclipse.cdt.make.core.enableCleanBuild
- true
-
-
- org.eclipse.cdt.make.core.enableFullBuild
- true
-
-
- org.eclipse.cdt.make.core.fullBuildTarget
- all
-
-
- org.eclipse.cdt.make.core.stopOnError
- true
-
-
- org.eclipse.cdt.make.core.useDefaultBuildCmd
- true
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
diff --git a/ccny_asctec_firmware/ROS_NOBUILD b/ccny_asctec_firmware/ROS_NOBUILD
deleted file mode 100644
index e69de29..0000000
diff --git a/ccny_asctec_firmware/external/Common_WinARM/LPC2138-RAM.ld b/ccny_asctec_firmware/external/Common_WinARM/LPC2138-RAM.ld
deleted file mode 100644
index e3c6062..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/LPC2138-RAM.ld
+++ /dev/null
@@ -1,156 +0,0 @@
-/***********************************************************************/
-/* ROM.ld: Linker Script File */
-/***********************************************************************/
-
-/* modified and extended by Martin Thomas */
-
-/* ENTRY(_boot)
-STACK_SIZE = 0x800; */
-
-/* Memory Definitions */
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x00000000, LENGTH = 512k
- RAM (rw) : ORIGIN = 0x40000000, LENGTH = 32k
-}
-
-/* Section Definitions */
-SECTIONS
-{
- /* first section is .text which is used for code */
- .text :
- {
- /* *crt0.o (.text) */ /* Startup code */
- KEEP(*(.vectorg))
- . = ALIGN(4);
- KEEP(*(.init)) /* Startup code from .init-section */
- *(.text .text.*) /* remaining code */
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.gcc_except_table)
- *(.rodata) /* read-only data (constants) */
- *(.rodata*)
- *(.gnu.linkonce.r.*)
- . = ALIGN(4);
- } > RAM
-
- /***** old:
- .text :
- {
- *crt0.o (.text)
- *(.text)
- *(.rodata)
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- } > ROM
- *****/
-
- . = ALIGN(4);
-
- /* .ctors .dtors are used for c++ constructors/destructors */
- /* added by Martin Thomas 4/2005 based on Anglia Design example */
- .ctors :
- {
- PROVIDE(__ctors_start__ = .);
- KEEP(*(SORT(.ctors.*)))
- KEEP(*(.ctors))
- . = ALIGN(4);
- PROVIDE(__ctors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- .dtors :
- {
- PROVIDE(__dtors_start__ = .);
- KEEP(*(SORT(.dtors.*)))
- KEEP(*(.dtors))
- . = ALIGN(4);
- PROVIDE(__dtors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- . = ALIGN(4);
- /* mthomas - end */
-
- _etext = . ;
- PROVIDE (etext = .);
-
- /* .data section which is used for initialized data */
- .data : AT (_etext)
- {
- _data = .;
- *(.fastrun) /* mthomas: for "RAMFUNC" */
- . = ALIGN(4);
- SORT(CONSTRUCTORS) /* mt 4/2005 */
- . = ALIGN(4);
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- _edata = . ;
- PROVIDE (edata = .);
-
- /* .bss section which is used for uninitialized data */
- .bss (NOLOAD) :
- {
- __bss_start = . ;
- __bss_start__ = . ;
- *(.bss)
- *(.gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- __bss_end__ = . ;
- PROVIDE (__bss_end = .);
-
- .stack ALIGN(256) :
- {
- *(.stack)
- PROVIDE (_stack = .);
- . = ALIGN(4);
- } > RAM
-
- _end = . ;
- PROVIDE (end = .);
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/ccny_asctec_firmware/external/Common_WinARM/LPC2138-ROM.ld b/ccny_asctec_firmware/external/Common_WinARM/LPC2138-ROM.ld
deleted file mode 100644
index c73b006..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/LPC2138-ROM.ld
+++ /dev/null
@@ -1,164 +0,0 @@
-/***********************************************************************/
-/* ROM.ld: Linker Script File */
-/***********************************************************************/
-
-/*
- Based on scripts found in the LPC yahoo-group and the Keil examples
- modified by Martin Thomas, Kaiserslautern, Germany
- http://www.siwawi.arubi.uni-kl.de/avr_projects
-*/
-
-/*
-ENTRY(_boot)
-STACK_SIZE = 0x800; -> see startup-file and .stack-section
-*/
-
-/* Memory Definitions */
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x00000000, LENGTH = 512k
- RAM (rw) : ORIGIN = 0x40000000, LENGTH = 32k
-}
-
-/* Section Definitions */
-SECTIONS
-{
- /* first section is .text which is used for code */
- .text :
- {
- /* *crt0.o (.text) */ /* Startup code */
- KEEP(*(.vectorg))
- . = ALIGN(4);
- KEEP(*(.init)) /* Startup code from .init-section */
- *(.text .text.*) /* remaining code */
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.gcc_except_table)
- *(.rodata) /* read-only data (constants) */
- *(.rodata*)
- *(.gnu.linkonce.r.*)
- . = ALIGN(4);
- } > ROM
-
- /***** old:
- .text :
- {
- *crt0.o (.text)
- *(.text)
- *(.rodata)
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- } > ROM
- *****/
-
- . = ALIGN(4);
-
- /* .ctors .dtors are used for c++ constructors/destructors */
- /* added by Martin Thomas 4/2005 based on Anglia Design example */
- .ctors :
- {
- PROVIDE(__ctors_start__ = .);
- KEEP(*(SORT(.ctors.*)))
- KEEP(*(.ctors))
- . = ALIGN(4);
- PROVIDE(__ctors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- .dtors :
- {
- PROVIDE(__dtors_start__ = .);
- KEEP(*(SORT(.dtors.*)))
- KEEP(*(.dtors))
- . = ALIGN(4);
- PROVIDE(__dtors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- . = ALIGN(4);
- /* mthomas - end */
-
- _etext = . ;
- PROVIDE (etext = .);
-
- /* .data section which is used for initialized data */
- .data : AT (_etext)
- {
- _data = .;
- KEEP(*(.vectmapped)) /* mthomas: when code in ROM and vectors remapped */
- . = ALIGN(4);
- *(.fastrun) /* mthomas: for "RAMFUNC" */
- . = ALIGN(4);
- SORT(CONSTRUCTORS) /* mt 4/2005 */
- . = ALIGN(4);
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- _edata = . ;
- PROVIDE (edata = .);
-
- /* .bss section which is used for uninitialized data */
- .bss (NOLOAD) :
- {
- __bss_start = . ;
- __bss_start__ = . ;
- *(.bss)
- *(.gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- __bss_end__ = . ;
- PROVIDE (__bss_end = .);
-
- .stack ALIGN(256) :
- {
- *(.stack)
- PROVIDE (_stack = .);
- . = ALIGN(4);
- } > RAM
-
- _end = . ;
- PROVIDE (end = .);
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/ccny_asctec_firmware/external/Common_WinARM/LPC2146-ROM.ld b/ccny_asctec_firmware/external/Common_WinARM/LPC2146-ROM.ld
deleted file mode 100644
index c73b006..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/LPC2146-ROM.ld
+++ /dev/null
@@ -1,164 +0,0 @@
-/***********************************************************************/
-/* ROM.ld: Linker Script File */
-/***********************************************************************/
-
-/*
- Based on scripts found in the LPC yahoo-group and the Keil examples
- modified by Martin Thomas, Kaiserslautern, Germany
- http://www.siwawi.arubi.uni-kl.de/avr_projects
-*/
-
-/*
-ENTRY(_boot)
-STACK_SIZE = 0x800; -> see startup-file and .stack-section
-*/
-
-/* Memory Definitions */
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x00000000, LENGTH = 512k
- RAM (rw) : ORIGIN = 0x40000000, LENGTH = 32k
-}
-
-/* Section Definitions */
-SECTIONS
-{
- /* first section is .text which is used for code */
- .text :
- {
- /* *crt0.o (.text) */ /* Startup code */
- KEEP(*(.vectorg))
- . = ALIGN(4);
- KEEP(*(.init)) /* Startup code from .init-section */
- *(.text .text.*) /* remaining code */
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.gcc_except_table)
- *(.rodata) /* read-only data (constants) */
- *(.rodata*)
- *(.gnu.linkonce.r.*)
- . = ALIGN(4);
- } > ROM
-
- /***** old:
- .text :
- {
- *crt0.o (.text)
- *(.text)
- *(.rodata)
- *(.rodata*)
- *(.glue_7)
- *(.glue_7t)
- } > ROM
- *****/
-
- . = ALIGN(4);
-
- /* .ctors .dtors are used for c++ constructors/destructors */
- /* added by Martin Thomas 4/2005 based on Anglia Design example */
- .ctors :
- {
- PROVIDE(__ctors_start__ = .);
- KEEP(*(SORT(.ctors.*)))
- KEEP(*(.ctors))
- . = ALIGN(4);
- PROVIDE(__ctors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- .dtors :
- {
- PROVIDE(__dtors_start__ = .);
- KEEP(*(SORT(.dtors.*)))
- KEEP(*(.dtors))
- . = ALIGN(4);
- PROVIDE(__dtors_end__ = .);
- . = ALIGN(4);
- } >ROM
-
- . = ALIGN(4);
- /* mthomas - end */
-
- _etext = . ;
- PROVIDE (etext = .);
-
- /* .data section which is used for initialized data */
- .data : AT (_etext)
- {
- _data = .;
- KEEP(*(.vectmapped)) /* mthomas: when code in ROM and vectors remapped */
- . = ALIGN(4);
- *(.fastrun) /* mthomas: for "RAMFUNC" */
- . = ALIGN(4);
- SORT(CONSTRUCTORS) /* mt 4/2005 */
- . = ALIGN(4);
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- _edata = . ;
- PROVIDE (edata = .);
-
- /* .bss section which is used for uninitialized data */
- .bss (NOLOAD) :
- {
- __bss_start = . ;
- __bss_start__ = . ;
- *(.bss)
- *(.gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN(4);
- } > RAM
-
- . = ALIGN(4);
- __bss_end__ = . ;
- PROVIDE (__bss_end = .);
-
- .stack ALIGN(256) :
- {
- *(.stack)
- PROVIDE (_stack = .);
- . = ALIGN(4);
- } > RAM
-
- _end = . ;
- PROVIDE (end = .);
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/LPC214x.h b/ccny_asctec_firmware/external/Common_WinARM/inc/LPC214x.h
deleted file mode 100644
index b648a45..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/LPC214x.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/******************************************************************************
- * LPC214X.h: Header file for Philips LPC214x Family Microprocessors
- * The header file is the super set of all hardware definition of the
- * peripherals for the LPC214x family microprocessor.
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
-
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- * 2005.10.13 ver 1.01 Removed CSPR and DC_REVISION register.
- * CSPR can not be accessed at the user level,
- * DC_REVISION is no long available.
- * All registers use "volatile unsigned long".
-******************************************************************************/
-
-#ifndef __LPC214x_H
-#define __LPC214x_H
-
-/* Vectored Interrupt Controller (VIC) */
-#define VIC_BASE_ADDR 0xFFFFF000
-
-#define VICIRQStatus (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x000))
-#define VICFIQStatus (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x004))
-#define VICRawIntr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x008))
-#define VICIntSelect (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x00C))
-#define VICIntEnable (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x010))
-#define VICIntEnClr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x014))
-#define VICSoftInt (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x018))
-#define VICSoftIntClr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x01C))
-#define VICProtection (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x020))
-#define VICVectAddr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x030))
-#define VICDefVectAddr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x034))
-#define VICVectAddr0 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x100))
-#define VICVectAddr1 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x104))
-#define VICVectAddr2 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x108))
-#define VICVectAddr3 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x10C))
-#define VICVectAddr4 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x110))
-#define VICVectAddr5 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x114))
-#define VICVectAddr6 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x118))
-#define VICVectAddr7 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x11C))
-#define VICVectAddr8 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x120))
-#define VICVectAddr9 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x124))
-#define VICVectAddr10 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x128))
-#define VICVectAddr11 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x12C))
-#define VICVectAddr12 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x130))
-#define VICVectAddr13 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x134))
-#define VICVectAddr14 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x138))
-#define VICVectAddr15 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x13C))
-#define VICVectCntl0 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x200))
-#define VICVectCntl1 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x204))
-#define VICVectCntl2 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x208))
-#define VICVectCntl3 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x20C))
-#define VICVectCntl4 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x210))
-#define VICVectCntl5 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x214))
-#define VICVectCntl6 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x218))
-#define VICVectCntl7 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x21C))
-#define VICVectCntl8 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x220))
-#define VICVectCntl9 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x224))
-#define VICVectCntl10 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x228))
-#define VICVectCntl11 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x22C))
-#define VICVectCntl12 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x230))
-#define VICVectCntl13 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x234))
-#define VICVectCntl14 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x238))
-#define VICVectCntl15 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x23C))
-
-/* Pin Connect Block */
-#define PINSEL_BASE_ADDR 0xE002C000
-#define PINSEL0 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x00))
-#define PINSEL1 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x04))
-#define PINSEL2 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x14))
-
-/* General Purpose Input/Output (GPIO) */
-#define GPIO_BASE_ADDR 0xE0028000
-#define IOPIN0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x00))
-#define IOSET0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x04))
-#define IODIR0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x08))
-#define IOCLR0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x0C))
-#define IOPIN1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x10))
-#define IOSET1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x14))
-#define IODIR1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x18))
-#define IOCLR1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x1C))
-
-/* Fast I/O setup */
-#define FIO_BASE_ADDR 0x3FFFC000
-#define FIO0DIR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x00))
-#define FIO0MASK (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x10))
-#define FIO0PIN (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x14))
-#define FIO0SET (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x18))
-#define FIO0CLR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x1C))
-#define FIO1DIR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x20))
-#define FIO1MASK (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x30))
-#define FIO1PIN (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x34))
-#define FIO1SET (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x38))
-#define FIO1CLR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x3C))
-
-/* System Control Block(SCB) modules include Memory Accelerator Module,
-Phase Locked Loop, VPB divider, Power Control, External Interrupt,
-Reset, and Code Security/Debugging */
-
-#define SCB_BASE_ADDR 0xE01FC000
-
-/* Memory Accelerator Module (MAM) */
-#define MAMCR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x000))
-#define MAMTIM (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x004))
-#define MEMMAP (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x040))
-
-/* Phase Locked Loop (PLL) */
-#define PLLCON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x080))
-#define PLLCFG (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x084))
-#define PLLSTAT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x088))
-#define PLLFEED (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x08C))
-
-/* PLL48 Registers */
-#define PLL48CON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A0))
-#define PLL48CFG (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A4))
-#define PLL48STAT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A8))
-#define PLL48FEED (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0AC))
-
-/* Power Control */
-#define PCON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0C0))
-#define PCONP (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0C4))
-
-/* VPB Divider */
-#define VPBDIV (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x100))
-
-/* External Interrupts */
-#define EXTINT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x140))
-#define INTWAKE (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x144))
-#define EXTMODE (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x148))
-#define EXTPOLAR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x14C))
-
-/* Reset */
-#define RSIR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x180))
-
-/* System Controls and Status */
-#define SCS (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x1A0))
-
-/* Timer 0 */
-#define TMR0_BASE_ADDR 0xE0004000
-#define T0IR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x00))
-#define T0TCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x04))
-#define T0TC (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x08))
-#define T0PR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x0C))
-#define T0PC (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x10))
-#define T0MCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x14))
-#define T0MR0 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x18))
-#define T0MR1 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x1C))
-#define T0MR2 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x20))
-#define T0MR3 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x24))
-#define T0CCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x28))
-#define T0CR0 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x2C))
-#define T0CR1 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x30))
-#define T0CR2 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x34))
-#define T0CR3 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x38))
-#define T0EMR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x3C))
-#define T0CTCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x70))
-
-/* Timer 1 */
-#define TMR1_BASE_ADDR 0xE0008000
-#define T1IR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x00))
-#define T1TCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x04))
-#define T1TC (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x08))
-#define T1PR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x0C))
-#define T1PC (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x10))
-#define T1MCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x14))
-#define T1MR0 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x18))
-#define T1MR1 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x1C))
-#define T1MR2 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x20))
-#define T1MR3 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x24))
-#define T1CCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x28))
-#define T1CR0 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x2C))
-#define T1CR1 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x30))
-#define T1CR2 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x34))
-#define T1CR3 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x38))
-#define T1EMR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x3C))
-#define T1CTCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x70))
-
-/* Pulse Width Modulator (PWM) */
-#define PWM_BASE_ADDR 0xE0014000
-#define PWMIR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x00))
-#define PWMTCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x04))
-#define PWMTC (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x08))
-#define PWMPR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x0C))
-#define PWMPC (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x10))
-#define PWMMCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x14))
-#define PWMMR0 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x18))
-#define PWMMR1 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x1C))
-#define PWMMR2 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x20))
-#define PWMMR3 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x24))
-#define PWMMR4 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x40))
-#define PWMMR5 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x44))
-#define PWMMR6 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x48))
-#define PWMEMR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x3C))
-#define PWMPCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x4C))
-#define PWMLER (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x50))
-
-/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
-#define UART0_BASE_ADDR 0xE000C000
-#define U0RBR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0THR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0DLL (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0DLM (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))
-#define U0IER (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))
-#define U0IIR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))
-#define U0FCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))
-#define U0LCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x0C))
-#define U0MCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x10))
-#define U0LSR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x14))
-#define U0MSR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x18))
-#define U0SCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x1C))
-#define U0ACR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x20))
-#define U0FDR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x28))
-#define U0TER (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x30))
-
-/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
-#define UART1_BASE_ADDR 0xE0010000
-#define U1RBR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1THR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1DLL (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1DLM (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x04))
-#define U1IER (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x04))
-#define U1IIR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x08))
-#define U1FCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x08))
-#define U1LCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x0C))
-#define U1MCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x10))
-#define U1LSR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x14))
-#define U1MSR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x18))
-#define U1SCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x1C))
-#define U1ACR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x20))
-#define U1FDR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x28))
-#define U1TER (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x30))
-
-/* I2C Interface 0 */
-#define I2C0_BASE_ADDR 0xE001C000
-#define I20CONSET (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x00))
-#define I20STAT (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x04))
-#define I20DAT (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x08))
-#define I20ADR (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x0C))
-#define I20SCLH (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x10))
-#define I20SCLL (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x14))
-#define I20CONCLR (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x18))
-
-/* I2C Interface 1 */
-#define I2C1_BASE_ADDR 0xE005C000
-#define I21CONSET (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x00))
-#define I21STAT (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x04))
-#define I21DAT (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x08))
-#define I21ADR (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x0C))
-#define I21SCLH (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x10))
-#define I21SCLL (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x14))
-#define I21CONCLR (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x18))
-
-/* SPI0 (Serial Peripheral Interface 0) */
-#define SPI0_BASE_ADDR 0xE0020000
-#define S0SPCR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x00))
-#define S0SPSR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x04))
-#define S0SPDR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x08))
-#define S0SPCCR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x0C))
-#define S0SPINT (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x1C))
-
-/* SSP Controller */
-#define SSP_BASE_ADDR 0xE0068000
-#define SSPCR0 (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x00))
-#define SSPCR1 (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x04))
-#define SSPDR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x08))
-#define SSPSR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x0C))
-#define SSPCPSR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x10))
-#define SSPIMSC (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x14))
-#define SSPRIS (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x18))
-#define SSPMIS (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x1C))
-#define SSPICR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x20))
-
-/* Real Time Clock */
-#define RTC_BASE_ADDR 0xE0024000
-#define ILR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x00))
-#define CTC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x04))
-#define CCR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x08))
-#define CIIR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x0C))
-#define AMR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x10))
-#define CTIME0 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x14))
-#define CTIME1 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x18))
-#define CTIME2 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x1C))
-#define SEC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x20))
-#define MIN (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x24))
-#define HOUR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x28))
-#define DOM (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x2C))
-#define DOW (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x30))
-#define DOY (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x34))
-#define MONTH (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x38))
-#define YEAR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x3C))
-#define ALSEC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x60))
-#define ALMIN (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x64))
-#define ALHOUR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x68))
-#define ALDOM (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x6C))
-#define ALDOW (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x70))
-#define ALDOY (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x74))
-#define ALMON (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x78))
-#define ALYEAR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x7C))
-#define PREINT (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x80))
-#define PREFRAC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x84))
-
-/* A/D Converter 0 (AD0) */
-#define AD0_BASE_ADDR 0xE0034000
-#define AD0CR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x00))
-#define AD0GDR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x04))
-#define AD0STAT (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x30))
-#define AD0INTEN (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x0C))
-#define AD0DR0 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x10))
-#define AD0DR1 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x14))
-#define AD0DR2 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x18))
-#define AD0DR3 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x1C))
-#define AD0DR4 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x20))
-#define AD0DR5 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x24))
-#define AD0DR6 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x28))
-#define AD0DR7 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x2C))
-
-#define ADGSR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x08))
-/* A/D Converter 1 (AD1) */
-#define AD1_BASE_ADDR 0xE0060000
-#define AD1CR (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x00))
-#define AD1GDR (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x04))
-#define AD1STAT (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x30))
-#define AD1INTEN (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x0C))
-#define AD1DR0 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x10))
-#define AD1DR1 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x14))
-#define AD1DR2 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x18))
-#define AD1DR3 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x1C))
-#define AD1DR4 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x20))
-#define AD1DR5 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x24))
-#define AD1DR6 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x28))
-#define AD1DR7 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x2C))
-
-/* D/A Converter */
-#define DAC_BASE_ADDR 0xE006C000
-#define DACR (*(volatile unsigned long *)(DAC_BASE_ADDR + 0x00))
-
-/* Watchdog */
-#define WDG_BASE_ADDR 0xE0000000
-#define WDMOD (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x00))
-#define WDTC (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x04))
-#define WDFEED (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x08))
-#define WDTV (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x0C))
-
-/* USB Controller */
-#define USB_BASE_ADDR 0xE0090000 /* USB Base Address */
-/* Device Interrupt Registers */
-#define DEV_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x00))
-#define DEV_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x04))
-#define DEV_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x08))
-#define DEV_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x0C))
-#define DEV_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x2C))
-
-/* Endpoint Interrupt Registers */
-#define EP_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x30))
-#define EP_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x34))
-#define EP_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x38))
-#define EP_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x3C))
-#define EP_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x40))
-
-/* Endpoint Realization Registers */
-#define REALIZE_EP (*(volatile unsigned long *)(USB_BASE_ADDR + 0x44))
-#define EP_INDEX (*(volatile unsigned long *)(USB_BASE_ADDR + 0x48))
-#define MAXPACKET_SIZE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x4C))
-
-/* Command Reagisters */
-#define CMD_CODE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x10))
-#define CMD_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x14))
-
-/* Data Transfer Registers */
-#define RX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x18))
-#define TX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x1C))
-#define RX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x20))
-#define TX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x24))
-#define USB_CTRL (*(volatile unsigned long *)(USB_BASE_ADDR + 0x28))
-
-/* DMA Registers */
-#define DMA_REQ_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x50))
-#define DMA_REQ_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0x54))
-#define DMA_REQ_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0x58))
-#define UDCA_HEAD (*((volatile unsigned long *)USB_BASE_ADDR + 0x80))
-#define EP_DMA_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x84))
-#define EP_DMA_EN (*((volatile unsigned long *)USB_BASE_ADDR + 0x88))
-#define EP_DMA_DIS (*((volatile unsigned long *)USB_BASE_ADDR + 0x8C))
-#define DMA_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x90))
-#define DMA_INT_EN (*((volatile unsigned long *)USB_BASE_ADDR + 0x94))
-#define EOT_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xA0))
-#define EOT_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xA4))
-#define EOT_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xA8))
-#define NDD_REQ_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xAC))
-#define NDD_REQ_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xB0))
-#define NDD_REQ_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xB4))
-#define SYS_ERR_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xB8))
-#define SYS_ERR_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xBC))
-#define SYS_ERR_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xC0))
-#define MODULE_ID (*((volatile unsigned long *)USB_BASE_ADDR + 0xFC))
-
-#endif // __LPC214x_H
-
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/interrupt_utils.h b/ccny_asctec_firmware/external/Common_WinARM/inc/interrupt_utils.h
deleted file mode 100644
index e64c5be..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/interrupt_utils.h
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Defines and Macros for Interrupt-Service-Routines
- * collected and partly created by
- * Martin Thomas
- *
- * Copyright 2005 M. Thomas
- * No guarantees, warrantees, or promises, implied or otherwise.
- * May be used for hobby or commercial purposes provided copyright
- * notice remains intact.
- */
-
-/*
- Warning: The enable- and disable-functions can not be used
- in USR-mode which is the default for the Philips-examples
- (see Startup.S). cpsr can not be written in USR-mode.
- If you need to enable or disable interrupts use the
- SWI-calls (see example SWI/swi.c/swi_handler.S). The
- functions can be used in SYS-mode to start the system
- in SYS-mode the startup-code must be changed.
-
- The macros in this file are useful if interrupt-service-routines
- when using thumb-mode and/or optimisation without an addtional
- "assembler-wrapper". The gcc-attribute interrupt("IRQ") does
- not work reliably here. See timer.c for an example implementation
- of an ISR that uses macros. For the gcc-port of the Philips-examples
- the macros are not needed, all functionality has been integrated
- into isr_wrapper (see Startup.S).
-*/
-
-#ifndef interrupt_utils_
-#define interrupt_utils_
-
-/*
- The following defines are usefull for
- interrupt service routine declarations.
-*/
-
-/*
- RAMFUNC
- Attribute which defines a function to be located
- in memory section .fastrun and called via "long calls".
- See linker-skript and startup-code to see how the
- .fastrun-section is handled.
- The definition is not only useful for ISRs but since
- ISRs should be executed fast the macro is defined in
- this header.
-*/
-#define RAMFUNC __attribute__ ((long_call, section (".fastrun")))
-
-
-/*
- INTFUNC
- standard attribute for arm-elf-gcc which marks
- a function as ISR (for the VIC). Since gcc seems
- to produce wrong code if this attribute is used in
- thumb/thumb-interwork and/or activated optimisation
- the attribute should only be used for "pure ARM-mode"
- binaries.
-*/
-#define INTFUNC __attribute__ ((interrupt("IRQ")))
-
-
-/*
- NACKEDFUNC
- gcc will not add any code to a function declared
- "nacked". The user has to take care to save registers
- and add the needed code for ISR functions. Some
- macros for this tasks are provided below.
-*/
-#define NACKEDFUNC __attribute__((naked))
-
-
-/******************************************************************************
- *
- * MACRO Name: ISR_STORE()
- *
- * Description:
- * This MACRO is used upon entry to an ISR with interrupt nesting.
- * Should be used together with ISR_ENABLE_NEST(). The MACRO
- * performs the following steps:
- *
- * 1 - Save the non-banked registers r0-r12 and lr onto the IRQ stack.
- *
- *****************************************************************************/
-#define ISR_STORE() asm volatile( \
- "STMDB SP!,{R0-R12,LR}\n" )
-
- /******************************************************************************
- *
- * MACRO Name: ISR_RESTORE()
- *
- * Description:
- * This MACRO is used upon exit from an ISR with interrupt nesting.
- * Should be used together with ISR_DISABLE_NEST(). The MACRO
- * performs the following steps:
- *
- * 1 - Load the non-banked registers r0-r12 and lr from the IRQ stack.
- * 2 - Adjusts resume adress
- *
- *****************************************************************************/
-#define ISR_RESTORE() asm volatile( \
- "LDMIA SP!,{R0-R12,LR}\n" \
- "SUBS R15,R14,#0x0004\n" )
-
-/******************************************************************************
- *
- * MACRO Name: ISR_ENABLE_NEST()
- *
- * Description:
- * This MACRO is used upon entry from an ISR with interrupt nesting.
- * Should be used after ISR_STORE.
- *
- *****************************************************************************/
-#define ISR_ENABLE_NEST() asm volatile( \
- "MRS LR, SPSR \n" \
- "STMFD SP!, {LR} \n" \
- "MSR CPSR_c, #0x1F \n" \
- "STMFD SP!, {LR} " )
-
-/******************************************************************************
- *
- * MACRO Name: ISR_DISABLE_NEST()
- *
- * Description:
- * This MACRO is used upon entry from an ISR with interrupt nesting.
- * Should be used before ISR_RESTORE.
- *
- *****************************************************************************/
-#define ISR_DISABLE_NEST() asm volatile( \
- "LDMFD SP!, {LR} \n" \
- "MSR CPSR_c, #0x92 \n" \
- "LDMFD SP!, {LR} \n" \
- "MSR SPSR_cxsf, LR \n" )
-
-
-
-/*
- * The following marcos are from the file "armVIC.h" by:
- *
- * Copyright 2004, R O SoftWare
- * No guarantees, warrantees, or promises, implied or otherwise.
- * May be used for hobby or commercial purposes provided copyright
- * notice remains intact.
- *
- */
-
-/******************************************************************************
- *
- * MACRO Name: ISR_ENTRY()
- *
- * Description:
- * This MACRO is used upon entry to an ISR. The current version of
- * the gcc compiler for ARM does not produce correct code for
- * interrupt routines to operate properly with THUMB code. The MACRO
- * performs the following steps:
- *
- * 1 - Adjust address at which execution should resume after servicing
- * ISR to compensate for IRQ entry
- * 2 - Save the non-banked registers r0-r12 and lr onto the IRQ stack.
- * 3 - Get the status of the interrupted program is in SPSR.
- * 4 - Push it onto the IRQ stack as well.
- *
- *****************************************************************************/
-#define ISR_ENTRY() asm volatile(" sub lr, lr,#4\n" \
- " stmfd sp!,{r0-r12,lr}\n" \
- " mrs r1, spsr\n" \
- " stmfd sp!,{r1}")
-
-/******************************************************************************
- *
- * MACRO Name: ISR_EXIT()
- *
- * Description:
- * This MACRO is used to exit an ISR. The current version of the gcc
- * compiler for ARM does not produce correct code for interrupt
- * routines to operate properly with THUMB code. The MACRO performs
- * the following steps:
- *
- * 1 - Recover SPSR value from stack
- * 2 - and restore its value
- * 3 - Pop the return address & the saved general registers from
- * the IRQ stack & return
- *
- *****************************************************************************/
-#define ISR_EXIT() asm volatile(" ldmfd sp!,{r1}\n" \
- " msr spsr_c,r1\n" \
- " ldmfd sp!,{r0-r12,pc}^")
-
-/******************************************************************************
- *
- * Function Name: disableIRQ()
- *
- * Description:
- * This function sets the IRQ disable bit in the status register
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned disableIRQ(void);
-
-/******************************************************************************
- *
- * Function Name: enableIRQ()
- *
- * Description:
- * This function clears the IRQ disable bit in the status register
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned enableIRQ(void);
-
-/******************************************************************************
- *
- * Function Name: restoreIRQ()
- *
- * Description:
- * This function restores the IRQ disable bit in the status register
- * to the value contained within passed oldCPSR
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned restoreIRQ(unsigned oldCPSR);
-
-/******************************************************************************
- *
- * Function Name: disableFIQ()
- *
- * Description:
- * This function sets the FIQ disable bit in the status register
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned disableFIQ(void);
-
-/******************************************************************************
- *
- * Function Name: enableFIQ()
- *
- * Description:
- * This function clears the FIQ disable bit in the status register
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned enableFIQ(void);
-
-/******************************************************************************
- *
- * Function Name: restoreFIQ()
- *
- * Description:
- * This function restores the FIQ disable bit in the status register
- * to the value contained within passed oldCPSR
- *
- * Calling Sequence:
- * void
- *
- * Returns:
- * previous value of CPSR
- *
- *****************************************************************************/
-unsigned restoreFIQ(unsigned oldCPSR);
-
-
-#endif
-
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/irq.h b/ccny_asctec_firmware/external/Common_WinARM/inc/irq.h
deleted file mode 100644
index 5f3e14d..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/irq.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/******************************************************************************
- * irq.h: Interrupt related Header file for Philips LPC214x Family
- * Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
- * 21. Apr. 2006 - modified for gnu/gcc by Martin Thomas
- ******************************************************************************/
-#ifndef __IRQ_H
-#define __IRQ_H
-
-// #define __irq __attribute__ ((interrupt("IRQ")))
-// #define __fiq __attribute__ ((interrupt("FIQ")))
-#define __irq
-#define __fiq
-
-
-/* if nested interrupt is used, NEST_INTERRUPT needs to be set to 1, otherwise 0 */
-// mthomas : macros disabled for now
-// nesting is the default in the current arm-elf-gcc/WinARM-port
-// see Startup.S function IRQ_Wrapper
-//#define NESTED_INTERRUPT 1
-#define NESTED_INTERRUPT 0
-
-#define I_Bit 0x80
-#define F_Bit 0x40
-
-#define SYS32Mode 0x1F
-#define IRQ32Mode 0x12
-#define FIQ32Mode 0x11
-
-#define WDT_INT 0
-#define SWI_INT 1
-#define ARM_CORE0_INT 2
-#define ARM_CORE1_INT 3
-#define TIMER0_INT 4
-#define TIMER1_INT 5
-#define UART0_INT 6
-#define UART1_INT 7
-#define PWM0_INT 8
-#define I2C0_INT 9
-#define SPI0_INT 10
-#define SPI1_INT 11
-#define PLL_INT 12
-#define RTC_INT 13
-#define EINT0_INT 14
-#define EINT1_INT 15
-#define EINT2_INT 16
-#define EINT3_INT 17
-#define ADC0_INT 18
-#define I2C1_INT 19
-#define BOD_INT 20
-#define ADC1_INT 21
-#define USB_INT 22
-
-#define IRQ_SLOT_EN 0x20 /* bit 5 in Vector control register */
-#define VIC_SIZE 16
-
-#define VECT_ADDR_INDEX 0x100
-#define VECT_CNTL_INDEX 0x200
-
-/* Be aware that, from compiler to compiler, nested interrupt will have to
-be handled differently. More details can be found in Philips LPC2000
-family app-note AN10381 */
-
-/* unlike Keil Compiler, don't save and restore registers into the stack
-in RVD as the compiler does that for you. See RVD ARM compiler Inline and
-embedded assemblers, "Rules for using __asm and asm keywords. */
-// static DWORD sysreg; /* used as LR register */
-
-#if 0
-#if NESTED_INTERRUPT
-#define IENABLE __asm { MRS LR, SPSR } \
- __asm { STMFD SP!, {LR} } \
- __asm { MSR CPSR_c, #SYS32Mode } \
- __asm { STMFD SP!, {LR} }
-#else
-#define IENABLE ; /* do nothing */
-#endif
-
-#if NESTED_INTERRUPT
-#define IDISABLE __asm { LDMFD SP!, {LR} } \
- __asm { MSR CPSR_c, #(IRQ32Mode|I_Bit) } \
- __asm { LDMFD SP!, {LR} } \
- __asm { MSR SPSR_cxsf, LR }
-#else
-#define IDISABLE ; /* do nothing */
-#endif
-#endif
-
-#if NESTED_INTERRUPT
-#warning "Macros not tested successfully with arm-elf-gcc
-#define IENABLE asm volatile( \
- "MRS LR, SPSR \n" \
- "STMFD SP!, {LR} \n" \
- "MSR CPSR_c, #0x1F \n" \
- "STMFD SP!, {LR} " )
-#else
-#define IENABLE ; /* do nothing */
-#endif
-
-#if NESTED_INTERRUPT
-#define IDISABLE asm volatile( \
- "LDMFD SP!, {LR} \n" \
- "MSR CPSR_c, #0x92 \n" \
- "LDMFD SP!, {LR} \n" \
- "MSR SPSR_cxsf, LR \n" )
-#else
-#define IDISABLE ; /* do nothing */
-#endif
-
-
-void init_VIC( void );
-unsigned long install_irq( unsigned long IntNumber, void *HandlerAddr );
-unsigned long uninstall_irq( unsigned long IntNumber );
-
-
-
-#endif /* end __IRQ_H */
-
-/******************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/swi.h b/ccny_asctec_firmware/external/Common_WinARM/inc/swi.h
deleted file mode 100644
index 78ab310..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/swi.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef SWI_H_
-#define SWI_H_
-
-extern unsigned long IntGetCPSR(void);
-
-extern unsigned long IntDisable(void);
-extern unsigned long IntEnable(void);
-extern void IntRestore(unsigned long oldstate);
-
-extern unsigned long FiqDisable(void);
-extern unsigned long FiqEnable(void);
-extern void FiqRestore(unsigned long oldstate);
-
-#endif
-
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/target.h b/ccny_asctec_firmware/external/Common_WinARM/inc/target.h
deleted file mode 100644
index bd61d6b..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/target.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*****************************************************************************
- * target.h: Header file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __TARGET_H
-#define __TARGET_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/* System configuration: Fosc, Fcclk, Fcco, Fpclk must be defined */
-/* Crystal frequence,10MHz~25MHz should be the same as actual status. */
-#define Fosc 12000000
-
-/* System frequence,should be (1~32)multiples of Fosc,and should be equal or
-less than 60MHz. */
-#define Fcclk (Fosc * 5)
-
-/* CCO frequence,should be 2/4/8/16 multiples of Fcclk, ranged from 156MHz to
-320MHz. */
-#define Fcco (Fcclk * 4)
-
-/* VPB clock frequence , must be 1/2/4 multiples of (Fcclk / 4). */
-#define Fpclk (Fcclk / 4) * 1
-
-extern void TargetInit(void);
-extern void TargetResetInit(void);
-
-#ifdef __cplusplus
- }
-#endif
-
-#endif /* end __TARGET_H */
-/******************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/timer.h b/ccny_asctec_firmware/external/Common_WinARM/inc/timer.h
deleted file mode 100644
index 8ed6018..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/timer.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*****************************************************************************
- * timer.h: Header file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __TIMER_H
-#define __TIMER_H
-
-#define INTERVAL_10MS 149999 /* 10mSec = 150.000-1 counts */
-
-extern DWORD init_timer(void);
-extern void enable_timer( BYTE timer_num );
-extern void disable_timer( BYTE timer_num );
-extern void reset_timer( BYTE timer_num );
-
-extern volatile DWORD timer_counter;
-
-#endif /* end __TIMER_H */
-/*****************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/external/Common_WinARM/inc/type.h b/ccny_asctec_firmware/external/Common_WinARM/inc/type.h
deleted file mode 100644
index f9a0470..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/inc/type.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*****************************************************************************
- * type.h: Type definition Header file for Philips LPC214x Family
- * Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __TYPE_H__
-#define __TYPE_H__
-
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-#ifndef TRUE
-#define TRUE (1)
-#endif
-
-typedef unsigned char BYTE;
-typedef unsigned short WORD;
-typedef unsigned long DWORD;
-typedef unsigned int BOOL;
-
-#endif /* __TYPE_H__ */
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/Startup.S b/ccny_asctec_firmware/external/Common_WinARM/src/Startup.S
deleted file mode 100644
index 76f46ca..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/Startup.S
+++ /dev/null
@@ -1,632 +0,0 @@
-/***********************************************************************/
-/* This file is part of the uVision/ARM development tools */
-/* Copyright KEIL ELEKTRONIK GmbH 2002-2005 */
-/***********************************************************************/
-/* */
-/* STARTUP.S: Startup file for Philips LPC2000 device series */
-/* */
-/***********************************************************************/
-
-/*
- This file has been heavily modified for the GNU-Toolchain by:
- Martin Thomas, Kaiserslautern, Germany
-
- http://www.siwawi.arubi.uni-kl.de/avr_projects
-
- If it does not work for you: don't blame Keil or Philips.
-*/
-
-/*
-//*** <<< Use Configuration Wizard in Context Menu >>> ***
-*/
-
-
-/*
- * The STARTUP.S code is executed after CPU Reset. This file may be
- * translated with the following SET symbols. In uVision these SET
- * symbols are entered under Options - ASM - Set.
- *
- * REMAP: when set the startup code initializes the register MEMMAP
- * which overwrites the settings of the CPU configuration pins. The
- * startup and interrupt vectors are remapped from:
- * 0x00000000 default setting (not remapped)
- * 0x80000000 when EXTMEM_MODE is used
- * 0x40000000 when RAM_MODE is used
- *
- * EXTMEM_MODE: when set the device is configured for code execution
- * from external memory starting at address 0x80000000. The startup
- * vectors are located to 0x80000000.
- *
- * RAM_MODE: when set the device is configured for code execution
- * from on-chip RAM starting at address 0x40000000. The startup
- * vectors are located to 0x40000000.
- */
-
-/* Map Preprocessor definitions to assembler definitions/symbols */
-
-.set EXTMEM_MODE, 0
-
-.set RAM_MODE, 0
-#ifdef VECTORS_IN_RAM
-.set REMAP, 1
-.set VECTREMAPPED, 1
-#else
-.set REMAP, 0
-.set VECTREMAPPED, 0
-#endif
-
-/*
-#ifdef ROM_RUN
-.set RAM_MODE, 0
-#ifdef VECTORS_IN_RAM
-.set REMAP, 1
-.set VECTREMAPPED, 1
-#else
-.set REMAP, 0
-.set VECTREMAPPED, 0
-#endif
-#endif
-*/
-
-
-#ifdef RAM_RUN
-.set RAM_MODE, 1
-.set REMAP, 1
-.set VECTREMAPPED, 0
-#endif
-
-.if (RAM_MODE)
-.print "RAM_MODE enabled"
-.else
-.print "ROM_MODE enabled"
-.endif
-
-.if (REMAP)
-.print "remapping enabled"
-.endif
-
-.if (VECTREMAPPED)
-.print "Vectors at start of RAM"
-.else
-.print "Vectors at start of Code"
-.endif
-
-
-// Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
-
- .set Mode_USR, 0x10
- .set Mode_FIQ, 0x11
- .set Mode_IRQ, 0x12
- .set Mode_SVC, 0x13
- .set Mode_ABT, 0x17
- .set Mode_UND, 0x1B
- .set Mode_SYS, 0x1F
-
- .set I_Bit, 0x80 /* when I bit is set, IRQ is disabled */
- .set F_Bit, 0x40 /* when F bit is set, FIQ is disabled */
-
-
-/*
-// Stack Configuration (Stack Sizes in Bytes)
-// Undefined Mode <0x0-0xFFFFFFFF:4>
-// Supervisor Mode <0x0-0xFFFFFFFF:4>
-// Abort Mode <0x0-0xFFFFFFFF:4>
-// Fast Interrupt Mode <0x0-0xFFFFFFFF:4>
-// Interrupt Mode <0x0-0xFFFFFFFF:4>
-// User/System Mode <0x0-0xFFFFFFFF:4>
-//
-*/
- .set UND_Stack_Size, 0x00000080
- .set SVC_Stack_Size, 0x00000800
- .set ABT_Stack_Size, 0x00000080
- .set FIQ_Stack_Size, 0x00000080
- .set IRQ_Stack_Size, 0x00000080
- .set USR_Stack_Size, 0x00001000
-
-#if 0
-AREA STACK, DATA, READWRITE, ALIGN=2
- DS (USR_Stack_Size+3)&~3 ; Stack for User/System Mode
- DS (SVC_Stack_Size+3)&~3 ; Stack for Supervisor Mode
- DS (IRQ_Stack_Size+3)&~3 ; Stack for Interrupt Mode
- DS (FIQ_Stack_Size+3)&~3 ; Stack for Fast Interrupt Mode
- DS (ABT_Stack_Size+3)&~3 ; Stack for Abort Mode
- DS (UND_Stack_Size+3)&~3 ; Stack for Undefined Mode
-#endif
-
-.arm
-.section .stack, "w"
-.align 4
- .space (USR_Stack_Size+3)&~3 // Stack for User/System Mode
- .space (SVC_Stack_Size+3)&~3 // Stack for Supervisor Mode
- .space (IRQ_Stack_Size+3)&~3 // Stack for Interrupt Mode
- .space (FIQ_Stack_Size+3)&~3 // Stack for Fast Interrupt Mode
- .space (ABT_Stack_Size+3)&~3 // Stack for Abort Mode
- .space (UND_Stack_Size+3)&~3 // Stack for Undefined Mode
-Top_Stack:
-
-
-// VPBDIV definitions
- .set VPBDIV, 0xE01FC100 /* VPBDIV Address */
-
-/*
-// VPBDIV Setup
-// Peripheral Bus Clock Rate
-// VPBDIV: VPB Clock
-// <0=> VPB Clock = CPU Clock / 4
-// <1=> VPB Clock = CPU Clock
-// <2=> VPB Clock = CPU Clock / 2
-// XCLKDIV: XCLK Pin
-// <0=> XCLK Pin = CPU Clock / 4
-// <1=> XCLK Pin = CPU Clock
-// <2=> XCLK Pin = CPU Clock / 2
-//
-*/
- .set VPBDIV_SETUP, 1
- .set VPBDIV_Val, 0x00000000
-
-
-// Phase Locked Loop (PLL) definitions
- .set PLL_BASE, 0xE01FC080 /* PLL Base Address */
- .set PLLCON_OFS, 0x00 /* PLL Control Offset*/
- .set PLLCFG_OFS, 0x04 /* PLL Configuration Offset */
- .set PLLSTAT_OFS, 0x08 /* PLL Status Offset */
- .set PLLFEED_OFS, 0x0C /* PLL Feed Offset */
- .set PLLCON_PLLE, (1<<0) /* PLL Enable */
- .set PLLCON_PLLC, (1<<1) /* PLL Connect */
- .set PLLCFG_MSEL, (0x1F<<0) /* PLL Multiplier */
- .set PLLCFG_PSEL, (0x03<<5) /* PLL Divider */
- .set PLLSTAT_PLOCK, (1<<10) /* PLL Lock Status */
-
-/*
-// PLL Setup
-// Phase Locked Loop
-// CCLK - Processor Clock
-// Fcco - PLL Oscillator
-// MSEL: PLL Multiplier Selection
-// <1-32><#-1>
-// PLL Multiplier "M" Value
-// CCLK = M * Fosc
-// PSEL: PLL Divider Selection
-// <0=> 1 <1=> 2 <2=> 4 <3=> 8
-// PLL Divider "P" Value
-// Fcco = CCLK * 2 * P
-// 156MHz <= Fcco <= 320MHz
-//
-*/
- .set PLL_SETUP, 1
- .set PLLCFG_Val, 0x00000024
-
-
-// Memory Accelerator Module (MAM) definitions
- .set MAM_BASE, 0xE01FC000 /* MAM Base Address */
- .set MAMCR_OFS, 0x00 /* MAM Control Offset*/
- .set MAMTIM_OFS, 0x04 /* MAM Timing Offset */
-
-/*
-// MAM Setup
-// Memory Accelerator Module
-// MAM Control
-// <0=> Disabled
-// <1=> Partially Enabled
-// <2=> Fully Enabled
-// Mode
-// MAM Timing
-// <0=> Reserved <1=> 1 <2=> 2 <3=> 3
-// <4=> 4 <5=> 5 <6=> 6 <7=> 7
-// Fetch Cycles
-//
-*/
- .set MAM_SETUP, 1
- .set MAMCR_Val, 0x00000002
- .set MAMTIM_Val, 0x00000004
-
-
-// Starupt Code must be linked first at Address at which it expects to run.
-
-.if (EXTMEM_MODE)
- .set CODE_BASE, 0x80000000
-.elseif (RAM_MODE)
- .set CODE_BASE, 0x40000000
-.else
- .set CODE_BASE, 0x00000000
-.endif
-
-#if 0
-AREA STARTUPCODE, CODE, AT CODE_BASE // READONLY, ALIGN=4
- PUBLIC __startup
-
- EXTERN CODE32 (?C?INIT)
-
-__startup PROC CODE32
-
-// Pre-defined interrupt handlers that may be directly
-// overwritten by C interrupt functions
-EXTERN CODE32 (Undef_Handler?A)
-EXTERN CODE32 (SWI_Handler?A)
-EXTERN CODE32 (PAbt_Handler?A)
-EXTERN CODE32 (DAbt_Handler?A)
-EXTERN CODE32 (IRQ_Handler?A)
-EXTERN CODE32 (FIQ_Handler?A)
-#endif
-
-.text
-.arm
-
-.if (VECTREMAPPED)
-.print "Vectors in section .vectmapped -> .data"
-.section .vectmapped, "ax"
-.else
-.print "Vectors in section .vectorg -> .text"
-.section .vectorg, "ax"
-.endif
-
-// Pre-defined interrupt handlers that may be directly
-// overwritten by C interrupt functions
-.extern Undef_Handler
-.extern SWI_Handler
-.extern PAbt_Handler
-.extern DAbt_Handler
-.extern IRQ_Handler
-.extern FIQ_Handler
-
-
-// Exception Vectors
-// Mapped to Address 0.
-// Absolute addressing mode must be used.
-
-__Vectors: LDR PC,Reset_Addr
- LDR PC,Undef_Addr
- LDR PC,SWI_Addr
- LDR PC,PAbt_Addr
- LDR PC,DAbt_Addr
- NOP /* Reserved Vector */
-// LDR PC,IRQ_Addr
-// LDR PC,[PC, #-0x0FF0] /* Vector from VicVectAddr */
- LDR PC,IRQ_Wrapper_Addr
- LDR PC,FIQ_Addr
-
-Reset_Addr: .word Reset_Handler
-Undef_Addr: .word Undef_Handler
-// SWI_Addr: .word SWI_Handler
-// SWI_Wrapper_Addr: .word SWI_Wrapper
-SWI_Addr: .word SoftwareInterrupt /* in swi_handler.S */
-PAbt_Addr: .word PAbt_Handler
-DAbt_Addr: .word DAbt_Handler
- .word 0 /* Reserved Address */
-// IRQ_Addr: .word __IRQ_Handler
-IRQ_Wrapper_Addr: .word __IRQ_Wrapper
-FIQ_Addr: .word FIQ_Handler
-
-Undef_Handler: B Undef_Handler
-/* SWI_Handler: B SWI_Handler */
-PAbt_Handler: B PAbt_Handler
-DAbt_Handler: B DAbt_Handler
-/* IRQ_Handler: B IRQ_Handler */
-FIQ_Handler: B FIQ_Handler
-
-.size __Vectors, . - __Vectors
-
-
-
-.arm
-.section .init, "ax"
-
-.if (VECTREMAPPED)
-/* mthomas: Dummy used during startup - mind the nops since the
- flash-utility will overwrite the "reserved vector"-address
- with the checksum */
- B Reset_Handler
- NOP
- NOP
- NOP
- NOP
- NOP /* Reserved Address */
- NOP
- NOP
-.endif
-
-.arm
-.section .init, "ax"
-.global __startup
-.func __startup
-__startup:
-
-Reset_Handler:
-
-.if (VPBDIV_SETUP)
- LDR R0, =VPBDIV
- LDR R1, =VPBDIV_Val
- STR R1, [R0]
-.endif
-
-
-.if (PLL_SETUP)
- LDR R0, =PLL_BASE
- MOV R1, #0xAA
- MOV R2, #0x55
-
-// Configure and Enable PLL
- MOV R3, #PLLCFG_Val
- STR R3, [R0, #PLLCFG_OFS]
- MOV R3, #PLLCON_PLLE
- STR R3, [R0, #PLLCON_OFS]
- STR R1, [R0, #PLLFEED_OFS]
- STR R2, [R0, #PLLFEED_OFS]
-
-// Wait until PLL Locked
-PLL_Loop: LDR R3, [R0, #PLLSTAT_OFS]
- ANDS R3, R3, #PLLSTAT_PLOCK
- BEQ PLL_Loop
-
-// Switch to PLL Clock
- MOV R3, #(PLLCON_PLLE | PLLCON_PLLC)
- STR R3, [R0, #PLLCON_OFS]
- STR R1, [R0, #PLLFEED_OFS]
- STR R2, [R0, #PLLFEED_OFS]
-.endif
-
-
-.if (MAM_SETUP)
- LDR R0, =MAM_BASE
- MOV R1, #MAMTIM_Val
- STR R1, [R0, #MAMTIM_OFS]
- MOV R1, #MAMCR_Val
- STR R1, [R0, #MAMCR_OFS]
-.endif
-
-
-// Memory Mapping
- .set MEMMAP, 0xE01FC040 /* Memory Mapping Control */
-
-.if (REMAP)
- LDR R0, =MEMMAP
-.if (EXTMEM_MODE)
- MOV R1, #3
-.elseif (RAM_MODE) || (VECTREMAPPED)
-.print "MEMMAP to 2 on init"
- MOV R1, #2
-.else
- MOV R1, #1
-.endif
- STR R1, [R0]
-.endif
-
-// Setup Stack for each mode
- LDR R0, =Top_Stack
-
-// Enter Undefined Instruction Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_UND|I_Bit|F_Bit
- MOV SP, R0
- SUB R0, R0, #UND_Stack_Size
-
-// Enter Abort Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit
- MOV SP, R0
- SUB R0, R0, #ABT_Stack_Size
-
-// Enter FIQ Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit
- MOV SP, R0
- SUB R0, R0, #FIQ_Stack_Size
-
-// Enter IRQ Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit
- MOV SP, R0
- SUB R0, R0, #IRQ_Stack_Size
-
-// Enter Supervisor Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit
- MOV SP, R0
- SUB R0, R0, #SVC_Stack_Size
-
-// Enter User Mode and set its Stack Pointer
- MSR CPSR_c, #Mode_USR /* Interrupts enabled */
-// MSR CPSR_c, #Mode_USR|I_Bit|F_Bit /* Interrupts disabled */
- MOV SP, R0
-
-
-.if (RAM_MODE==0)
-/* Relocate .data section (Copy from ROM to RAM) */
- LDR R1, =_etext
- LDR R2, =_data
- LDR R3, =_edata
- CMP R2, R3
- BEQ DataIsEmpty
-LoopRel: CMP R2, R3
- LDRLO R0, [R1], #4
- STRLO R0, [R2], #4
- BLO LoopRel
-DataIsEmpty:
-.endif
-
-/* Clear .bss section (Zero init) */
- MOV R0, #0
- LDR R1, =__bss_start__
- LDR R2, =__bss_end__
- CMP R1,R2
- BEQ BSSIsEmpty
-LoopZI: CMP R1, R2
- STRLO R0, [R1], #4
- BLO LoopZI
-BSSIsEmpty:
-
-
-// call C++ constructors of global objects
- LDR r0, =__ctors_start__
- LDR r1, =__ctors_end__
-ctor_loop:
- CMP r0, r1
- BEQ ctor_end
- LDR r2, [r0], #4
- STMFD sp!, {r0-r1}
- MOV lr, pc
- MOV pc, r2
- LDMFD sp!, {r0-r1}
- B ctor_loop
-ctor_end:
-
-// Enter the C code
- //LDR R0,=INIT
- LDR R0,=main
- TST R0,#1 // Bit-0 set: main is Thumb
- LDREQ LR,=__exit_ARM // ARM Mode
- LDRNE LR,=__exit_THUMB // Thumb Mode
- BX R0
-
-.size __startup, . - __startup
-.endfunc
-
-.arm
-.global __exit_ARM
-.func __exit_ARM
-__exit_ARM:
- B __exit_ARM
-.size __exit_ARM, . - __exit_ARM
-.endfunc
-
-.thumb
-.global __exit_THUMB
-.func __exit_THUMB
-__exit_THUMB:
- B __exit_THUMB
-.size __exit_THUMB, . - __exit_THUMB
-.endfunc
-
-
-/* mthomas: the following code is inspired by various examples and
- documents from ARM, Atmel, Anglia Designs and others */
-
-
-.text
-.arm
-
-.if (VECTREMAPPED)
-.print "Handlers in section .vectmapped -> .data"
-.section .vectmapped, "ax"
-.else
-.print "Handlers in section .vectorg -> .code/.text"
-.section .vectorg, "ax"
-.endif
-
-.set VIC_base_addr, 0xFFFFF000
-.set VIC_vect_offs, 0x30
-
- .arm
- .global __IRQ_Wrapper
- .func __IRQ_Wrapper
-__IRQ_Wrapper:
-/*- Manage Exception Entry */
-/*- Adjust and save LR_irq in IRQ stack */
- sub lr, lr, #4
- stmfd sp!, {lr}
-
-/*- Save SPSR need to be saved for nested interrupt */
- mrs r14, SPSR
- stmfd sp!, {r14}
-
-/*- Save and r0 in IRQ stack */
- stmfd sp!, {r0}
-
-/*- Write in the IVR to support Protect Mode */
-/*- No effect in Normal Mode */
-/*- De-assert the NIRQ and clear the source in Protect Mode */
-/* R14 = LR */
- ldr r14, =VIC_base_addr
- ldr r0 , [r14, #VIC_vect_offs]
- /*str r14, [r14, #VIC_vect_offs]*/
-
-/*- Enable Interrupt and Switch in Supervisor Mode */
- msr CPSR_c, #I_Bit | Mode_SVC
-
-/*- Save scratch/used registers and LR in User Stack */
- /*stmfd sp!, { r1-r3, r12, r14}*/
- stmfd sp!, { r1-r12, r14 }
-
-/*- Branch to the routine pointed by the VIC-Vector-Address */
- mov r14, pc
- bx r0
-/*- Restore scratch/used registers and LR from User Stack*/
- /* ldmia sp!, { r1-r3, r12, r14} */
- ldmia sp!, { r1-r12, r14 }
-
-/*- Disable Interrupt and switch back in IRQ mode */
- msr CPSR_c, #I_Bit | Mode_IRQ
-
-#if 0
-/* VICVectAddr=0 is already done in the ISRs of the Philips-Examples
- so commented out here */
-/*- Mark the End of Interrupt on the VIC */
- ldr r14, =VIC_base_addr
- str r14, [r14, #VIC_vect_offs]
-#endif
-
-/*- Restore SPSR_irq and r0 from IRQ stack */
- ldmia sp!, {r0}
-
-/*- Restore SPSR_irq and r0 from IRQ stack */
- ldmia sp!, {r14}
- msr SPSR_cxsf, r14
-
-/*- Restore adjusted LR_irq from IRQ stack directly in the PC */
- ldmia sp!, {pc}^
-
-.size __IRQ_Wrapper, . - __IRQ_Wrapper
-.endfunc
-
-
-#if 0
-/* mthomas:
- Wrapper to call a C swi-Function declared with
- void SWI_Handler(int swi_num, int *regs)
- Inspired by Anglia Designs example
- -- not used here - see swi_handler.S
-*/
- .arm
- .global __SWI_Wrapper
- .func __SWI_Wrapper
-__SWI_Wrapper: /* r0 holds swi number */
- STMFD sp!,{r0-r12,lr} /* Save The workspace plus the current return */
- /* address lr_ mode into the stack */
- MRS r1, spsr /* Save the spsr_mode into r1 */
- STMFD sp!, {r1} /* Save spsr */
- MOV r1, sp /* load regs */
- LDR r0,=SWI_Handler
- MOV lr, pc
- BX r0 /* call the C-funcktion */
- LDMFD sp!, {r1} /* Restore the saved spsr_mode into r1 */
- MSR spsr_cxsf, r1 /* Restore spsr_mode */
- LDMFD sp!, {r0-r12,pc} /* Return to the instruction following */
- /* the exception interrupt */
- .size __SWI_Wrapper, . - __SWI_Wrapper
- .endfunc
-#endif
-
-#if 0
-/* mthomas: not used here - reminder for future tests */
- .arm
- .global __IRQ_Wrapper
- .func __IRQ_Wrapper
-__IRQ_Wrapper:
- SUB lr, lr, #4 /* Update the link register */
- STMFD sp!,{r0-r12,lr} /* Save The workspace plus the current return */
- /* address lr_ mode into the stack */
- MRS r1, spsr /* Save the spsr_mode into r1 */
- STMFD sp!, {r1} /* Save spsr */
- LDR lr, =ReturnAddress /* Read the return address. */
- LDR r0, =VIC_base_addr /* Load VIC Base-Address */
- LDR r1, [r0, #VIC_vect_offs] /* Load ISR-Address from VICVectAddr */
- bx r1 /* Branch to the IRQ handler. */
-ReturnAddress:
- LDR r2, =VIC_base_addr /* clear Interrupt */
- MOV r3, #0
- STR R3, [R2, #VIC_vect_offs] /* by writing to VICVectAddr */
- LDMFD sp!, {r1} /* Restore the saved spsr_mode into r1 */
- MSR spsr_cxsf, r1 /* Restore spsr_mode */
- LDMFD sp!, {r0-r12,pc}^ /* Return to the instruction following */
- /* the exception interrupt */
-.size __IRQ_Wrapper, . - __IRQ_Wrapper
-.endfunc
-#endif
-
-.end
-
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/interrupt_utils.c b/ccny_asctec_firmware/external/Common_WinARM/src/interrupt_utils.c
deleted file mode 100644
index 088611c..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/interrupt_utils.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/******************************************************************************
- *
- * $RCSfile: $
- * $Revision: $
- *
- * This module provides the interface routines for setting up and
- * controlling the various interrupt modes present on the ARM processor.
- * Copyright 2004, R O SoftWare
- * No guarantees, warrantees, or promises, implied or otherwise.
- * May be used for hobby or commercial purposes provided copyright
- * notice remains intact.
- *
- *****************************************************************************/
-#include "interrupt_utils.h"
-
-#define IRQ_MASK 0x00000080
-#define FIQ_MASK 0x00000040
-#define INT_MASK (IRQ_MASK | FIQ_MASK)
-
-static inline unsigned __get_cpsr(void)
-{
- unsigned long retval;
- asm volatile (" mrs %0, cpsr" : "=r" (retval) : /* no inputs */ );
- return retval;
-}
-
-static inline void __set_cpsr(unsigned val)
-{
- asm volatile (" msr cpsr, %0" : /* no outputs */ : "r" (val) );
-}
-
-unsigned disableIRQ(void)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr(_cpsr | IRQ_MASK);
- return _cpsr;
-}
-
-unsigned restoreIRQ(unsigned oldCPSR)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr((_cpsr & ~IRQ_MASK) | (oldCPSR & IRQ_MASK));
- return _cpsr;
-}
-
-unsigned enableIRQ(void)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr(_cpsr & ~IRQ_MASK);
- return _cpsr;
-}
-
-unsigned disableFIQ(void)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr(_cpsr | FIQ_MASK);
- return _cpsr;
-}
-
-unsigned restoreFIQ(unsigned oldCPSR)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr((_cpsr & ~FIQ_MASK) | (oldCPSR & FIQ_MASK));
- return _cpsr;
-}
-
-unsigned enableFIQ(void)
-{
- unsigned _cpsr;
-
- _cpsr = __get_cpsr();
- __set_cpsr(_cpsr & ~FIQ_MASK);
- return _cpsr;
-}
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/irq.c b/ccny_asctec_firmware/external/Common_WinARM/src/irq.c
deleted file mode 100644
index 17c9cfd..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/irq.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*****************************************************************************
- * irq.c: Interrupt handler C file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#include "LPC214x.h" /* LPC23XX Peripheral Registers */
-#include "irq.h"
-
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-#ifndef TRUE
-#define TRUE (1)
-#endif
-
-
-/******************************************************************************
-** Function name: DefaultVICHandler
-**
-** Descriptions: Default VIC interrupt handler.
-** This handler is set to deal with spurious
-** interrupt.
-** If the IRQ service routine reads the VIC
-** address register, and no IRQ slot responses
-** as described above, this address is returned.
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-// mthomas: inserted static to avoid gcc-warning
-static void DefaultVICHandler (void) __irq
-{
- /* if the IRQ is not installed into the VIC, and interrupt occurs, the
- default interrupt VIC address will be used. This could happen in a race
- condition. For debugging, use this endless loop to trace back. */
- /* For more details, see Philips appnote AN10414 */
- VICVectAddr = 0; /* Acknowledge Interrupt */
- while ( 1 );
-}
-
-/* Initialize the interrupt controller */
-/******************************************************************************
-** Function name: init_VIC
-**
-** Descriptions: Initialize VIC interrupt controller.
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-void init_VIC(void)
-{
- unsigned long i = 0;
- unsigned long *vect_addr, *vect_cntl;
-
- /* initialize VIC*/
- VICIntEnClr = 0xffffffff;
- VICVectAddr = 0;
- VICIntSelect = 0;
-
- /* set all the vector and vector control register to 0 */
- for ( i = 0; i < VIC_SIZE; i++ )
- {
- vect_addr = (unsigned long *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
- vect_cntl = (unsigned long *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
- *vect_addr = 0;
- *vect_cntl = 0;
- }
-
- /* Install the default VIC handler here */
- VICDefVectAddr = (unsigned long)DefaultVICHandler;
- return;
-}
-
-/******************************************************************************
-** Function name: install_irq
-**
-** Descriptions: Install interrupt handler
-** The max VIC size is 16, but, there are 32 interrupt
-** request inputs. Not all of them can be installed into
-** VIC table at the same time.
-** The order of the interrupt request installation is
-** first come first serve.
-** parameters: Interrupt number and interrupt handler address
-** Returned value: true or false, when the table is full, return false
-**
-******************************************************************************/
-unsigned long install_irq( unsigned long IntNumber, void *HandlerAddr )
-{
- unsigned long i;
- unsigned long *vect_addr;
- unsigned long *vect_cntl;
-
- VICIntEnClr = 1 << IntNumber; /* Disable Interrupt */
-
- for ( i = 0; i < VIC_SIZE; i++ )
- {
- /* find first un-assigned VIC address for the handler */
-
- vect_addr = (unsigned long *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
- vect_cntl = (unsigned long *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
- if ( *vect_addr == (unsigned long)NULL )
- {
- *vect_addr = (unsigned long)HandlerAddr; /* set interrupt vector */
- *vect_cntl = (unsigned long)(IRQ_SLOT_EN | IntNumber);
- break;
- }
- }
- if ( i == VIC_SIZE )
- {
- return( FALSE ); /* fatal error, can't find empty vector slot */
- }
- VICIntEnable = 1 << IntNumber; /* Enable Interrupt */
- return( TRUE );
-}
-
-/******************************************************************************
-** Function name: uninstall_irq
-**
-** Descriptions: Uninstall interrupt handler
-** Find the interrupt handler installed in the VIC
-** based on the interrupt number, set the location
-** back to NULL to uninstall it.
-** parameters: Interrupt number
-** Returned value: true or false, when the interrupt number is not found,
-** return false
-**
-******************************************************************************/
-unsigned long uninstall_irq( unsigned long IntNumber )
-{
- unsigned long i;
- unsigned long *vect_addr;
- unsigned long *vect_cntl;
-
- VICIntEnClr = 1 << IntNumber; /* Disable Interrupt */
-
- for ( i = 0; i < VIC_SIZE; i++ )
- {
- /* find first un-assigned VIC address for the handler */
- vect_addr = (unsigned long *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
- vect_cntl = (unsigned long *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
- if ( (*vect_cntl & ~IRQ_SLOT_EN ) == IntNumber )
- {
- *vect_addr = (unsigned long)NULL; /* clear the VIC entry in the VIC table */
- *vect_cntl &= ~IRQ_SLOT_EN; /* disable SLOT_EN bit */
- break;
- }
- }
- if ( i == VIC_SIZE )
- {
- return( FALSE ); /* fatal error, can't find interrupt number
- in vector slot */
- }
- VICIntEnable = 1 << IntNumber; /* Enable Interrupt */
- return( TRUE );
-}
-
-/******************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/swi_handler.S b/ccny_asctec_firmware/external/Common_WinARM/src/swi_handler.S
deleted file mode 100644
index 564ae0e..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/swi_handler.S
+++ /dev/null
@@ -1,280 +0,0 @@
-/*****************************************************************************
-* swi_handler.s: SWI handler file ARM7TDMI-(S) (not just LPC2000)
-*
-* by Martin Thomas
-* http://www.siwawi.arubi.uni-kl.de/avr_projects
-* based on information from ARM documents
-*
-* (I think there is nothing left from the Philips example-code beside
-* of the filename and some comments.)
-*
-*****************************************************************************/
-
-.set SWI_IRQ_DIS, 0
-.set SWI_IRQ_EN, 1
-.set SWI_FIQ_DIS, 2
-.set SWI_FIQ_EN, 3
-.set SWI_GET_CPSR, 4
-.set SWI_IRQ_REST, 5
-.set SWI_FIQ_REST, 6
-
-.set I_Bit, 0x80
-.set F_Bit, 0x40
-.set T_Bit, 0x20
-
-
-#ifdef ROM_RUN
-#ifdef VECTORS_IN_RAM
-.set VECTREMAPPED, 1
-#else
-.set VECTREMAPPED, 0
-#endif
-#endif
-
-#ifdef RAM_RUN
-.set VECTREMAPPED, 0
-#endif
-
-
-/*********************************************************************
-* SWI interrupt handler
-* Function : SoftwareInterrupt(SWI_Number)
-* See below "SwiFunction" table
-* Parameters: None
-* input : SWI_Number (extracted from SWI command automaticly)
-* output : states for some SWIs - see below
-**********************************************************************/
-.text
-.arm
-
-.print "SWI-Handler in section .vectorg -> .code/.text"
-.section .vectorg, "ax"
-
-/*
-.if (VECTREMAPPED)
-.print "SWI-Handler in section .vectmapped -> .data"
-.section .vectmapped, "ax"
-.else
-.print "SWI-Handler in section .vectorg -> .code/.text"
-.section .vectorg, "ax"
-.endif
-*/
-
-.global SoftwareInterrupt
-.func SoftwareInterrupt
-SoftwareInterrupt:
-SWI_HandlerMT:
- STMFD sp!, {r4, lr} /* store regs. */
- MRS r4, spsr
- TST r4, #T_Bit /* test for thumb */
- LDRNEH r4, [lr, #-2] /* NE->thumb - get swi instruction code */
- BICNE r4, r4, #0xff00 /* NE->thumb - clear top 8 bits leaving swi "comment field"=number */
- LDREQ r4, [lr, #-4] /* EQ->arm - get swi instruction code */
- BICEQ r4, r4, #0xff000000 /* EQ->arm - clear top 8 bits leaving swi "comment field"=number */
- CMP r4, #MAX_SWI /* range-check */
- LDRLS pc, [pc, r4, LSL #2] /* jump to routine if <= MAX (LS) */
-SWIOutOfRange:
- B SWIOutOfRange
-
-/* Jump-Table */
-SwiTableStart:
- .word IRQDisable // 0
- .word IRQEnable // 1
- .word FIQDisable // 2
- .word FIQEnable // 3
- .word CPSRget // 4
- .word IRQRestore // 5
- .word FIQRestore // 6
-SwiTableEnd:
-.set MAX_SWI, ((SwiTableEnd-SwiTableStart)/4)-1
-
-IRQDisable:
- MRS r0, SPSR /* Get SPSR = return value */
- ORR r4, r0, #I_Bit /* I_Bit set */
- MSR SPSR_c, r4 /* Set SPSR */
- B EndofSWI
-
-IRQEnable:
- MRS r0, SPSR /* Get SPSR = return value */
- BIC r4, r0, #I_Bit /* I_Bit clear */
- MSR SPSR_c, r4 /* Set SPSR */
- B EndofSWI
-
-FIQDisable:
- MRS r0, SPSR
- ORR r4, r0, #F_Bit
- AND r0, r0, #F_Bit
- MSR SPSR_c, r4
- B EndofSWI
-
-FIQEnable:
- MRS r0, SPSR
- BIC r4, r0, #F_Bit
- AND r0, r0, #F_Bit
- MSR SPSR_c, r4
- B EndofSWI
-
-CPSRget:
- // LDR r0, =0xdeadbeef
- MRS r0, SPSR /* Get SPSR */
- B EndofSWI
-
-IRQRestore:
- MRS r4, SPSR /* Get SPSR */
- AND r0, r0, #I_Bit
- TST r0, #I_Bit /* Test input for I_Bit */
- BICEQ r4, r4, #I_Bit
- ORRNE r4, r4, #I_Bit
- MSR SPSR_c, r4
- B EndofSWI
-
-FIQRestore:
- MRS r4, SPSR /* Get SPSR */
- AND r0, r0, #F_Bit
- TST r0, #F_Bit /* Test input for F_Bit */
- BICEQ r4, r4, #F_Bit
- ORRNE r4, r4, #F_Bit
- MSR SPSR_c, r4
- B EndofSWI
-
-EndofSWI:
- LDMFD sp!, {r4,pc}^
-.endfunc
-
-
-/**********************************************************************
- * Call SWI to restore IRQ
- * Function : void IntEnable(uint32_t)
- * Parameters: None
- * input : newstate
- * if I_bit in newstate cleared->IRQ on -> clear I_BIT
- * if I_bit in newstate set ->IRQ off -> set I_Bit
- * output : None
- **********************************************************************/
-.arm
-.text
-.section .text, "ax"
-.global IntRestore
-.func IntRestore
-IntRestore:
- SWI SWI_IRQ_REST
- BX lr
-.endfunc
-
-/**********************************************************************
- * Call SWI to restore FIQ
- * Function : void IntEnable(uint32_t)
- * Parameters: None
- * input : newstate
- * if F_bit in newstate cleared->FIQ on -> clear F_BIT
- * if F_bit in newstate set ->FIQ off -> set F_Bit
- * output : None
- **********************************************************************/
-.arm
-.text
-.section .text, "ax"
-.global FiqRestore
-.func FiqRestore
-FiqRestore:
- SWI SWI_FIQ_REST
- BX lr
-.endfunc
-
-/**********************************************************************
- * Call SWI to read IRQ/FIQ-status
- * Function : uint32_t IntEnable(void)
- * Parameters: None
- * input : None
- * output : CPSR (SPSR_SVC)
- **********************************************************************/
-.arm
-.text
-.section .text, "ax"
-.global IntGetCPSR
-.func IntGetCPSR
-IntGetCPSR:
- SWI SWI_GET_CPSR
- BX lr
-.endfunc
-
-/**********************************************************************
- * Call SWI to enable IRQ
- * Function : uint32_t IntEnable(void)
- * Parameters: None
- * input : None
- * output : previous status
- * I_Bit clear if IRQs were enabled
- * I_Bit set if IRQs were disabled
- **********************************************************************/
-.arm
-.text
-.section .text, "ax"
-.global IntEnable
-.func IntEnable
-IntEnable:
- SWI SWI_IRQ_EN
- BX lr
-.endfunc /* end of IntEnable */
-
-/**********************************************************************
- * Call SWI to disable IRQ
- * Function : uint32_t IntDisable(void)
- * Parameters : None
- * input : None
- * output : previous status
- * I_Bit clear if IRQs were enabled
- * I_Bit set if IRQs were disabled
- **********************************************************************/
-.arm
-.global IntDisable
-.section .text, "ax"
-.func IntDisable
-IntDisable:
- SWI SWI_IRQ_DIS
- BX lr
-.endfunc /* end of IntDisable */
-
-/**********************************************************************
- * Call SWI to enable FIQ
- * Function : uint32_t FiqEnable(void)
- * Parameters: None
- * input : None
- * output : previous status
- * F_Bit clear if FIQs were enabled
- * F_Bit set if FIQs were disabled
- **********************************************************************/
-.arm
-.text
-.section .text, "ax"
-.global FiqEnable
-.func FiqEnable
-FiqEnable:
- SWI SWI_FIQ_EN
- BX lr
-.endfunc
-
-/**********************************************************************
- * Call SWI to disable FIQ
- * Function : uint32_t FiqDisable(void)
- * Parameters : None
- * input : None
- * output : previous status
- * F_Bit clear if FIQs were enabled
- * F_Bit set if FIQs were disabled
- **********************************************************************/
-.arm
-.global FiqDisable
-.section .text, "ax"
-.func FiqDisable
-FiqDisable:
- SWI SWI_FIQ_DIS
- BX lr
-.endfunc
-
-
-.end
-
-/*************************************************************************
-** End Of File
-**************************************************************************/
-
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/target.c b/ccny_asctec_firmware/external/Common_WinARM/src/target.c
deleted file mode 100644
index c552d70..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/target.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*****************************************************************************
- * target.c: Target C file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-*****************************************************************************/
-
-#include "LPC214x.h"
-#include "type.h"
-#include "irq.h"
-#include "target.h"
-
-/*****************************************************************************
-** Function name: IRQ_Exception
-**
-** Descriptions: interrupt exceptional handler , change it as needed
-**
-** parameters: None
-** Returned value: None
-**
-*****************************************************************************/
-void IRQ_Exception(void) __irq;
-void IRQ_Exception(void) __irq
-{
- while(1); /* change it to your code */
-}
-
-/*****************************************************************************
-** Function name: FIQ_Exception
-**
-** Descriptions: Fast interrupt exceptional handler , change it as needed
-**
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-void FIQ_Exception(void) __fiq;
-void FIQ_Exception(void) __fiq
-{
- while(1); /* change it to your code */
-}
-
-/******************************************************************************
-** Function name: TargetInit
-**
-** Descriptions: Initialize the target board; it is called in a necessary
-** place, change it as needed
-**
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-void TargetInit(void)
-{
- /* Add your codes here */
-}
-
-/******************************************************************************
-** Function name: TargetResetInit
-**
-** Descriptions: Initialize the target board before running the main()
-** function; User may change it as needed, but may not
-** deleted it.
-**
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-/* mthomas: all reset-initialisation is done in startup.S */
-void TargetResetInit(void)
-{
-#ifdef __DEBUG_RAM
- MEMMAP = 0x2; /* set remap register */
-#endif
-
-#ifdef __DEBUG_FLASH
- MEMMAP = 0x1; /* set remap register */
-#endif
-
-#ifdef __IN_CHIP
- MEMMAP = 0x1; /* set remap register */
-#endif
-
- /* Set system timers for each component */
- PLLCON = 1;
-#if (Fpclk / (Fcclk / 4)) == 1
- VPBDIV = 0;
-#endif
-#if (Fpclk / (Fcclk / 4)) == 2
- VPBDIV = 2;
-#endif
-#if (Fpclk / (Fcclk / 4)) == 4
- VPBDIV = 1;
-#endif
-
-#if (Fcco / Fcclk) == 2
- PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
-#endif
-#if (Fcco / Fcclk) == 4
- PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
-#endif
-#if (Fcco / Fcclk) == 8
- PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
-#endif
-#if (Fcco / Fcclk) == 16
- PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
-#endif
- PLLFEED = 0xaa;
- PLLFEED = 0x55;
- while((PLLSTAT & (1 << 10)) == 0);
- PLLCON = 3;
- PLLFEED = 0xaa;
- PLLFEED = 0x55;
-
- /* Set memory accelerater module*/
- MAMCR = 0;
-#if Fcclk < 20000000
- MAMTIM = 1;
-#else
-#if Fcclk < 40000000
- MAMTIM = 2;
-#else
- MAMTIM = 3;
-#endif
-#endif
- MAMCR = 2;
-
- /* Add your codes here */
- return;
-}
-
-/******************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/external/Common_WinARM/src/timer.c b/ccny_asctec_firmware/external/Common_WinARM/src/timer.c
deleted file mode 100644
index c41eead..0000000
--- a/ccny_asctec_firmware/external/Common_WinARM/src/timer.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*****************************************************************************
- * timer.c: Timer C file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#include "LPC214x.h" /* LPC21XX Peripheral Registers */
-#include "type.h"
-#include "irq.h"
-#include "timer.h"
-
-#include "interrupt_utils.h"
-
-volatile DWORD timer_counter = 0;
-
-/******************************************************************************
-** Function name: Timer0Handler
-**
-** Descriptions: Timer/Counter 0 interrupt handler
-** executes each 10ms @ 60 MHz CPU Clock
-**
-** parameters: None
-** Returned value: None
-**
-******************************************************************************/
-// mthomas: static inserted to avoid warning by gcc 4.1.0
-#if 1
-static void /*RAMFUNC*/ Timer0Handler (void) __irq
-{
- T0IR = 1; /* clear interrupt flag */
- IENABLE; /* handles nested interrupt */
-
- timer_counter++;
-
- IDISABLE;
- VICVectAddr = 0; /* Acknowledge Interrupt */
-}
-#endif
-
-#if 0
-// mthomas: macro-approach - not needed since there
-// is an assembler-wrapper provided in Startup.S
-static void NACKEDFUNC Timer0Handler (void) __irq
-{
- ISR_STORE();
- T0IR = 1; /* clear interrupt flag */
- ISR_ENABLE_NEST(); /* handles nested interrupt */
-
- timer_counter++;
-
- ISR_DISABLE_NEST(); /* Disable Interrupt nesting */
- VICVectAddr = 0; /* Acknowledge Interrupt */
- ISR_RESTORE();
-}
-#endif
-
-/******************************************************************************
-** Function name: enable_timer
-**
-** Descriptions: Enable timer
-**
-** parameters: timer number: 0 or 1
-** Returned value: None
-**
-******************************************************************************/
-void enable_timer( BYTE timer_num )
-{
- if ( timer_num == 0 )
- {
- T0TCR = 1;
- }
- else
- {
- T1TCR = 1;
- }
- return;
-}
-
-/******************************************************************************
-** Function name: disable_timer
-**
-** Descriptions: Disable timer
-**
-** parameters: timer number: 0 or 1
-** Returned value: None
-**
-******************************************************************************/
-void disable_timer( BYTE timer_num )
-{
- if ( timer_num == 0 )
- {
- T0TCR = 0;
- }
- else
- {
- T1TCR = 0;
- }
- return;
-}
-
-/******************************************************************************
-** Function name: reset_timer
-**
-** Descriptions: Reset timer
-**
-** parameters: timer number: 0 or 1
-** Returned value: None
-**
-******************************************************************************/
-void reset_timer( BYTE timer_num )
-{
- DWORD regVal;
-
- if ( timer_num == 0 )
- {
- regVal = T0TCR;
- regVal |= 0x02;
- T0TCR = regVal;
- }
- else
- {
- regVal = T1TCR;
- regVal |= 0x02;
- T1TCR = regVal;
- }
- return;
-}
-
-/******************************************************************************
-** Function name: init_timer
-**
-** Descriptions: Initialize timer, set timer interval, reset timer,
-** install timer interrupt handler
-**
-** parameters: None
-** Returned value: true or false, if the interrupt handler can't be
-** installed, return false.
-**
-******************************************************************************/
-DWORD init_timer (void)
-{
- timer_counter = 0;
- T0MR0 = INTERVAL_10MS; /* 10mSec = 150.000-1 counts */
- T0MCR = 3; /* Interrupt and Reset on MR0 */
- if ( install_irq( TIMER0_INT, (void *)Timer0Handler ) == FALSE )
- {
- return (FALSE);
- }
- else
- {
- return (TRUE);
- }
-}
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/LL_HL_comm.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/LL_HL_comm.h
deleted file mode 100644
index 73c541b..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/LL_HL_comm.h
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef LL_HL_COMM_
-#define LL_HL_COMM_
-
-//system flags
-#define SF_PAGE_BIT1 0x01
-#define SF_PAGE_BIT2 0x02
-#define SF_SSP_ACK 0x04
-#define SF_GPS_NEW 0x08
-#define SF_HL_CONTROL_ENABLED 0x10
-#define SF_DIRECT_MOTOR_CONTROL 0x20
-#define SF_WAYPOINT_MODE 0x40
-
-//ctrl_flags
-//scientific control
-#define HL_CTRL_PITCH 0x01
-#define HL_CTRL_ROLL 0x02
-#define HL_CTRL_YAW 0x04
-#define HL_CTRL_THRUST 0x08
-#define HL_CTRL_HEIGHT_ENABLED 0x10
-#define HL_CTRL_GPS_ENABLED 0x20
-//direct motor control
-#define HL_CTRL_MOTORS_ONOFF_BY_RC 0x01
-
-
-void LL_write_ctrl_data(char);
-int HL2LL_write_cycle(void);
-inline void SSP_rx_handler_HL(unsigned char);
-inline void SSP_data_distribution_HL(void);
-
-struct LL_ATTITUDE_DATA
-{
- unsigned short system_flags; //GPS data acknowledge, etc.
-
- short angle_pitch; //angles [deg*100]
- short angle_roll;
- unsigned short angle_yaw;
-
- short angvel_pitch; //angular velocities; bias-free [0.015°/s]
- short angvel_roll;
- short angvel_yaw;
-
- //<-- 14 bytes @ 1kHz
- //--> 3x 26 bytes @ 333 Hz
- //=> total = 40 bytes @ 1 kHz
-//-----------------------------PAGE0
- unsigned char RC_data[10]; //8 channels @ 10 bit
-
- int latitude_best_estimate; //GPS data fused with all other sensors
- int longitude_best_estimate;
- short acc_x; //accelerations [mg]
- short acc_y;
- short acc_z;
-
- short dummy_333Hz_1;
-//-----------------------------PAGE1
- unsigned char motor_data[16]; //speed 0..7, PWM 0..7
-
- short speed_x_best_estimate;
- short speed_y_best_estimate;
- int height; //height [mm]
- short dheight; //differentiated height[mm/s]
-//------------------------------PAGE2
- short mag_x;
- short mag_y;
- short mag_z;
-
- short cam_angle_pitch;
- short cam_angle_roll;
- short cam_status;
-
- short battery_voltage1;
- short battery_voltage2;
- short flightMode;
- short flight_time;
- short cpu_load;
- short status;
- short status2;
-
-};
-
-extern struct LL_ATTITUDE_DATA LL_1khz_attitude_data;
-
-struct LL_CONTROL_INPUT
-{
- unsigned short system_flags;
- //bit 0: page_select
- //bit 1: reserved (page_select)
- //bit 2: SSP_ack
- //bit 3: GPS new
- //bit 4: HL controller enabled
- //bit 5: 0 -> "scientific" commands
- // 1 -> direct motor commands
- //bit 6: waypoint mode
-
- unsigned short ctrl_flags;
- //bit 0..3:
- // pitch, roll, yaw, height enable bits
- //bit 4: height control enabled
- //bit 5: yaw_control enabled
-
- short pitch, roll, yaw, thrust; //"scientific interface"
- unsigned char direct_motor_control[8]; //direct motor commands: pitch, roll, yaw, throttle, 4xDNC
- //or motor 0..7 (Falcon)
-
- //<-- 20 bytes @ 1kHz
- //--> 2x18 bytes @ 500 Hz
- //=> total = 38 bytes @ 1kHz
-
- int latitude; //data received from GPS-unit
- int longitude;
- int height;
- short speed_x;
- short speed_y;
- short status;
-//-----------------------------
-
- unsigned short hor_accuracy;
- unsigned short vert_accuracy;
- unsigned short speed_accuracy;
- unsigned short numSV;
- unsigned short heading;
- short battery_voltage_1, battery_voltage_2; //battery voltage read by HL-ADC [mV]
- short dummy_500Hz_2;
- short dummy_500Hz_3;
-};
-
-extern struct LL_CONTROL_INPUT LL_1khz_control_input;
-
-
-
-#endif /*LL_HL_COMM_*/
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC214x.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC214x.h
deleted file mode 100644
index b648a45..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC214x.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/******************************************************************************
- * LPC214X.h: Header file for Philips LPC214x Family Microprocessors
- * The header file is the super set of all hardware definition of the
- * peripherals for the LPC214x family microprocessor.
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
-
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- * 2005.10.13 ver 1.01 Removed CSPR and DC_REVISION register.
- * CSPR can not be accessed at the user level,
- * DC_REVISION is no long available.
- * All registers use "volatile unsigned long".
-******************************************************************************/
-
-#ifndef __LPC214x_H
-#define __LPC214x_H
-
-/* Vectored Interrupt Controller (VIC) */
-#define VIC_BASE_ADDR 0xFFFFF000
-
-#define VICIRQStatus (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x000))
-#define VICFIQStatus (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x004))
-#define VICRawIntr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x008))
-#define VICIntSelect (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x00C))
-#define VICIntEnable (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x010))
-#define VICIntEnClr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x014))
-#define VICSoftInt (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x018))
-#define VICSoftIntClr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x01C))
-#define VICProtection (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x020))
-#define VICVectAddr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x030))
-#define VICDefVectAddr (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x034))
-#define VICVectAddr0 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x100))
-#define VICVectAddr1 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x104))
-#define VICVectAddr2 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x108))
-#define VICVectAddr3 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x10C))
-#define VICVectAddr4 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x110))
-#define VICVectAddr5 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x114))
-#define VICVectAddr6 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x118))
-#define VICVectAddr7 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x11C))
-#define VICVectAddr8 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x120))
-#define VICVectAddr9 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x124))
-#define VICVectAddr10 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x128))
-#define VICVectAddr11 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x12C))
-#define VICVectAddr12 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x130))
-#define VICVectAddr13 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x134))
-#define VICVectAddr14 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x138))
-#define VICVectAddr15 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x13C))
-#define VICVectCntl0 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x200))
-#define VICVectCntl1 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x204))
-#define VICVectCntl2 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x208))
-#define VICVectCntl3 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x20C))
-#define VICVectCntl4 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x210))
-#define VICVectCntl5 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x214))
-#define VICVectCntl6 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x218))
-#define VICVectCntl7 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x21C))
-#define VICVectCntl8 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x220))
-#define VICVectCntl9 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x224))
-#define VICVectCntl10 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x228))
-#define VICVectCntl11 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x22C))
-#define VICVectCntl12 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x230))
-#define VICVectCntl13 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x234))
-#define VICVectCntl14 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x238))
-#define VICVectCntl15 (*(volatile unsigned long *)(VIC_BASE_ADDR + 0x23C))
-
-/* Pin Connect Block */
-#define PINSEL_BASE_ADDR 0xE002C000
-#define PINSEL0 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x00))
-#define PINSEL1 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x04))
-#define PINSEL2 (*(volatile unsigned long *)(PINSEL_BASE_ADDR + 0x14))
-
-/* General Purpose Input/Output (GPIO) */
-#define GPIO_BASE_ADDR 0xE0028000
-#define IOPIN0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x00))
-#define IOSET0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x04))
-#define IODIR0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x08))
-#define IOCLR0 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x0C))
-#define IOPIN1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x10))
-#define IOSET1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x14))
-#define IODIR1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x18))
-#define IOCLR1 (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x1C))
-
-/* Fast I/O setup */
-#define FIO_BASE_ADDR 0x3FFFC000
-#define FIO0DIR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x00))
-#define FIO0MASK (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x10))
-#define FIO0PIN (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x14))
-#define FIO0SET (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x18))
-#define FIO0CLR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x1C))
-#define FIO1DIR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x20))
-#define FIO1MASK (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x30))
-#define FIO1PIN (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x34))
-#define FIO1SET (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x38))
-#define FIO1CLR (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x3C))
-
-/* System Control Block(SCB) modules include Memory Accelerator Module,
-Phase Locked Loop, VPB divider, Power Control, External Interrupt,
-Reset, and Code Security/Debugging */
-
-#define SCB_BASE_ADDR 0xE01FC000
-
-/* Memory Accelerator Module (MAM) */
-#define MAMCR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x000))
-#define MAMTIM (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x004))
-#define MEMMAP (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x040))
-
-/* Phase Locked Loop (PLL) */
-#define PLLCON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x080))
-#define PLLCFG (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x084))
-#define PLLSTAT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x088))
-#define PLLFEED (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x08C))
-
-/* PLL48 Registers */
-#define PLL48CON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A0))
-#define PLL48CFG (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A4))
-#define PLL48STAT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0A8))
-#define PLL48FEED (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0AC))
-
-/* Power Control */
-#define PCON (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0C0))
-#define PCONP (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x0C4))
-
-/* VPB Divider */
-#define VPBDIV (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x100))
-
-/* External Interrupts */
-#define EXTINT (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x140))
-#define INTWAKE (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x144))
-#define EXTMODE (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x148))
-#define EXTPOLAR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x14C))
-
-/* Reset */
-#define RSIR (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x180))
-
-/* System Controls and Status */
-#define SCS (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x1A0))
-
-/* Timer 0 */
-#define TMR0_BASE_ADDR 0xE0004000
-#define T0IR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x00))
-#define T0TCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x04))
-#define T0TC (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x08))
-#define T0PR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x0C))
-#define T0PC (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x10))
-#define T0MCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x14))
-#define T0MR0 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x18))
-#define T0MR1 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x1C))
-#define T0MR2 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x20))
-#define T0MR3 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x24))
-#define T0CCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x28))
-#define T0CR0 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x2C))
-#define T0CR1 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x30))
-#define T0CR2 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x34))
-#define T0CR3 (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x38))
-#define T0EMR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x3C))
-#define T0CTCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x70))
-
-/* Timer 1 */
-#define TMR1_BASE_ADDR 0xE0008000
-#define T1IR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x00))
-#define T1TCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x04))
-#define T1TC (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x08))
-#define T1PR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x0C))
-#define T1PC (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x10))
-#define T1MCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x14))
-#define T1MR0 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x18))
-#define T1MR1 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x1C))
-#define T1MR2 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x20))
-#define T1MR3 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x24))
-#define T1CCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x28))
-#define T1CR0 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x2C))
-#define T1CR1 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x30))
-#define T1CR2 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x34))
-#define T1CR3 (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x38))
-#define T1EMR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x3C))
-#define T1CTCR (*(volatile unsigned long *)(TMR1_BASE_ADDR + 0x70))
-
-/* Pulse Width Modulator (PWM) */
-#define PWM_BASE_ADDR 0xE0014000
-#define PWMIR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x00))
-#define PWMTCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x04))
-#define PWMTC (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x08))
-#define PWMPR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x0C))
-#define PWMPC (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x10))
-#define PWMMCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x14))
-#define PWMMR0 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x18))
-#define PWMMR1 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x1C))
-#define PWMMR2 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x20))
-#define PWMMR3 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x24))
-#define PWMMR4 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x40))
-#define PWMMR5 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x44))
-#define PWMMR6 (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x48))
-#define PWMEMR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x3C))
-#define PWMPCR (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x4C))
-#define PWMLER (*(volatile unsigned long *)(PWM_BASE_ADDR + 0x50))
-
-/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
-#define UART0_BASE_ADDR 0xE000C000
-#define U0RBR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0THR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0DLL (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))
-#define U0DLM (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))
-#define U0IER (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))
-#define U0IIR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))
-#define U0FCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))
-#define U0LCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x0C))
-#define U0MCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x10))
-#define U0LSR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x14))
-#define U0MSR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x18))
-#define U0SCR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x1C))
-#define U0ACR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x20))
-#define U0FDR (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x28))
-#define U0TER (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x30))
-
-/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
-#define UART1_BASE_ADDR 0xE0010000
-#define U1RBR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1THR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1DLL (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x00))
-#define U1DLM (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x04))
-#define U1IER (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x04))
-#define U1IIR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x08))
-#define U1FCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x08))
-#define U1LCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x0C))
-#define U1MCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x10))
-#define U1LSR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x14))
-#define U1MSR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x18))
-#define U1SCR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x1C))
-#define U1ACR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x20))
-#define U1FDR (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x28))
-#define U1TER (*(volatile unsigned long *)(UART1_BASE_ADDR + 0x30))
-
-/* I2C Interface 0 */
-#define I2C0_BASE_ADDR 0xE001C000
-#define I20CONSET (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x00))
-#define I20STAT (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x04))
-#define I20DAT (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x08))
-#define I20ADR (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x0C))
-#define I20SCLH (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x10))
-#define I20SCLL (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x14))
-#define I20CONCLR (*(volatile unsigned long *)(I2C0_BASE_ADDR + 0x18))
-
-/* I2C Interface 1 */
-#define I2C1_BASE_ADDR 0xE005C000
-#define I21CONSET (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x00))
-#define I21STAT (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x04))
-#define I21DAT (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x08))
-#define I21ADR (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x0C))
-#define I21SCLH (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x10))
-#define I21SCLL (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x14))
-#define I21CONCLR (*(volatile unsigned long *)(I2C1_BASE_ADDR + 0x18))
-
-/* SPI0 (Serial Peripheral Interface 0) */
-#define SPI0_BASE_ADDR 0xE0020000
-#define S0SPCR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x00))
-#define S0SPSR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x04))
-#define S0SPDR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x08))
-#define S0SPCCR (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x0C))
-#define S0SPINT (*(volatile unsigned long *)(SPI0_BASE_ADDR + 0x1C))
-
-/* SSP Controller */
-#define SSP_BASE_ADDR 0xE0068000
-#define SSPCR0 (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x00))
-#define SSPCR1 (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x04))
-#define SSPDR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x08))
-#define SSPSR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x0C))
-#define SSPCPSR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x10))
-#define SSPIMSC (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x14))
-#define SSPRIS (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x18))
-#define SSPMIS (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x1C))
-#define SSPICR (*(volatile unsigned long * )(SSP_BASE_ADDR + 0x20))
-
-/* Real Time Clock */
-#define RTC_BASE_ADDR 0xE0024000
-#define ILR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x00))
-#define CTC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x04))
-#define CCR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x08))
-#define CIIR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x0C))
-#define AMR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x10))
-#define CTIME0 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x14))
-#define CTIME1 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x18))
-#define CTIME2 (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x1C))
-#define SEC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x20))
-#define MIN (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x24))
-#define HOUR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x28))
-#define DOM (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x2C))
-#define DOW (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x30))
-#define DOY (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x34))
-#define MONTH (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x38))
-#define YEAR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x3C))
-#define ALSEC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x60))
-#define ALMIN (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x64))
-#define ALHOUR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x68))
-#define ALDOM (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x6C))
-#define ALDOW (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x70))
-#define ALDOY (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x74))
-#define ALMON (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x78))
-#define ALYEAR (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x7C))
-#define PREINT (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x80))
-#define PREFRAC (*(volatile unsigned long *)(RTC_BASE_ADDR + 0x84))
-
-/* A/D Converter 0 (AD0) */
-#define AD0_BASE_ADDR 0xE0034000
-#define AD0CR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x00))
-#define AD0GDR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x04))
-#define AD0STAT (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x30))
-#define AD0INTEN (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x0C))
-#define AD0DR0 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x10))
-#define AD0DR1 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x14))
-#define AD0DR2 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x18))
-#define AD0DR3 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x1C))
-#define AD0DR4 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x20))
-#define AD0DR5 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x24))
-#define AD0DR6 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x28))
-#define AD0DR7 (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x2C))
-
-#define ADGSR (*(volatile unsigned long *)(AD0_BASE_ADDR + 0x08))
-/* A/D Converter 1 (AD1) */
-#define AD1_BASE_ADDR 0xE0060000
-#define AD1CR (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x00))
-#define AD1GDR (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x04))
-#define AD1STAT (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x30))
-#define AD1INTEN (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x0C))
-#define AD1DR0 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x10))
-#define AD1DR1 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x14))
-#define AD1DR2 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x18))
-#define AD1DR3 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x1C))
-#define AD1DR4 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x20))
-#define AD1DR5 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x24))
-#define AD1DR6 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x28))
-#define AD1DR7 (*(volatile unsigned long *)(AD1_BASE_ADDR + 0x2C))
-
-/* D/A Converter */
-#define DAC_BASE_ADDR 0xE006C000
-#define DACR (*(volatile unsigned long *)(DAC_BASE_ADDR + 0x00))
-
-/* Watchdog */
-#define WDG_BASE_ADDR 0xE0000000
-#define WDMOD (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x00))
-#define WDTC (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x04))
-#define WDFEED (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x08))
-#define WDTV (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x0C))
-
-/* USB Controller */
-#define USB_BASE_ADDR 0xE0090000 /* USB Base Address */
-/* Device Interrupt Registers */
-#define DEV_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x00))
-#define DEV_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x04))
-#define DEV_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x08))
-#define DEV_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x0C))
-#define DEV_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x2C))
-
-/* Endpoint Interrupt Registers */
-#define EP_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x30))
-#define EP_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x34))
-#define EP_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x38))
-#define EP_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x3C))
-#define EP_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x40))
-
-/* Endpoint Realization Registers */
-#define REALIZE_EP (*(volatile unsigned long *)(USB_BASE_ADDR + 0x44))
-#define EP_INDEX (*(volatile unsigned long *)(USB_BASE_ADDR + 0x48))
-#define MAXPACKET_SIZE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x4C))
-
-/* Command Reagisters */
-#define CMD_CODE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x10))
-#define CMD_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x14))
-
-/* Data Transfer Registers */
-#define RX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x18))
-#define TX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x1C))
-#define RX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x20))
-#define TX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x24))
-#define USB_CTRL (*(volatile unsigned long *)(USB_BASE_ADDR + 0x28))
-
-/* DMA Registers */
-#define DMA_REQ_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x50))
-#define DMA_REQ_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0x54))
-#define DMA_REQ_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0x58))
-#define UDCA_HEAD (*((volatile unsigned long *)USB_BASE_ADDR + 0x80))
-#define EP_DMA_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x84))
-#define EP_DMA_EN (*((volatile unsigned long *)USB_BASE_ADDR + 0x88))
-#define EP_DMA_DIS (*((volatile unsigned long *)USB_BASE_ADDR + 0x8C))
-#define DMA_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0x90))
-#define DMA_INT_EN (*((volatile unsigned long *)USB_BASE_ADDR + 0x94))
-#define EOT_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xA0))
-#define EOT_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xA4))
-#define EOT_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xA8))
-#define NDD_REQ_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xAC))
-#define NDD_REQ_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xB0))
-#define NDD_REQ_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xB4))
-#define SYS_ERR_INT_STAT (*((volatile unsigned long *)USB_BASE_ADDR + 0xB8))
-#define SYS_ERR_INT_CLR (*((volatile unsigned long *)USB_BASE_ADDR + 0xBC))
-#define SYS_ERR_INT_SET (*((volatile unsigned long *)USB_BASE_ADDR + 0xC0))
-#define MODULE_ID (*((volatile unsigned long *)USB_BASE_ADDR + 0xFC))
-
-#endif // __LPC214x_H
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC2k_ee.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC2k_ee.h
deleted file mode 100644
index a4708fb..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/LPC2k_ee.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/************************************************************************/
-/* */
-/* LPC2k_ee.H: Header file enabling EEPROM support */
-/* for Philips LPC2000 microcontroller's on-chip Flash memory */
-/* (revision 1.0, May 13th, 2005.) */
-/* */
-/* This file is to be used with LPC2k_ee.c file */
-/* */
-/* IMPORTANT: on-chip Flash memory sector(s) intended to be used as */
-/* an EEPROM will be unavailable for regular code storage! The smallest */
-/* amount of Flash memory that can be used as an EEPROM is a single */
-/* Flash sector (regardless of the Flash sector actual size). */
-/* */
-/* If size of desired EEPROM requires several Flash sectors, these */
-/* sectors must be a consecutive ones. */
-/* */
-/************************************************************************/
-
-#define EE_SEC_L 14 //Flash sector where EEPROM begins (see UM for details)
-#define EE_SEC_H 14 //Flash sector where EEPROM ends (see UM for details)
-#define EE_ADDR_L 0x00038000 //Must match the EE_SEC_L Flash sector start address
-#define EE_ADDR_H 0x0003FFFF //Must match the EE_SEC_H Flash sector end address
-
-#define EE_CCLK 60000 //system clock cclk expressed in kHz (5*12 MHz)
-
-/************************************************************************/
-/* */
-/* ee_data structure can be defined differently from this example. */
-/* The only requirement is to have _id field as it is defined here */
-/* since EE_REC_ID character is used to identify a record's presence */
-/* in the EEPROM memory. */
-/* */
-/* ==================================================================== */
-/* */
-/* IMPORTANT ARM memory access considerations: */
-/* */
-/* char : byte alligned. Can be accessed at any location in memory. */
-/* */
-/* short int: occupies 2 consecutive bytes. It can be read/write */
-/* accessed only when half-word alligned. Therefore, it is */
-/* located at addresses ending with 0x0, 0x2, 0x4, 0x6, 0x8, */
-/* 0xA, 0xC or 0xE. */
-/* */
-/* int : occupies 4 consecutive bytes. It can be read/write */
-/* accessed only when half-word alligned. Therefore, it is */
-/* located at addresses ending with 0x0, 0x4, 0x8 or 0xC. */
-/* */
-/* ==================================================================== */
-/* */
-/* Due to the LPC2000 Flash memory characteristics, an ee_data */
-/* structure size (EE_REC_SIZE) is limited to the following set: */
-/* */
-/* LPC2101/2/3, LPC2131/2/4/6/8, LPC2141/2/4/6/8: 0x10, 0x20, 0x40, */
-/* 0x80 or 0x100 */
-/* */
-/* LPC2104/5/6, LPC2112/4/9, LPC2124/9, LPC2192/4: 0x10, 0x20, 0x40, */
-/* 0x80, 0x100 or 0x200 */
-/* */
-/* ==================================================================== */
-/* */
-/* example1: */
-/* */
-/* struct ee_data{ //structure starts as word alligned */
-/* unsigned char _id; //1 byte - no allignement restr. */
-/* // 3 BYTE GAP!!!! */
-/* unsigned int _rec_count; //4 bytes - must be word alligned! */
-/* unsigned char _cs; //1 byte - no allignement restr. */
-/*}; // next structure will start as */
-/* // word alligned... */
-/* Structure in example 1 occupies 12 bytes of memory */
-/* */
-/* -------------------------------------------------------------------- */
-/*
- */
-/* example2: */
-/* */
-/* struct ee_data{ //structure starts as word alligned */
-/* unsigned char _id; //1 byte - no allignement restr. */
-/* unsigned char _cs; //1 byte - no allignement restr. */
-/* // 2 BYTE GAP!!!! */
-/* unsigned int _rec_count; //4 bytes - must be word alligned! */
-/*}; // next structure will start as */
-/* // word alligned... */
-/* Structure in example 2 occupies 8 bytes of memory */
-/* */
-/************************************************************************/
-
-struct ee_data{
- unsigned char _id; // 4 bytes: 1 byte (char) + 3 byte GAP!
-
- int acc_mid_x;
- int acc_mid_y;
- int acc_mid_z;
-
- int acc_scale_x;
- int acc_scale_y;
- int acc_scale_z;
-
- int mag_offset_x;
- int mag_offset_y;
- int mag_offset_z;
-
- int mag_scale_x;
- int mag_scale_y;
- int mag_scale_z;
-
- int gyro_offset_x;
- int gyro_offset_y;
- int gyro_offset_z;
-
- int int_mult;
- int int_div;
-
- int used;
-
-// int FlightParams[sizeof(struct FLIGHT_PARAMETERS)];
-
-}; // 16 bytes total
-
-struct ee_data2{
- unsigned char _id; // 4 bytes: 1 byte (char) + 3 byte GAP!
- int FlightParams[63];
-};
-
-/************************************************************************/
-/* */
-/* Disclaimer: all observations presented in example1, example 2 and */
-/* ee_data structure defined here are based on Keil's ARM compiler. */
-/* If another compiler is used, memory usage would have to be */
-/* re-examined and verified. */
-/* */
-/************************************************************************/
-
-
-#define EE_REC_SIZE 0x100 //see restrictions from above
-
-/********************************************************************/
-/* */
-/* Valid combinations for */
-/* EE_REC_SIZE, EE_BUFFER_SIZE, EE_BUFFER_MASK and EE_START_MASK */
-/* */
-/* EE_BUFFER_SIZE ! EE_START_MASK ! EE_REC_SIZE ! EE_BUFFER_MASK */
-/* ---------------------------------------------------------------- */
-/* 256 0xFFFFFF00 0x010 0xF0 */
-/* 256 0xFFFFFF00 0x020 0xE0 */
-/* 256 0xFFFFFF00 0x040 0xC0 */
-/* 256 0xFFFFFF00 0x080 0x80 */
-/* 256 0xFFFFFF00 0x100 0x00 */
-/* ---------------------------------------------------------------- */
-/* 512 0xFFFFFE00 0x010 0x1F0 */
-/* 512 0xFFFFFE00 0x020 0x1E0 */
-/* 512 0xFFFFFE00 0x040 0x1C0 */
-/* 512 0xFFFFFE00 0x080 0x180 */
-/* 512 0xFFFFFE00 0x100 0x100 */
-/* 512 0xFFFFFE00 0x200 0x000 */
-/********************************************************************/
-/* For LPC2101/2/3, LPC213x and LPC214x EE_BUFFER_SIZE is 256. */
-/* For all other LPC2000 devices EE_BUFFER_SIZE is always 512. */
-/********************************************************************/
-#define EE_BUFFER_SIZE 256
-#define EE_START_MASK 0xFFFFFF00
-#define EE_BUFFER_MASK 0x00000000
-
-/********************************************************************/
-/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
-/*!! !!*/
-/*!! !!*/
-/*!! DO NOT MODIFY THE FOLLOWING CODE!!! !!*/
-/*!! =================================== !!*/
-/*!! !!*/
-/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
-/********************************************************************/
-
-#define EE_REC_ID 0xAA
-#define EE_SIZE (EE_ADDR_H+1-EE_ADDR_L)
-#define NO_RECORDS_AVAILABLE 500
-#define NO_SPACE_IN_EEPROM 501
-#define INDEX_OUT_OF_RANGE 502
-
-#ifndef _EEPROM_
- extern const unsigned char eeprom[];
- extern void ee_erase(unsigned int , unsigned int []); //function erases EEPROM
- extern void ee_write(unsigned int , unsigned int []); //function adds a record in EEPROM
- extern void ee_read (unsigned int , unsigned int []); //function reads the latest valid record in EEPROM
- extern void ee_readn(unsigned int , unsigned int []); //function reads n-th record in EEPROM
- extern void ee_count(unsigned int , unsigned int []); //function counts records in EEPROM
-#endif
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/adc.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/adc.h
deleted file mode 100644
index 1c1d48d..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/adc.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * adc.h: Header file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __ADC_H
-#define __ADC_H
-
-#define ADC_INTERRUPT_FLAG 0 /* 1 is interrupt driven, 0 is polling */
-
-#define ADC_OFFSET 0x10
-#define ADC_INDEX 4
-
-#define ADC_DONE 0x80000000
-#define ADC_OVERRUN 0x40000000
-#define ADC_ADINT 0x00010000
-
-#define VOLTAGE_1 2
-#define VOLTAGE_2 4
-#define CURRENT_2 1
-
-#define ADC_NUM 8 /* for LPC2146/8 */
-#define ADC_CLK 1000000 /* set to 1Mhz */
-
-extern void ADC0Handler( void ) __irq;
-extern void ADC1Handler( void ) __irq;
-extern unsigned int ADCInit( unsigned int ADC_Clk );
-extern unsigned int ADC0Read( unsigned char channelNum );
-extern unsigned int ADC1Read( unsigned char channelNum );
-
-extern volatile unsigned int ADC0Value[ADC_NUM], ADC1Value[ADC_NUM];
-extern volatile unsigned int ADC0IntDone, ADC1IntDone;
-
-#endif /* end __ADC_H */
-/*****************************************************************************
-** End Of File
-******************************************************************************/
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/comm_util_LL.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/comm_util_LL.h
deleted file mode 100644
index 3f81a71..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/comm_util_LL.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef COMM_UTIL_LL_H
-#define COMM_UTIL_LL_H
-
-#include
-#include
-
-#define GRAVITY_SI 9.810665 // in SI m/s^2
-//#define GRAVITY_COMM GRAVITY_SI * 1000.0 // in Comm mm/s^2
-
-inline float degreesToRadians(float angle);
-inline float radiansToDegrees(float angle);
-
-inline float LLToSIClimb(int16_t climb);
-
-// ****************** accel ***********************
-
-inline float LLToSIAccX(int16_t acc, float g);
-inline float LLToSIAccY(int16_t acc, float g);
-inline float LLToSIAccZ(int16_t acc, float g);
-
-/*
-inline int32_t LLtoCommAccX(int16_t acc, float g);
-inline int32_t LLtoCommAccY(int16_t acc, float g);
-inline int32_t LLtoCommAccZ(int16_t acc, float g);
-*/
-// ****************** angle rate ***********************
-
-inline float LLToSIAngleRateYaw (int16_t angle_rate);
-inline float LLToSIAngleRateRoll (int16_t angle_rate);
-inline float LLToSIAngleRatePitch(int16_t angle_rate);
-//inline int32_t LLtoCommAngleRateYaw(int16_t angle_rate);
-
-// ****************** angle ***********************
-
-inline float LLToSIAngleRoll(int16_t angle);
-inline float LLToSIAnglePitch(int16_t angle);
-inline float LLToSIAngleYaw(uint16_t angle);
-
-/*
-inline uint16_t LLtoCommAngleRoll (int16_t angle);
-inline uint16_t LLtoCommAnglePitch(int16_t angle);
-inline uint16_t LLtoCommAngleYaw (uint16_t angle);
-*/
-// **** for direct motor control
-
-inline short SIToLLCmdRoll (float angle_cmd);
-inline short SIToLLCmdPitch (float angle_cmd);
-inline short SIToLLCmdYawRate(float yaw_rate_cmd);
-inline short SIToLLCmdThrust (float thrust_cmd);
-/*
-inline short commToLLCmdRoll (int16_t cmd_roll);
-inline short commToLLCmdPitch (int16_t cmd_pitch);
-inline short commToLLCmdYawRate (int32_t cmd_yaw_rate);
-inline short commToLLCmdThrust (int16_t cmd_thrust);
-*/
-#endif // COMM_UTIL_H
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/debug.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/debug.h
deleted file mode 100644
index cfb7ab2..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/debug.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-*
-* Copyright (c) 2006 Carrick Detweiler
-* and Massachusetts Institute of Technology
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* $Id: debug.h 142 2007-01-05 17:10:44Z carrick $
-****************************************************************************/
-
-
-#if !defined( DEBUG_H )
-#define DEBUG_H
-#include "stdio.h"
-//#include "console.h"
-
-/**
- * The default debug level (if not specified in the file itself)
- **/
-#ifndef DEBUG
-#define DEBUG 4
-#endif
-
-/**
- * Where debug printfs should go to
- **/
-//#define DEBUG_PRINTF printf
-#define DEBUG_PRINTF(...)
-
-/**
- * If the debug output should be pretty (a little nicer to read?), but
- * this requires the allocation of some memory and the use of snprintf
- **/
-//#define DEBUG_PRETTY_PRINT
-
-/**
- * Prints file and line info.
- **/
-#ifndef DEBUG_PRETTY_PRINT
-#define DEBUG_PRINTLINE(pre,...) \
- { \
- DEBUG_PRINTF(pre ); \
- DEBUG_PRINTF("%s:%d %s() ", \
- __FILE__,__LINE__,__FUNCTION__); \
- DEBUG_PRINTF( __VA_ARGS__ ); \
- }
-#else /* DEBUG_PRETTY_PRINT */
-
-#define DEBUG_PRINTLINE(pre,...) \
- { char __debugTmp[45]; \
- DEBUG_PRINTF(pre ); \
- snprintf(__debugTmp,45,"%-18s %-4d %s()", \
- __FILE__,__LINE__,__FUNCTION__); \
- DEBUG_PRINTF("%-45s | ",__debugTmp); \
- DEBUG_PRINTF( __VA_ARGS__ ); \
- DEBUG_PRINTG("\n");
- }
-#endif
-
-/**
- * Info printing
- **/
-#define PRINTF(...)
-//#define PRINTF(...)
-
-
-/**
- * Just a macro to indicate that something still needs to be done
- **/
-#define TBD(...) \
- DEBUG_PRINTLINE("TBD: ",__VA_ARGS__);
-
-
-#if DEBUG > 0
-/**
- * Debug printing at level 1 debug. Usage:
- * DEBUG1(("value %d",val));
- **/
-#define DEBUG1(...) \
- DEBUG_PRINTLINE("DEBUG1: ",__VA_ARGS__);
-
-#if DEBUG > 1
-/**
- * Debug printing at level 2 debug. Usage:
- * DEBUG2("value %d",val);
- **/
-#define DEBUG2(...) \
- DEBUG_PRINTLINE("DEBUG2: ",__VA_ARGS__);
-
-#if DEBUG > 2
-/**
- * Debug printing at level 3 debug. Usage:
- * DEBUG3("value %d",val);
- **/
-#define DEBUG3(...) \
- DEBUG_PRINTLINE("DEBUG3: ",__VA_ARGS__);
-
-#if DEBUG > 3
-/**
- * Debug printing at level 4 debug. Usage:
- * DEBUG4("value %d",val);
- **/
-#define DEBUG4(...) \
- DEBUG_PRINTLINE("DEBUG4: ",__VA_ARGS__);
-
-#else
-#define DEBUG4(...)
-#endif /* DEBUG > 3 */
-#else
-#define DEBUG4(...)
-#define DEBUG3(...)
-#endif /* DEBUG > 2 */
-#else
-#define DEBUG4(...)
-#define DEBUG3(...)
-#define DEBUG2(...)
-#endif /* DEBUG > 1 */
-#else
-#define DEBUG4(...)
-#define DEBUG3(...)
-#define DEBUG2(...)
-#define DEBUG1(...)
-#endif /* DEBUG > 0 */
-
-
-#endif /* DEBUG_H */
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/gpsmath.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/gpsmath.h
deleted file mode 100644
index fc6e98d..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/gpsmath.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef GPS_MATH_H
-#define GPS_MATH_H
-
-#define GPS_A 6378137.0 // earth semimajor axis in meters
-#define GPS_F 0.0033528106647474807198455286185206 // reciprocal flattening
-#define GPS_E2 2*GPS_F-GPS_F*GPS_F // eccentricity squared
-#define MEAN_EARTH_RADIUS 6378137.0
-#define MEAN_EARTH_DIAMETER 12756274.0
-#define UMR 0.017453292519943295769236907684886 //PI/180
-
-
-struct GPS_DATA
-{
-//latitude/longitude in deg * 10^7
- int latitude;
- int longitude;
-//GPS height in mm
- int height;
-//speed in x (E/W) and y(N/S) in mm/s
- int speed_x;
- int speed_y;
-//GPS heading in deg * 1000
- int heading;
-
-//accuracy estimates in mm and mm/s
- unsigned int horizontal_accuracy;
- unsigned int vertical_accuracy;
- unsigned int speed_accuracy;
-
-//number of satellite vehicles used in NAV solution
- unsigned int numSV;
-
-// GPS status information; Bit7...Bit3: 0 Bit 2: longitude direction Bit1: latitude direction Bit 0: GPS lock
- int status;
-};
-extern struct GPS_DATA GPS_Data;
-
-struct GPS_TIME
-{
- unsigned int time_of_week; //[ms]
- unsigned short week; //[1..52]
-};
-extern struct GPS_TIME GPS_Time;
-
-//trigger's new gps data transmission
-extern unsigned int gpsDataOkTrigger;
-
-#endif // GPS_MATH_H
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/hardware.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/hardware.h
deleted file mode 100644
index 170629c..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/hardware.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef HARDWARE_H
-#define HARDWARE_H
-
-#include "LPC214x.h"
-#include "main.h"
-#include "system.h"
-#include "uart.h"
-#include "irq.h"
-
-#define EXT_NCS 7 //CS outputs on P0
-#define LL_nCS 20
-#define CTS_RADIO 22
-
-//I/Os on P1
-#define CAMERA_FET 16
-
-void LED(unsigned char, unsigned char);
-
-void beeper(unsigned char offon);
-
-#endif // HARDWARE_H
-
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/i2c.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/i2c.h
deleted file mode 100644
index 145eb13..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/i2c.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- * i2c.h: Header file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __I2C_H
-#define __I2C_H
-
-#define BUFSIZE 0x20
-#define MAX_TIMEOUT 0x00FFFFFF
-
-#define I2CMASTER 0x01
-#define I2CSLAVE 0x02
-
-/* For more info, read Philips's SE95 datasheet */
-#define SE95_ADDR 0x9E
-#define SE95_ID 0x05
-#define SE95_CONFIG 0x01
-#define SE95_TEMP 0x00
-#define RD_BIT 0x01
-
-#define GET_DEVICE_ID 0x01
-#define GET_TEMPERATURE 0x02
-#define SET_CONFIGURATION 0x03
-
-#define I2C_IDLE 0
-#define I2C_STARTED 1
-#define I2C_RESTARTED 2
-#define I2C_REPEATED_START 3
-#define DATA_ACK 4
-#define DATA_NACK 5
-
-#define I2CONSET_I2EN 0x00000040 /* I2C Control Set Register */
-#define I2CONSET_AA 0x00000004
-#define I2CONSET_SI 0x00000008
-#define I2CONSET_STO 0x00000010
-#define I2CONSET_STA 0x00000020
-
-#define I2CONCLR_AAC 0x00000004 /* I2C Control clear Register */
-#define I2CONCLR_SIC 0x00000008
-#define I2CONCLR_STAC 0x00000020
-#define I2CONCLR_I2ENC 0x00000040
-
-#define I2DAT_I2C 0x00000000 /* I2C Data Reg */
-#define I2ADR_I2C 0x00000000 /* I2C Slave Address Reg */
-#define I2SCLH_SCLH 0x00000080 /* I2C SCL Duty Cycle High Reg */
-#define I2SCLL_SCLL 0x00000080 /* I2C SCL Duty Cycle Low Reg */
-
-extern void I2CInit( unsigned int I2cMode );
-extern unsigned int I2CStart( void );
-extern unsigned int I2CStop( void );
-extern unsigned int I2CEngine( void );
-extern void I2C0_send_motordata(void);
-extern void I2C0MasterHandler(void);
-
-#endif /* end __I2C_H */
-/****************************************************************************
-** End Of File
-*****************************************************************************/
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/kalman.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/kalman.h
deleted file mode 100644
index d1bbb24..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/kalman.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef KALMAN_H
-#define KALMAN_H
-
-#include
-#include
-#include
-#include
-
-#include "matrices.h"
-#include "LL_HL_comm.h"
-#include "sdk.h"
-#include "ssp.h"
-#include "uart.h"
-#include "comm_util_LL.h"
-
-#define HEIGHT_PKT_TIMEOUT 200000 // 200 ms
-
-typedef struct
-{
- float A[2][2];
- float At[2][2];
- float K[2][2];
- float P[2][2];
- float T[2][2];
- float C[2][2];
- float I[2][2];
- float Q[2][2];
- float R[2][2];
- float Sigma2Q1;
- float Sigma2Q2;
- float Sigma2R1;
- float Sigma2R2;
- float B[2];
- float Input;
- float State[2];
- float Correction[2];
- float Res[2];
-} KalPos;
-
-typedef struct
-{
- float K;
- float P;
- float T;
- float Q;
- float R;
- float Sigma2Q;
- float Sigma2R;
- float Input;
- float State;
- float Correction;
-} KalYaw;
-
-typedef struct
-{
- float pos_filtered[3]; // Position
- float vel_filtered[3]; // linear velocity
- float yaw_filtered; //yaw angle
-} KalOut;
-
-typedef struct
-{
- float sigma2Q1x;
- float sigma2Q2x;
- float sigma2R1x;
- float sigma2R2vx;
-
- float sigma2Q1y;
- float sigma2Q2y;
- float sigma2R1y;
- float sigma2R2vy;
-
- float sigma2Q1z;
- float sigma2Q2z;
- float sigma2R1z;
- float sigma2R2vz;
-
- float sigma2Qyaw;
- float sigma2Ryaw;
-} Covariance;
-
-KalPos kal_x, kal_y, kal_z;
-KalYaw kal_yaw;
-KalOut kal_out;
-Covariance covariance;
-
-void KFilter(void);
-
-void InitKalPos(KalPos *k);
-void PredictPos(KalPos *k, float dt);
-void CorrectPos(KalPos *k);
-
-void InitKalYaw(KalYaw *k);
-void PredictYaw(KalYaw *k, float dt);
-void CorrectYaw(KalYaw *k);
-
-void resetKalmanFilter(void);
-
-#endif // KALMAN_H
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/lpcUART.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/lpcUART.h
deleted file mode 100644
index 4e21d39..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/lpcUART.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/******************************************************************************
- *
- * $RCSfile: $
- * $Revision: $
- *
- * Header file for Philips LPC ARM Processors.
- * Copyright 2004 R O SoftWare
- *
- * No guarantees, warrantees, or promises, implied or otherwise.
- * May be used for hobby or commercial purposes provided copyright
- * notice remains intact.
- *
- *****************************************************************************/
-#ifndef INC_LPC_UART_H
-#define INC_LPC_UART_H
-
-// Universal Asynchronous Receiver Transmitter Registers
-//typedef struct
-//{
-// union
-// {
-// REG_8 rbr; // Receive Buffer Register
-// REG_8 thr; // Transmit Holding Register
-// REG_8 dll; // Divisor Latch Register (LSB)
-// REG_8 _pad0[4];
-// };
-//
-// union
-// {
-// REG_8 ier; // Interrupt Enable Register
-// REG_8 dlm; // Divisor Latch Register (MSB)
-// REG_8 _pad1[4];
-// };
-//
-// union
-// {
-// REG_8 iir; // Interrupt ID Register
-// REG_8 fcr; // FIFO Control Register
-// REG_8 _pad2[4];
-// };
-//
-// REG_8 lcr; // Line Control Registe
-// REG_8 _pad3[3];
-// REG_8 mcr; // MODEM Control Register
-// REG_8 _pad4[3];
-// REG_8 lsr; // Line Status Register
-// REG_8 _pad5[3];
-// REG_8 msr; // MODEM Status Register
-// REG_8 _pad6[3];
-// REG_8 scr; // Scratch Pad Register
-// REG_8 _pad7[3];
-//} uartRegs_t;
-
-///////////////////////////////////////////////////////////////////////////////
-// UART defines
-
-// Interrupt Enable Register bit definitions
-#define UIER_ERBFI (1 << 0) // Enable Receive Data Available Interrupt
-#define UIER_ETBEI (1 << 1) // Enable Transmit Holding Register Empty Interrupt
-#define UIER_ELSI (1 << 2) // Enable Receive Line Status Interrupt
-#define UIER_EDSSI (1 << 3) // Enable MODEM Status Interrupt
-
-// Interrupt ID Register bit definitions
-#define UIIR_NO_INT (1 << 0) // NO INTERRUPTS PENDING
-#define UIIR_MS_INT (0 << 1) // MODEM Status
-#define UIIR_THRE_INT (1 << 1) // Transmit Holding Register Empty
-#define UIIR_RDA_INT (2 << 1) // Receive Data Available
-#define UIIR_RLS_INT (3 << 1) // Receive Line Status
-#define UIIR_CTI_INT (6 << 1) // Character Timeout Indicator
-#define UIIR_ID_MASK 0x0E
-
-// FIFO Control Register bit definitions
-#define UFCR_FIFO_ENABLE (1 << 0) // FIFO Enable
-#define UFCR_RX_FIFO_RESET (1 << 1) // Reset Receive FIFO
-#define UFCR_TX_FIFO_RESET (1 << 2) // Reset Transmit FIFO
-#define UFCR_FIFO_TRIG1 (0 << 6) // Trigger @ 1 character in FIFO
-#define UFCR_FIFO_TRIG4 (1 << 6) // Trigger @ 4 characters in FIFO
-#define UFCR_FIFO_TRIG8 (2 << 6) // Trigger @ 8 characters in FIFO
-#define UFCR_FIFO_TRIG14 (3 << 6) // Trigger @ 14 characters in FIFO
-
-// Line Control Register bit definitions
-#define ULCR_CHAR_5 (0 << 0) // 5-bit character length
-#define ULCR_CHAR_6 (1 << 0) // 6-bit character length
-#define ULCR_CHAR_7 (2 << 0) // 7-bit character length
-#define ULCR_CHAR_8 (3 << 0) // 8-bit character length
-#define ULCR_STOP_1 (0 << 2) // 1 stop bit
-#define ULCR_STOP_2 (1 << 2) // 2 stop bits
-#define ULCR_PAR_NO (0 << 3) // No Parity
-#define ULCR_PAR_ODD (1 << 3) // Odd Parity
-#define ULCR_PAR_EVEN (3 << 3) // Even Parity
-#define ULCR_PAR_MARK (5 << 3) // MARK "1" Parity
-#define ULCR_PAR_SPACE (7 << 3) // SPACE "0" Paruty
-#define ULCR_BREAK_ENABLE (1 << 6) // Output BREAK line condition
-#define ULCR_DLAB_ENABLE (1 << 7) // Enable Divisor Latch Access
-
-// Modem Control Register bit definitions
-#define UMCR_DTR (1 << 0) // Data Terminal Ready
-#define UMCR_RTS (1 << 1) // Request To Send
-#define UMCR_LB (1 << 4) // Loopback
-
-// Line Status Register bit definitions
-#define ULSR_RDR (1 << 0) // Receive Data Ready
-#define ULSR_OE (1 << 1) // Overrun Error
-#define ULSR_PE (1 << 2) // Parity Error
-#define ULSR_FE (1 << 3) // Framing Error
-#define ULSR_BI (1 << 4) // Break Interrupt
-#define ULSR_THRE (1 << 5) // Transmit Holding Register Empty
-#define ULSR_TEMT (1 << 6) // Transmitter Empty
-#define ULSR_RXFE (1 << 7) // Error in Receive FIFO
-#define ULSR_ERR_MASK 0x1E
-
-// Modem Status Register bit definitions
-#define UMSR_DCTS (1 << 0) // Delta Clear To Send
-#define UMSR_DDSR (1 << 1) // Delta Data Set Ready
-#define UMSR_TERI (1 << 2) // Trailing Edge Ring Indicator
-#define UMSR_DDCD (1 << 3) // Delta Data Carrier Detect
-#define UMSR_CTS (1 << 4) // Clear To Send
-#define UMSR_DSR (1 << 5) // Data Set Ready
-#define UMSR_RI (1 << 6) // Ring Indicator
-#define UMSR_DCD (1 << 7) // Data Carrier Detect
-
-#endif
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/main.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/main.h
deleted file mode 100644
index e5f4b58..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/main.h
+++ /dev/null
@@ -1,167 +0,0 @@
-#ifndef MAIN_H_
-#define MAIN_H_
-
-#include "util.h"
-
-extern void mainloop(void);
-extern void timer0ISR(void);
-extern void timer1ISR(void);
-
-volatile unsigned int GPS_timeout;
-extern unsigned int GPS_cnt_trigger[4];
-unsigned char GPS_init_status;
-
-void calibrate(void);
-
-//#define BATTERY_WARNING_VOLTAGE 10700 //10500 mV, for newer batteries with flatter discharging characteristic, such as TP 5000
-#define BATTERY_WARNING_VOLTAGE 10000 //9800 mV
-#define BAT_DIV 10//(BATTERY_WARNING_VOLTAGE-9000)/100
-
-#define TRIGGER_SERVO_ACTIVE 1800
-#define TRIGGER_SERVO_INACTIVE 3600
-#define CAMER_OFFSET_HUMMINGBIRD 63000
-
-#define ControllerCyclesPerSecond 1000
-
-//defines for VP_CAMREMOTE (in �s)
-#define VP_SHOOT 2000
-#define VP_LENSCLOSE_SLEEP 1900
-#define VP_REFOCUS_LOCKFOCUS 1800
-#define VP_ZOOM_IN 1700
-#define VP_ZOOM_OUT 1600
-#define VP_NEXT_PROFILE 1500
-#define VP_PREVIOUS_PROFILE 1400
-#define VP_SHUTTER_SPEED_INC 1300
-#define VP_SHUTTER_SPEED_DEC 1200
-#define VP_APERTURE_INC 1100
-#define VP_APERTURE_DEC 1000
-
-#define OFF 0
-#define ON 1
-
-#define NORMAL 0
-
-//reconfigure GPS if needed
-#define GPS_STARTUP 0
-#define GPS_NEEDS_CONFIGURATION 1
-#define GPS_IS_CONFIGURED 2
-#define GPS_CONFIG_ERROR 3
-
-//packet descriptors
-#define PD_IMURAWDATA 0x01
-#define PD_LLSTATUS 0x02
-#define PD_IMUCALCDATA 0x03
-#define PD_HLSTATUS 0x04
-
-#define PD_CTRLOUT 0x11
-#define PD_FLIGHTPARAMS 0x12
-#define PD_CTRLCOMMANDS 0x13
-#define PD_CTRLINTERNAL 0x14
-#define PD_RCDATA 0x15
-#define PD_CTRLSTATUS 0x16
-
-#define PD_WAYPOINT 0x20
-#define PD_CURRENTWAY 0x21
-#define PD_NMEADATA 0x22
-#define PD_GPSDATA 0x23
-
-#define PD_CAMERACOMMANDS 0x30
-
-#define CAM_TRIGGERED 0x04
-
-struct IMU_CALCDATA {
-//angles derived by integration of gyro_outputs, drift compensated by data fusion; -90000..+90000 pitch(nick) and roll, 0..360000 yaw; 1000 = 1 degree
- int angle_nick;
- int angle_roll;
- int angle_yaw;
-
-//angular velocities, raw values [16 bit], bias free, in 0.0154 �/s (=> 64.8 = 1 �/s)
- int angvel_nick;
- int angvel_roll;
- int angvel_yaw;
-
-//acc-sensor outputs, calibrated: -10000..+10000 = -1g..+1g
- short acc_x_calib;
- short acc_y_calib;
- short acc_z_calib;
-
-//horizontal / vertical accelerations: -10000..+10000 = -1g..+1g
- short acc_x;
- short acc_y;
- short acc_z;
-
-//reference angles derived by accelerations only: -90000..+90000; 1000 = 1 degree
- int acc_angle_nick;
- int acc_angle_roll;
-
-//total acceleration measured (10000 = 1g)
- int acc_absolute_value;
-
-//magnetic field sensors output, offset free and scaled; units not determined, as only the direction of the field vector is taken into account
- int Hx;
- int Hy;
- int Hz;
-
-//compass reading: angle reference for angle_yaw: 0..360000; 1000 = 1 degree
- int mag_heading;
-
-//pseudo speed measurements: integrated accelerations, pulled towards zero; units unknown; used for short-term position stabilization
- int speed_x;
- int speed_y;
- int speed_z;
-
-//height in mm (after data fusion)
- int height;
-
-//diff. height in mm/s (after data fusion)
- int dheight;
-
-//diff. height measured by the pressure sensor [mm/s]
- int dheight_reference;
-
-//height measured by the pressure sensor [mm]
- int height_reference;
-};
-extern struct IMU_CALCDATA IMU_CalcData, IMU_CalcData_tmp;
-
-struct IMU_RAWDATA {
-//pressure sensor 24-bit value, not scaled but bias free
- int pressure;
-
-//16-bit gyro readings; 32768 = 2.5V
- short gyro_x;
- short gyro_y;
- short gyro_z;
-
-//10-bit magnetic field sensor readings
- short mag_x;
- short mag_y;
- short mag_z;
-
-//16-bit accelerometer readings
- short acc_x;
- short acc_y;
- short acc_z;
-
-//16-bit temperature measurement using yaw-gyro internal sensor
- unsigned short temp_gyro;
-
-//16-bit temperature measurement using ADC internal sensor
- unsigned int temp_ADC;
-};
-
-extern struct IMU_RAWDATA IMU_RawData;
-
-
-struct SYSTEM_PERMANENT_DATA
-{
- unsigned int total_uptime;
- unsigned int total_flighttime;
- unsigned int onoff_cycles;
- unsigned int number_of_flights;
- unsigned int chksum;
-};
-extern struct SYSTEM_PERMANENT_DATA SYSTEM_Permanent_Data;
-
-#endif /*MAIN_H_*/
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices.h
deleted file mode 100644
index 0867358..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef MATRICES_H
-#define MATRICES_H
-
-#include
-#include
-
-typedef float** matrix; // designate a matrix as an array (2D) of floatsdef Row* Matrix;
-
-void addMatrix2 (float A[2][2], float B[2][2], float C[2][2]);
-void subMatrix2 (float A[2][2], float B[2][2], float C[2][2]);
-void multMatrix2(float A[2][2], float B[2][2], float C[2][2]);
-void subVector2 (float A[2], float B[2], float C[2]);
-void multMatVec2(float A[2][2], float B[2], float C[2]);
-void invert2(float A[2][2], float B[2][2]);
-void VectmultSc2(float V[2], float scl, float V1[2]);
-void addVector2(float V[2], float V1[2], float V2[2]);
-//void allocMatrix(matrix mat, int nrows, int ncolumns);
-void addMatrix (matrix A, matrix B, matrix C, int m, int n);
-void addVector (float* A, float* B, float* C, int m);
-void subMatrix (matrix A, matrix B, matrix C, int m, int n);
-void subVector (float* A, float* B, float* C, int m);
-void negMatrix(matrix A, int m, int n);
-void multMatrix(matrix A, matrix B, matrix C, int Am, int An, int Bn);
-void multMatVec(matrix A, float* B, float* C, int Am, int Bn);
-void transpose(matrix A, matrix B, int Am, int An);
-void invert3(matrix A, matrix B);
-float determinant(matrix A,matrix tmp, int n);
-void getMinor(matrix A, matrix B,int An, int m, int n);
-void invt(matrix A, matrix B, matrix tmp1, matrix tmp2, int An);
-float BhQhBhT(matrix Qh, float* Bh, float* tmp);
-void VectdivSc(float* V, float scl);
-
-/*void allocMatrix(float** mat, int nrows, int ncolumns)
-{
- mat = (float **)malloc(nrows * ncolumns * sizeof(float));
-
- float* temp = (float*) malloc(nrows * ncolumns * sizeof(float));
-
- for(int i = 0; i < nrows; i++)
- mat[i] = temp + (i * ncolumns);
-
-}*/
-
-/*void allocMatrix(float** mat, int nrows, int ncolumns)
-{
- mat = malloc(ncolumns * sizeof(float*));
- for(int i = 0; i < ncolumns; i++)
- mat[i] = malloc(nrows * sizeof(float));
-}*/
-
-
-#endif /*MATRICES_H_*/
-
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices2.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices2.h
deleted file mode 100644
index c53c7a5..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/matrices2.h
+++ /dev/null
@@ -1,248 +0,0 @@
-#ifndef MATRICES_H
-#define MATRICES_H
-#include
-
-typedef float** matrix; // designate a matrix as an array (2D) of floats
-
-void addMatrix (matrix A, matrix B, matrix C, int m, int n);
-void addVector (float* A, float* B, float* C, int m);
-void subMatrix (matrix A, matrix B, matrix C, int m, int n);
-void subVector (float* A, float* B, float* C, int m);
-void negMatrix(matrix A, int m, int n);
-void multMatrix(matrix A, matrix B, matrix C, int Am, int An, int Bn);
-void multMatVec(matrix A, float* B, float* C, int Am, int Bn);
-void transpose(matrix A, matrix B, int Am, int An);
-void invert3(matrix A, matrix B);
-void invert2(matrix A, matrix B);
-float determinant(matrix A,matrix tmp, int n);
-void getMinor(matrix A, matrix B,int An, int m, int n);
-void invt(matrix A, matrix B, matrix tmp1, matrix tmp2, int An);
-float BhQhBhT(matrix Qh, float* Bh, float* tmp);
-void VectdivSc(float* V, float scl);
-
-
-void addMatrix (matrix A, matrix B, matrix C, int m, int n){
- /*C= A+B;
- * A,B and C need to be the same size (m by n); function does not check*/
- int i, j;
- for(i=0; i=1, n>=1, An is the size of A*/
- int i,j;
- int k=0;
- for(i=0; i < An; i++){
- if(i!=(m-1)){
- for(j=0; j < (An-1); j++){
- if(j<(n-1)){
- B[k][j] = A[i][j];
- }
- else{
- B[k][j] = A[i][j+1];
- }
- }//inner for (column)
- k++;
- }//if
- }//outer for
-}//get minor
-
-
-void invt(matrix A, matrix B, matrix tmp1, matrix tmp2, int An){
- /*B = A^-1 ; tmp1 & tmp2 must be at least of size (An-1)x(An-1)
- * function does not check if matrix is singular, tried, but even if det(A)==0, it did not escape,
- * just reutrned "nan" for some elements, and garbage for others
- * */
- int i,j;
- float detA = determinant(A,tmp2,An);
- for(i=0; i < An; i++){
- for(j=0; j < An; j++){
- getMinor(A,tmp1,An,i+1,j+1);
- if(((i+j)%2)==0){
- B[j][i]= determinant(tmp1,tmp2,(An-1))/detA;
- }
- else{
- B[j][i]= -determinant(tmp1,tmp2,(An-1))/detA;
- }
- //problem if an element is zero (returns "nan" for zero element)
- }//inner for
- }//outer for
-}//invert
-
-float BhQhBhT(matrix Qh, float* Bh, float* tmp){
- //function returns the value for Bh*Qh*Bh', where Qh is an 3x3 matrix, and Bh is a vector of length 3
-
-
-
- //Bh*Qh
- int i,j;
- float sum;
- for(i=0; i < 3; i++){
- sum=0;
- for(j=0; j < 3; j++)
- sum += Bh[j]*Qh[j][i];
- tmp[i] = sum;
- }//outer for
-
- //tmp*BhT
- sum = 0;
- for(i=0; i < 3; i++)
- sum += tmp[i]*Bh[i];
-
-
-
- return sum;
-}
-
-void VectdivSc(float* V, float scl){
- //function returns the value of Vector/scalar where vector is 3x1
-
- int i;
- for(i=0; i < 3; i++){
- V[i] = V[i]/scl;
- }// for
-}
-
-#endif /*MATRICES_H_*/
-
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/pid.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/pid.h
deleted file mode 100644
index b611ded..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/pid.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef PID_H
-#define PID_H
-
-#include
-#include
-#include
-#include
-
-#include "sdk.h"
-#include "LL_HL_comm.h"
-
-typedef struct
-{
- float kp; // Proportional Const
- float ki; // Integral Const
- float kd; // Derivative Const
- float kd2; // Derivative Const for angular velocity feedback
- float d_base;
- float bias; // constant term in the PID sum
- float sum_error; // Sums of Errors
- float max_sum_error; // integrative saturation to avoid increasing error from the integration
- float max_error; // maximum instantaneous error
-
-} PID;
-
-void pidReset(void);
-
-float pidCalc(PID * pid, float error, float d_term, float d_base, float dt);
-
-void processCtrl(void);
-
-void pidParamUpdate(void);
-
-#endif // PID_H
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/sdk.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/sdk.h
deleted file mode 100644
index 313ca8f..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/sdk.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
-
-Copyright (c) 2011, Markus Achtelik, ASL, ETH Zurich, Switzerland
-You can contact the author at
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-* Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-* Neither the name of ETHZ-ASL nor the
-names of its contributors may be used to endorse or promote products
-derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL ETHZ-ASL BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*/
-
-#ifndef SDK_H
-#define SDK_H
-
-#include
-
-#include "pid.h"
-#include "uart.h"
-#include "hardware.h"
-#include "kalman.h"
-#include "comm_util_LL.h"
-
-#define CMD_MAX_PERIOD 100 // in [ms] ==> 10Hz
-
-#define LAND_THRUST_DECREASE_STEP 0.01 // while landing, decrease thrust by this much
-#define LAND_THRUST_DECREASE_PERIOD 1 // while landing, decrease thrust every # of cycles
-
-typedef struct
-{
- Position x; // x position, in m
- Position y; // y position, in m
- Position z; // z position, in m
-
- Velocity vx; // x velocity, in m/sec
- Velocity vy; // y velocity, in m/sec
- Velocity vz; // y velocity, in m/sec
-
- Angle roll; // roll orientation, in rad
- Angle pitch; // pitch orientation, in rad
- Angle yaw; // yaw orientation, in rad
-} MAV_POSE_SI;
-
-typedef struct
-{
- Angle cmd_roll; // roll , in rad/....
- Angle cmd_pitch; // pitch , in rad
- AngVelocity cmd_yaw_rate; // yaw_rate , in rad/s
- Thrust cmd_thrust; // thrust, in % [0, 100]
-
-} MAV_CTRL_CMD;
-
-typedef struct
-{
- Position x; // desired x position, in mm
- Position y; // desired y position, in mm
- Position z; // desired z position, in mm
-
- Velocity vx; // desired x velocity, in mm/sec
- Velocity vy; // desired y velocity, in mm/sec
-
- Angle yaw; // desired yaw orientation, in deg/100, [0, 36000)
-} MAV_DES_POSE;
-
-extern void SDK_mainloop(void);
-
-void sdkInit(void);
-
-inline void writeCommand(short pitch, short roll, short yaw, short thrust, short ctrl, short enable);
-inline void sendImuData(void);
-inline void sendRcData(void);
-inline void sendFlightStateData(void);
-inline void sendMavPoseData(void);
-inline void sendStatusData(void);
-inline void sendCtrlDebugData(void);
-
-inline unsigned short isSerialEnabled(void);
-inline void feedbackBeep(void);
-inline void estop(void);
-
-inline void processKF(void);
-inline void processMotorStateChanges(void);
-inline void processFlightActionRequests(void);
-inline void processEngageDisengageTimeouts(void);
-inline void processLandingThrust(void);
-inline void processMotorCommands(void);
-inline void processSendData(void);
-
-/// adjusts HLP time to host PC time
-/***
- * Timestamped packets get send around every 2 s to average the transmission delay.
- * Corrects at max 500 us per second. If the time offset is large, the server (host PC)
- * time is taken directly and synchronization starts from that time.
- */
-inline void synchronizeTime(void);
-
-/// gets called every sdk loops. Currently, only checks for packets from the PC and starts autobaud in case there wwas no communication in the last 10 s
-//inline void watchdog(void);
-
-/// checks if a packet has to be sent
-inline int checkTxPeriod(uint16_t period, uint16_t phase);
-
-struct WO_SDK_STRUCT
-{
- unsigned char ctrl_mode;
- //0x00: "standard scientific interface" => send R/C stick commands to LL
- //0x01: direct motor control
- //0x02: waypoint control (not yet implemented)
-
- unsigned char ctrl_enabled;
- //0x00: Control commands are ignored by LL processor
- //0x01: Control commands are accepted by LL processor
-};
-extern struct WO_SDK_STRUCT WO_SDK;
-
-struct RO_RC_DATA
-{
- unsigned short channel[8];
- /*
- * channel[0]: Pitch
- * channel[1]: Roll
- * channel[2]: Thrust
- * channel[3]: Yaw
- * channel[4]: Serial interface enable/disable
- * channel[5]: manual / height control / GPS + height control
- *
- * range of each channel: 0..4095
- */
-};
-extern struct RO_RC_DATA RO_RC_Data;
-
-struct WO_DIRECT_MOTOR_CONTROL
-{
- unsigned char pitch;
- unsigned char roll;
- unsigned char yaw;
- unsigned char thrust;
-
- /*
- * commands will be directly interpreted by the mixer
- * running on each of the motor controllers
- *
- * range (pitch, roll, yaw commands): 0..200 = - 100..+100 %
- * range of thrust command: 0..200 = 0..100 %
- */
-
-};
-extern struct WO_DIRECT_MOTOR_CONTROL WO_Direct_Motor_Control;
-
-struct WO_CTRL_INPUT
-{ //serial commands (= Scientific Interface)
- short pitch; //Pitch input: -2047..+2047 (0=neutral)
- short roll; //Roll input: -2047..+2047 (0=neutral)
- short yaw; //(=R/C Stick input) -2047..+2047 (0=neutral)
- short thrust; //Collective: 0..4095 = 0..100%
- short ctrl; /*control byte:
- bit 0: pitch control enabled
- bit 1: roll control enabled
- bit 2: yaw control enabled
- bit 3: thrust control enabled
- bit 4: Height control enabled
- bit 5: GPS position control enabled
- */
-};
-extern struct WO_CTRL_INPUT WO_CTRL_Input;
-
-#endif // SDK_H
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/ssp.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/ssp.h
deleted file mode 100644
index 51871aa..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/ssp.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*****************************************************************************
- * ssp.h: Header file for Philips LPC214x Family Microprocessors
- *
- * Copyright(C) 2006, Philips Semiconductor
- * All rights reserved.
- *
- * History
- * 2005.10.01 ver 1.00 Prelimnary version, first Release
- *
-******************************************************************************/
-#ifndef __SSP_H__
-#define __SSP_H__
-
-volatile unsigned int SSP_trans_cnt;
-
-/* SPI read and write buffer size */
-#define FIFOSIZE 8
-
-/* SPI Status register */
-#define SSPSR_TFE 1 << 0
-#define SSPSR_TNF 1 << 1
-#define SSPSR_RNE 1 << 2
-#define SSPSR_RFF 1 << 3
-#define SSPSR_BSY 1 << 4
-
-/* SPI 1 CR0 register */
-#define SSPCR0_DSS 1 << 0
-#define SSPCR0_FRF 1 << 4
-#define SSPCR0_CPOL 1 << 6
-#define SSPCR0_CPHA 1 << 7
-#define SSPCR0_SCR 1 << 8
-
-/* SPI 1 CR1 register */
-#define SSPCR1_LBM 1 << 0
-#define SSPCR1_SSE 1 << 1
-#define SSPCR1_MS 1 << 2
-#define SSPCR1_SOD 1 << 3
-
-/* SPI 1 Interrupt Mask Set/Clear register */
-#define SSPIMSC_RORIM 1 << 0
-#define SSPIMSC_RTIM 1 << 1
-#define SSPIMSC_RXIM 1 << 2
-#define SSPIMSC_TXIM 1 << 3
-
-/* SPI 1 Interrupt Status register */
-#define SSPRIS_RORRIS 1 << 0
-#define SSPRIS_RTRIS 1 << 1
-#define SSPRIS_RXRIS 1 << 2
-#define SSPRIS_TXRIS 1 << 3
-
-/* SPI 1 Masked Interrupt register */
-#define SSPMIS_RORMIS 1 << 0
-#define SSPMIS_RTMIS 1 << 1
-#define SSPMIS_RXMIS 1 << 2
-#define SSPMIS_TXMIS 1 << 3
-
-/* SPI 1 Interrupt clear register */
-#define SSPICR_RORIC 1 << 0
-#define SSPICR_RTIC 1 << 1
-
-extern void SSPHandler (void) __irq;
-int LL_write(unsigned char *, unsigned short, unsigned char);
-void LL_write_init(void);
-
-unsigned char IMU_CalcData_updated;
-
-#endif /* __SSP_H__ */
-/*****************************************************************************
-** End Of File
-******************************************************************************/
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/system.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/system.h
deleted file mode 100644
index e798e33..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/system.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef SYSTEM_H_
-#define SYSTEM_H_
-
-extern unsigned int processorClockFrequency(void);
-extern unsigned int peripheralClockFrequency(void);
-extern void delay(int);
-extern void init(void);
-extern void pll_init(void);
-extern void pll_feed(void);
-extern void init_timer0(void);
-extern void init_timer1(void);
-extern void init_interrupts(void);
-extern void init_ports(void);
-extern void init_spi(void);
-extern void init_pwm(void);
-extern void init_get_calibdata_from_flash(void);
-extern void write_calibdata_to_flash(void);
-extern void init_spi1(void);
-extern void SPI1Send(char *, unsigned int, unsigned char);
-extern void PWM_Init( void );
-extern void SPI_get_data(unsigned int);
-
-extern unsigned char CAM_Commands_received;
-
-struct HL_STATUS {
- short battery_voltage_1;
- short battery_voltage_2;
-
- short up_time;
- short flight_time;
-
- int latitude;
- int longitude;
-
- short status;
- short cpu_load;
- short yawenabled;
- short chksum_error;
-};
-
-extern struct HL_STATUS HL_Status;
-
-
-//PWM defines
-#define PWM_CYCLE 1200
-#define PWM_OFFSET 200
-
-#define MR0_INT 1 << 0
-#define MR1_INT 1 << 1
-#define MR2_INT 1 << 2
-#define MR3_INT 1 << 3
-#define MR4_INT 1 << 8
-#define MR5_INT 1 << 9
-#define MR6_INT 1 << 10
-
-#define TCR_CNT_EN 0x00000001
-#define TCR_RESET 0x00000002
-#define TCR_PWM_EN 0x00000008
-
-#define PWMMR0I 1 << 0
-#define PWMMR0R 1 << 1
-#define PWMMR0S 1 << 2
-#define PWMMR1I 1 << 3
-#define PWMMR1R 1 << 4
-#define PWMMR1S 1 << 5
-#define PWMMR2I 1 << 6
-#define PWMMR2R 1 << 7
-#define PWMMR2S 1 << 8
-#define PWMMR3I 1 << 9
-#define PWMMR3R 1 << 10
-#define PWMMR3S 1 << 11
-#define PWMMR4I 1 << 12
-#define PWMMR4R 1 << 13
-#define PWMMR4S 1 << 14
-#define PWMMR5I 1 << 15
-#define PWMMR5R 1 << 16
-#define PWMMR5S 1 << 17
-#define PWMMR6I 1 << 18
-#define PWMMR6R 1 << 19
-#define PWMMR6S 1 << 20
-
-#define PWMSEL2 1 << 2
-#define PWMSEL3 1 << 3
-#define PWMSEL4 1 << 4
-#define PWMSEL5 1 << 5
-#define PWMSEL6 1 << 6
-#define PWMENA1 1 << 9
-#define PWMENA2 1 << 10
-#define PWMENA3 1 << 11
-#define PWMENA4 1 << 12
-#define PWMENA5 1 << 13
-#define PWMENA6 1 << 14
-
-#define LER0_EN 1 << 0
-#define LER1_EN 1 << 1
-#define LER2_EN 1 << 2
-#define LER3_EN 1 << 3
-#define LER4_EN 1 << 4
-#define LER5_EN 1 << 5
-#define LER6_EN 1 << 6
-
-#endif /*SYSTEM_H_*/
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/types.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/types.h
deleted file mode 100644
index 97bd95e..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/types.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-*
-* Copyright (c) 2006 Carrick Detweiler
-* and Massachusetts Institute of Technology
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* $Id: types.h 142 2007-01-05 17:10:44Z carrick $
-****************************************************************************/
-
-
-#if !defined( TYPES_H )
-#define TYPES_H
-
-/**
- * Different types that are needed. It is assumed that the type is
- * signed unless they are eu types in which case they should be
- * unsigned. Ideally (perhaps required?) that they have they same bit
- * length as indicated (eg uint8_t is an unsigned 8-bit type).
- **/
-#define eint8 signed char
-#define euint8 unsigned char
-#define eint16 signed short
-#define euint16 unsigned short
-#define eint32 signed int
-#define euint32 unsigned int
-#define echar char
-#define euchar unsigned char
-
-
-#endif /* TYPES_H */
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/uart.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/uart.h
deleted file mode 100644
index 9e07df4..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/uart.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef __UART_H
-#define __UART_H
-
-#include
-#include
-
-extern void UARTInitialize(unsigned int);
-extern void UARTWriteChar(unsigned char);
-extern unsigned char UARTReadChar(void);
-extern void __putchar(int);
-extern void UART_send(char *, unsigned char);
-extern void UART_send_ringbuffer(void);
-extern int ringbuffer(unsigned char, unsigned char*, unsigned int);
-
-void startAutoBaud(void);
-volatile extern char autobaud_in_progress;
-
-inline int writePacket2Ringbuffer(uint8_t descriptor, void * data, uint8_t length);
-extern void uart0ISR(void);
-
-extern uint16_t crc16(void *, uint16_t count, uint16_t prev_crc);
-extern uint16_t crc_update(uint16_t, uint8_t);
-
-#define RBREAD 0
-#define RBWRITE 1
-#define RBFREE 2
-#define RINGBUFFERSIZE 384
-
-int UART0_txEmpty(void);
-void UART0_rxFlush(void);
-void UART0_txFlush(void);
-uint8_t UART0_writeFifo(void * data, uint32_t length);
-
-// this has to be 2^n !!!
-#define UART0_RX_BUFFERSIZE 512
-#define UART0_TX_BUFFERSIZE 512
-
-// not more than 64 different packettypes
-#define PACKET_INFO_SIZE 64
-
-typedef struct
-{
- uint8_t descriptor;
- void * data;
- uint8_t updated;
-} PacketInfo;
-
-extern volatile unsigned int UART_rxPacketCount;
-extern volatile unsigned int UART_rxGoodPacketCount;
-
-typedef struct
-{
- uint8_t *buffer;
- uint8_t inUse;
- uint32_t bufferSize;
- uint32_t readIdx;
- uint32_t writeIdx;
- uint32_t tmp;
- uint32_t mask;
-}volatile Fifo;
-
-extern short uart0_min_tx_buffer;
-extern short uart0_min_rx_buffer;
-
-void Fifo_initialize(Fifo * fifo, uint8_t * buffer, uint32_t bufferSize);
-inline uint8_t Fifo_writeByte(Fifo * fifo, uint8_t byte);
-inline uint8_t Fifo_writeBlock(Fifo * fifo, void *data, uint32_t length);
-inline uint8_t Fifo_readByte(Fifo * fifo, uint8_t * byte);
-inline uint16_t Fifo_availableMemory(Fifo * fifo);
-inline void Fifo_reset(Fifo * fifo);
-
-void parseRxFifo(void);
-
-PacketInfo* registerPacket(uint8_t descriptor, void * data);
-
-#endif //__UART_H
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/uart1.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/uart1.h
deleted file mode 100644
index 5c26ac8..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/uart1.h
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef __UART1_H
-#define __UART1_H
-
-extern void UART1Initialize(unsigned int baud);
-
-extern void UART1WriteChar(unsigned char);
-extern unsigned char UART1ReadChar(void);
-extern void UART1_send(unsigned char *, unsigned char);
-extern void UART1_send_ringbuffer(void);
-extern int ringbuffer1(unsigned char, unsigned char*, unsigned int);
-extern void uart1ISR(void);
-extern void GPS_configure(void);
-
-extern unsigned char send_buffer[16];
-extern unsigned char chksum_trigger;
-extern unsigned char UART_CalibDoneFlag;
-extern unsigned char trigger_transmission;
-extern unsigned char transmission1_running;
-
-#define RBREAD 0
-#define RBWRITE 1
-#define RBFREE 2
-#define RINGBUFFERSIZE 384
-
-#define RX_IDLE 0
-#define RX_ACTSYNC1 1
-#define RX_ACTSYNC2 2
-#define RX_ACTDATA 3
-#define RX_ACTCHKSUM 4
-
-#define GPSCONF_TIMEOUT 200
-
-#endif //__UART_H
-
diff --git a/ccny_asctec_firmware/include/ccny_asctec_firmware/util.h b/ccny_asctec_firmware/include/ccny_asctec_firmware/util.h
deleted file mode 100644
index 2d09d14..0000000
--- a/ccny_asctec_firmware/include/ccny_asctec_firmware/util.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef UTIL_H
-#define UTIL_H
-
-#include
-#include "LPC214x.h"
-
-extern volatile int64_t g_timestamp;
-
-void wait(int usec);
-
-#endif // UTIL_H
diff --git a/ccny_asctec_firmware/main.bin b/ccny_asctec_firmware/main.bin
deleted file mode 100644
index 7f5f313..0000000
Binary files a/ccny_asctec_firmware/main.bin and /dev/null differ
diff --git a/ccny_asctec_firmware/main.elf b/ccny_asctec_firmware/main.elf
deleted file mode 100644
index 6fabc59..0000000
Binary files a/ccny_asctec_firmware/main.elf and /dev/null differ
diff --git a/ccny_asctec_firmware/main.hex b/ccny_asctec_firmware/main.hex
deleted file mode 100644
index c5513bb..0000000
--- a/ccny_asctec_firmware/main.hex
+++ /dev/null
@@ -1,5594 +0,0 @@
-:1000000018F09FE518F09FE518F09FE518F09FE5C0
-:1000100018F09FE50000A0E118F09FE518F09FE5BB
-:10002000680100004000000098000000440000004B
-:100030004800000000000000500000004C000000DC
-:10004000FEFFFFEAFEFFFFEAFEFFFFEAFEFFFFEA18
-:1000500004E04EE200402DE900E04FE100402DE9D0
-:1000600001002DE928E09FE530009EE593F021E3B3
-:10007000FE5F2DE90FE0A0E110FF2FE1FE5FBDE87C
-:1000800092F021E30100BDE80040BDE80EF06FE111
-:100090000080FDE800F0FFFF10402DE900404FE137
-:1000A000200014E3B2405E11FF4CC41304401E054F
-:1000B000FF44C403060054E304F19F97FEFFFFEAE8
-:1000C000DC000000EC000000FC000000100100005B
-:1000D000240100002C0100004801000000004FE155
-:1000E000804080E304F061E11D0000EA00004FE180
-:1000F0008040C0E304F061E1190000EA00004FE134
-:10010000404080E3400000E204F061E1140000EAB6
-:1001100000004FE14040C0E3400000E204F061E134
-:100120000F0000EA00004FE10D0000EA00404FE13F
-:10013000800000E2800010E38040C403804084130C
-:1001400004F061E1060000EA00404FE1400000E2F7
-:10015000400010E34040C4034040841304F061E1D8
-:10016000FFFFFFEA1080FDE828019FE50010A0E3F3
-:10017000001080E520019FE5AA10A0E35520A0E330
-:100180002430A0E3043080E50130A0E3003080E5B6
-:100190000C1080E50C2080E5083090E5013B13E26F
-:1001A000FCFFFF0A0330A0E3003080E50C1080E57F
-:1001B0000C2080E5E4009FE50410A0E3041080E536
-:1001C0000210A0E3001080E5D4009FE5DBF021E3FE
-:1001D00000D0A0E1800040E2D7F021E300D0A0E110
-:1001E000800040E2D1F021E300D0A0E1800040E2B5
-:1001F000D2F021E300D0A0E1800040E2D3F021E37F
-:1002000000D0A0E1020B40E210F021E300D0A0E119
-:1002100090109FE590209FE590309FE5030052E10C
-:100220000300000A030052E1040091340400823408
-:10023000FBFFFF3A0000A0E374109FE574209FE5E8
-:10024000020051E10200000A020051E10400813481
-:10025000FCFFFF3A60009FE560109FE5010050E160
-:100260000500000A042090E403002DE90FE0A0E15E
-:1002700002F0A0E10300BDE8F7FFFFEA40009FE5C0
-:10028000010010E33CE09F053CE09F1510FF2FE1CB
-:10029000FEFFFFEAFEE7000000C11FE080C01FE094
-:1002A00000C01FE0003A004030550100000000404F
-:1002B0004408004044080040181F00403055010029
-:1002C00030550100186F00009002000094020000F9
-:1002D000050000EF1EFF2FE1060000EF1EFF2FE1DB
-:1002E000040000EF1EFF2FE1010000EF1EFF2FE1D1
-:1002F000000000EF1EFF2FE1030000EF1EFF2FE1C3
-:10030000020000EF1EFF2FE170402DE90C519FE528
-:10031000B030D5E1080013E3036003E200319F151C
-:100320000020A01300208315B610D5E1F230D5E1EE
-:10033000F420D5E1EC409FE5FCE0D5E1033183E01A
-:10034000022182E0011181E0F800D5E1FAC0D5E197
-:100350008330A0E18220A0E18110A0E1000056E3FB
-:1003600014E084E5003084E5042084E5081084E589
-:100370000C0084E510C084E504E0A0E11700001A39
-:10038000A4109FE50520A0E1080085E205C0A0E1DA
-:100390000E30D2E5012082E20332A0E1000052E1FA
-:1003A000B230C1E0F9FFFF1AF432DCE1F022DCE107
-:1003B000F212DCE1022182E0011181E0033183E0ED
-:1003C0008220A0E18110A0E18330A0E1BC31CEE128
-:1003D000B821CEE1BA11CEE17040BDE81EFF2FE199
-:1003E000010056E30800000A020056E3F9FFFF1A75
-:1003F000F634D5E1F224D5E1F414D5E1383084E5C2
-:10040000302084E5341084E5F2FFFFEAF034D5E1D2
-:100410003C2095E5503084E54C2084E5EDFFFFEA73
-:10042000340B0040540800400C130040981000406A
-:10043000FF0010E330402DE9F8C09FE5F8509FE53C
-:10044000553CE0E3F4009F152A10A0E3553043E249
-:100450003E20A0E30110C5E50020C5E5B030CCE1A9
-:100460000510A01114E080121900001ACC009FE5BD
-:100470000510A0E126E080E20120D0E4B030DCE10C
-:10048000023083E00338A0E12338A0E100005EE100
-:100490000220C1E5B030CCE1011081E2F5FFFF1A86
-:1004A000B000DCE1B030DCE12334A0E12930C5E567
-:1004B0008C309FE52A20A0E3002083E584309FE56F
-:1004C0000010A0E30010C3E52800C5E53040BDE8FA
-:1004D0001EFF2FE10120D0E4B030DCE1023083E0E8
-:1004E0000338A0E12338A0E10E0050E10220C1E56D
-:1004F000B030CCE1011081E2F5FFFF1A38E09FE552
-:10050000254080E2131080E2012051E5B030DCE1AB
-:10051000023083E00338A0E1011081E22338A0E13A
-:10052000040051E11620CEE5B030CCE101E08EE2CE
-:10053000F4FFFF1AD9FFFFEA4E080040181E0040E2
-:10054000B80C0040101E00401B000040F0402DE998
-:10055000A8319FE50000D3E5000050E33700000A12
-:100560009C319FE59C719FE5002093E50060D7E5F5
-:1005700094519FE5000052E390219FE508308613D7
-:10058000B060C5E1B030C5110130D2E5000053E3E1
-:10059000B030D511B030D501103083131030C30303
-:1005A000B030C511B030C5010030D2E5010053E3D1
-:1005B0003A00000AB030D5E154219FE52030C3E372
-:1005C000B030C5E1B630D2E1B8E0D2E1B010D2E14E
-:1005D000BA30C5E1B230D2E1B420D2E1B2E0C5E137
-:1005E000B410C5E1B630C5E1B820C5E1000056E35E
-:1005F0001400001A1C319FE5002093E5021093E9D6
-:10060000B8E2D3E1142085E5181085E5B021D3E1E7
-:10061000BC10D3E1B431D3E10600A0E1BE32C5E1A4
-:10062000B4E2C5E11CC085E5B012C5E1B222C5E166
-:100630007EFFFFEB0130A0E30030C7E50300A0E13F
-:10064000F040BDE81EFF2FE1C8309FE5C8209FE5C0
-:10065000B4E2D3E1B210D2E1BCE2C5E1B213C5E12C
-:10066000B8E1D3E1BC11D3E1B020D2E1B032D3E1A3
-:100670000040A0E30600A0E1B643C5E1B6E2C5E153
-:10068000B812C5E1BA32C5E1B023C5E1B443C5E152
-:1006900066FFFFEB0100A0E30040C7E5E7FFFFEACC
-:1006A000B020D5E174309FE564109FE5202082E3FF
-:1006B00002E0D3E5B020C5E1B620D1E10340D3E5A7
-:1006C0000000D3E501C0D3E5BA20C5E1B830D1E1DF
-:1006D000B220D1E10EE0C5E5B0E0D1E1B410D1E146
-:1006E0000C00C5E50DC0C5E50F40C5E5B230C5E15C
-:1006F000B4E0C5E1B620C5E1B810C5E1BAFFFFEA34
-:100700001B0000405408004050080040B80C004056
-:1007100034100040F00E0040940E0040A013004042
-:10072000B80F0040F0402DE964229FE50030D2E58B
-:10073000FF3003E2000053E3FF0000E20240A0E1CB
-:100740000400001A3E0050E31100000A0030C2E528
-:10075000F040BDE81EFF2FE10030D2E5010053E379
-:100760001000000A0030D2E5020053E31C00000A2A
-:100770000030D2E5030053E30030A013F2FFFF1A6C
-:100780003C0050E33900000A0030A0E30030C4E52B
-:10079000EEFFFFEA0030D2E5013083E2FF3003E2F2
-:1007A0000030C2E5E9FFFFEA2A0050E30030A01361
-:1007B0000030C215E5FFFF1A0030D2E5013083E2B8
-:1007C000FF3003E20030C2E5C8319FE5C8219FE554
-:1007D000002083E5C4319FE52810A0E30010C3E5A5
-:1007E000DAFFFFEAB4C19FE50030DCE51A0053E30D
-:1007F0000E00000A9C119FE50030DCE5002091E529
-:10080000013043E2FF3003E20030CCE50100C2E4F6
-:100810000030DCE5000053E3002081E50030D40522
-:1008200001308302FF3003020030C405C7FFFFEA36
-:1008300064319FE5B020D3E164119FE5032002E21B
-:100840000020C1E50030D1E5010053E34600000A75
-:100850000030D1E5020053E3E5FFFF1A34119FE5B4
-:10086000003091E5343083E2003081E5E1FFFFEABA
-:1008700024619FE5B030D6E1080013E3037003E282
-:1008800020319F150020A01300208315B610D6E15B
-:10089000F230D6E1F420D6E10C519FE5FCE0D6E140
-:1008A000033183E0022182E0011181E0F800D6E10A
-:1008B000FAC0D6E18330A0E18220A0E18110A0E15E
-:1008C000000057E314E085E5003085E5042085E568
-:1008D000081085E50C0085E510C085E505E0A0E180
-:1008E0001600001AC4109FE50620A0E1080086E269
-:1008F00006C0A0E10E30D2E5012082E20332A0E181
-:10090000000052E1B230C1E0F9FFFF1AF432DCE13D
-:10091000F022DCE1F212DCE1022182E0011181E04F
-:10092000033183E08220A0E18110A0E18330A0E1C7
-:10093000BC31CEE1B821CEE1BA11CEE191FFFFEAA0
-:10094000010057E30D00000A020057E38DFFFF1A74
-:10095000F634D6E1F224D6E1F414D6E1383085E558
-:10096000302085E5341085E586FFFFEA24109FE5F9
-:10097000003091E51A3083E2003081E59DFFFFEA07
-:10098000F034D6E13C2096E5503085E54C2085E5F5
-:100990007CFFFFEA4D08004048080040340B00404F
-:1009A0004C08004046080040540800400C1300402A
-:1009B0009810004010402DE928C09FE5B8E0DDE127
-:1009C0000C409DE5B8E0CCE11CE09FE5B000CCE137
-:1009D0000140CEE5B210CCE1B630CCE1B420CCE1A0
-:1009E0001040BDE81EFF2FE1F00E00403410004023
-:1009F00004309FE5B800D3E11EFF2FE198100040BE
-:100A00000008A0E10138A0E12008B0E110402DE984
-:100A10000010A0E12348A0E10500000A18309FE57E
-:100A2000000093E5705000EB040050E10000A013BB
-:100A30000100A0031040BDE81EFF2FE16C10004034
-:100A400004E02DE564309FE564E09FE5BA25D3E13D
-:100A5000F030DEE1000053E30010A01301100202A9
-:100A6000000051E3010002E248309F15012002E23C
-:100A7000012022E20320A0130020C3150800001A61
-:100A8000000053E30030A00301300212000053E3E2
-:100A900020C09FE50200000A0030DCE5FF0053E3C0
-:100AA0000010CC15B000CEE104E09DE41EFF2FE164
-:100AB000340B0040BC0F00403810004060C09FE580
-:100AC0000030DCE5013043E2010053E304402DE552
-:100AD0000100009A1000BDE81EFF2FE144309FE5A1
-:100AE00044209FE5030093E8180092E8030050E0DB
-:100AF0000410C1E0000051E3020000DA0030E0E33E
-:100B00000030CCE5F2FFFFEA7A39A0E3473E83E20A
-:100B10000F3083E2EEFFFF1A030050E1ECFFFF9A73
-:100B2000F5FFFFEA3810004058080040641000400C
-:100B300070402DE974509FE50030D5E5040053E383
-:100B40006C609FE50010A0E30100000A7040BDE862
-:100B50001EFF2FE10C4096E50400A0E1AE4E00EB35
-:100B6000000050E30330A0D30400A0E10030C5D55D
-:100B7000F5FFFFDA594B00EB28208FE20C0092E8DA
-:100B80007C4A00EB134D00EB0010A0E30030A0E125
-:100B90000C3086E5A24E00EB000050E30030A0B31D
-:100BA0000C3086B5E8FFFFEAE17A843F7B14AE475C
-:100BB0003810004070110040F04F2DE94C329FE595
-:100BC0000020D3E5FF0052E318D04DE26600000A92
-:100BD000013042E2010053E36D00009A000052E34D
-:100BE000030052130040A0130140A0035100000A6B
-:100BF000040052E37700000A050052E35700001A90
-:100C00000C429FE5000094E5041094E508C094E5CB
-:100C100020ECA0E114E08DE521ECA0E10C5094E57E
-:100C200010E08DE52CECA0E10CE08DE520E4A0E1E6
-:100C3000E0319FE500E08DE525E4A0E108E08DE5E9
-:100C4000257CA0E125E8A0E104E08DE51770C3E56F
-:100C500000E09DE52068A0E109E0C3E50A60C3E586
-:100C600014E09DE52184A0E121A8A0E10BE0C3E50B
-:100C70000D80C3E50EA0C3E510E09DE52C94A0E136
-:100C80002CB8A0E10FE0C3E51190C3E512B0C3E5B5
-:100C90000CE09DE513E0C3E508E09DE515E0C3E544
-:100CA00004E09DE50C10C3E516E0C3E510C0C3E504
-:100CB0001450C3E50800C3E58F0A00EB58519FE5C7
-:100CC000B200C5E1040094E5980A00EBB000C5E16C
-:100CD000080094E5A10A00EBB400C5E10C0094E51E
-:100CE000AA0A00EB34C19FE50030DCE50120DCE519
-:100CF000000053E30210A0130010A003000052E311
-:100D00000CE0A0E1B600C5E12E00001A0230DEE5DD
-:100D1000000053E30330DCE504108113000053E3CB
-:100D2000FC309FE5081081130120A0E3B810C5E155
-:100D30000120C3E5090000EADC309FE5E0209FE5E3
-:100D400000E0A0E30110A0E30110C2E5B810C3E188
-:100D5000B0E0C3E1B2E0C3E1B6E0C3E1B4E0C3E1B7
-:100D600018D08DE2F04FBDE81EFF2FE1A8309FE5BF
-:100D7000AC109FE50020A0E30120C1E5B820C3E14D
-:100D8000B020C3E1B220C3E1B620C3E1B420C3E187
-:100D9000F2FFFFEA80109FE584309FE53E2BE0E301
-:100DA0000100A0E30100C3E5B420C1E10030A0E3ED
-:100DB0000C20A0E3B820C1E1B030C1E1B230C1E104
-:100DC000B630C1E1E5FFFFEA000051E30310A013D4
-:100DD0000110A003CCFFFFEA34309FE50C0093E53F
-:100DE0006A0A00EB38309FE52C209FE50110A0E354
-:100DF0000110C3E50830A0E3B600C2E1B440C2E18F
-:100E0000B830C2E1B040C2E1B240C2E1D3FFFFEA74
-:100E10003810004070110040FC0E0040F00E004001
-:100E20003A1000403410004010402DE9D4409FE5B6
-:100E3000003094E50820D3E5000052E30600000AE4
-:100E4000C4309FE5B820D3E1000052E30400001A4B
-:100E5000002094E50030A0E30830C2E51040BDE872
-:100E60001EFF2FE1A4309FE50030D3E5030053E3DC
-:100E70000E00000A000053E394309F050020E003B9
-:100E80000020C305F1FFFF0A040053E31500000A28
-:100E9000050053E3EDFFFF1A74209FE50030D2E513
-:100EA000050053E3013043020030C205E7FFFFEACB
-:100EB0005C209FE50030D2E5000053E3013083025F
-:100EC0000200000A030053E3E0FFFF1A013043E28F
-:100ED0000030C2E53C209FE53C309FE5030092E8EE
-:100EE000030083E8D9FFFFEA24209FE50030D2E524
-:100EF000030053E3D5FFFF1A023083E20030C2E55E
-:100F0000D20A00EBD1FFFFEAAC100040981000407D
-:100F1000B8110040381000405808004064100040EC
-:100F200070402DE938319FE50020D3E5FF0052E302
-:100F30002B00000A2C319FE5B840D3E1000054E3B8
-:100F40001100001A20619FE520519FE5001096E5F1
-:100F5000952183E02333A0E1832263E0023183E023
-:100F6000830151E13300000A952183E02333A0E19E
-:100F7000832263E0023183E0833141E0320053E3B6
-:100F80003000000A7040BDE81EFF2FE1D8509FE5F9
-:100F9000D8409FE5001095E5943182E02223A0E13E
-:100FA000823262E0033182E0832141E0640052E357
-:100FB000000052131B00000A943182E02223A0E1BA
-:100FC000823262E0033182E0832141E0960052E305
-:100FD00032005213EAFFFF1A0000A0E3391900EBB8
-:100FE000E7FFFFEA80509FE584409FE5002095E5FC
-:100FF000941283E0A332A0E1033183E0033183E064
-:10100000030152E11200000A941283E0A332A0E12E
-:10101000033183E0033183E0033142E0320053E3E4
-:10102000D7FFFF1AEBFFFFEA0100A0E3251900EB51
-:10103000001095E5DFFFFFEA0100A0E3211900EBB6
-:10104000001096E5C7FFFFEA0400A0E11D1900EBC0
-:10105000CBFFFFEA0100A0E31A1900EB002095E5A1
-:10106000E8FFFFEA38100040981000406C10004084
-:10107000D34D62101F85EB51F04F2DE9C4359FE52C
-:10108000003093E50820D3E5000052E340D04DE264
-:101090009000000A0020A0E30820C3E5A8359FE5E2
-:1010A00003B0D3E50290D3E51AA0D3E51E80D3E5C3
-:1010B0000670D3E52240D3E52620D3E50150D3E5E1
-:1010C0001960D3E51DE0D3E50510D3E521C0D3E5D4
-:1010D0002500D3E53CB08DE51BB0D3E538B08DE5F8
-:1010E0001FB0D3E530B08DE507B0D3E528B08DE56E
-:1010F00023B0D3E524B08DE527B0D3E51CB08DE552
-:10110000020480E11C20D3E500B0D3E50A6486E147
-:1011100004A0D3E534208DE504C48CE12040D3E560
-:101120002C408DE52420D3E5095485E10890D3E5D2
-:1011300020208DE52840D3E53C209DE518408DE535
-:1011400038409DE5025885E1046886E130209DE540
-:1011500028409DE508E48EE1071481E102E88EE174
-:10116000041881E124209DE50A7C85E1098C81E158
-:1011700034509DE52C109DE502C88CE1CC249FE500
-:1011800005AC86E1015C8EE120109DE59C5082E576
-:101190001C409DE5B8549FE5016C8CE118C09DE5AD
-:1011A00001100BE20010C5E5040880E1A4549FE59E
-:1011B0000C9C80E104C00BE200C0C5E598449FE5AB
-:1011C00098149FE598C49FE502000BE220E00BE233
-:1011D0009C9084E50000C1E500E0CCE5947082E5D8
-:1011E00098A082E5948084E5986084E5907082E51B
-:1011F000908084E50BA0D3E50A80D3E52A70D3E57F
-:101200003260D3E51650D3E53E40D3E50910D3E56F
-:1012100029E0D3E53120D3E515C0D3E53D00D3E582
-:1012200014A08DE52BA0D3E510A08DE533A0D3E568
-:101230000CA08DE517A0D3E508A08DE53FA0D3E570
-:1012400004A08DE5040480E14040D3E500408DE535
-:1012500005C48CE114509DE534A0D3E51890D3E586
-:10126000081481E107E48EE12C80D3E50C70D3E50E
-:101270000C409DE510309DE5051881E1062482E1D2
-:1012800008509DE503E88EE1042882E104309DE5E5
-:1012900005C88CE1075C81E10A1C82E100A09DE5A4
-:1012A000030880E1BC439FE5BC339FE5086C8EE1F9
-:1012B0000A2C80E109EC8CE180001BE39C1083E5A3
-:1012C000182084E5945083E5986083E514E084E574
-:1012D000905083E5D900001A84B39FE5E21000EB3B
-:1012E0000030DBE5000053E36000000A7C339FE53B
-:1012F000182093E578639FE52234A0E1220CA0E159
-:101300002218A0E12130C6E52210C6E52300C6E57B
-:101310002020C6E538C39FE50030DCE5000053E33C
-:101320006600000A44339FE50C1093E5002093E526
-:10133000215CA0E12234A0E121C4A0E121E8A0E1E8
-:10134000224CA0E12208A0E10C10C6E50130C6E560
-:101350000200C6E50340C6E50DC0C6E50EE0C6E5E1
-:101360000F50C6E50020C6E5F0129FE50030D1E53C
-:10137000000053E37200000AF0329FE5101093E57D
-:10138000042093E5215CA0E12234A0E1224CA0E1FD
-:101390002208A0E121C4A0E121E8A0E10420C6E5E3
-:1013A0000530C6E50600C6E50740C6E511C0C6E53E
-:1013B00012E0C6E51350C6E51010C6E594229FE57D
-:1013C0000030D2E5000053E37E00000A9C329FE526
-:1013D000141093E5082093E5215CA0E1224CA0E1E4
-:1013E0002234A0E12208A0E121C4A0E121E8A0E18B
-:1013F0000930C6E50A00C6E50B40C6E515C0C6E5DE
-:1014000016E0C6E51750C6E50820C6E51410C6E587
-:1014100060429FE5F400D4E1E80800EB0030A0E171
-:101420002324A0E12318A0E120CCA0E1F200D4E124
-:101430001920C6E51A10C6E51830C6E51BC0C6E57A
-:10144000580900EB0030A0E1202CA0E12014A0E11D
-:101450002008A0E11F20C6E51D10C6E51E00C6E558
-:101460001C30C6E540D08DE2F04FBDE81EFF2FE1F5
-:1014700004229FE51110D2E51030D2E512C0D2E56A
-:101480001300D2E5013483E10C3883E1003C83E1B1
-:10149000DC619FE5230CA0E12324A0E12318A0E157
-:1014A0002120C6E52210C6E52300C6E52030C6E5AA
-:1014B0009CC19FE50030DCE5000053E398FFFF1A74
-:1014C000B4319FE501C0D3E50900D3E50010D3E5B1
-:1014D0000820D3E502E0D3E50A40D3E50C1481E10E
-:1014E000002482E10BC0D3E50300D3E50E1881E1AF
-:1014F000042882E1001C81E10C2C82E12134A0E16E
-:10150000214CA0E12108A0E1225CA0E122C4A0E1DD
-:1015100022E8A0E10010C6E50130C6E50200C6E5FC
-:101520000340C6E50DC0C6E50EE0C6E50F50C6E5B2
-:101530000C20C6E524119FE50030D1E5000053E3FF
-:101540008CFFFF1A30319FE505C0D3E50D00D3E5D0
-:101550000410D3E50C20D3E506E0D3E50E40D3E537
-:101560000C1481E1002482E10FC0D3E50700D3E52C
-:101570000E1881E1042882E10C2C82E1001C81E13B
-:10158000225CA0E12134A0E122C4A0E122E8A0E194
-:10159000214CA0E12108A0E11020C6E50530C6E5F8
-:1015A0000600C6E50740C6E511C0C6E512E0C6E57F
-:1015B0001350C6E50410C6E598209FE50030D2E53B
-:1015C000000053E380FFFF1AB0309FE501C0D3E570
-:1015D0000500D3E50010D3E50420D3E502E0D3E510
-:1015E0000640D3E50C1481E1002482E107C0D3E575
-:1015F0000300D3E50E1881E1042882E1001C81E19B
-:101600000C2C82E1214CA0E1225CA0E12134A0E17C
-:101610002108A0E122C4A0E122E8A0E10930C6E54A
-:101620000A00C6E50B40C6E515C0C6E516E0C6E5EE
-:101630001750C6E50810C6E51420C6E573FFFFEA9B
-:101640006C0F00EB23FFFFEAB0100040E10F0040F9
-:101650000C0D004039100040EC0E0040F40B00402F
-:10166000F0110040F1110040C80B0040D00D0040C7
-:10167000F00C004094110040340B0040B9110040C0
-:10168000E8110040F0472DE938519FE50520D5E5E8
-:101690000400D5E530319FE50610D5E507A0D5E576
-:1016A000020480E124419FE501E0D3E50790D3E502
-:1016B0000220D3E500C0D3E50460D3E50570D3E58F
-:1016C0000680D3E5010880E10310D3E50A0C80E130
-:1016D00003E0C4E50020C4E50110C4E502C0C4E590
-:1016E0000460C4E50570C4E50680C4E50790C4E560
-:1016F000010800EB0910D5E50820D5E50AC0D5E5BD
-:10170000012482E10038A0E10B00D5E50C2882E13C
-:10171000003063E2231CA0E1000C82E12338A0E149
-:101720001830C4E51910C4E5000800EB0D20D5E51C
-:101730000C30D5E50E10D5E50FC0D5E5023483E1B8
-:10174000013883E12024A0E11A00C4E50C0C83E1F8
-:101750001B20C4E5010800EB1120D5E51030D5E5CC
-:101760001210D5E513C0D5E5023483E1013883E1D9
-:101770002024A0E11C00C4E50C0C83E11D20C4E57D
-:10178000020800EB0370D5E500C0D5E501E0D5E522
-:101790000260D5E52034A0E11E00C4E50410A0E1FC
-:1017A0007220A0E31200A0E31F30C4E54AC0C4E5E4
-:1017B0004BE0C4E54C60C4E54D70C4E58C1D00EB06
-:1017C000F047BDE81EFF2FE13A100040F00E004048
-:1017D000FC0E004004E02DE510109FE51820A0E36A
-:1017E0000D00A0E3821D00EB04E09DE41EFF2FE14D
-:1017F0008010004004E02DE540009FE540109FE58B
-:1018000000C0A0E30030D0E50120D0E501C08CE2AB
-:1018100008005CE30830C1E50920C1E5020080E270
-:10182000021081E2F6FFFF1A14109FE51820A0E3D2
-:101830000B00A0E36E1D00EB04E09DE41EFF2FE112
-:1018400098100040C80F004004E02DE510109FE5FF
-:101850000120A0E30900A0E3651D00EB04E09DE486
-:101860001EFF2FE13810004004E02DE510109FE529
-:101870002420A0E30700A0E35D1D00EB04E09DE44D
-:101880001EFF2FE194110040F04F2DE9BC339FE57E
-:10189000003093E518D04DE20C308DE50820D3E5FB
-:1018A000000052E3A8239F057800000AA4039FE5E7
-:1018B000003090E5E11FA0E3934185E0042090E52E
-:1018C00030008DE9925125E08C339FE508508DE57D
-:1018D0000920D3E50810D3E5021481E10220D3E505
-:1018E0000A50D3E50D40D3E50CC0D3E501E0D3E5C4
-:1018F0000BB0D3E50EA0D3E50000D3E500208DE5C5
-:10190000051881E10BBC81E104C48CE10F40D3E5F3
-:1019100000109DE50560D3E50650D3E50420D3E52E
-:101920000AC88CE10E0480E103E0D3E510B08DE538
-:10193000044C8CE1010880E1062482E10710D3E524
-:1019400014408DE5052882E110508DE2600095E895
-:1019500008B39FE5055095E018009BE80E7C80E1F8
-:10196000018C82E10660A6E0075055E00860C6E001
-:10197000035055E00460C6E0051095E00620A6E09F
-:10198000051091E00620A2E08241A0E18131A0E1B2
-:10199000053093E0A14E84E103009DE90640A4E0F8
-:1019A000037093E00480A4E0070090E00810A1E039
-:1019B000FA2FA0E30030A0E38E4C00EBA0329FE5AD
-:1019C000204CA0E10B40C3E588429FE50070A0E1F8
-:1019D0000180A0E120C4A0E120E8A0E12154A0E121
-:1019E000212CA0E12168A0E10F20C3E509C0C3E5D7
-:1019F0000AE0C3E50D50C3E50E60C3E5800184E84D
-:101A00000870C3E50C80C3E5C94700EB54229FE58D
-:101A10000030A0E30040A0E10150A0E1064900EB46
-:101A2000000050E3500000DA10008DE2030090E85F
-:101A300020329FE503008BE80020A0E30010A0E324
-:101A4000060083E80C129FE5800191E8081097E1F9
-:101A50005A00000A8304A0E30720A0E10830A0E1B7
-:101A6000C009A0E10010E0E3624C00EBF8319FE513
-:101A7000DC219FE50040E0E30050E0E3300083E834
-:101A8000B000C2E10C409DE50030A0E30830C4E5A1
-:101A9000D8319FE5005093E5B010D2E10500A0E1F8
-:101AA000514C00EB000050E30600001AACC19FE56A
-:101AB000B4219FE518009CE8030092E8003093E011
-:101AC0000140A4E018008CE8A4319FE5930582E072
-:101AD000A223A0E1823262E0032182E0029245E08B
-:101AE000000059E31D00001A70219FE5300092E8C4
-:101AF00064319FE524C4A0E124E8A0E125BCA0E175
-:101B0000246CA0E12574A0E12588A0E10310A0E1E8
-:101B10001020A0E301C0C3E502E0C3E50360C3E514
-:101B20000570C3E50680C3E507B0C3E50F90C3E5C4
-:101B30000040C3E50450C3E50890C3E50990C3E540
-:101B40000A90C3E50B90C3E50C90C3E50D90C3E587
-:101B50000E90C3E50C00A0E3A51C00EB2C1E00EBCF
-:101B600018D08DE2F04FBDE81EFF2FE10400A0E188
-:101B70000510A0E1FC209FE50030A0E3B04800EB99
-:101B8000000050E3A7FFFFBA000058E3130000DA9B
-:101B9000C0109FE57D4EA0E30050A0E3300081E837
-:101BA0000200A0E3A8209FE5BC309FE5B000C2E1A1
-:101BB0000010A0E30100A0E3030083E8B0FFFFEA08
-:101BC000A4309FE50010A0E384209FE50000A0E37F
-:101BD000030083E8FA1EA0E3B010C2E1A8FFFFEA09
-:101BE0000100001A7D0E57E3E8FFFF8A010078E349
-:101BF0000C0000BA0900000A000058E30F0000DAE8
-:101C00000720A0E10830A0E1FA0EA0E30010A0E355
-:101C1000F84B00EB0008A0E12008A0E1E0FFFFEA9C
-:101C20007D0E77E3F3FFFF2A8324A0E324409FE5A2
-:101C3000422AA0E10030E0E30C0084E880FFFFEAE4
-:101C400081FFFF1A000057E37FFFFF9AEBFFFFEAD7
-:101C5000C00F0040000000406008004080110040BC
-:101C60005808004080100040D012634168080040CE
-:101C70006C100040D34D6210D01263C130402DE98A
-:101C800008519FE5F400D5E1CC0600EB00419FE54B
-:101C90000030A0E120CCA0E12024A0E12018A0E1A8
-:101CA000F200D5E10120C4E50210C4E503C0C4E59B
-:101CB0000030C4E53B0700EB0030A0E120CCA0E100
-:101CC0002024A0E12018A0E1B600D5E10520C4E55C
-:101CD0000610C4E507C0C4E50430C4E51A0700EBEC
-:101CE0000030A0E120CCA0E12024A0E12018A0E158
-:101CF000FA00D5E10920C4E50A10C4E50BC0C4E52B
-:101D00000830C4E5DC0600EB0030A0E120CCA0E107
-:101D10002024A0E12018A0E1F800D5E10D20C4E5C1
-:101D20000E10C4E50FC0C4E50C30C4E5B90600EBE5
-:101D30000030A0E120CCA0E12324A0E1FC00D5E10B
-:101D40002318A0E11120C4E51210C4E513C0C4E5B6
-:101D50001030C4E5E20600EB0410A0E10030A0E181
-:101D6000205CA0E120C4A0E120E8A0E12420A0E3C1
-:101D70000A00A0E315C0C4E516E0C4E51750C4E5A9
-:101D80001430C4E51A1C00EB3040BDE81EFF2FE103
-:101D9000340B0040740F004078219FE510402DE97E
-:101DA00074C19FE500E0A0E370419FE500E082E59B
-:101DB0006C119FE50400A0E3B0E0CCE101E0C4E5D4
-:101DC00017E0C4E500E0C4E502E0C4E503E0C4E5D3
-:101DD00004E0C4E505E0C4E506E0C4E507E0C4E5C9
-:101DE00008E0C4E509E0C4E50AE0C4E50BE0C4E5A9
-:101DF0000CE0C4E50DE0C4E50EE0C4E50FE0C4E589
-:101E000010E0C4E511E0C4E512E0C4E513E0C4E568
-:101E100014E0C4E515E0C4E516E0C4E5631A00EB80
-:101E200000319FE500119FE5000083E50500A0E378
-:101E30005E1A00EBF4309FE5F4109FE5000083E5A7
-:101E40000600A0E3591A00EBE8309FE5E8109FE593
-:101E5000000083E50300A0E3541A00EBDC309FE5AB
-:101E6000DC109FE5000083E50C00A0E34F1A00EBB7
-:101E7000D0309FE5D0109FE5000083E50100A0E38E
-:101E80004A1A00EBC4309FE5C4109FE5000083E5CB
-:101E90000200A0E3451A00EBB8309FE5B8109FE5BB
-:101EA000000083E50800A0E3401A00EBAC309FE59A
-:101EB000AC109FE5000083E51000A0E33B1A00EBA7
-:101EC000A0309FE5A0109FE5000083E50F00A0E390
-:101ED000361A00EB94309FE50410A0E1000083E582
-:101EE0000E00A0E3311A00EB84309FE584109FE5DB
-:101EF000000083E51100A0E32C1A00EB78309FE589
-:101F0000000083E5B01C00EBBF1C00EB941C00EB51
-:101F10001040BDE81EFF2FE16C100040BC0F0040D8
-:101F2000A00F0040E00F0040700F0040B9110040CA
-:101F300090110040E8110040A8100040E10F00405F
-:101F4000B010004080110040C00F00403A10004027
-:101F50009C0F0040B4100040D0110040B811004068
-:101F6000AC10004070100040C40F0040D811004079
-:101F700060100040980F004022100040D411004033
-:101F8000F0472DE9EC639FE50210D6E50330D6E576
-:101F90000E00D6E50F20D6E5031491E1024480E15E
-:101FA0000400000AD0339FE5000093E50E4B00EBE0
-:101FB000000054E13D00000A0010D6E50130D6E5EE
-:101FC0000C00D6E50D20D6E5031491E1024480E132
-:101FD0000400000AA0339FE5000093E5024B00EBEC
-:101FE000000054E19600000A0410D6E50530D6E55D
-:101FF0001000D6E51120D6E5031491E1024480E1FA
-:102000000400000A70339FE5000093E5F64A00EBF8
-:10201000000054E1CD00000A0610D6E50730D6E5F1
-:102020001200D6E51320D6E5031491E1024480E1C5
-:102030000400000A40339FE5000093E5EA4A00EB04
-:10204000000054E1C600000A0810D6E50930D6E5C4
-:102050001400D6E51520D6E5031491E1024480E191
-:102060000400000A10339FE5000093E5DE4A00EB10
-:10207000000054E16D00000A0B10D6E50A30D6E5E9
-:102080001600D6E51720D6E5011493E1024480E15D
-:102090000400000AE0329FE5000093E5D24A00EB1D
-:1020A000000054E11200000AF047BDE81EFF2FE1D6
-:1020B000C8029FE5C8129FE500C0A0E30030D0E54C
-:1020C0000120D0E501C08CE208005CE30830C1E5E6
-:1020D0000920C1E5020080E2021081E2F6FFFF1A4A
-:1020E0009C129FE51820A0E30B00A0E3401B00EB2F
-:1020F000B0FFFFEA8C529FE50520D5E50400D5E549
-:102100000610D5E580329FE5020480E17C429FE520
-:1021100001E0D3E507A0D5E50790D3E50220D3E59C
-:1021200000C0D3E50460D3E50570D3E50680D3E5B0
-:10213000010880E10310D3E50A0C80E103E0C4E567
-:102140000020C4E50110C4E502C0C4E50460C4E594
-:102150000570C4E50680C4E50790C4E5660500EB9C
-:102160000910D5E50820D5E50AC0D5E50038A0E17D
-:10217000012482E10B00D5E5003063E20C2882E106
-:10218000231CA0E12338A0E11830C4E51910C4E5F0
-:10219000000C82E1650500EB0D20D5E50C30D5E59E
-:1021A0000E10D5E50FC0D5E5023483E1013883E197
-:1021B0002024A0E11A00C4E51B20C4E50C0C83E137
-:1021C000660500EB1120D5E51030D5E51210D5E5F8
-:1021D00013C0D5E5023483E1013883E12024A0E176
-:1021E0001C00C4E51D20C4E50C0C83E1670500EB71
-:1021F0000370D5E500C0D5E501E0D5E50260D5E581
-:102200002034A0E11E00C4E50410A0E17220A0E388
-:102210001F30C4E54AC0C4E54BE0C4E54C60C4E5EA
-:102220004D70C4E51200A0E3F11A00EB9DFFFFEA38
-:102230005C119FE51820A0E30D00A0E3EC1A00EB71
-:102240008CFFFFEA4C519FE5F400D5E15B0500EB04
-:1022500044419FE50030A0E120CCA0E12024A0E192
-:102260002018A0E1F200D5E10120C4E50210C4E588
-:1022700003C0C4E50030C4E5CA0500EB0030A0E1AE
-:1022800020CCA0E12024A0E12018A0E1B600D5E1F7
-:102290000520C4E50610C4E507C0C4E50430C4E564
-:1022A000A90500EB0030A0E120CCA0E12024A0E1B2
-:1022B0002018A0E1FA00D5E10920C4E50A10C4E520
-:1022C0000BC0C4E50830C4E56B0500EB0030A0E1AD
-:1022D00020CCA0E12024A0E12018A0E1F800D5E165
-:1022E0000D20C4E50E10C4E50FC0C4E50C30C4E5F4
-:1022F000480500EB0030A0E120CCA0E12324A0E1C0
-:102300002318A0E1FC00D5E11120C4E51210C4E5BA
-:1023100013C0C4E51030C4E5710500EB0030A0E146
-:10232000205CA0E120C4A0E120E8A0E10410A0E12D
-:102330002420A0E315C0C4E516E0C4E51750C4E5A9
-:102340001430C4E50A00A0E3A91A00EB25FFFFEA58
-:1023500048109FE50120A0E30900A0E3A41A00EBC8
-:102360002CFFFFEA38109FE52420A0E30700A0E33C
-:102370009F1A00EB33FFFFEAA00F00406C100040F3
-:1023800098100040C80F00403A100040F00E004086
-:10239000FC0E004080100040340B0040740F0040E1
-:1023A0003810004094110040F04F2DE97C3F9FE52C
-:1023B0007C0F9FE50020D3E50E32A0E3001090E5EE
-:1023C000023983E2083093E5704F9FE568D04DE213
-:1023D000011081E20050A0E3FF0052E364308DE57C
-:1023E000001080E50050C4E5BB02000A503F9FE5A5
-:1023F000B840D3E1000054E31402000A444F9FE5C3
-:1024000094E182E02223A0E1823262E0033182E0A3
-:10241000832141E0640052E300005213AB03000A41
-:10242000943182E02223A0E1823262E0033182E033
-:10243000832141E0960052E332005213B402000AB5
-:10244000181900EB003F9FE5003093E50820D3E525
-:10245000000052E39200000A0020A0E30820C3E538
-:10246000E83E9FE50390D3E502B0D3E51AA0D3E59B
-:102470001E80D3E50670D3E52240D3E52620D3E5C0
-:102480000150D3E51960D3E51DE0D3E50510D3E590
-:1024900021C0D3E52500D3E560908DE51B90D3E501
-:1024A0005C908DE51F90D3E554908DE50790D3E5C2
-:1024B0004C908DE52390D3E548908DE52790D3E5AA
-:1024C00040908DE5020480E11C20D3E50B5485E1AA
-:1024D0000A6486E100B0D3E504A0D3E558208DE579
-:1024E00004C48CE12040D3E550408DE52490D3E531
-:1024F00008E48EE10880D3E544908DE52820D3E5FB
-:1025000060409DE55C909DE53C208DE554209DE577
-:10251000045885E1096886E14C409DE548909DE5B9
-:1025200002E88EE1071481E140209DE50A7C85E107
-:10253000041881E158509DE509C88CE150909DE553
-:10254000088C81E1020880E13C109DE5002E9FE5AA
-:1025500005AC86E1095C8EE19C5082E5010C80E1CE
-:10256000F05D9FE5F09D9FE538008DE544E09DE539
-:1025700001100BE202000BE20010C5E50000C9E506
-:10258000D81D9FE5D80D9FE50E6C8CE104C00BE2D1
-:1025900020E00BE200C0C0E500E0C1E5947082E5F8
-:1025A00098A082E5907082E5B84D9FE538209DE5C2
-:1025B000948084E5986084E5908084E59C2084E59F
-:1025C0002BA0D3E50A80D3E52A70D3E53260D3E5AA
-:1025D0001650D3E53E40D3E50B90D3E50910D3E583
-:1025E00029E0D3E53120D3E515C0D3E53D00D3E59F
-:1025F00034A08DE533A0D3E530A08DE517A0D3E559
-:102600002CA08DE53FA0D3E524A08DE5040480E156
-:102610004040D3E520408DE5081481E134A0D3E5A6
-:102620002C80D3E5091881E107E48EE130909DE527
-:102630000C70D3E51830D3E5062482E105C48CE1A3
-:1026400034509DE5092882E128308DE524409DE540
-:102650002C309DE505E88EE128909DE5075C81E141
-:102660000A1C82E120A09DE503C88CE1040880E1FA
-:10267000F43C9FE5F44C9FE5086C8EE10A2C80E168
-:1026800009EC8CE180001BE39C1083E5182084E5B5
-:10269000945083E5986083E514E084E5905083E5E9
-:1026A000A502001AF00B00EBB0CC9FE50030DCE592
-:1026B000000053E3D001000AB43C9FE5182093E5E5
-:1026C000B06C9FE5220CA0E12234A0E12218A0E129
-:1026D0002130C6E52210C6E52300C6E52020C6E568
-:1026E00070EC9FE50030DEE5000053E3A401000A32
-:1026F0007C3C9FE50C1093E5002093E5215CA0E174
-:10270000224CA0E12234A0E12208A0E121C4A0E1F2
-:1027100021E8A0E10130C6E50200C6E50340C6E5B8
-:102720000DC0C6E50EE0C6E50F50C6E50020C6E5C3
-:102730000C10C6E5200C9FE50030D0E5000053E307
-:102740007101000A283C9FE5101093E5042093E5F1
-:10275000215CA0E1224CA0E12234A0E12208A0E10A
-:1027600021C4A0E121E8A0E10530C6E50600C6E5E8
-:102770000740C6E511C0C6E512E0C6E51350C6E540
-:102780000420C6E51010C6E5D41B9FE50030D1E556
-:10279000000053E33E01000AD43B9FE5141093E58B
-:1027A000082093E5215CA0E1224CA0E12234A0E1C5
-:1027B0002208A0E121C4A0E121E8A0E10930C6E59A
-:1027C0000A00C6E50B40C6E515C0C6E516E0C6E53D
-:1027D0001750C6E50820C6E51410C6E598BB9FE56E
-:1027E000F400DBE1F50300EB20CCA0E10030A0E138
-:1027F0002024A0E12018A0E1F200DBE11BC0C6E527
-:102800001920C6E51A10C6E51830C6E5650400EBC8
-:102810000030A0E1202CA0E12014A0E12008A0E1DC
-:102820001F20C6E51D10C6E51E00C6E51C30C6E526
-:10283000820700EB44CB9FE5BA35DBE1F020DCE119
-:10284000000052E30010A01301100302000051E346
-:10285000D82A9F15010003E2013003E20330A013E0
-:102860000030C2150A00001A013023E2000052E3D2
-:102870000030A00301300312000053E30400000AFB
-:10288000A84A9FE50030D4E5FF0053E30430A011CF
-:102890000010C315E84A9FE5003094E50820D3E511
-:1028A000000052E3B000CCE11300000A903A9FE52B
-:1028B000B820D3E1000052E30C00000AC43A9FE5BF
-:1028C0000030D3E5030053E3C201000A000053E3E4
-:1028D000582A9F05013043020030C2050300000A58
-:1028E000040053E32203000A050053E30B03000A2C
-:1028F000002094E50030A0E30830C2E52CAA9FE553
-:102900000000DAE5013040E2010053E34B01009A98
-:10291000040050E38101000A101A9FE50020D1E570
-:10292000FF0052E35001000A013042E2010053E38C
-:102930005402009A000052E3030052130040A01317
-:102940000140A0037F01000A040052E3FA02000ADA
-:10295000050052E39D02000A2C6A9FE50210D6E5AD
-:102960000330D6E50E00D6E50F20D6E5031491E13D
-:10297000024480E11400000AB4299FE5000092E5BA
-:10298000994800EB000054E10F00001AB0099FE5E0
-:10299000F8199FE500C0A0E30030D0E50120D0E5A4
-:1029A00001C08CE208005CE30830C1E50920C1E504
-:1029B000020080E2021081E2F6FFFF1A0B00A0E3A2
-:1029C000C8199FE51820A0E3091900EB0010D6E50F
-:1029D0000130D6E50C00D6E50D20D6E5031491E1D3
-:1029E000024480E10400000A44399FE5000093E5B9
-:1029F0007D4800EB000054E18801000A0410D6E590
-:102A00000530D6E51000D6E51120D6E5031491E196
-:102A1000024480E10400000A14599FE5000095E596
-:102A2000714800EB000054E17701000A0610D6E57A
-:102A30000730D6E51200D6E51320D6E5031491E160
-:102A4000024480E10400000AE4989FE5000099E553
-:102A5000654800EB000054E1B201000A0810D6E519
-:102A60000930D6E51400D6E51520D6E5031491E12A
-:102A7000024480E10400000AB4A89FE500009AE542
-:102A8000594800EB000054E14C01000A00B99FE5F1
-:102A90000B10D6E50A30D6E51600D6E51720D6E5A8
-:102AA000011493E1024480E10400000A80C89FE51C
-:102AB00000009CE54C4800EB000054E1A001000A36
-:102AC0000E42A0E3024984E2511A00EB083094E57B
-:102AD00064209DE5030052E1ED00008A083094E592
-:102AE00064509DE5034065E0641500EBA4889FE514
-:102AF0000060A0E10400A0E16D4300EB000054E39E
-:102B0000007098E5EF0000BA0121A0E3592882E2A5
-:102B10000030A0E3A14300EB0040A0E10600A0E1EB
-:102B20000150A0E1624300EB000056E3100100BA3F
-:102B30000020A0E10130A0E10400A0E10510A0E127
-:102B40003A4400EB0121A0E38F2882E2012982E2CE
-:102B50000030A0E3914300EB1E4500EB0710A0E11D
-:102B6000474500EBC8979FE52C289FE5001099E5A5
-:102B700092A183E0A332A0E1033183E0033183E03B
-:102B8000030151E1000088E50C00001A4214A0E3A3
-:102B9000321781E2484600EB0030A0E30020A0E1BC
-:102BA00020CCA0E12014A0E12008A0E1003088E5BD
-:102BB0001510CBE51600CBE517C0CBE51420CBE50F
-:102BC000D8379FE5F000D3E1394300EB0121A0E3C2
-:102BD0008F2882E2012982E20030A0E3134400EB57
-:102BE000FC4400EBB8C79FE518009CE80020A0E17A
-:102BF00020ACA0E1241CA0E12004A0E122C8A0E1B7
-:102C000023E4A0E12358A0E1236CA0E12474A0E117
-:102C10002488A0E10710CBE51100CBE512C0CBE57D
-:102C200013A0CBE501E0CBE50250CBE50360CBE59B
-:102C30000570CBE50680CBE51020CBE50030CBE579
-:102C40000440CBE568D08DE2F04FBDE81EFF2FE1D8
-:102C5000F0569FE5959183E02333A0E1832263E062
-:102C6000023183E0830151E19301000A95C183E0C1
-:102C70002333A0E1832263E0023183E0833141E02A
-:102C8000320053E3EDFDFF1A0400A0E10D1200EB4A
-:102C9000EAFDFFEA0C379FE501C0D3E50500D3E567
-:102CA0000010D3E50420D3E502E0D3E50640D3E5E8
-:102CB0000C1481E1002482E107C0D3E50300D3E5D1
-:102CC0000E1881E1042882E1001C81E10C2C82E1D4
-:102CD000214CA0E1225CA0E12134A0E12108A0E187
-:102CE00022C4A0E122E8A0E10930C6E50A00C6E559
-:102CF0000B40C6E515C0C6E516E0C6E51750C6E5AB
-:102D00000810C6E51420C6E5B3FEFFEA98369FE535
-:102D100005C0D3E50D00D3E50410D3E50C20D3E5C1
-:102D200006E0D3E50E40D3E50C1481E1002482E1F6
-:102D30000FC0D3E50700D3E50E1881E1042882E136
-:102D4000001C81E10C2C82E1214CA0E1225CA0E17D
-:102D50002134A0E12108A0E122C4A0E122E8A0E101
-:102D60000530C6E50600C6E50740C6E511C0C6E564
-:102D700012E0C6E51350C6E50410C6E51020C6E50E
-:102D800080FEFFEA20369FE501C0D3E50900D3E5C8
-:102D90000010D3E50820D3E502E0D3E50A40D3E5EF
-:102DA0000C1481E1002482E10BC0D3E50300D3E5DC
-:102DB0000E1881E1042882E1001C81E10C2C82E1E3
-:102DC000214CA0E1225CA0E12134A0E12108A0E196
-:102DD00022C4A0E122E8A0E10130C6E50200C6E578
-:102DE0000340C6E50DC0C6E50EE0C6E50F50C6E5DA
-:102DF0000010C6E50C20C6E54DFEFFEAA8259FE5BC
-:102E00001110D2E51030D2E512C0D2E51300D2E5A0
-:102E1000013483E10C3883E1003C83E154659FE594
-:102E2000230CA0E12324A0E12318A0E12120C6E582
-:102E30002210C6E52300C6E52030C6E527FEFFEADE
-:102E400068359FE558C59FE5060093E830009CE88B
-:102E5000014054E00250C5E0000055E3250100DACE
-:102E6000C8E49FE50030E0E30030CEE554259FE55F
-:102E7000C8449FE50030A0E30130C4E5B830C2E1AA
-:102E8000B030C2E1B230C2E1B630C2E1B430C2E12A
-:102E9000B0FEFFEA791400EB083094E564409DE54C
-:102EA000000064E0034080E0741400EBE4849FE5DC
-:102EB0000060A0E10400A0E17D4200EB000054E3CB
-:102EC000007098E50FFFFFAA4124A0E30F2682E2DD
-:102ED0000030A0E3A84100EB0AFFFFEAB8449FE5F9
-:102EE000949183E0A332A0E1033183E0033183E0D6
-:102EF000030151E1FA00000A94C183E0A332A0E18A
-:102F0000033183E0033183E0033141E0320053E3D6
-:102F10004AFDFF1A0500A0E16A1100EB47FDFFEA38
-:102F200098549FE50C4095E50010A0E30400A0E153
-:102F3000B94500EB000050E3120000CAEC039FE526
-:102F40000330A0E30030C0E578349FE5ECC39FE593
-:102F500000E0A0E30120A0E30120CCE5B820C3E11C
-:102F6000B0E0C3E1B2E0C3E1B6E0C3E1B4E0C3E185
-:102F700078FEFFEA4124A0E30F2682E20030A0E3BE
-:102F80007D4100EBE9FEFFEA0400A0E1534200EBC3
-:102F90003A2E8FE20C0092E8764100EB0D4400EBF4
-:102FA0000030A0E10C3085E50010A0E39C4500EB6B
-:102FB000000050E30030A0B30C3085B555FEFFEAA9
-:102FC000CCB39FE51820A0E30B10A0E10D00A0E317
-:102FD000871700EBADFEFFEA50539FE50030D5E5C3
-:102FE000000053E3CA00000A030053E33FFEFF1A48
-:102FF000AC139FE5B4239FE5030091E8013043E261
-:103000000030C5E5030082E838FEFFEA1C139FE5A7
-:103010000120A0E30900A0E3751700EB82FEFFEAA0
-:10302000F400DBE1E50100EB84439FE50030A0E123
-:1030300020CCA0E12024A0E12018A0E1F200DBE1F7
-:103040000120C4E50210C4E503C0C4E50030C4E5B6
-:10305000540200EB0030A0E120CCA0E12024A0E14C
-:103060002018A0E1B600DBE10520C4E50610C4E5A8
-:1030700007C0C4E50430C4E5330200EB0030A0E132
-:1030800020CCA0E12024A0E12018A0E1FA00DBE19F
-:103090000920C4E50A10C4E50BC0C4E50830C4E546
-:1030A000F50100EB0030A0E120CCA0E12024A0E15C
-:1030B0002018A0E1F800DBE10D20C4E50E10C4E506
-:1030C0000FC0C4E50C30C4E5D20100EB0030A0E134
-:1030D00020CCA0E12324A0E12318A0E1FC00DBE147
-:1030E0001120C4E51210C4E513C0C4E51030C4E5D6
-:1030F000FB0100EB0030A0E1205CA0E120C4A0E1D6
-:1031000020E8A0E10410A0E12420A0E315C0C4E55C
-:1031100016E0C4E51750C4E51430C4E50A00A0E386
-:10312000331700EB34FEFFEA48129FE52420A0E3AA
-:103130000700A0E32E1700EB47FEFFEAAD0800EB07
-:1031400057FDFFEA70529FE578329FE50520D5E5EF
-:103150000400D5E50610D5E507E0D3E5020480E1DB
-:1031600050429FE507A0D5E50220D3E500E08DE5BC
-:1031700000C0D3E501E0D3E50460D3E50570D3E5F5
-:103180000680D3E5010880E10310D3E503E0C4E540
-:103190000020C4E502C0C4E50460C4E50570C4E5D0
-:1031A0000110C4E50680C4E500109DE50A0C80E12D
-:1031B0000710C4E5500100EB0910D5E50820D5E55E
-:1031C0000AC0D5E50038A0E1012482E10B00D5E575
-:1031D000003063E20C2882E1231CA0E12338A0E147
-:1031E0001830C4E51910C4E5000C82E14F0100EB72
-:1031F0000D20D5E50C30D5E50E10D5E50FC0D5E591
-:10320000023483E1013883E12024A0E11A00C4E5FF
-:103210001B20C4E50C0C83E1500100EB1120D5E527
-:103220001030D5E51210D5E513C0D5E5023483E1A1
-:10323000013883E12024A0E11C00C4E51D20C4E581
-:103240000C0C83E1510100EB0370D5E500C0D5E51E
-:1032500001E0D5E50260D5E52034A0E11E00C4E51B
-:103260000410A0E17220A0E31F30C4E54AC0C4E509
-:103270004BE0C4E54C60C4E54D70C4E51200A0E32A
-:10328000DB1600EB0DFEFFEA38319FE5AC509FE501
-:1032900000A0A0E30120A0E33E1BE0E30C90A0E32C
-:1032A0000120C5E5B410C3E1B890C3E1B0A0C3E10B
-:1032B000B2A0C3E1B6A0C3E1A6FDFFEA0100A0E30E
-:1032C000801000EB68A09FE500109AE566FEFFEA1B
-:1032D0000100A0E37B1000EB54009FE5001090E597
-:1032E0004EFCFFEA0100A0E3761000EB40A09FE552
-:1032F00000109AE5FFFEFFEA84FDFF1A7A39A0E389
-:10330000473E83E20F3083E2030054E17FFDFF9AE2
-:10331000D2FEFFEA88A09FE590209FE500069AE88C
-:10332000013083E20030C5E5000682E86FFDFFEA68
-:10333000381000406C100040E17A843F7B14AE47A7
-:103340003410004098100040D34D6210B01000407F
-:10335000E10F00400C0D004039100040F01100401A
-:10336000F1110040EC0E0040F40B0040D00D004085
-:10337000C80B0040F00C004094110040340B00409A
-:10338000BC0F0040AC100040B8110040A00F00403E
-:10339000C80F004080100040700800401F85EB51AE
-:1033A000A013004058080040E8110040B911004047
-:1033B00064100040740F0040FC0E00403A100040C2
-:1033C0007011004034100040F00E004038100040F2
-:1033D00018401FE5002094E508C094E5041094E52A
-:1033E0000C5094E5229CA0E138301FE51C908DE53F
-:1033F0002CECA0E12C04A0E12C98A0E10CE08DE5E0
-:1034000014008DE510908DE521ACA0E12264A0E1CF
-:103410002278A0E125ECA0E12504A0E12598A0E117
-:1034200018A08DE508008DE504908DE517E0C3E553
-:103430000960C3E50A70C3E51CE09DE521A8A0E191
-:103440002184A0E10BE0C3E50D80C3E50EA0C3E538
-:1034500018909DE50F90C3E514A09DE511A0C3E56C
-:1034600010E09DE512E0C3E50C909DE51390C3E5E7
-:1034700008A09DE515A0C3E504E09DE50200A0E1DC
-:103480000C10C3E516E0C3E50820C3E510C0C3E592
-:103490001450C3E5980000EBD8501FE5B200C5E119
-:1034A000040094E5A10000EBB000C5E1080094E53C
-:1034B000AA0000EBB400C5E10C0094E5B30000EBFA
-:1034C0000CC11FE50030DCE50120DCE5000053E322
-:1034D0000210A0130010A003000052E30CE0A0E1D2
-:1034E000B600C5E10200000A000051E30310A0137A
-:1034F0000110A0030230DEE5000053E30330DCE5F9
-:103500000410811348011FE5000053E308108113E4
-:103510000130A0E3B810C5E10130C0E50DFDFFEAC0
-:103520005C911FE50030D9E5050053E30420A003BA
-:103530000930A0010020C305ECFCFFEA84311FE53F
-:103540000C0093E5910000EB8C111FE58C211FE529
-:103550000130A0E30130C1E50830A0E3B600C2E1CC
-:10356000B440C2E1B830C2E1B040C2E1B240C2E111
-:10357000F8FCFFEAB0511FE50030D5E5030053E346
-:10358000DAFCFF1A0520A0E30020C5E52F0100EBBF
-:10359000D6FCFFEA04E02DE5D04000EB24208FE2CA
-:1035A0000C0092E8FD4000EB0121A0E3662882E2D6
-:1035B000022982E20030A0E39C4100EB854200EB4F
-:1035C00004E09DE41EFF2FE1FB210940182D445427
-:1035D00004E02DE5C14000EB0121A0E3662882E272
-:1035E000022982E20030A0E3EC4000EB10208FE2E1
-:1035F0000C0092E88D4100EB764200EB04E09DE484
-:103600001EFF2FE1FB210940182D44540008A0E1C2
-:1036100004E02DE54008A0E10A4300EB1113A0E30C
-:103620007A1881E2A44300EB04E09DE41EFF2FE141
-:103630000008A0E110402DE94008A0E10140A0E110
-:10364000004300EB0410A0E1020180E29A4300EB8A
-:10365000A24000EB10208FE20C0092E8CF4000EB7C
-:103660005C4200EB1040BDE81EFF2FE10F9F23409E
-:1036700010069E7B0008A0E110402DE94008A0E163
-:103680000140A0E1EF4200EB0410A0E1020180E262
-:10369000894300EB914000EB10208FE20C0092E890
-:1036A000BE4000EB4B4200EB1040BDE81EFF2FE197
-:1036B0000F9F234010069E7B0008A0E110402DE9DB
-:1036C0004008A0E10140A0E1DE4200EB0410A0E1CF
-:1036D000020180E2784300EB804000EB10208FE293
-:1036E0000C0092E8AD4000EB3A4200EB1040BDE820
-:1036F0001EFF2FE10F9F234010069E7B04E02DE567
-:10370000764000EB1C208FE20C0092E8A34000EB17
-:10371000194200EB000060E20008A0E14008A0E1CF
-:1037200004E09DE41EFF2FE127EBA1402DB29DEFA9
-:1037300004E02DE5694000EB18208FE20C0092E8D0
-:10374000964000EB0C4200EB0008A0E14008A0E12D
-:1037500004E09DE41EFF2FE127EBA1402DB29DEF79
-:1037600004E02DE55D4000EB18208FE20C0092E8AC
-:103770008A4000EB004200EB0008A0E14008A0E115
-:1037800004E09DE41EFF2FE1F5C57C40A60A462516
-:1037900004E02DE5514000EB18208FE20C0092E888
-:1037A0007E4000EBF44100EB0008A0E14008A0E1FE
-:1037B00004E09DE41EFF2FE1997944409A9999997C
-:1037C0000008A0E14008A0E104E02DE5000060E26F
-:1037D0009C4200EB4214A0E3321781E2364300EB37
-:1037E0003E4000EB24208FE20C0092E86B4000EB9F
-:1037F0000121A0E3662882E2022982E20030A0E3F0
-:103800000A4100EBF34100EB04E09DE41EFF2FE1D1
-:10381000FB210940182D44540008A0E104E02DE5E7
-:103820004008A0E1874200EB2C4000EB38208FE2FB
-:103830000C0092E8594000EBE64100EB274000EB1A
-:103840002C208FE20C0092E8544000EB0121A0E311
-:10385000662882E2022982E20030A0E3F34000EB16
-:10386000DC4100EB04E09DE41EFF2FE151B88E3FE8
-:10387000B81E85EBFB210940182D44540008A0E137
-:103880004008A0E104E02DE5000060E26D4200EB9D
-:10389000124000EB38208FE20C0092E83F4000EB32
-:1038A000CC4100EB0D4000EB2C208FE20C0092E8A5
-:1038B0003A4000EB0121A0E3662882E2022982E27D
-:1038C0000030A0E3D94000EBC24100EB04E09DE4EE
-:1038D0001EFF2FE151B88E3FB81E85EBFB2109403A
-:1038E000182D44540008A0E14008A0E104E02DE5B3
-:1038F000000060E2534200EBF83F00EB38208FE21B
-:103900000C0092E8254000EBB24100EBF33F00EBE6
-:103910002C208FE20C0092E8204000EB0121A0E374
-:10392000662882E2022982E20030A0E3BF4000EB79
-:10393000A84100EB04E09DE41EFF2FE151B88E3F4B
-:10394000B81E85EBFB210940182D44540038A0E136
-:10395000230BA0E3A00080E204E02DE5230840E073
-:10396000384200EB4214A0E3321781E2D24200EB6E
-:10397000DA3F00EB24208FE20C0092E8074000EBD6
-:103980000121A0E3662882E2022982E20030A0E35E
-:10399000A64000EB8F4100EB04E09DE41EFF2FE109
-:1039A000FB210940182D44540008A0E104E02DE556
-:1039B0004008A0E1234200EB4214A0E3321781E269
-:1039C000BD4200EBC53F00EB24208FE20C0092E8E3
-:1039D000F23F00EB0121A0E3662882E2022982E2A5
-:1039E0000030A0E3914000EB7A4100EB04E09DE45D
-:1039F0001EFF2FE1FB210940182D445430002DE912
-:103A000044C09FE50C009CE808D04DE20C008DE816
-:103A10000040A0E1C45FA0E10C009DE803009CE829
-:103A2000042092E00530A3E0010053E1F9FFFFCA52
-:103A30000200000A08D08DE23000BDE81EFF2FE131
-:103A4000000052E1F3FFFF8AF9FFFFEA5808004047
-:103A5000D4309FE5002093E50830D2E5000053E321
-:103A60000000A0E3C4109FE5C4209FE51F00001ADA
-:103A70000F30C2E50030C1E50130C1E50230C1E5DB
-:103A80000330C1E50430C1E50530C1E50630C1E5CC
-:103A90000730C1E50830C1E50930C1E50A30C1E5AC
-:103AA0000B30C1E50030C2E50130C2E50230C2E5AD
-:103AB0000330C2E50430C2E50530C2E50630C2E598
-:103AC0000730C2E50830C2E50930C2E50A30C2E578
-:103AD0000B30C2E50C30C2E50D30C2E50E30C2E558
-:103AE0000C30C1E50D30C1E50E30C1E50F30C1E548
-:103AF00040309FE540209FE5180083E53C309FE57E
-:103B0000180082E5180083E534209FE534309FE5F6
-:103B1000180082E5180083E52C209FE52C309FE5F6
-:103B2000180082E5180083E51EFF2FE1C40F004056
-:103B30007010004022100040181200403C1200405B
-:103B4000A81200406012004084120040F4110040AE
-:103B5000CC120040F04F2DE96C399FE50100D3E510
-:103B60001BDE4DE20080D3E5AC018DE50510D3E509
-:103B70000450D3E5A4118DE50920D3E50840D3E531
-:103B800094218DE51D10D3E511A0D3E50DB0D3E54B
-:103B90001560D3E510E0D3E50CC0D3E51400D3E500
-:103BA0001C20D3E580118DE50210D3E5A8118DE529
-:103BB0000610D3E5A0118DE50A10D3E590118DE52F
-:103BC0001210D3E58C118DE50E10D3E588118DE52B
-:103BD0001610D3E584118DE51E10D3E57C118DE51B
-:103BE000AC119DE5018488E1A4119DE5015485E1B6
-:103BF00094119DE5060480E1014484E180619DE526
-:103C00000710D3E50AE48EE1062482E103A0D3E5A0
-:103C10009C118DE51F60D3E50F70D3E51710D3E538
-:103C20001390D3E50BC48CE10BB0D3E578618DE53F
-:103C3000A8619DE5068888E1A0619DE5065885E1BB
-:103C400090619DE5064884E18C619DE506E88EE182
-:103C500088619DE506C88CE184619DE5060880E1E8
-:103C60007C619DE5062882E10A6C88E19C819DE5E6
-:103C7000085C85E198518DE5095C8EE101EC80E1FD
-:103C800078019DE544189FE50B8C84E1074C8CE19D
-:103C900000CC82E198219DE514E081E5042081E5D6
-:103CA00020C081E5006081E5088081E5105081E554
-:103CB0000C4081E51940D3E518A0D3E574418DE5AA
-:103CC0004180D3E54060D3E568818DE54500D3E5CB
-:103CD0004450D3E560018DE54910D3E54840D3E574
-:103CE00058118DE51A10D3E54D80D3E555B0D3E5D5
-:103CF0005120D3E54CE0D3E554C0D3E55000D3E5E3
-:103D000070118DE54210D3E564118DE54610D3E5C1
-:103D10005C118DE54A10D3E554118DE54E10D3E5C5
-:103D20004C118DE55610D3E544118DE55210D3E5C5
-:103D30003C118DE574119DE501A48AE168119DE5B2
-:103D4000020480E1016486E14B20D3E560119DE52A
-:103D50001B70D3E5015485E108E48EE158119DE51F
-:103D60004380D3E50BC48CE147B0D3E550218DE50A
-:103D7000014484E14F10D3E548118DE55720D3E588
-:103D800040218DE55310D3E538118DE564119DE593
-:103D9000016886E154119DE570219DE5014884E1AB
-:103DA00044119DE502A88AE15C219DE501C88CE1F2
-:103DB00050119DE5025885E14C219DE5088C86E176
-:103DC000016C84E148419DE540119DE502E88EE1EA
-:103DD0003C219DE5077C8AE10BAC85E1045C8EE12A
-:103DE000014C8CE138119DE56C718DE5020880E194
-:103DF00001EC80E1D8269FE56C119DE5CC069FE59E
-:103E0000008082E51C1080E504A082E5086082E560
-:103E1000145082E5204082E51CE082E52120D3E5B4
-:103E20002080D3E534218DE52540D3E52450D3E52A
-:103E30002C418DE52960D3E52840D3E520618DE54F
-:103E40003D10D3E531A0D3E52DB0D3E53560D3E502
-:103E500030E0D3E52CC0D3E53400D3E53C20D3E5F6
-:103E600000118DE52210D3E530118DE52610D3E544
-:103E700028118DE52A10D3E51C118DE53210D3E50C
-:103E800018118DE52E10D3E510118DE53610D3E510
-:103E900008118DE53E10D3E5FC108DE534119DE54C
-:103EA000018488E12C119DE5015485E120119DE5F7
-:103EB000014484E13310D3E52770D3E50AE48EE1B1
-:103EC0000BC48CE123A0D3E52BB0D3E5060480E13D
-:103ED00014118DE500619DE5062482E12F60D3E594
-:103EE0000C618DE53710D3E504118DE530119DE5AA
-:103EF0003F60D3E5018888E1F8608DE51C119DE500
-:103F000028619DE5014884E1065885E110119DE591
-:103F100018619DE501C88CE106E88EE1FC109DE585
-:103F200008619DE5077C85E124718DE5060880E147
-:103F3000012882E10A6C88E10C119DE50B8C84E17B
-:103F400014419DE5045C8EE1014C8CE104119DE57A
-:103F500001EC80E1F8009DE578159FE500CC82E159
-:103F600024219DE5006081E5042081E5088081E54C
-:103F7000105081E50C4081E514E081E520C081E529
-:103F80003940D3E538A0D3E5F4408DE55980D3E539
-:103F90005860D3E5E8808DE55D00D3E55C50D3E55E
-:103FA000E0008DE56110D3E56040D3E5D8108DE5E4
-:103FB0003A10D3E56580D3E56DB0D3E56920D3E54C
-:103FC00064E0D3E56CC0D3E56800D3E5F0108DE57F
-:103FD0005A10D3E5E4108DE55E10D3E5DC108DE5D5
-:103FE0006210D3E5D4108DE56610D3E5CC108DE5D5
-:103FF0006E10D3E5C4108DE56A10D3E5BC108DE5D5
-:10400000F4109DE501A48AE1E8109DE5020480E139
-:10401000016486E16320D3E5E0109DE53B70D3E5C4
-:10402000015485E108E48EE1D8109DE55B80D3E57D
-:104030000BC48CE15FB0D3E5D0208DE5014484E171
-:104040006710D3E5C8108DE56F20D3E5C0208DE55E
-:104050006B10D3E5B8108DE5E4109DE5016886E1AD
-:10406000D4109DE5F0209DE5014884E1C4109DE554
-:1040700002A88AE1DC209DE501C88CE1D0109DE515
-:10408000025885E1CC209DE5088C86E1016C84E135
-:10409000C8409DE5C0109DE502E88EE1BC209DE58D
-:1040A000077C8AE10BAC85E1045C8EE1014C8CE17C
-:1040B000B8109DE5020880E1EC708DE518249FE5BD
-:1040C00001EC80E1EC109DE508049FE51C1080E503
-:1040D000008082E504A082E5086082E5145082E554
-:1040E000204082E51CE082E58920D3E58880D3E585
-:1040F000B4208DE58D40D3E58C50D3E5AC408DE503
-:104100009160D3E59040D3E5A0608DE59900D3E5BB
-:1041100095A0D3E594E0D3E598C0D3E590008DE574
-:104120008A10D3E5A160D3E59CB0D3E5A000D3E528
-:104130009D20D3E5B0108DE58E10D3E5A8108DE558
-:104140009210D3E59C108DE59610D3E598108DE57F
-:104150009A10D3E58C108DE5A210D3E584108DE57F
-:104160009E10D3E502248BE178108DE57C208DE54F
-:10417000B4109DE59720D3E593B0D3E58F70D3E5D8
-:10418000018488E10AE48EE1AC109DE58BA0D3E5C3
-:1041900094208DE5015485E1060480E1A0109DE5A1
-:1041A0009B60D3E5014484E188608DE590109DE536
-:1041B00001C48CE1A310D3E5B0609DE580108DE5CE
-:1041C000A8109DE59F20D3E5068888E1015885E188
-:1041D00098609DE58C109DE570208DE506E88EE1E8
-:1041E0009C209DE501C88CE178108DE2420091E8A9
-:1041F000024884E1016886E174608DE588109DE5E0
-:104200000A6C88E10B8C84E194409DE584209DE557
-:10421000077C85E1045C8EE1014C8CE180109DE51A
-:10422000020880E1B4229FE501EC80E174009DE585
-:1042300070109DE5A4708DE5006082E5A4609DE5A9
-:1042400001CC80E1046082E5088082E50C5082E5C3
-:10425000144082E520E082E51CC082E57180D3E550
-:104260007060D3E56C808DE57500D3E57450D3E5BF
-:1042700064008DE57910D3E57840D3E55C108DE5D9
-:104280007C20D3E554208DE57210D3E58580D3E5FD
-:1042900081B0D3E5A520D3E57DA0D3E584E0D3E5C7
-:1042A00080C0D3E5A400D3E568108DE57610D3E592
-:1042B00060108DE57A10D3E558108DE57E10D3E5BA
-:1042C0004C108DE58610D3E540108DE58210D3E5C6
-:1042D00034108DE5A610D3E528108DE56C109DE512
-:1042E000016486E164109DE5015485E15C109DE563
-:1042F000014484E154109DE50AA481E150A08DE5BC
-:10430000020480E17F20D3E577A0D3E508E48EE1C5
-:104310000BC48CE17380D3E57BB0D3E544208DE5FD
-:104320008710D3E53C108DE58320D3E530208DE563
-:1043300068209DE5A710D3E5026886E124108DE58D
-:1043400058209DE560109DE5024884E1015885E113
-:104350004C209DE550109DE5021881E148108DE547
-:1043600040109DE501E88EE128109DE5088C86E16E
-:10437000010880E10B6C84E144108DE2120091E8A9
-:1043800034209DE50AAC85E1015C84E13C409DE57B
-:1043900030109DE502C88CE104EC8EE101CC8CE18B
-:1043A00038E08DE52CC08DE524109DE530219FE59A
-:1043B000014C80E12C009DE538109DE51C0082E554
-:1043C000008082E504A082E5086082E5145082E561
-:1043D000201082E50C219FE5004082E5B840D3E53E
-:1043E000A9A0D3E5AD80D3E5B160D3E5A8E0D3E5DE
-:1043F000ACC0D3E5B000D3E514408DE5AA10D3E5F9
-:10440000B540D3E5B950D3E5B420D3E520108DE510
-:10441000AE10D3E51C108DE5B210D3E518108DE574
-:10442000BA10D3E50C108DE5060480E114609DE51B
-:10443000B610D3E5055486E100108DE510508DE5EA
-:104440000AE48EE1AB60D3E5B7B0D3E5B3A0D3E522
-:1044500008C48CE1AF80D3E5BB30D3E504308DE5F3
-:1044600020109DE51C309DE5042482E118409DE567
-:1044700001E88EE103C88CE10C109DE500309DE55C
-:10448000040880E1064C8EE104609DE5011885E199
-:10449000032882E1085C8CE148809FE50AEC80E11A
-:1044A00006CC81E10B3C82E108108DE51C3088E5EB
-:1044B000044088E5085088E514E088E520C088E5D8
-:1044C0001BDE8DE2F04FBDE81EFF2FE1B41000406F
-:1044D0003C12004084120040A8120040F411004039
-:1044E00060120040CC12004018120040F0472DE945
-:1044F000208090E50070A0E10800A0E103A0A0E109
-:104500000140A0E10290A0E1454000EB000050E333
-:10451000023188E20400A0E1040000BA0310A0E127
-:104520000380A0E13E4000EB000050E30480A0A126
-:1045300020109DE50800A0E1793F00EB184097E5C9
-:104540000010A0E10400A0E1CD3E00EB1C6097E567
-:10455000180087E50610A0E10040A0E12E4000EB26
-:10456000025186E2000050E30510A0E10400A0E142
-:10457000186087C5020000CA294000EB000050E324
-:10458000185087B50A00A0E1D43C00EB0020A0E160
-:10459000FF05A0E30130A0E1030680E20010A0E3E4
-:1045A000A23D00EB0040A0E10800A0E10150A0E125
-:1045B0005D4000EB000050E3000060B2BC3C00EB4B
-:1045C0000020A0E10130A0E10400A0E10510A0E17D
-:1045D0008B4100EB0040A0E10150A0E10800A0E108
-:1045E000001097E54E3F00EB141097E5A43E00EB5A
-:1045F0000510A0E10060A0E10400A0E1753E00EB21
-:10460000081097E5463F00EB0910A0E1443F00EB9E
-:104610000010A0E10600A0E1993E00EB181097E51C
-:104620000040A0E1040097E53D3F00EB0010A0E151
-:104630000400A0E1923E00EBF047BDE81EFF2FE131
-:10464000F04F2DE90C3C9FE5001093E50820D1E5E3
-:10465000000052E360D04DE25F00001AF83B9FE596
-:104660000020D3E5050052E3F0BB9F15F09B9F159A
-:104670006200000A0520DBE50430DBE50610DBE51F
-:10468000023483E10700DBE5013883E1005099E55E
-:10469000004C83E10410A0E10500A0E1DE3F00EB47
-:1046A000000050E3B86B9FE5490000CA024184E274
-:1046B0000500A0E10410A0E1D93F00EB000050E3A9
-:1046C000430000BA0920DBE50830DBE50A10DBE532
-:1046D000023483E10B00DBE5013883E1045099E506
-:1046E000004C83E10410A0E10500A0E1CA3F00EB0B
-:1046F000000050E3686B9FE5330000CA024184E28A
-:104700000500A0E10410A0E1C53F00EB000050E36C
-:104710002D0000BA0D20DBE50C30DBE50E10DBE5EB
-:10472000023483E10F00DBE5013883E1085099E5AD
-:10473000004C83E10410A0E10500A0E1B63F00EBCE
-:10474000000050E3186B9FE51D0000CA024184E29F
-:104750000500A0E10410A0E1B13F00EB000050E330
-:10476000170000BA1120DBE51030DBE51210DBE5A5
-:104770001300DBE5023483E1013883E10C5099E555
-:10478000004C83E10410A0E10500A0E1A23F00EB92
-:10479000CC6A9FE5000050E30C4086C5050000CAC6
-:1047A0000500A0E10010A0E39D3F00EB000050E3F6
-:1047B0000030A0B30C3086B560D08DE2F04FBDE87C
-:1047C0001EFF2FE1084086E5E5FFFFEA044086E58D
-:1047D000CFFFFFEA004086E5B9FFFFEA0030A0E323
-:1047E0000830C1E5DAFCFFEB6C3A9FE50020D3E529
-:1047F000050052E364BA9F15649A9F159CFFFF1A47
-:10480000601A9FE5F400D1E1ECFBFFEB542A9FE531
-:104810000040A0E1F200D2E162FCFFEB2F3C00EB94
-:10482000443A9FE50060A0E1000093E50170A0E13B
-:104830002A3C00EB1C008DE520108DE50600A0E170
-:104840000710A0E1F14000EB00A0A0E10400A0E10E
-:1048500001B0A0E1213C00EB0040A0E10150A0E14B
-:10486000EA4000EB043A9FE524008DE528108DE531
-:10487000000093E5193C00EB2C008DE530108DE530
-:104880000400A0E10510A0E1E34000EBE0399FE562
-:1048900034008DE538108DE5000093E50F3C00EB0A
-:1048A0000040A0E10150A0E10600A0E10710A0E156
-:1048B000D94000EB0020A0E10130A0E10400A0E11C
-:1048C0000510A0E1353C00EB0A20A0E10040A0E18A
-:1048D0000150A0E10B30A0E11C008DE2030090E844
-:1048E0002E3C00EB24208DE20C0092E82B3C00EBE8
-:1048F0000020A0E10130A0E10400A0E10510A0E14A
-:104900001D3B00EB2C208DE20C0092E80040A0E162
-:104910000150A0E10A00A0E10B10A0E11F3C00EB58
-:1049200034208DE20C0092E81C3C00EB0020A0E15A
-:104930000130A0E10400A0E10510A0E10E3B00EB76
-:10494000A43D00EB34208DE20C0092E848008DE598
-:104950001C008DE2030090E8103C00EB2C208DE25F
-:104960000C0092E80040A0E10150A0E124008DE29B
-:10497000030090E8093C00EB0020A0E10130A0E139
-:104980000400A0E10510A0E1FA3A00EB913D00EB34
-:10499000E0589FE54C008DE5DC489FE5005095E52B
-:1049A0000D10D4E50C20D4E50EC0D4E50FE0D4E51D
-:1049B0001100D4E51030D4E5BC689FE51240D4E581
-:1049C0003C508DE5012482E1B0789FE51310D6E5D7
-:1049D0000C2882E1003483E1007097E50E6C82E1DF
-:1049E000043883E1015C83E10600A0E13C109DE511
-:1049F00040708DE54A3E00EB40109DE50040A0E18F
-:104A00000500A0E1463E00EB0010A0E10400A0E19B
-:104A10009B3D00EB0510A0E150008DE53C009DE5BD
-:104A20003F3E00EB40109DE50040A0E10600A0E104
-:104A30003B3E00EB0010A0E10400A0E18F3D00EB45
-:104A400034A89FE554008DE510B89FE51530DAE5F0
-:104A50001420DAE501C0DBE516E0DAE50010A0E19C
-:104A600048009DE544C08DE5032482E14CC09DE5EE
-:104A70000EE882E1202CA0E11790DAE504E08DE554
-:104A800010208DE52C28A0E10C208DE504209DE56B
-:104A900050309DE544509DE521ECA0E12C4CA0E177
-:104AA000099C82E1D8279FE518E08DE508408DE557
-:104AB0002168A0E12348A0E120A8A0E1238CA0E187
-:104AC000020055E323E4A0E12154A0E114A08DE508
-:104AD00058908DE52FE0C2E53040C2E53180C2E557
-:104AE0003350C2E53460C2E518409DE52074A0E172
-:104AF0003540C2E53F70C2E514509DE54050C2E527
-:104B000010609DE52CA4A0E143A0C2E54160C2E590
-:104B10000C709DE54470C2E508A09DE52E30C2E50D
-:104B200045A0C2E53210C2E53E00C2E542C0C2E582
-:104B3000B600000A44C09DE503005CE37B01000A67
-:104B400044709DE5010057E39A00000A44A09DE5EA
-:104B500000005AE308979F050030A00324679F05D3
-:104B6000043089051C679F15F4969F15183096E54B
-:104B700000C0DBE508E79FE5230CA0E12324A0E1CA
-:104B80002318A0E102005CE35B20CEE55C10CEE5DB
-:104B90005D00CEE55A30CEE50E60A0E10601000AC8
-:104BA00003005CE34401000A01005CE37600000AB4
-:104BB00000005CE30030A003CC769F05003089053F
-:104BC000C4769F1503C0DBE5183097E5B0469FE536
-:104BD00000005CE3230CA0E12324A0E12318A0E162
-:104BE0005E30C4E50030A0035F20C4E56010C4E57A
-:104BF0006100C4E50C3089053B00000A02005CE35B
-:104C00000C8099E56701000A03005CE38101000A5A
-:104C100001005CE34900000A0C7099E50800A0E17E
-:104C20000710A0E1153D00EB2C3B00EB2120DBE55C
-:104C30002030DBE50050A0E12200DBE5023483E117
-:104C40000160A0E12310DBE5003883E1014C83E142
-:104C50000400A0E1213B00EB0020A0E10130A0E135
-:104C60000500A0E10610A0E1733C00EB000050E35A
-:104C7000ECA59FE50E0000CA020184E2173B00EBA1
-:104C80000020A0E10130A0E10500A0E10610A0E1B4
-:104C90006B3C00EB000050E30C808AA5080000AAE2
-:104CA0000700A0E10410A0E1F43C00EB0C008AE551
-:104CB000030000EA0700A0E10410A0E1F03C00EBD3
-:104CC0000C008AE5C4C59FE518309CE5B0E59FE57A
-:104CD000230CA0E12324A0E12318A0E16720CEE566
-:104CE0006810CEE56900CEE56630CEE50230DBE542
-:104CF000020053E398559F158500000A030053E313
-:104D00001700000A010053E33600000A000053E3D5
-:104D10000030A00308308905183095E560A59FE5AF
-:104D2000232CA0E12314A0E12308A0E16520CAE51B
-:104D30006310CAE56400CAE56230CAE54CFEFFEACA
-:104D400050359FE50C20D3E50D10D3E50E00D3E5DB
-:104D5000012482E10FC0D3E5002882E10C8C82E1BE
-:104D6000ACFFFFEA30359FE50C20D3E50D10D3E50D
-:104D70000EC0D3E50F00D3E5012482E10C2882E1C7
-:104D8000003C82E1083089E5E2FFFFEA04359FE557
-:104D90000020D3E50110D3E50200D3E503C0D3E53D
-:104DA000012482E1002882E1DC749FE50C3C82E171
-:104DB000003089E582FFFFEAD8349FE50420D3E57F
-:104DC0000510D3E50600D3E507C0D3E5012482E151
-:104DD000002882E188949FE5A8649FE50C3C82E16D
-:104DE000043089E560FFFFEAA8349FE50820D3E599
-:104DF0000910D3E50AC0D3E50B00D3E5012482E115
-:104E00000C2882E1003C82E1083089E5C1FFFFEA1D
-:104E100088449FE560C49FE55C549FE50130D4E57C
-:104E20000120DCE50010DCE50000D4E502C0D4E59B
-:104E300002E0D5E5030480E1021481E10330D4E50A
-:104E40000320D5E50C0880E10E1881E1021C81E108
-:104E5000030C80E1893C00EB0010A0E13C009DE5E3
-:104E60002F3D00EB10649FE50520D4E50530D6E525
-:104E70000410D6E50050A0E10400D4E506C0D4E556
-:104E800006E0D6E5020480E1031481E10720D4E5C1
-:104E90000730D6E50C0880E10E1881E1031C81E1A2
-:104EA000020C80E1753C00EB0010A0E140009DE5A4
-:104EB0001B3D00EB0010A0E10500A0E1703C00EB01
-:104EC000C0639FE550709DE50040A0E1D0C39FE521
-:104ED000103096E5022187E20410A0E10600A0E16F
-:104EE00000C08DE580FDFFEB94A39FE570939FE5E7
-:104EF00024CCA0E12424A0E12418A0E1040089E549
-:104F00006B20CAE56C10CAE56DC0CAE56A40CAE507
-:104F100015FFFFEA84339FE55C039FE558439FE557
-:104F20000C20D3E52010D0E50D00D3E50EE0D3E54D
-:104F300021C0D4E540539FE52240D4E5002482E11E
-:104F400020739FE50F00D3E50E2882E10C1481E168
-:104F500023C0D5E5041881E1005C82E1FC00D7E1C3
-:104F60000C6C81E15EFAFFEB0610A0E10040A0E1CD
-:104F70000500A0E1413C00EB60308DE2040023E538
-:104F80000C539FE50300A0E1680700EB024184E2B7
-:104F90000CC39FE5FE35A0E35C109DE50420A0E175
-:104FA0000500A0E100C08DE54FFDFFEBAC329FE5B1
-:104FB0000230D3E5080089E54FFFFFEADC429FE5B8
-:104FC000B4029FE5B0529FE5AC729FE50520D5E5A0
-:104FD0000530D4E50410D0E50400D4E506E0D4E5BE
-:104FE0000650D5E507C0D4E5021481E1030480E151
-:104FF0000730D7E50E0880E1051881E174A29FE52E
-:10500000031C81E10C0C80E11C3C00EB00109AE5D4
-:10501000C33C00EB0120D4E50130D7E50010D7E513
-:105020000050A0E10000D4E502E0D7E502C0D4E5DD
-:10503000020480E1031481E10320D4E50330D7E5C5
-:105040000E1881E10C0880E1031C81E1020C80E173
-:105050000A3C00EB24C29FE500109CE5B03C00EB4D
-:105060000010A0E10500A0E1043C00EB18729FE5F0
-:1050700054E09DE50040A0E124C29FE5103097E593
-:1050800002218EE20410A0E10700A0E100C08DE53E
-:1050900015FDFFEB242CA0E102C180E22414A0E165
-:1050A0002408A0E17120C6E500C089E56F10C6E5BF
-:1050B0007000C6E56E40C6E5C1FEFFEAD8319FE547
-:1050C0000520D3E50400D3E506C0D3E50710D3E5FA
-:1050D000020480E10C0880E1010C80E154109DE5A0
-:1050E000E63B00EB0010A0E121C4A0E14C009DE5EF
-:1050F0003BC0C6E5A8C19FE5215CA0E121E8A0E195
-:10510000022180E2FE35A0E33D50C6E53CE0C6E565
-:1051100090019FE500C08DE53A10C6E5F2FCFFEB7B
-:1051200064719FE5023180E2003089E5A4FEFFEA68
-:1051300064319FE50120D3E50000D3E502C0D3E54B
-:105140000310D3E5020480E10C0880E1010C80E14A
-:1051500050109DE5C93B00EB24619FE548E09DE5CB
-:1051600020C4A0E137C0C6E534C19FE50010A0E12E
-:1051700002218EE2205CA0E120E8A0E138E0C6E553
-:105180003950C6E520019FE500C08DE5FE35A0E35E
-:105190003610C6E5D4FCFFEBC4909FE5E4609FE5C4
-:1051A000040089E570FEFFEAF0309FE5C8509FE5F6
-:1051B0000920D3E509C0D5E50810D5E50800D3E5F9
-:1051C000B4609FE50A40D3E50A50D5E5020480E1CA
-:1051D0000C1481E10B20D6E50BE0D3E5040880E157
-:1051E000051881E1021C81E10E0C80E1A33B00EB7C
-:1051F00058709DE50010A0E190009FE5022187E234
-:105200009CC09FE5FE35A0E300C08DE5B6FCFFEB3A
-:105210000080A0E17FFEFFEA7C309FE50920D3E516
-:105220000800D3E50AC0D3E50B10D3E5020480E102
-:105230000C0880E1010C80E158109DE58F3B00EBEC
-:1052400028A09FE500309AE50010A0E15C009FE5F2
-:10525000022183E2E9FFFFEAD0110040381000404C
-:105260003A10004070110040340B0040FC12004026
-:10527000F0120040F412004000130040941100406E
-:10528000F8120040FC0E00403C120040A812004002
-:105290006012004018120040D81100402210004057
-:1052A000701000406F12833AF411004084120040E5
-:1052B000CC1200400030A0E3A83080E504E02DE5EA
-:1052C0000010A0E100E0A0E10020A0E100C0A0E308
-:1052D00000005CE30030A0E3FE05A0E33300000A19
-:1052E00001005CE3003082E5603082E5403082E519
-:1052F000303082E5103082E52500000A01C08CE2E2
-:105300000030A0E302005CE3043082E5643082E513
-:10531000443082E5343082E5143082E50C1081E2BD
-:10532000082082E2E9FFFF1A00C0A0E30E30A0E1EE
-:105330000020A0E3012082E2020052E380C083E566
-:1053400070C083E520C083E584C083E574C083E535
-:1053500024C083E5083083E2F5FFFF1A90209EE524
-:1053600094109EE598009EE59C309EE5B8C08EE5C1
-:105370008C308EE570208EE57C108EE580008EE509
-:10538000BCC08EE5B4C08EE5C0C08EE504E09DE4EF
-:105390001EFF2FE1FE35A0E3003081E5603081E59E
-:1053A000403081E5303081E5103081E5DDFFFFEAF6
-:1053B000000081E5600081E5400081E5300081E585
-:1053C000100081E5CCFFFFEA142090E5181090E56D
-:1053D0000030A0E3FEC5A0E31C3080E50C2080E592
-:1053E000101080E504C080E508C080E5243080E529
-:1053F000203080E51EFF2FE104E02DE51C009FE535
-:10540000ABFFFFEB18009FE5A9FFFFEB14009FE542
-:10541000A7FFFFEB10009FE504E09DE4E9FFFFEA32
-:105420000C0D0040F40B0040D00D0040C80B0040B4
-:1054300030402DE9045090E504D04DE20040A0E159
-:10544000101090E50500A0E10D3B00EB0010A0E17D
-:105450000500A0E1183C00EB201094E5000084E575
-:10546000240094E5053B00EB04308DE2040023E5C5
-:105470000D00A0E12D0600EB00109DE5000094E575
-:10548000A73B00EB0010A0E1200094E5FC3A00EB04
-:10549000200084E5200084E2000600EB001094E583
-:1054A000FE05A0E3F53A00EB041094E59C3B00EB0D
-:1054B000080084E504D08DE23040BDE81EFF2FE1F6
-:1054C00010402DE90040A0E10100A0E11C1094E58E
-:1054D000933B00EB0010A0E1200094E5E83A00EBDC
-:1054E000200084E5200084E2EC0500EB080094E550
-:1054F0000C1094E5E23A00EB040084E51040BDE8AE
-:105500001EFF2FE1F0412DE90040A0E128D04DE23F
-:10551000308080E20D20A0E110508DE20800A0E173
-:10552000801084E29A0200EB206084E20D00A0E18A
-:105530000510A0E1CA0400EB0510A0E10800A0E1FD
-:105540000620A0E1BC5084E28B0300EB0520A0E123
-:10555000B40084E2AC1084E22D0300EB20208DE245
-:105560000600A0E10510A0E1C90300EB20109DE5B5
-:10557000AC0094E5C23A00EBAC0084E524109DE554
-:10558000B00094E5BE3A00EB0610A0E1B00084E55F
-:105590000D20A0E1600084E2D40200EB0D00A0E148
-:1055A0000810A0E1402084E20D70A0E1720300EB3E
-:1055B00028D08DE2F041BDE81EFF2FE1F0402DE93B
-:1055C0000040A0E130D04DE2041084E5181084E5DD
-:1055D0000100A0E10150A0E1513B00EB3F14A0E32A
-:1055E0004F3B00EB28708DE2AC6084E2A00084E5C4
-:1055F000A45084E5A00084E220508DE2A81094E538
-:105600000720A0E1980500EB0400A0E10610A0E14E
-:105610000520A0E19E0300EB0500A0E10710A0E13A
-:105620000620A0E1A30200EB10608DE20400A0E1DF
-:10563000401084E20D20A0E14F0300EB0D00A0E13B
-:10564000101084E20620A0E14B0300EB0610A0E15D
-:10565000302084E2700084E20D50A0E14C0200EBA7
-:1056600030D08DE2F040BDE81EFF2FE1F04F2DE974
-:105670002CA49FE598D04DE2F004DAE1E2F7FFEBCD
-:1056800058149FE584008DE5000091E5933800EB08
-:10569000FD2F8FE20C0092E8C03800EB0040A0E143
-:1056A00084009DE50150A0E18C3800EB3E2E8FE296
-:1056B0000C0092E8B93800EB0130A0E10020A0E135
-:1056C0000510A0E10400A0E1AB3700EB413A00EB8C
-:1056D00008249FE5000082E5F400DAE137F8FFEBEB
-:1056E0000040A0E1F200DAE1AEF8FFEB0060A0E1DB
-:1056F000FC00DAE17AF8FFEBA8239FE5B030D2E1B5
-:10570000010053E374008DE5A801000A0400A0E144
-:10571000723800EB0040A0E10150A0E13E3D00EBFB
-:105720002C3A00EB0510A0E188008DE50400A0E113
-:10573000363D00EB273A00EB8C008DE50600A0E13A
-:10574000663800EB0040A0E10150A0E1323D00EBE3
-:10575000203A00EB0510A0E190008DE50400A0E1E7
-:105760002A3D00EB1B3A00EB3C439FE50030D4E5BB
-:10577000000053E394008DE58901000A70339FE532
-:10578000200093E5553800EB0040A0E10150A0E176
-:10579000213D00EB0F3A00EB10639FE50510A0E1FF
-:1057A000000086E50400A0E1183D00EB093A00EB9B
-:1057B000FC429FE5FCC29FE5001094E500008CE5EB
-:1057C000F002DAE199F7FFEBEC529FE5001094E567
-:1057D000000085E5F202DAE1A5F7FFEBDC129FE5B8
-:1057E000000081E5001094E5F402DAE1B1F7FFEB87
-:1057F000005095E5C8329FE500A0A0E100A083E538
-:1058000090009DE50510A0E168508DE5C43A00EBDD
-:1058100094109DE564008DE58C009DE5C03A00EB99
-:1058200094109DE560008DE588009DE5BC3A00EB95
-:10583000006096E55C008DE50610A0E164009DE542
-:105840006C608DE5B63A00EB68229FE56C109DE533
-:1058500000B0A0E160009DE5005092E5B03A00EB99
-:105860000510A0E10040A0E188009DE5AC3A00EB06
-:1058700048329FE5003093E50010A0E10400A0E16C
-:1058800070308DE5FD3900EB70109DE5A43A00EB1A
-:105890000010A0E10B00A0E1F93900EB6C109DE5D0
-:1058A0000090A0E15C009DE59D3A00EB0510A0E1B1
-:1058B0000040A0E18C009DE5993A00EB0010A0E1CA
-:1058C0000400A0E1EE3900EB0010A0E10A00A0E125
-:1058D000933A00EB0010A0E10900A0E1E83900EBE9
-:1058E0000510A0E178008DE564009DE58C3A00EBA1
-:1058F0000510A0E10090A0E160009DE5883A00EB72
-:105900006C109DE50040A0E188009DE5843A00EB25
-:105910000010A0E10400A0E1D93900EB0010A0E1E3
-:1059200070009DE57E3A00EB0010A0E10900A0E1C7
-:10593000D33900EB0510A0E10090A0E15C009DE5EB
-:10594000773A00EB6C109DE50040A0E18C009DE5EE
-:10595000733A00EB0010A0E10400A0E1C73900EBAE
-:105960000010A0E10A00A0E16D3A00EB0010A0E1F8
-:105970000900A0E1C23900EB68409DE57C008DE59F
-:10598000021184E294009DE5653A00EB70109DE5FC
-:105990000040A0E18C009DE5613A00EB0010A0E121
-:1059A00090009DE55E3A00EB0010A0E10400A0E14C
-:1059B000B33900EB0A10A0E10040A0E188009DE5AA
-:1059C000573A00EB0010A0E190009DE5543A00EB3F
-:1059D0000010A0E10400A0E1A93900EBBF3700EB03
-:1059E000B4208FE20C0092E8E23600EB793900EB4C
-:1059F00080008DE570509DE580C09DE5A8609FE525
-:105A000078109DE500E0D6E534C08DE525CCA0E119
-:105A100048C08DE521CCA0E168409DE540C08DE502
-:105A200034C09DE544A08DE500005EE32CECA0E1D0
-:105A300024C8A0E17C009DE554C08DE544C09DE5EF
-:105A40002CB4A0E12C98A0E120C4A0E100C08DE519
-:105A500020C8A0E13CC08DE5246CA0E134C09DE5E8
-:105A600050608DE544609DE52CC4A0E130C08DE51B
-:105A7000268CA0E134C09DE5206CA0E144309FE578
-:105A800044209FE538608DE5220000EA0AD7EF3F09
-:105A9000D7A3703DE17A743F7B14AE470F9F23403C
-:105AA00010069E7B340B004002000040F1110040C4
-:105AB0000013004068130040F8120040F412004048
-:105AC000FC120040F0120040740F0040FC0E004039
-:105AD00039100040F0110040EC0E0040A8100040CA
-:105AE0007C08004020BCBE4CD00D0040F40B0040B0
-:105AF0000C0D0040C80B00406F12833A901100401B
-:105B0000F00C0040E10F0040E81100405808004050
-:105B100074080040B91100402464A0E158608DE58C
-:105B20002CC8A0E12568A0E14C608DE52CC08DE576
-:105B30002380C3E559E0C2E558C09DE519C0C3E51F
-:105B400054C09DE51AC0C3E550C09DE525A4A0E161
-:105B50001BC0C3E51DA0C3E54CC09DE51EC0C3E549
-:105B600048C09DE52168A0E12174A0E11FC0C3E504
-:105B700021B0C3E52290C3E54F70C2E55060C2E595
-:105B800040609DE55160C2E500C09DE553C0C2E59F
-:105B90003C609DE55460C2E538C09DE555C0C2E556
-:105BA00030609DE55760C2E52CC09DE558C0C2E558
-:105BB0001840C3E51C50C3E544409DE52040C3E5C3
-:105BC0004E10C2E55200C2E534609DE55660C2E564
-:105BD0006400001A0C311FE50020D3E5000052E3F9
-:105BE0004F00001A18311FE50020D3E5000052E3F2
-:105BF0003A00001A24311FE50020D3E5000052E3EB
-:105C00000900001A10C11FE500309CE50010A0E358
-:105C10000810C3E540011FE5002090E50810C2E52B
-:105C200098D08DE2F04FBDE81EFF2FE180209DE56A
-:105C300050B11FE560411FE5A8208BE50B00A0E1F6
-:105C400050111FE55CFEFFEB003094E50820D3E522
-:105C5000010052E350A11F1550811F155D00000A7D
-:105C6000060098E818009AE8031051E00420C2E00A
-:105C7000000052E3510000DA7C311FE53210D3E519
-:105C80003300D3E53120D3E53430D3E504308DE55E
-:105C9000B8311FE5012482E104609DE5002882E11E
-:105CA000004093E5ACE09BE5CC311FE5061C82E1AA
-:105CB000D0011FE598308BE59C108BE5B4E08BE5B7
-:105CC000B8408BE50EFEFFEBD0211FE5B0309BE521
-:105CD000AC109BE5143082E5081082E5C8FFFFEAAE
-:105CE000FC611FE57CC09DE50600A0E1FC111FE5FD
-:105CF000A8C086E530FEFFEB04021FE5003090E50A
-:105D00000820D3E5010052E36D00000A14221FE5CC
-:105D1000B03096E5AC1096E5103082E5041082E5CF
-:105D2000B3FFFFEA78209DE540621FE538421FE59A
-:105D3000A82086E544121FE50600A0E11EFEFFEB49
-:105D4000003094E50820D3E5010052E37000000A1A
-:105D500058221FE5B03096E5AC1096E50C3082E590
-:105D6000001082E59EFFFFEA7C421FE574C09DE5BE
-:105D70000400A0E184121FE51CC084E5CFFDFFEB09
-:105D80008C021FE5003090E50820D3E5010052E3C6
-:105D90007300000A202094E5A0321FE5182083E557
-:105DA0008BFFFFEAB600DAE1E7F6FFEB74FEFFEAED
-:105DB0000030A0E3B030C2E18EFDFFEB52FEFFEAFF
-:105DC000C0FFFF1AC33BA0E3053D83E2030051E19E
-:105DD000BCFFFF9AA7FFFFEADC321FE52A60D3E58C
-:105DE00029E0D3E528608DE52DC0D3E520C08DE501
-:105DF0002E00D3E51C008DE5F8221FE52B60D3E5CE
-:105E00000150D2E50540D2E50000D2E50410D2E50C
-:105E100024608DE502C0D2E52FA0D3E510C08DE54A
-:105E200028C09DE50660D2E50CE48EE10C608DE5AE
-:105E30001CC09DE520609DE50C6486E118608DE541
-:105E4000041481E13040D3E514408DE50760D2E5CC
-:105E500008608DE524C09DE52C40D3E510609DE5EC
-:105E600018309DE50CE88EE1050480E10CC09DE54D
-:105E70000350D2E5060880E10A2883E108609DE529
-:105E8000043C8EE114409DE50C1881E188A31FE5D8
-:105E9000042C82E1061C81E198308BE594831FE598
-:105EA0009C208BE5B8108BE506009AE805EC80E1B4
-:105EB000B4E08BE50B00A0E1060088E890FDFFEB65
-:105EC00066FFFFEAB8331FE505E0D3E50D00D3E533
-:105ED0000410D3E50C20D3E50640D3E50E50D3E5FE
-:105EE0000E1481E1002482E10FE0D3E50700D3E541
-:105EF000041881E1052882E1003C81E10E2C82E159
-:105F00000600A0E1B43086E5B82086E57CFDFFEB15
-:105F10007DFFFFEA08341FE501E0D3E50900D3E582
-:105F20000010D3E50820D3E50240D3E50A50D3E5BD
-:105F30000E1481E1002482E10BE0D3E50300D3E5F8
-:105F4000041881E1052882E1003C81E10E2C82E108
-:105F50000600A0E1B43086E5B82086E568FDFFEBD9
-:105F60007AFFFFEA58341FE51110D3E51020D3E57E
-:105F700012E0D3E51300D3E5012482E10E2882E18B
-:105F8000003C82E1243084E50400A0E127FDFFEB22
-:105F90007FFFFFEAF0402DE90060A0E10150A0E1A1
-:105FA0000240A0E10070A0E3001095E5000096E536
-:105FB000333800EB000084E5040096E5041095E515
-:105FC0002F3800EB017087E2020057E3040084E5FC
-:105FD000086086E2085085E2084084E2F1FFFF1A7B
-:105FE000F040BDE81EFF2FE1F04F2DE9000053E324
-:105FF0000CD04DE20080A0C300308DE508008DE597
-:1060000004108DE502B0A0E130A09DE50890A0C18C
-:10601000130000DA00005AE30C0000DA08309DE5B6
-:10602000036098E704309DE50B7098E7035098E70C
-:106030000040A0E3040196E7041195E7103800EB57
-:10604000040187E7014084E204005AE1F8FFFF1AE7
-:1060500000309DE5019089E2090053E1048088E267
-:10606000EBFFFF1A0CD08DE2F04FBDE81EFF2FE1D1
-:10607000F0452DE900A053E20080A0E10170A0E10D
-:106080000260A0E1090000DA0050A0E30540A0E1B1
-:10609000080094E7071094E7F93700EB015085E218
-:1060A00005005AE1060084E7044084E2F7FFFF1A86
-:1060B000F045BDE81EFF2FE170402DE90040A0E152
-:1060C0000160A0E1000090E5001091E50250A0E120
-:1060D000EB3700EB000085E5040094E5041096E53D
-:1060E000E73700EB040085E57040BDE81EFF2FE1B7
-:1060F000F0402DE90060A0E10150A0E10240A0E1E4
-:106100000070A0E3001095E5000096E5DB3700EB9A
-:10611000000084E5040096E5041095E5D73700EB10
-:10612000017087E2020057E3040084E5086086E21C
-:10613000085085E2084084E2F1FFFF1AF040BDE814
-:106140001EFF2FE1F04F2DE9000053E30CD04DE28C
-:106150000080A0C300308DE508008DE504108DE5BA
-:1061600002B0A0E130A09DE50890A0C1130000DAC4
-:1061700000005AE30C0000DA08309DE5036098E760
-:1061800004309DE50B7098E7035098E70040A0E3CA
-:10619000040196E7041195E7B83700EB040187E79F
-:1061A000014084E204005AE1F8FFFF1A00309DE547
-:1061B000019089E2090053E1048088E2EBFFFF1AB5
-:1061C0000CD08DE2F04FBDE81EFF2FE1F0452DE928
-:1061D00000A053E20080A0E10170A0E10260A0E114
-:1061E000090000DA0050A0E30540A0E1080094E7B0
-:1061F000071094E7A13700EB015085E205005AE152
-:10620000060084E7044084E2F7FFFF1AF045BDE88A
-:106210001EFF2FE170402DE90040A0E10160A0E1E8
-:10622000000090E5001091E50250A0E1933700EBEB
-:10623000000085E5040094E5041096E58F3700EB37
-:10624000040085E57040BDE81EFF2FE170402DE998
-:10625000005051E20060A0E10040A0C30200A0E1B4
-:106260000E0000DA000050E3090000DA00C0A0E3ED
-:10627000041196E70CE0A0E101309CE701E08EE21A
-:10628000022183E20E0050E101208CE704C08CE281
-:10629000F8FFFF1A014084E2040055E1F0FFFF1A05
-:1062A0007040BDE81EFF2FE1F04F2DE910D04DE208
-:1062B00038C09DE500005CE304208DE50020A0C30C
-:1062C00008008DE501A0A0E100308DE534B09DE52A
-:1062D0000C208DC5250000DA00309DE5000053E359
-:1062E0001C0000DA0CC09DE50080A0E30C71A0E169
-:1062F0000890A0E100005BE30050A0D30E0000DA9C
-:1063000008309DE5036098E70050A0E30040A0E35B
-:1063100004319AE7040196E7071093E7003800EB91
-:106320000010A0E10500A0E1553700EB014084E238
-:1063300004005BE10050A0E1F4FFFF1A04109DE8A7
-:1063400008309CE7019089E2090052E1075083E799
-:10635000048088E2E6FFFF1A0CC09DE538209DE529
-:1063600001C08CE20C0052E10CC08DE5D9FFFF1A90
-:1063700010D08DE2F04FBDE81EFF2FE1F04F2DE968
-:1063800000B0A0E10290A0E10180A0E100A0A0E3A4
-:106390000B50A0E10A7189E00060A0E3000095E5E0
-:1063A000001098E5DE3700EB0010A0E3343700EB77
-:1063B000081098E50040A0E1040095E5D83700EB0F
-:1063C0000410A0E12E3700EB016086E2020056E3E4
-:1063D000080087E4085085E2EFFFFF1A01A08AE277
-:1063E00002005AE3048088E2E8FFFF1AF04FBDE89C
-:1063F0001EFF2FE1F04F2DE9000053E30CD04DE2DA
-:106400000090A0C300308DE508008DE50180A0E17B
-:1064100004208DE530A09DE509B0A0C1190000DA87
-:1064200000005AE30060A0D30F0000DA08309DE5B9
-:106430000050A0E3037099E70060A0E30540A0E1ED
-:10644000081094E7070094E7B53700EB0010A0E1CF
-:106450000600A0E10A3700EB015085E205005AE191
-:106460000060A0E1044084E2F4FFFF1A00309DE5E3
-:1064700001B08BE20B0053E104309DE5036089E736
-:10648000049089E2E5FFFF1A0CD08DE2F04FBDE8E1
-:106490001EFF2FE1F0412DE90170A0E10280A0E193
-:1064A0000050A0E10060A0E3000095E5001097E532
-:1064B0009B3700EB0010A0E3F13600EB041097E5EA
-:1064C0000040A0E1040095E5953700EB0410A0E141
-:1064D000EB3600EB080086E7046086E2080056E32E
-:1064E000085085E2EFFFFF1AF041BDE81EFF2FE1E3
-:1064F000F0412DE9007052E20080A0E10150A0E1DE
-:106500000340A0E10060A0C30F0000DA000054E3E4
-:106510000A0000DA00C0A0E3060198E70611A0E136
-:106520000CE0A0E105209CE700309CE701E08EE252
-:106530000E0054E1013082E704C08CE2F8FFFF1A3C
-:10654000016086E2060057E1EFFFFF1AF041BDE867
-:106550001EFF2FE1F04F2DE9200490E8004095E563
-:1065600004D04DE2087090E500108DE50400A0E134
-:1065700004109AE56A3700EB081097E5683700EBDE
-:1065800008B09AE50060A0E10B10A0E10400A0E1D2
-:10659000633700EB041097E5613700EB0010A0E1D2
-:1065A0000600A0E1B53600EB00609AE5049095E5A1
-:1065B0000040A0E10910A0E10600A0E1583700EB7F
-:1065C0000010A0E1080097E5553700EB0010A0E1AE
-:1065D0000400A0E1A93600EB088095E50040A0E1A9
-:1065E0000810A0E10600A0E14D3700EB0010A0E18B
-:1065F000040097E54A3700EB0010A0E10400A0E199
-:106600009F3600EB006097E50040A0E10610A0E196
-:106610000900A0E1423700EB0010A0E10B00A0E16F
-:106620003F3700EB0010A0E10400A0E1943600EB3E
-:106630000610A0E10040A0E10800A0E1383700EB1F
-:106640000010A0E104009AE5353700EB0010A0E14E
-:106650000400A0E1893600EB081097E50080A0E176
-:1066600004009AE52E3700EB041097E50040A0E106
-:106670000B00A0E12A3700EB0010A0E10400A0E12C
-:106680007E3600EB0810A0E18B3700EB00309DE573
-:10669000006093E5000086E5043095E5081097E575
-:1066A000020183E21E3700EB041097E50040A0E1F1
-:1066B000080095E51A3700EB0010A0E10400A0E106
-:1066C0006F3600EB0810A0E17B3700EB040086E595
-:1066D00008109AE5040095E5113700EB04109AE5DF
-:1066E0000040A0E1080095E50D3700EB0010A0E1A7
-:1066F0000400A0E1613600EB0810A0E16E3700EB6A
-:10670000080086E500309AE5081097E5020183E26B
-:10671000033700EB001097E50040A0E108009AE580
-:10672000FF3600EB0010A0E10400A0E1543600EBBE
-:106730000810A0E1603700EB00309DE5046093E5B0
-:10674000000086E5081097E5000095E5F43600EBBB
-:10675000001097E50040A0E1080095E5F03600EB59
-:106760000010A0E10400A0E1443600EB0810A0E115
-:10677000513700EB040086E5003095E508109AE5F6
-:10678000020183E2E63600EB00109AE50040A0E14A
-:10679000080095E5E23600EB0010A0E10400A0E15E
-:1067A000373600EB0810A0E1433700EB080086E520
-:1067B000041097E500009AE5D93600EB001097E544
-:1067C0000040A0E104009AE5D53600EB0010A0E1FE
-:1067D0000400A0E1293600EB0810A0E1363700EBF9
-:1067E00000309DE5086093E5000086E5003095E502
-:1067F000041097E5020183E2C93600EB001097E52B
-:106800000040A0E1040095E5C53600EB0010A0E1D2
-:106810000400A0E11A3600EB0810A0E1263700EBD7
-:10682000040086E504109AE5000095E5BC3600EB0F
-:1068300000109AE50040A0E1040095E5B83600EBB1
-:106840000010A0E10400A0E10C3600EB0810A0E16C
-:10685000193700EB080086E504D08DE2F04FBDE863
-:106860001EFF2FE1F0402DE90C7090E50040A0E103
-:106870000160A0E10700A0E1001094E5A83600EB5C
-:10688000081094E50050A0E1040094E5A43600EB64
-:106890000010A0E10500A0E1F83500EB0050A0E1F8
-:1068A0000510A0E10700A0E1033700EB000086E53A
-:1068B000043094E50510A0E1020183E2FE3600EB0E
-:1068C000040086E5083094E50510A0E1020183E2AA
-:1068D000F93600EB080086E50510A0E1000094E51C
-:1068E000F53600EB086086E2040086E5F040BDE87E
-:1068F0001EFF2FE1F04F2DE900A052E20CD04DE237
-:106900000040A0C300108DE5FE05A0D30450A0C137
-:106910003F0000DA00309DE50010A0E303E094E7BB
-:1069200001C0A0E1003091E701C08CE2042093E7B0
-:106930000C005AE10E2081E7041081E2F8FFFF1AF3
-:10694000015085E205005AE1044084E2F0FFFF1A9D
-:106950000020A0E304208DE508208DE50C009DE8D3
-:10696000028093E70090A0E303B088E00C009DE86C
-:10697000096192E700109BE5030096E7CE3600EB35
-:1069800008209DE5090052E10070A0E10C00000A1A
-:106990000050A0E30540A0E1081094E7060094E74A
-:1069A000B63500EB0010A0E10700A0E15C3600EB7B
-:1069B000015085E205005AE1060084E7044084E2C4
-:1069C000F4FFFF1A019089E209005AE1E6FFFF1A7D
-:1069D0000C009DE9013083E2042082E203005AE1C9
-:1069E0000C008DE9DCFFFF1A0050A0E3FE05A0E3D8
-:1069F0000540A0E100209DE5023094E7015085E2CA
-:106A0000041093E7463600EB05005AE1044084E2A7
-:106A1000F7FFFF1A0CD08DE2F04FBDE81EFF2FE10B
-:106A2000F0472DE900A052E20190A0E11D0000DA3C
-:106A3000018043E220309DE50060A0E30050A0E12A
-:106A4000014043E20670A0E101004AE2060058E17D
-:106A50001000000A000050E30D0000DA00E0A0E39F
-:106A6000071199E7002095E50EC0A0E10E0054E162
-:106A70000C3082E0043093D50C3092C701E08EE2F6
-:106A80000C3081C70C3081D700005EE104C08CE27D
-:106A9000F5FFFF1A017087E2016086E206005AE105
-:106AA000045085E2E8FFFF1AF047BDE81EFF2FE122
-:106AB000F04F2DE918D04DE23CB09DE508108DE572
-:106AC0000280A0E10310A0E10B20A0E10390A0E16F
-:106AD0000C008DE586FFFFEB00005BE301204BC25D
-:106AE00014008DE50030A0C304208DC52A0000DA13
-:106AF00008609DE50370A0E101A083E20050A0E3DF
-:106B00000331A0E110308DE5090000EA004096E570
-:106B100077FFFFEB14109DE5673600EB10309DE525
-:106B200005005BE1040083E7017087E2046086E210
-:106B30001600000A0C009DE50810A0E10B20A0E162
-:106B4000015085E20A30A0E100508DE5B3FFFFEB74
-:106B5000010017E30910A0E104209DE50800A0E171
-:106B6000E9FFFF0A004096E561FFFFEB14109DE589
-:106B7000020180E2503600EB10209DE505005BE14C
-:106B8000040082E7017087E2046086E2E8FFFF1AF2
-:106B90000A0055E10A30A011D4FFFF1A18D08DE287
-:106BA000F04FBDE81EFF2FE1F0452DE90070A0E198
-:106BB0000180A0E102A0A0E10060A0E30050A0E3FA
-:106BC0000040A0E3073094E7080094E7061093E73D
-:106BD000D33500EB0010A0E10500A0E1283500EB63
-:106BE000044084E20C0054E30050A0E1F4FFFF1ADB
-:106BF0000A0086E7046086E20C0056E3EEFFFF1A07
-:106C00000050A0E30C4044E2081094E70A0094E727
-:106C1000C33500EB0010A0E10500A0E1183500EB42
-:106C2000044084E20C0054E30050A0E1F5FFFF1A99
-:106C3000F045BDE81EFF2FE170402DE90050A0E1B6
-:106C40000160A0E10040A0E3050094E70610A0E188
-:106C5000193600EB050084E7044084E20C0054E39D
-:106C6000F8FFFF1A7040BDE81EFF2FE170402DE9CC
-:106C70000040A0E1000090E50260A0E10150A0E129
-:106C8000A73500EB000086E50500A0E1041094E5BF
-:106C9000A33500EB040086E57040BDE81EFF2FE140
-:106CA00070402DE9004090E50060A0E10010A0E3F5
-:106CB0000400A0E15A3600EB000050E30400A0E11C
-:106CC000110000BA0400A0E1043300EB54208FE26D
-:106CD0000C0092E80040A0E10150A0E1563400EB26
-:106CE000000050E33C208FE20C0092E80400A0E199
-:106CF0000510A0E1020000BA1E3200EBB53400EB33
-:106D0000000086E57040BDE81EFF2FE1F33200EB86
-:106D100010208FE20C0092E8173200EBAD3400EB4C
-:106D2000000086E5F6FFFFEAFB211940182D4454C8
-:106D300070402DE90060A0E1000090E5E73200EB33
-:106D400074208FE20C0092E80040A0E10150A0E125
-:106D50003B3400EB000050E364208FE20C0092E82B
-:106D60000400A0E10510A0E1040000AA023200EB3B
-:106D7000983400EB000086E57040BDE81EFF2FE16F
-:106D80000510A0E140208FE20C0092E80400A0E191
-:106D9000293400EB000050E324208FE20C0092E83D
-:106DA0000400A0E10510A0E1F2FFFFBAF13100EB11
-:106DB000883400EB000086E5EEFFFFEAFB2109C006
-:106DC000182D4454FB211940182D4454FB2109402F
-:106DD000182D44540DC0A0E110D82DE904B04CE2A8
-:106DE0000E32A0E3013983E20120A0E3002083E515
-:106DF000D4309FE5003093E5012083E2C8309FE561
-:106E0000002083E5C0309FE5003093E5FA0F53E39F
-:106E10001200001AB0209FE50030A0E3003082E5A8
-:106E2000A8309FE5B430D3E1013083E20338A0E11C
-:106E30002328A0E194309FE5B420C3E190309FE582
-:106E4000003093E50338A0E12328A0E17C309FE5E2
-:106E5000B221C3E178209FE50030A0E3003082E555
-:106E600070309FE50030D3E5FF3003E2090053E3C3
-:106E70000600008A5C309FE50030D3E5FF3003E276
-:106E8000013083E2FF3003E248209FE50030C2E595
-:106E900044309FE5060093E8FA3FA0E30040A0E3FA
-:106EA000013093E00240A4E02C209FE5180082E826
-:106EB0000030A0E3FD3E43E20020A0E3002083E594
-:106EC00010D04BE210689DE81EFF2FE194080040AF
-:106ED000A0130040880800408C080040580800407B
-:106EE0000DC0A0E100D82DE904B04CE20E32A0E3C1
-:106EF000023983E20120A0E3002083E50030A0E313
-:106F0000FD3E43E20020A0E3002083E50CD04BE2ED
-:106F100000689DE81EFF2FE10DC0A0E110D82DE90B
-:106F200004B04CE204D04DE2020300EB3D1500EB4F
-:106F3000AC229FE50030A0E3B430C2E1A4029FE59B
-:106F4000383700EB4D0400EB0030A0E198029FE5DC
-:106F50000310A0E1363700EB500400EB0030A0E155
-:106F600088029FE50310A0E1313700EB80329FE5F6
-:106F70000030D3E57C229FE50030C2E50100A0E3AC
-:106F80000110A0E32C0100EB82EBFFEB0000A0E37B
-:106F90004C0100EB1307A0E34B0C80E2400080E2C1
-:106FA00095F2FFEBA50000EBFFFFFFEA48329FE5FB
-:106FB0000030D3E5FF3003E2000053E3FAFFFF0A9D
-:106FC00038329FE5003093E5012083E22C329FE5C3
-:106FD000002083E528329FE5003093E5012083E21D
-:106FE0001C329FE5002083E514329FE5003093E5D5
-:106FF000640053E30200001A04229FE50030A0E37E
-:10700000003082E5FC319FE5002093E50230A0E1ED
-:107010008331A0E1033062E00331A0E1023083E07C
-:107020000340A0E10200A0E3451300EB0010A0E143
-:107030000120A0E10221A0E1012082E08220A0E164
-:10704000012082E08231A0E1033062E08331A0E1DF
-:10705000013083E00332A0E10320A0E1BE32A0E3CF
-:10706000263683E2633C83E2921383E0A334A0E1FB
-:10707000032084E090319FE5921383E02332A0E166
-:107080000320A0E17C319FE5002083E574319FE57A
-:10709000003093E50338A0E12328A0E140319FE5CB
-:1070A000B020C3E164319FE5003093E50338A0E1EF
-:1070B0002328A0E128319FE5B220C3E144319FE5B8
-:1070C000003093E514300BE514201BE5273CA0E3CA
-:1070D0000F3083E2030052E10F0000CA30319FE518
-:1070E000002093E51F3DA0E30F3083E2030052E14F
-:1070F000050000CA18319FE5003093E5012083E2C6
-:107100000C319FE5002083E5120000EA04319FE581
-:107110000120A0E30020C3E50E0000EAF0309FE567
-:10712000003093E50A0053E3050000DAE0309FE504
-:10713000003093E5052043E2D4309FE5002083E54D
-:10714000040000EACC309FE50020A0E30020C3E566
-:107150000000A0E3DB0000EBB8309FE50030D3E592
-:10716000000053E31000000A14301BE5233C43E207
-:10717000283043E2A0209FE59312C2E04221A0E123
-:10718000C33FA0E1022063E074309FE5003093E547
-:10719000030052E1020000AA0100A0E3C90000EBD5
-:1071A000010000EA0000A0E3C60000EB48309FE5C4
-:1071B0000030D3E5FF3003E2000053E30600000A8D
-:1071C00034309FE50030D3E5FF3003E2013043E285
-:1071D000FF3003E220209FE50030C2E50F0000EB06
-:1071E00071FFFFEAA0130040FC4C0100184D0100A4
-:1071F0003C4D0100A00800409C1300408C0800405A
-:1072000088080040A4080040AC08004089888888AD
-:10721000A808004008000040050000406766666658
-:107220000DC0A0E100D82DE904B04CE25DECFFEB0D
-:10723000C5E4FFEB0CD04BE200689DE81EFF2FE198
-:107240000DC0A0E170D82DE904B04CE22CD04DE285
-:107250000030A0E30040A0E344300BE540400BE5E4
-:107260000030A0E33C300BE55A0000EA4B0EA0E3EF
-:10727000E1F1FFEBB4E4FFEBB4319FE5B032D3E1D1
-:107280000338A0E14338A0E10300A0E1883100EB1E
-:107290000030A0E10140A0E138300BE534400BE5BF
-:1072A0008C319FE5B232D3E10338A0E14338A0E14D
-:1072B0000300A0E17E3100EB0030A0E10140A0E13D
-:1072C00030300BE52C400BE564319FE5B432D3E15F
-:1072D0000338A0E14338A0E10300A0E1743100EBE2
-:1072E0000030A0E10140A0E128300BE524400BE58F
-:1072F00038004BE2030090E838204BE20C0092E8A3
-:10730000A63100EB0030A0E10140A0E10350A0E174
-:107310000460A0E130004BE2030090E830204BE233
-:107320000C0092E89D3100EB0030A0E10140A0E1AB
-:107330000500A0E10610A0E10320A0E10430A0E1D7
-:107340008D3000EB0030A0E10140A0E10350A0E14E
-:107350000460A0E128004BE2030090E828204BE203
-:107360000C0092E88D3100EB0030A0E10140A0E17B
-:107370000500A0E10610A0E10320A0E10430A0E197
-:107380007D3000EB0030A0E10140A0E10300A0E16E
-:107390000410A0E1293600EB0030A0E10140A0E19B
-:1073A00020300BE51C400BE544004BE2030090E865
-:1073B00020204BE20C0092E86F3000EB0030A0E19F
-:1073C0000140A0E144300BE540400BE53C301BE5BB
-:1073D000013083E23C300BE53C201BE51F3DA0E380
-:1073E0000F3083E2030052E19FFFFFDA44004BE2DB
-:1073F000030090E80121A0E39F2882E2012982E2B4
-:107400000030A0E3093200EB0030A0E10140A0E130
-:107410000300A0E10410A0E1EE3200EB0020A0E1A7
-:1074200010309FE5002083E518D04BE270689DE89E
-:107430001EFF2FE1340B0040681300400DC0A0E197
-:1074400000D82DE904B04CE208D04DE20030A0E1B4
-:107450000120A0E110304BE50230A0E114304BE5F3
-:1074600010305BE5010053E31300008A14305BE544
-:10747000000053E30800001A0E22A0E30A2982E26A
-:10748000142082E210305BE5181083E20130A0E3A3
-:107490001331A0E1003082E5070000EA0E22A0E3EC
-:1074A0000A2982E21C2082E210305BE5181083E298
-:1074B0000130A0E31331A0E1003082E50CD04BE2B3
-:1074C00000689DE81EFF2FE10DC0A0E100D82DE966
-:1074D00004B04CE204D04DE20030A0E110304BE5A6
-:1074E00010305BE5000053E30500000A0E32A0E314
-:1074F0000A3983E2143083E20228A0E3002083E506
-:10750000040000EA0E32A0E30A3983E21C3083E271
-:107510000228A0E3002083E50CD04BE200689DE840
-:107520001EFF2FE10DC0A0E100D82DE904B04CE210
-:107530002CD04DE234000BE538100BE50030A0E311
-:10754000FF3E43E2003093E510300BE5FE3EE0E302
-:107550000B3043E210201BE5002083E53230A0E32E
-:1075600024300BE50E30A0E320300BE50E30A0E315
-:107570001C300BE5E0209FE53A31E0E3003082E586
-:10758000D4309FE500C093E524304BE230204BE23D
-:107590000300A0E10210A0E10FE0A0E11CFF2FE139
-:1075A0003430A0E324300BE50E30A0E320300BE5AF
-:1075B0000E30A0E31C300BE5EA3CA0E3603083E230
-:1075C00018300BE590209FE53A31E0E3003082E58A
-:1075D00084309FE500C093E524304BE230204BE23D
-:1075E0000300A0E10210A0E10FE0A0E11CFF2FE1E9
-:1075F0003530A0E324300BE50E30A0E320300BE55E
-:107600000E30A0E31C300BE54C209FE53A31E0E35F
-:10761000003082E540309FE500C093E524304BE226
-:1076200030204BE20300A0E10210A0E10FE0A0E156
-:107630001CFF2FE10030A0E3FF3E43E210201BE5DA
-:10764000002083E530201BE538301BE5002083E572
-:107650000CD04BE200689DE81EFF2FE1181400409B
-:107660000DC0A0E100D82DE904B04CE24FDF4DE29F
-:1076700044010BE548110BE5DC0000EB0030A0E114
-:1076800020300BE520301BE5010073E30400001AF5
-:1076900048211BE57D3FA0E3013083E2003082E515
-:1076A000730000EA0030A0E314300BE50A0000EAA2
-:1076B00014201BE5BB34A0E3433BA0E10C104BE2DC
-:1076C000022081E0032082E00030E0E30030C2E5E8
-:1076D00014301BE5013083E214300BE514301BE558
-:1076E000FF0053E3F1FFFF9A123E4BE218300BE527
-:1076F00044311BE51C300BE50030A0E314300BE5F2
-:107700000E0000EA14301BE50331A0E10320A0E1E4
-:1077100018301BE5031082E014301BE50331A0E1B3
-:107720000320A0E11C301BE5033082E0003093E52C
-:10773000003081E514301BE5013083E214300BE5A5
-:1077400014301BE5400053E3EDFFFF1A0030A0E3C7
-:10775000FF3E43E2003093E510300BE5FE3EE0E3F0
-:107760000B3043E210201BE5002083E53230A0E31C
-:1077700034310BE50E30A0E330310BE50E30A0E3E1
-:107780002C310BE5F4209FE53A31E0E3003082E54F
-:10779000E8309FE500C093E54D3F4BE2052D4BE2FD
-:1077A0000300A0E10210A0E10FE0A0E11CFF2FE127
-:1077B0003330A0E334310BE520301BE5FF30C3E369
-:1077C00030310BE5123E4BE22C310BE5013CA0E3DE
-:1077D00028310BE5EA3CA0E3603083E224310BE57D
-:1077E00098209FE53A31E0E3003082E58C309FE558
-:1077F00000C093E54D3F4BE2052D4BE20300A0E1B5
-:107800000210A0E10FE0A0E11CFF2FE13830A0E35F
-:1078100034310BE51C301BE530310BE520301BE526
-:107820002C310BE5013CA0E328310BE54C209FE512
-:107830003A31E0E3003082E540309FE500C093E557
-:107840004D3F4BE2052D4BE20300A0E10210A0E109
-:107850000FE0A0E11CFF2FE10030A0E3FF3E43E278
-:1078600010201BE5002083E540211BE548311BE586
-:10787000002083E50CD04BE200689DE81EFF2FE15D
-:10788000181400400DC0A0E100D82DE904B04CE26E
-:107890000CD04DE214000BE518100BE5530000EB83
-:1078A0000030A0E110300BE510301BE50E0953E36A
-:1078B0000300001A18201BE57D3FA0E3003082E59D
-:1078C000100000EA18301BE50020A0E3002083E54B
-:1078D00010301BE5010073E30500001A18301BE5AA
-:1078E000042083E2FF3BA0E3033C83E2003082E517
-:1078F000040000EA18301BE5042083E210301BE589
-:10790000013C43E2003082E50CD04BE200689DE888
-:107910001EFF2FE10DC0A0E100D82DE904B04CE21C
-:1079200008D04DE210000BE514100BE510301BE5FC
-:10793000800053E30400009A14201BE57D3FA0E380
-:10794000023083E2003082E5080000EA14201BE5E3
-:107950000030A0E3003082E514301BE5042083E210
-:1079600010301BE50334A0E10E3983E2003082E5DC
-:107970000CD04BE200689DE81EFF2FE10DC0A0E196
-:1079800000D82DE904B04CE20CD04DE214000BE518
-:1079900018100BE518201BE50030A0E3003082E54D
-:1079A000120000EB0030A0E110300BE510301BE5B9
-:1079B000010073E30100001A0137A0E310300BE56A
-:1079C00018301BE5041083E210301BE50E3943E24A
-:1079D000FF2083E2000053E30230A0B14334A0E172
-:1079E000003081E50CD04BE200689DE81EFF2FE1DE
-:1079F0000DC0A0E100D82DE904B04CE218D04DE252
-:107A00000E39A0E320300BE520301BE50030D3E534
-:107A1000FF0053E30200001A20301BE524300BE581
-:107A20003F0000EA0137A0E318300BE518301BE5F2
-:107A3000013C43E20030D3E5AA0053E30200001A00
-:107A40000030E0E324300BE5350000EA18201BE5A8
-:107A500020301BE5023063E014300BE5FF30A0E37B
-:107A600010300BE5290000EA18201BE520301BE54B
-:107A7000033082E0A330A0E11C300BE51C201BE5A5
-:107A800010301BE5033002E0000053E31300000A4E
-:107A900018301BE5013C43E20030D3E5FF0053E31F
-:107AA0000300001A18301BE5013C43E218300BE5D7
-:107AB000020000EA20301BE5013C83E220300BE5A8
-:107AC00018201BE520301BE5033082E0A330A0E145
-:107AD0001C300BE514301BE5013C43E214300BE590
-:107AE0001C301BE50030D3E5FF0053E30200001A11
-:107AF0001C301BE518300BE5010000EA1C301BE5CB
-:107B000020300BE514301BE5A330A0E114300BE569
-:107B100014301BE5010C53E3D2FFFF1A18301BE5AC
-:107B200024300BE524301BE50300A0E10CD04BE230
-:107B300000689DE81EFF2FE10DC0A0E100D82DE9EF
-:107B400004B04CE20E32A0E37F3983E20020A0E3D0
-:107B5000002083E54E32A0E37F3983E20320A0E3D7
-:107B6000002083E50E32A0E37F3983E20220A0E308
-:107B7000002083E50E32A0E37F3983E2013C83E2FB
-:107B80000120A0E3002083E51C0100EB2B0100EBAA
-:107B90003E0000EBE10CA0E3FC0400EBE10CA0E3F1
-:107BA000220B00EBE00000EBED0000EB610000EBCE
-:107BB0008A0000EBAF0000EB3D09A0E3090D80E275
-:107BC0003D1000EB020000EB0CD04BE200689DE89A
-:107BD0001EFF2FE10DC0A0E100D82DE904B04CE25A
-:107BE000AA1200EB0400A0E38C109FE5D81200EB72
-:107BF0000500A0E384109FE5D51200EB0700A0E389
-:107C00007C109FE5D21200EB4E32A0E3013883E2F4
-:107C10000320A0E3002083E50600A0E364109FE5B5
-:107C2000CB1200EB0339A0E34E3283E20320A0E342
-:107C3000002083E50B00A0E34C109FE5C41200EB8D
-:107C40000E32A0E31A3983E2143083E20D20A0E360
-:107C5000002083E54E22A0E31A2982E24E32A0E3FF
-:107C60001A3983E2003093E5023083E3003082E585
-:107C70000CD04BE200689DE81EFF2FE1D46D0000A0
-:107C8000E06E0000E0A200008081000088BF0000DC
-:107C90000DC0A0E100D82DE904B04CE20E32A0E303
-:107CA0000B3983E284209FE5002083E54E32A0E378
-:107CB0000B3983E278209FE5002083E50E32A0E3B4
-:107CC0000B3983E2143083E20420A0E3002083E533
-:107CD0008E22A0E30A2982E2C239A0E3D23D83E2E8
-:107CE000003082E54E32A0E30A3983E2222DA0E380
-:107CF000002083E50E22A0E30A2982E2182082E216
-:107D00000334A0E3033883E2003082E50E22A0E3CF
-:107D10000A2982E2142082E20134A0E3013883E2DE
-:107D2000003082E50CD04BE200689DE81EFF2FE199
-:107D30005515C530A80604150DC0A0E110D82DE9D1
-:107D400004B04CE20139A0E38E3283E20020A0E3CC
-:107D5000002083E50139A0E34E3283E20020A0E356
-:107D6000002083E50E32A0E3013983E2143083E280
-:107D70000320A0E3002083E50139A0E3CE3283E2B3
-:107D80000020A0E3002083E50E32A0E3013983E266
-:107D9000103083E20020A0E3002083E50E42A0E340
-:107DA000014984E2184084E2BC0000EB0020A0E11D
-:107DB00024309FE5921383E02333A0E1003084E573
-:107DC0000139A0E34E3283E20120A0E3002083E5E5
-:107DD00010D04BE210689DE81EFF2FE1D34D6210DA
-:107DE0000DC0A0E110D82DE904B04CE20239A0E3A7
-:107DF0008E3283E20020A0E3002083E50239A0E375
-:107E00004E3283E20020A0E3002083E50E32A0E39F
-:107E1000023983E2143083E20320A0E3002083E5EB
-:107E20000239A0E3CE3283E20020A0E3002083E504
-:107E30000E32A0E3023983E2103083E20020A0E397
-:107E4000002083E50E42A0E3024984E2184084E268
-:107E50008A0000EB0030A0E1003084E50239A0E3A5
-:107E60004E3283E20120A0E3002083E510D04BE2F4
-:107E700010689DE81EFF2FE10DC0A0E100D82DE99C
-:107E800004B04CE24E32A0E3053983E20220A0E3C5
-:107E9000002083E5CE32A0E3053983E20020A0E391
-:107EA000002083E50E32A0E3053983E2143083E23B
-:107EB0000220A0E3002083E50E32A0E3053983E22F
-:107EC000183083E21228A0E3002083E50E22A0E30D
-:107ED000052982E2442082E2563BA0E3653F83E22B
-:107EE000023083E2003082E50E32A0E3053983E2FE
-:107EF000503083E22020A0E3002083E50E32A0E38F
-:107F0000053983E24C3083E27E2CA0E3002083E538
-:107F10004E32A0E3053983E20920A0E3002083E587
-:107F20000CD04BE200689DE81EFF2FE10DC0A0E1E0
-:107F300000D82DE904B04CE2CE32A0E3023883E24F
-:107F40000420A0E3002083E50E32A0E3023883E2A0
-:107F50002020A0E3002083E50CD04BE200689DE8E0
-:107F60001EFF2FE10DC0A0E100D82DE904B04CE2C6
-:107F700004D04DE20E22A0E31A2982E2013BA0E3E5
-:107F80000F3083E2003082E50E32A0E31A3983E23B
-:107F9000103083E21B20A0E3002083E50030A0E343
-:107FA0000E304BE5060000EA8E32A0E31A3983E278
-:107FB000003093E50D304BE50E305BE5013083E298
-:107FC0000E304BE50E305BE5070053E3F5FFFF9AFB
-:107FD0000E32A0E31A3983E2143083E20020A0E3DA
-:107FE000002083E54E32A0E31A3983E20020A0E3AB
-:107FF000002083E50CD04BE200689DE81EFF2FE1D6
-:108000000DC0A0E100D82DE904B04CE20E32A0E38F
-:108010007F3983E2843083E22320A0E3002083E5DC
-:108020000E32A0E37F3983E2803083E20320A0E3B5
-:10803000002083E50CD04BE200689DE81EFF2FE195
-:108040000DC0A0E100D82DE904B04CE20E32A0E34F
-:108050007F3983E28C3083E2AA20A0E3002083E50D
-:108060000E32A0E37F3983E28C3083E25520A0E317
-:10807000002083E50CD04BE200689DE81EFF2FE155
-:108080000DC0A0E100D82DE904B04CE2E137A0E337
-:108090000300A0E10CD04BE200689DE81EFF2FE139
-:1080A0000DC0A0E100D82DE904B04CE208D04DE2AB
-:1080B0000E32A0E37F3983E2013C83E2003093E596
-:1080C000033003E214300BE514301BE5010053E3E9
-:1080D0000900000A14301BE5010053E30300003AD5
-:1080E00014301BE5020053E30600000A070000EA13
-:1080F0000430A0E310300BE5040000EA0130A0E3F7
-:1081000010300BE5010000EA0230A0E310300BE56F
-:10811000DAFFFFEB0030A0E10300A0E110101BE547
-:10812000C93200EB0030A0E10300A0E10CD04BE22B
-:1081300000689DE81EFF2FE10DC0A0E100D82DE9E9
-:1081400004B04CE208D04DE214000BE50030A0E38F
-:1081500010300BE5020000EA10301BE5013083E22D
-:1081600010300BE510201BE514301BE5030052E135
-:10817000F8FFFFBA0CD04BE200689DE81EFF2FE12C
-:108180000DC0A0E100D82DE904B04CE208D04DE2CA
-:108190000030A0E3BE304BE1A00000EAB0315BE16B
-:1081A000013C03E2000053E31E00000AA8229FE501
-:1081B0000130A0E30030C2E50E22A0E3032982E2F1
-:1081C000202082E20E32A0E3033983E2203083E2F2
-:1081D000003093E5013C83E3003082E50E22A0E30A
-:1081E000032982E2202082E20E32A0E3033983E2F7
-:1081F000203083E2003093E50130C3E3003082E5B4
-:108200000329A0E34E2282E20339A0E34E3283E247
-:10821000003093E5033CC3E3003082E538229FE55C
-:108220000030A0E30030C2E5B0315BE1023C03E284
-:10823000000053E30E00000A1C229FE50130A0E37A
-:108240000030C2E50E22A0E3032982E2202082E270
-:108250000E32A0E3033983E2203083E2003093E55D
-:10826000023C83E3003082E5EC219FE50030A0E38F
-:108270000030C2E5B0315BE10E3003E2023043E290
-:108280000A0053E303F19F975D0000EA708300004A
-:1082900004840000CC82000004840000B882000046
-:1082A00004840000048400000484000004840000AE
-:1082B00004840000CC8200000E32A0E3033983E284
-:1082C000143083E2003093E5540000EA8C319FE5DE
-:1082D0000120A0E30420C3E50E32A0E3033983E2CA
-:1082E000003093E5FF3003E211304BE56C019FE570
-:1082F000020100EB0030A0E1BE304BE160319FE5B0
-:10830000B030D3E1FE205BE10338A0E14338A0E1C7
-:10831000030052E1020000AA44219FE5BE305BE168
-:10832000B030C2E111305BE530019FE50310A0E100
-:108330006E0000EB0030A0E1000053E30700000AEC
-:108340000E32A0E3033983E2143083E2003093E578
-:10835000013003E2FF3003E2000053E3DDFFFF1AC8
-:10836000F8309FE50020A0E30420C3E52B0000EADD
-:108370000E32A0E30A3983E2003093E5013503E2CF
-:10838000000053E32500001AD8309FE50120A0E348
-:108390000420C3E50F0000EA11304BE2C4009FE562
-:1083A0000310A0E1AF0000EB0030A0E1000053E3B8
-:1083B0000400000A0E32A0E3033983E211205BE5DA
-:1083C000002083E5030000EA9C309FE50020A0E345
-:1083D0000020C3E5060000EA0E32A0E3033983E281
-:1083E000143083E2003093E5203003E2000053E3D1
-:1083F000E8FFFF1A6C309FE50020A0E30420C3E5EE
-:10840000060000EA0E32A0E3033983E2143083E26F
-:10841000003093E50E32A0E3033983E2003093E5A8
-:108420000339A0E38E3283E2003093E5B0314BE1B3
-:10843000B0315BE1013003E2000053E356FFFF0A75
-:108440000030A0E3FD3E43E20020A0E3002083E5EE
-:108450000CD04BE200689DE81EFF2FE1C4080040ED
-:10846000441B00400E00004028190040B0080040A6
-:108470000DC0A0E100D82DE904B04CE20CD04DE2D3
-:1084800010000BE514100BE518200BE510201BE580
-:1084900014301BE5003082E510201BE518301BE589
-:1084A000083082E510201BE50030A0E30C3082E5A7
-:1084B00010201BE50030A0E3103082E510201BE502
-:1084C0000030A0E3143082E518301BE5012043E2C0
-:1084D00010301BE5182083E510201BE50030A0E3D9
-:1084E0000430C2E50CD04BE200689DE81EFF2FE18E
-:1084F0000DC0A0E100D82DE904B04CE20CD04DE253
-:1085000010000BE50130A0E114304BE510301BE505
-:10851000103093E5012083E210301BE5183093E51D
-:10852000032002E010301BE5142083E510301BE52A
-:108530000C2093E510301BE5143093E5030052E165
-:108540000200001A0030A0E318300BE50C0000EA2E
-:1085500010301BE5002093E510301BE5103093E54B
-:10856000032082E014305BE50030C2E510301BE5EB
-:10857000142093E510301BE5102083E50130A0E3C3
-:1085800018300BE518301BE50300A0E10CD04BE2DE
-:1085900000689DE81EFF2FE10DC0A0E100D82DE985
-:1085A00004B04CE214D04DE214000BE518100BE5BA
-:1085B0001C200BE514001BE5500000EB0030A0E18F
-:1085C0000320A0E11C301BE5030052E10200008AF9
-:1085D0000030A0E320300BE51D0000EA18301BE559
-:1085E00010300BE5120000EA14301BE5002093E583
-:1085F00014301BE5103093E5032082E010301BE5BA
-:108600000030D3E50030C2E510301BE5013083E2D5
-:1086100010300BE514301BE5103093E5012083E2A8
-:1086200014301BE5183093E5032002E014301BE5FD
-:10863000102083E51C301BE5013043E21C300BE5C4
-:108640001C301BE5010073E3E6FFFF1A0130A0E3D5
-:1086500020300BE520301BE50300A0E10CD04BE2FD
-:1086600000689DE81EFF2FE10DC0A0E100D82DE9B4
-:1086700004B04CE20CD04DE210000BE514100BE5F9
-:1086800010301BE50C2093E510301BE5103093E50E
-:10869000030052E10200001A0030A0E318300BE59D
-:1086A000110000EA10301BE5002093E510301BE5B7
-:1086B0000C3093E5033082E00030D3E514201BE555
-:1086C0000030C2E510301BE50C3093E5012083E259
-:1086D00010301BE5183093E5032002E010301BE555
-:1086E0000C2083E50130A0E318300BE518301BE5C2
-:1086F0000300A0E10CD04BE200689DE81EFF2FE1D3
-:108700000DC0A0E100D82DE904B04CE204D04DE248
-:1087100010000BE510301BE50C3093E50338A0E1A9
-:108720002328A0E110301BE5103093E50338A0E1C9
-:108730002338A0E1023063E00338A0E12338A0E150
-:10874000013043E20338A0E12328A0E110301BE50B
-:10875000183093E50338A0E12338A0E1033002E0AC
-:108760000338A0E12338A0E10300A0E10CD04BE2E4
-:1087700000689DE81EFF2FE10DC0A0E100D82DE9A3
-:1087800004B04CE204D04DE210000BE510201BE5D4
-:108790000030A0E3103082E510201BE50030A0E39C
-:1087A0000C3082E50CD04BE200689DE81EFF2FE103
-:1087B0000DC0A0E100D82DE904B04CE208D04DE294
-:1087C0000030A0E114100BE510304BE5CC309FE5F4
-:1087D000002093E5C8109FE50400A0E30230A0E16B
-:1087E0008330A0E1023083E00331A0E1013083E077
-:1087F000002083E014301BE5003082E59C309FE5CB
-:10880000002093E598109FE50230A0E18330A0E1BD
-:10881000023083E00331A0E1012083E010305BE50A
-:108820000030C2E574309FE5002093E570109FE5AD
-:108830000800A0E30230A0E18330A0E1023083E031
-:108840000331A0E1013083E0002083E00030A0E3A9
-:108850000030C2E544309FE5003093E5012083E21B
-:1088600038309FE5002083E530309FE5002093E518
-:108870000230A0E18330A0E1023083E00331A0E1C7
-:108880000320A0E118309FE50C3043E2033082E082
-:108890000300A0E10CD04BE200689DE81EFF2FE131
-:1088A000C0080040201400400DC0A0E100D82DE910
-:1088B00004B04CE208D04DE20030A0E310300BE5EC
-:1088C0000030A0E311304BE5E8349FE50430D3E5F8
-:1088D000FF3003E2010053E33301000A2B0100EAF9
-:1088E000D4349FE5003093E5000053E31B00001AE9
-:1088F00011305BE53E0053E30500001AB8349FE5F4
-:10890000003093E5012083E2AC349FE5002083E54D
-:10891000020000EAA0249FE50030A0E3003082E5D9
-:1089200098249FE50030A0E3003082E590249FE585
-:108930000030A0E3B030C2E188249FE588349FE591
-:10894000003082E584249FE50030A0E3003082E51A
-:108950007C249FE50030A0E30030C2E50B0100EA73
-:1089600054349FE5003093E5010053E30C00001AF6
-:1089700011305BE52A0053E30500001A38349FE507
-:10898000003093E5012083E22C349FE5002083E54D
-:10899000FE0000EA20249FE50030A0E3003082E5DD
-:1089A000FA0000EA10349FE5003093E5020053E33B
-:1089B0000C00001A11305BE53E0053E30500001A7D
-:1089C000F4339FE5003093E5012083E2E8339FE52F
-:1089D000002083E5ED0000EADC239FE50030A0E302
-:1089E000003082E5E90000EACC339FE5003093E5F2
-:1089F000030053E30900001A11305BE50320A0E1F6
-:108A0000C8339FE5002083E5AC339FE5003093E554
-:108A1000012083E2A0339FE5002083E5DB0000EA2C
-:108A200094339FE5003093E5040053E31400001AEB
-:108A300011305BE59C239FE50030C2E58C339FE558
-:108A4000003093E5000053E3030000CA68239FE56C
-:108A50000030A0E3003082E5CC0000EA6C339FE5F3
-:108A6000002093E554339FE5002083E548339FE5DC
-:108A7000003093E5012083E23C339FE5002083E54D
-:108A8000C20000EA30339FE5003093E5050053E370
-:108A90000800001A11305BE534239FE50030C2E581
-:108AA00014339FE5003093E5012083E208339FE50E
-:108AB000002083E5B50000EAFC329FE5003093E535
-:108AC000060053E31600001A00339FE5002093E5EB
-:108AD000E8329FE5003093E5021063E011305BE57A
-:108AE000E4229FE50130C2E7D0329FE5003093E5F4
-:108AF000012043E2C4329FE5002083E5BC329FE5BC
-:108B0000003093E5000053E3A000001AA8329FE56F
-:108B1000003093E5012083E29C329FE5002083E54D
-:108B20009A0000EA90329FE5003093E5070053E396
-:108B30000900001A11305BE50320A0E180329FE5B7
-:108B4000B020C3E170329FE5003093E5012083E25D
-:108B500064329FE5002083E58C0000EA58329FE5EF
-:108B6000003093E5080053E38500001A11305BE5FF
-:108B70000334A0E10338A0E12328A0E140329FE5BF
-:108B8000B030D3E1033082E10338A0E12338A0E123
-:108B90000338A0E12328A0E124329FE5B020C3E1FF
-:108BA00034329FE5003093E5012083E228329FE5CF
-:108BB000002083E51C029FE50110A0E3FF20A0E355
-:108BC0006A0200EB0030A0E10320A0E10C329FE537
-:108BD000B020C3E104329FE5B030D3E1F0019FE55E
-:108BE0000110A0E30320A0E1600200EB0030A0E14F
-:108BF0000320A0E1E4319FE5B020C3E1CC319FE543
-:108C0000003093E50338A0E12338A0E10320A0E180
-:108C1000C8319FE5B030D3E1AC019FE50210A0E17F
-:108C20000320A0E1510200EB0030A0E10320A0E10D
-:108C3000A8319FE5B020C3E184319FE5B020D3E1A6
-:108C400098319FE5B030D3E1030052E14800001AAB
-:108C50008C319FE5003093E5012083E280319FE570
-:108C6000002083E50030A0E310300BE53B0000EA74
-:108C700010201BE56C119FE50230A0E18330A0E1DC
-:108C8000023083E00331A0E1013083E00020D3E52E
-:108C900040319FE50030D3E5030052E12C00001A7B
-:108CA00010201BE53C119FE50400A0E30230A0E189
-:108CB0008330A0E1023083E00331A0E1013083E0A2
-:108CC000003083E0002093E500319FE5003093E51C
-:108CD0000310A0E1F0309FE501C0A0E10200A0E197
-:108CE0000310A0E10C20A0E1DA2F00EB10201BE51F
-:108CF000F0109FE50800A0E30230A0E18330A0E17E
-:108D0000023083E00331A0E1013083E0002083E002
-:108D10000130A0E30030C2E5B4309FE50030D3E578
-:108D2000013003E2FF3003E2000053E31000000AC9
-:108D30009C309FE50030D3E5AC209FE50030C2E5D4
-:108D40000000A0E3A0109FE50120A0E3280000EBB5
-:108D5000070000EA10301BE5013083E210300BE51C
-:108D600088309FE5002093E510301BE5020053E1B9
-:108D7000BEFFFF3A40209FE50030A0E3003082E5CF
-:108D8000020000EA30209FE50030A0E3003082E5D9
-:108D900011304BE21C009FE50310A0E131FEFFEB18
-:108DA0000030A0E1000053E3CCFEFF1A0CD04BE2F0
-:108DB00000689DE81EFF2FE1441B0040C8080040EA
-:108DC000D0080040CC080040241900402017004083
-:108DD000D4080040D8080040D9080040B808004036
-:108DE000CE080040BC08004020140040C5080040E8
-:108DF000C00800400DC0A0E100D82DE904B04CE24D
-:108E000014D04DE20030A0E11C100BE518304BE50A
-:108E10000230A0E120304BE50030A0E3B2314BE15D
-:108E20000030A0E310300BE5D0209FE520305BE55B
-:108E30000230C2E518305BE5C0209FE50330C2E593
-:108E400018304BE20300A0E10110A0E3FF20A0E3F3
-:108E5000C60100EB0030A0E1B2314BE120205BE520
-:108E6000B2315BE11C001BE50210A0E10320A0E190
-:108E7000BE0100EB0030A0E1B2314BE10130A0E3D4
-:108E800010300BE574009FE50410A0E31C0000EB1C
-:108E90000030A0E10320A0E110301BE5023003E028
-:108EA00010300BE520305BE51C001BE50310A0E152
-:108EB000130000EB0030A0E10320A0E110301BE51F
-:108EC000023003E010300BE512304BE20300A0E16A
-:108ED0000210A0E30A0000EB0030A0E10320A0E1B3
-:108EE00010301BE5023003E010300BE510301BE5BD
-:108EF0000300A0E10CD04BE200689DE81EFF2FE1CB
-:108F0000100000400DC0A0E100D82DE904B04CE2F3
-:108F10000CD04DE214000BE518100BE50030A0E377
-:108F20000F304BE55C009FE514101BE518201BE596
-:108F300098FDFFEB0030A0E10F304BE544009FE5CA
-:108F4000EEFDFFEB0030A0E1BE304BE138309FE595
-:108F5000B030D3E1FE205BE10338A0E14338A0E16B
-:108F6000030052E1020000AA1C209FE5BE305BE135
-:108F7000B030C2E10F305BE50300A0E10CD04BE262
-:108F800000689DE81EFF2FE1281900400C000040FA
-:108F90000DC0A0E100D82DE904B04CE208D04DE2AC
-:108FA00014000BE5650E00EB0020A0E198319FE571
-:108FB000002083E50329A0E34E2282E20339A0E3E7
-:108FC0004E3283E2003093E50130C3E3003082E5A6
-:108FD00074319FE5003093E50300A0E17C0E00EBC7
-:108FE000560E00EB0020A0E160319FE5002083E5F4
-:108FF0000329A0E34E2282E20339A0E34E3283E24A
-:10900000003093E50230C3E3003082E53C319FE558
-:10901000003093E50300A0E16D0E00EB1FFCFFEBB9
-:109020000020A0E114301BE50332A0E10200A0E122
-:109030000310A0E1042F00EB0030A0E110300BE59D
-:109040000339A0E3CE3283E28320A0E3002083E54E
-:109050000E32A0E3033983E210201BE5FF2002E279
-:10906000002083E50329A0E34E2282E210301BE5B5
-:109070002334A0E1FF3003E2003082E50329A0E3BE
-:10908000CE2282E20339A0E3CE3283E2003093E5C0
-:109090008030C3E3003082E50339A0E38E3283E2FF
-:1090A0008720A0E3002083E5A4009FE5A4109FE5AE
-:1090B000022CA0E3EDFCFFEB9C009FE59C109FE5DC
-:1090C000022CA0E3E9FCFFEB1C0E00EB0020A0E16A
-:1090D00074309FE5002083E50329A0E34E2282E25D
-:1090E0000339A0E34E3283E2003093E5013083E39D
-:1090F000003082E550309FE5003093E50300A0E1A9
-:10910000330E00EB0D0E00EB0020A0E13C309FE59C
-:10911000002083E50329A0E34E2282E20339A0E385
-:109120004E3283E2003093E5023083E3003082E583
-:1091300018309FE5003093E50300A0E1240E00EB1A
-:109140000CD04BE200689DE81EFF2FE12019004083
-:109150001C140040441B00404419004028190040E2
-:10916000601B00400DC0A0E100D82DE904B04CE226
-:109170000E32A0E3033983E2203083E2003093E52E
-:10918000013003E2FF3003E2000053E30B00001A5A
-:109190000E32A0E3033983E2203083E20520A0E30E
-:1091A000002083E50329A0E34E2282E20339A0E3F5
-:1091B0004E3283E2003093E5033C83E3003082E5E6
-:1091C0000CD04BE200689DE81EFF2FE10DC0A0E12E
-:1091D00000D82DE904B04CE20329A0E38E2282E2FC
-:1091E0000339A0E38E3283E2003093E5023083E35B
-:1091F000003082E50C009FE55EFDFFEB0CD04BE2FA
-:1092000000689DE81EFF2FE1441B00400DC0A0E157
-:1092100000D82DE904B04CE20329A0E38E2282E2BB
-:109220000339A0E38E3283E2003093E5043083E318
-:10923000003082E50CD04BE200689DE81EFF2FE174
-:109240000DC0A0E100D82DE904B04CE20E32A0E33D
-:10925000033983E2143083E2003093E5603003E2A7
-:10926000600053E30030A0130130A0030300A0E12D
-:109270000CD04BE200689DE81EFF2FE10DC0A0E17D
-:1092800000D82DE904B04CE204D04DE20030A0E15A
-:1092900010304BE50E32A0E3033983E2143083E251
-:1092A000003093E5203003E2000053E3F8FFFF0AAB
-:1092B0000E32A0E3033983E210205BE5002083E552
-:1092C0000CD04BE200689DE81EFF2FE10DC0A0E12D
-:1092D00000D82DE904B04CE20E32A0E3033983E25A
-:1092E000143083E2003093E5013003E2000053E3E1
-:1092F000F8FFFF0A0E32A0E3033983E2003093E562
-:10930000FF3003E20300A0E10CD04BE200689DE8CF
-:109310001EFF2FE10DC0A0E100D82DE904B04CE202
-:1093200004D04DE210000BE510301BE50A0053E3BA
-:109330000100001A0D00A0E3CFFFFFEB10301BE58A
-:10934000FF3003E20300A0E1CBFFFFEB0CD04BE2C8
-:1093500000689DE81EFF2FE10DC0A0E100D82DE9B7
-:1093600004B04CE20CD04DE214000BE50130A0E15A
-:1093700018304BE50030A0E30D304BE50E32A0E392
-:10938000033983E2143083E2003093E5203003E2B6
-:10939000000053E3F8FFFF0A140000EA0E22A0E3E6
-:1093A000032982E20D305BE50310A0E114301BE5D8
-:1093B000033081E00030D3E5003082E50D305BE51D
-:1093C000013083E20D304BE50D305BE50F0053E3D8
-:1093D0000600009A0E32A0E3033983E2143083E2E0
-:1093E000003093E5203003E2000053E3F8FFFF0A6A
-:1093F00018305BE5013043E218304BE518305BE58F
-:10940000FF0053E3E4FFFF1A0CD04BE200689DE835
-:109410001EFF2FE10DC0A0E100D82DE904B04CE201
-:1094200004D04DE24C309FE50030D3E5FF3003E23D
-:10943000000053E30C00001A0D304BE238009FE5AA
-:109440000310A0E187FCFFEB0030A0E1000053E334
-:109450000500000A1C209FE50130A0E30030C2E5B2
-:109460000D305BE50300A0E183FFFFEB0CD04BE286
-:1094700000689DE81EFF2FE1B00800402819004059
-:109480000DC0A0E100D82DE904B04CE208D04DE2B7
-:109490000030A0E10120A0E1B0314BE10230A0E1B9
-:1094A00014304BE5B0315BE1FF3003E2FF3003E203
-:1094B00014205BE50310A0E10230A0E1033021E0BD
-:1094C000FF3003E214304BE514305BE50332A0E1DA
-:1094D000FF3003E214205BE50310A0E10230A0E1BD
-:1094E000033021E0FF3003E214304BE514305BE53C
-:1094F0000334A0E10338A0E12328A0E1B0315BE10F
-:109500002334A0E10338A0E12338A0E10338A0E12F
-:109510002338A0E1FF3003E2033082E10338A0E109
-:109520002328A0E114305BE52332A0E1FF3003E201
-:10953000033022E00338A0E12328A0E114305BE5EA
-:109540008331A0E10338A0E12338A0E1033022E019
-:109550000338A0E12338A0E10338A0E12338A0E1DB
-:109560000300A0E10CD04BE200689DE81EFF2FE154
-:109570000DC0A0E100D82DE904B04CE214D04DE2BA
-:1095800018000BE50130A0E1BC314BE1B0224BE10A
-:1095900018301BE514300BE50030A0E310300BE56C
-:1095A0000D0000EAB0225BE114301BE50030D3E58A
-:1095B0000200A0E10310A0E1B0FFFFEB0030A0E14A
-:1095C000B0324BE114301BE5013083E214300BE57F
-:1095D00010301BE5013083E210300BE5BC215BE16C
-:1095E00010301BE5030052E1EDFFFFCAB0325BE132
-:1095F0000300A0E10CD04BE200689DE81EFF2FE1C4
-:109600000DC0A0E100D82DE904B04CE208D04DE235
-:109610000030A0E10120A0E110304BE50230A0E1D4
-:1096200014304BE514305BE5000053E30300000AFF
-:1096300090339FE50020A0E30020C3E5DE0000EAB0
-:1096400080339FE50030D3E5000053E30300001AA8
-:1096500010205BE570339FE5002083E5D00000EA31
-:1096600060339FE50030D3E5010053E30700001AA3
-:1096700010305BE50324A0E14C339FE5003093E517
-:10968000032082E040339FE5002083E5C40000EA28
-:1096900030339FE50030D3E5020053E30700001AA2
-:1096A00010305BE50328A0E11C339FE5003093E513
-:1096B000032082E010339FE5002083E5B80000EA34
-:1096C00000339FE50030D3E5030053E30700001AA1
-:1096D00010305BE5032CA0E1EC329FE5003093E510
-:1096E000032082E0E0329FE5002083E5AC0000EA41
-:1096F000D0329FE50030D3E5040053E30300001AA5
-:1097000010205BE5C4329FE5002083E5A40000EA59
-:10971000B0329FE50030D3E5050053E30700001A9F
-:1097200010305BE50324A0E1A0329FE5003093E513
-:10973000032082E094329FE5002083E5980000EA50
-:1097400080329FE50030D3E5060053E30700001A9E
-:1097500010305BE50328A0E170329FE5003093E50F
-:10976000032082E064329FE5002083E58C0000EA5C
-:1097700050329FE50030D3E5070053E30700001A9D
-:1097800010305BE5032CA0E140329FE5003093E50B
-:10979000032082E034329FE5002083E5800000EA68
-:1097A00020329FE50030D3E5140053E30300001A94
-:1097B00010205BE518329FE5002083E5780000EA81
-:1097C00000329FE50030D3E5150053E30700001A8F
-:1097D00010305BE50324A0E1F4319FE5003093E510
-:1097E000032082E0E8319FE5002083E56C0000EA79
-:1097F000D0319FE50030D3E5160053E30700001A8F
-:1098000010305BE50328A0E1C4319FE5003093E50B
-:10981000032082E0B8319FE5002083E5600000EA84
-:10982000A0319FE50030D3E5170053E30700001A8D
-:1098300010305BE5032CA0E194319FE5003093E507
-:10984000032082E088319FE5002083E5540000EA90
-:1098500070319FE50030D3E5180053E30300001A90
-:1098600010205BE56C319FE5002083E54C0000EAA9
-:1098700050319FE50030D3E5190053E30800001A8A
-:1098800010305BE50334A0E10320A0E144319FE503
-:10989000003093E5032082E038319FE5002083E526
-:1098A0003F0000EA1C319FE50030D3E51A0053E386
-:1098B0000800001A10305BE50338A0E10320A0E1A6
-:1098C00010319FE5003093E5032082E004319FE5ED
-:1098D000002083E5320000EAE8309FE50030D3E560
-:1098E0001B0053E32E00001A10305BE5033CA0E19F
-:1098F0000320A0E1DC309FE5003093E5032082E007
-:10990000D0309FE5002083E5C0309FE5002093E53F
-:109910000230A0E10331A0E1023083E08330A0E116
-:109920000320A0E1B0309FE50C2083E598309FE54F
-:10993000002093E50230A0E10331A0E1023083E092
-:109940008330A0E10320A0E18C309FE5102083E567
-:109950007C309FE5001093E580309FE59123C3E0C4
-:10996000C322A0E1C13FA0E1022063E068309FE58F
-:10997000142083E55C309FE5002093E50230A0E1F0
-:109980000331A0E1023083E08330A0E10320A0E1B5
-:1099900044309FE5202083E544209FE50130A0E38B
-:1099A000003082E51C309FE50030D3E5013083E2D2
-:1099B000FF3003E20C209FE50030C2E50CD04BE203
-:1099C00000689DE81EFF2FE1FC080040F4080040FD
-:1099D000F8080040F0080040EC080040940E0040F9
-:1099E0001F85EB51540800400DC0A0E100D82DE9BF
-:1099F00004B04CE208D04DE20030A0E10120A0E12B
-:109A000010304BE50230A0E114304BE514305BE53B
-:109A1000000053E30300000A00349FE50020A0E3A8
-:109A20000020C3E5FA0000EAF0339FE50030D3E5FB
-:109A3000000053E30300001A10205BE5E0339FE5CC
-:109A4000002083E5EC0000EAD0339FE50030D3E549
-:109A5000010053E30700001A10305BE50324A0E186
-:109A6000BC339FE5003093E5032082E0B0339FE5EF
-:109A7000002083E5E00000EAA0339FE50030D3E555
-:109A8000020053E30700001A10305BE50328A0E151
-:109A90008C339FE5003093E5032082E080339FE51F
-:109AA000002083E5D40000EA70339FE50030D3E561
-:109AB000030053E30700001A10305BE5032CA0E11C
-:109AC0005C339FE5003093E5032082E050339FE54F
-:109AD000002083E5C80000EA40339FE50030D3E56D
-:109AE000040053E30300001A10205BE534339FE5C4
-:109AF000002083E5C00000EA20339FE50030D3E575
-:109B0000050053E30700001A10305BE50324A0E1D1
-:109B100010339FE5003093E5032082E004339FE596
-:109B2000002083E5B40000EAF0329FE50030D3E581
-:109B3000060053E30700001A10305BE50328A0E19C
-:109B4000E0329FE5003093E5032082E0D4329FE5C8
-:109B5000002083E5A80000EAC0329FE50030D3E58D
-:109B6000070053E30700001A10305BE5032CA0E167
-:109B7000B0329FE5003093E5032082E0A4329FE5F8
-:109B8000002083E59C0000EA90329FE50030D3E599
-:109B90000C0053E30300001A10205BE588329FE5B8
-:109BA000002083E5940000EA70329FE50030D3E5A1
-:109BB0000D0053E30700001A10305BE50324A0E119
-:109BC00064329FE5003093E5032082E058329FE540
-:109BD000002083E5880000EA40329FE50030D3E5AD
-:109BE0000E0053E30700001A10305BE50328A0E1E4
-:109BF00034329FE5003093E5032082E028329FE570
-:109C0000002083E57C0000EA10329FE50030D3E5B8
-:109C10000F0053E30700001A10305BE5032CA0E1AE
-:109C200004329FE5003093E5032082E0F8319FE5A0
-:109C3000002083E5700000EAE0319FE50030D3E5C5
-:109C4000100053E30300001A10205BE5DC319FE5B0
-:109C5000002083E5680000EAC0319FE50030D3E5CD
-:109C6000110053E30800001A10305BE50334A0E153
-:109C70000320A0E1B4319FE5003093E5032082E0AA
-:109C8000A8319FE5002083E55B0000EA8C319FE569
-:109C90000030D3E5120053E30800001A10305BE5F2
-:109CA0000338A0E10320A0E180319FE5003093E577
-:109CB000032082E074319FE5002083E54E0000EA36
-:109CC00058319FE50030D3E5130053E30800001A34
-:109CD00010305BE5033CA0E10320A0E14C319FE59F
-:109CE000003093E5032082E040319FE5002083E5CA
-:109CF000410000EA24319FE50030D3E5140053E32E
-:109D00000300001A10205BE524319FE5002083E565
-:109D1000390000EA04319FE50030D3E5150053E334
-:109D20000800001A10305BE50334A0E10320A0E135
-:109D3000FC309FE5003093E5032082E0F0309FE5A2
-:109D4000002083E52C0000EAD0309FE50030D3E509
-:109D5000160053E30800001A10305BE50338A0E159
-:109D60000320A0E1C8309FE5003093E5032082E0A6
-:109D7000BC309FE5002083E51F0000EA9C309FE592
-:109D80000030D3E5170053E31B00001A10305BE5E9
-:109D9000033CA0E10320A0E194309FE5003093E56F
-:109DA000032082E088309FE5002083E574309FE542
-:109DB000002093E57C309FE5002083E560309FE53F
-:109DC000002093E56C309FE5042083E558309FE543
-:109DD000002093E55C309FE5082083E54C309FE54B
-:109DE000002093E54C309FE5182083E540309FE547
-:109DF000002093E53C309FE51C2083E51C309FE567
-:109E00000030D3E5013083E2FF3003E20C209FE510
-:109E10000030C2E50CD04BE200689DE81EFF2FE148
-:109E2000140900400C0900401009004008090040D6
-:109E30000409004000090040940E00400DC0A0E15C
-:109E400000D82DE904B04CE208D04DE20030A0E18A
-:109E50000120A0E110304BE50230A0E114304BE5C9
-:109E600014305BE5000053E30300000A88319FE5EE
-:109E70000020A0E30020C3E55C0000EA78319FE504
-:109E80000030D3E5000053E30300001A10205BE527
-:109E900068319FE5002083E54E0000EA58319FE5D8
-:109EA0000030D3E5010053E30700001A10305BE5F2
-:109EB0000324A0E144319FE5003093E5032082E0D4
-:109EC00038319FE5002083E5420000EA28319FE514
-:109ED0000030D3E5020053E30700001A10305BE5C1
-:109EE0000328A0E114319FE5003093E5032082E0D0
-:109EF00008319FE5002083E5360000EAF8309FE551
-:109F00000030D3E5030053E30700001A10305BE58F
-:109F1000032CA0E1E4309FE5003093E5032082E0CC
-:109F2000D8309FE5002083E52A0000EAC8309FE58D
-:109F30000030D3E5040053E30300001A10205BE572
-:109F4000BC309FE5002083E5220000EAA8309FE5B1
-:109F50000030D3E5050053E30700001A10305BE53D
-:109F60000324A0E198309FE5003093E5032082E0D0
-:109F70008C309FE5002083E5160000EA78309FE5ED
-:109F80000030D3E5060053E30700001A10305BE50C
-:109F90000328A0E168309FE5003093E5032082E0CC
-:109FA0005C309FE5002083E50A0000EA48309FE529
-:109FB0000030D3E5070053E30600001A10305BE5DC
-:109FC000032CA0E138309FE5003093E5032082E0C8
-:109FD0002C309FE5002083E51C309FE50030D3E561
-:109FE000013083E2FF3003E20C209FE50030C2E540
-:109FF0000CD04BE200689DE81EFF2FE120090040D5
-:10A000001C090040180900400DC0A0E100D82DE94E
-:10A0100004B04CE208D04DE20030A0E10120A0E104
-:10A0200010304BE50230A0E114304BE514305BE515
-:10A03000000053E30300000A84319FE50020A0E301
-:10A040000020C3E55B0000EA74319FE50030D3E5F2
-:10A05000000053E30300001A10205BE564319FE524
-:10A06000002083E54D0000EA54319FE50030D3E540
-:10A07000010053E30800001A10305BE50334A0E14F
-:10A080000320A0E13C319FE5003093E5032082E00E
-:10A0900030319FE5002083E5400000EA20319FE554
-:10A0A0000030D3E5020053E30800001A10305BE5EE
-:10A0B0000338A0E10320A0E108319FE5003093E5DB
-:10A0C000032082E0FC309FE5002083E5330000EAB6
-:10A0D000EC309FE50030D3E5030053E30800001A9D
-:10A0E00010305BE5033CA0E10320A0E1D4309FE504
-:10A0F000003093E5032082E0C8309FE5002083E52F
-:10A10000260000EAB8309FE50030D3E5080053E3AD
-:10A110000300001A10205BE5AC309FE5B020C3E1DE
-:10A120001E0000EA98309FE50030D3E5090053E3B4
-:10A130001300001A10305BE50334A0E10338A0E1FE
-:10A140002328A0E180309FE5B030D3E1033082E0E6
-:10A150000338A0E12328A0E16C309FE5B020C3E1E3
-:10A1600060309FE5002093E560309FE5002083E5A7
-:10A1700054309FE5B020D3E150309FE5B420C3E1D7
-:10A18000060000EA38309FE50030D3E52F0053E3A6
-:10A190000200001A10205BE534309FE5242083E59F
-:10A1A0001C309FE50030D3E5013083E2FF3003E24D
-:10A1B0000C209FE50030C2E50CD04BE200689DE822
-:10A1C0001EFF2FE128090040240900402209004019
-:10A1D00004130040940E00400DC0A0E100D82DE90A
-:10A1E00004B04CE208D04DE20030A0E10120A0E133
-:10A1F00010304BE50230A0E114304BE514305BE544
-:10A20000000053E30300000ABC309FE50020A0E3F8
-:10A210000020C3E5290000EAAC309FE50030D3E51B
-:10A22000000053E30300001AA0209FE510305BE517
-:10A230000030C2E51B0000EA8C309FE50030D3E51A
-:10A24000010053E30300001A84209FE510305BE512
-:10A250000030C2E5130000EA6C309FE50030D3E522
-:10A26000020053E30F00001A68209FE510305BE501
-:10A270000030C2E554309FE50030D3E50320A0E173
-:10A280004C309FE50030D3E50334A0E1032082E1A8
-:10A2900040309FE50030D3E50338A0E1032082E1A0
-:10A2A00034309FE5282083E51C309FE50030D3E55E
-:10A2B000013083E2FF3003E20C209FE50030C2E56D
-:10A2C0000CD04BE200689DE81EFF2FE12C090040F6
-:10A2D0002B0900402A09004029090040940E004043
-:10A2E0000DC0A0E100D82DE904B04CE20CD04DE245
-:10A2F0008E32A0E3013883E2003093E510300BE5A5
-:10A3000010301BE5A330A0E1073003E218300BE565
-:10A3100018301BE5010053E30300000A18301BE569
-:10A32000020053E31D00000A320100EA12304BE242
-:10A330000000A0E30310A0E10120A0E3CB0100EBAB
-:10A340000030A0E1000053E30600000AC0249FE5AE
-:10A350000130A0E30030C2E512305BE50300A0E16C
-:10A360005D0100EB230100EAA4249FE50030A0E397
-:10A370000030C2E59C349FE50030D3E5FF3003E2B6
-:10A38000000053E31B01000AE10CA0E3270100EBEE
-:10A3900080349FE50020A0E30020C3E5150100EA1A
-:10A3A0000E32A0E3013883E2003093E511304BE533
-:10A3B00064349FE50030D3E50E0053E303F19F972B
-:10A3C000090100EA00A400001CA4000048A4000049
-:10A3D00090A40000B8A4000038A50000FCA500006F
-:10A3E000ECA70000ECA70000ECA70000E4A600002A
-:10A3F0001CA7000080A70000ACA70000BCA70000BD
-:10A4000011305BE5B50053E3FA00001A08349FE50C
-:10A410000120A0E30020C3E5F60000EA11305BE56F
-:10A42000620053E30300001AEC339FE50220A0E32F
-:10A430000020C3E5EF0000EADC339FE50020A0E345
-:10A440000020C3E5EB0000EA11305BE5010053E3B7
-:10A450000300001AC0339FE50320A0E30020C3E5FA
-:10A46000E40000EA11305BE5050053E30300001A45
-:10A47000A4339FE50A20A0E30020C3E5DD0000EA45
-:10A4800094339FE50020A0E30020C3E5D90000EA53
-:10A4900088239FE511305BE50030C2E580239FE50E
-:10A4A0000030A0E3B030C2E16C239FE50430A0E3AC
-:10A4B0000030C2E5CF0000EA64339FE5B030D3E15D
-:10A4C000000053E30200001A11205BE554339FE5BE
-:10A4D000B020C3E144339FE50030D3E5060053E3E9
-:10A4E0000200001A0000A0E30110A0E3C5FEFFEB8C
-:10A4F0002C339FE5B030D3E1013083E20338A0E193
-:10A500002328A0E118339FE5B020C3E110339FE575
-:10A51000B030D3E1020053E3B600001A00239FE5F8
-:10A520000030A0E3B030C2E1EC229FE50530A0E3AB
-:10A530000030C2E5AF0000EAE0329FE50030D3E52D
-:10A54000060053E30300001A11305BE50300A0E1AD
-:10A550000010A0E3ABFEFFEBC4329FE5B030D3E1C7
-:10A56000013083E20338A0E12328A0E1B0329FE567
-:10A57000B020C3E1A8329FE5B030D3E1040053E33B
-:10A580009C00001A98229FE50030A0E3B030C2E1A1
-:10A5900084229FE50630A0E30030C2E57C329FE5CF
-:10A5A0000030D3E5020053E30300001A0000A0E3EB
-:10A5B0000110A0E30BFDFFEB8E0000EA5C329FE58B
-:10A5C0000030D3E5030053E30300001A0000A0E3CA
-:10A5D0000110A0E3FFFEFFEB860000EA3C329FE59E
-:10A5E0000030D3E5120053E38200001A0000A0E31C
-:10A5F0000110A0E301FCFFEB7E0000EA1C329FE5A6
-:10A600000030D3E5020053E30400001A11305BE58B
-:10A610000300A0E10010A0E3F2FCFFEB1D0000EA44
-:10A62000F8319FE50030D3E5030053E30400001A3E
-:10A6300011305BE50300A0E10010A0E3E5FEFFEBB5
-:10A64000140000EAD4319FE50030D3E5120053E353
-:10A650000400001A11305BE50300A0E10010A0E344
-:10A66000E6FBFFEB0B0000EAB0319FE50030D3E5DD
-:10A67000060053E30400001A11305BE50300A0E17B
-:10A680000010A0E35FFEFFEB020000EA88319FE5C7
-:10A690000020A0E30020C3E584319FE5B030D3E182
-:10A6A000013083E20338A0E12328A0E170319FE567
-:10A6B000B020C3E168319FE5B030D3E10320A0E1D1
-:10A6C00060319FE5B030D3E1043043E2030052E152
-:10A6D000480000BA40319FE50020A0E30020C3E518
-:10A6E000440000EA11305BE5010053E30600001A64
-:10A6F0002C219FE50030A0E3B030C2E118219FE596
-:10A700000B30A0E30030C2E53A0000EA08319FE5D3
-:10A710000020A0E30020C3E5360000EA00319FE5F9
-:10A72000B030D3E1000053E30200001A11205BE5D2
-:10A73000F0309FE5B020C3E1E4309FE5B030D3E1D5
-:10A74000013083E20338A0E12328A0E1D0309FE567
-:10A75000B020C3E1C8309FE5B030D3E1020053E33D
-:10A760002400001AB8209FE50030A0E3B030C2E119
-:10A77000A4209FE50C30A0E30030C2E51D0000EAF4
-:10A7800011305BE5060053E30300001A88309FE5B3
-:10A790000D20A0E30020C3E5160000EA78309FE515
-:10A7A0000020A0E30020C3E5120000EA68309FE526
-:10A7B0000E20A0E30020C3E50E0000EA68309FE50C
-:10A7C0000030D3E5FF3003E2000053E30900001A34
-:10A7D00054209FE50130A0E30030C2E538209FE51A
-:10A7E0000030A0E30030C2E5020000EA28309FE517
-:10A7F0000020A0E30020C3E50030A0E3FD3E43E2DB
-:10A800000020A0E3002083E50CD04BE200689DE827
-:10A810001EFF2FE1DE080040E00800403309004041
-:10A8200032090040300900402E090040EA0800408B
-:10A830000DC0A0E100D82DE904B04CE208D04DE2F3
-:10A8400014000BE515F6FFEB0020A0E114301BE52A
-:10A850000332A0E10200A0E10310A0E1FA2800EB1E
-:10A860000030A0E110300BE5CE32A0E3013883E2E6
-:10A870008320A0E3002083E50E32A0E3013883E2C9
-:10A8800010201BE5FF2002E2002083E54E22A0E31A
-:10A89000012882E210301BE52334A0E1FF3003E2FF
-:10A8A000003082E5CE22A0E3012882E2CE32A0E38E
-:10A8B000013883E2003093E58030C3E3003082E565
-:10A8C0008E32A0E3013883E20120A0E3002083E57B
-:10A8D0000CD04BE200689DE81EFF2FE10DC0A0E107
-:10A8E00000D82DE904B04CE204D04DE20030A0E1E4
-:10A8F00010304BE50E32A0E3013883E2143083E2DE
-:10A90000003093E5203003E2000053E3F8FFFF0A34
-:10A910000E32A0E3013883E210205BE5002083E5DE
-:10A920000CD04BE200689DE81EFF2FE10DC0A0E1B6
-:10A9300000D82DE904B04CE20E32A0E3013883E2E6
-:10A94000143083E2003093E5013003E2000053E36A
-:10A95000F8FFFF0A0E32A0E3013883E2003093E5EE
-:10A96000FF3003E20300A0E10CD04BE200689DE859
-:10A970001EFF2FE10DC0A0E100D82DE904B04CE28C
-:10A980000CD04DE214000BE50130A0E118304BE58E
-:10A990000030A0E30D304BE5110000EA0E32A0E3D9
-:10A9A000033983E2143083E2003093E5203003E280
-:10A9B000000053E3F8FFFF0A0E22A0E3012882E221
-:10A9C0000D305BE50310A0E114301BE5033081E09E
-:10A9D0000030D3E5003082E50D305BE5013083E2E5
-:10A9E0000D304BE518305BE5013043E218304BE5A4
-:10A9F00018305BE5FF0053E3E7FFFF1A0CD04BE292
-:10AA000000689DE81EFF2FE10DC0A0E100D82DE9F0
-:10AA100004B04CE204D04DE24C309FE50030D3E569
-:10AA2000000053E30D00001A0D304BE20000A0E3DC
-:10AA30000310A0E10120A0E30C0000EB0030A0E136
-:10AA4000000053E30500000A1C209FE50130A0E34D
-:10AA50000030C2E50D305BE50300A0E19EFFFFEB97
-:10AA60000CD04BE200689DE81EFF2FE1DE0800409D
-:10AA70000DC0A0E100D82DE904B04CE218D04DE2A1
-:10AA80000030A0E11C100BE520200BE518304BE551
-:10AA90000030A0E314300BE50030A0E310300BE5EC
-:10AAA00018305BE5010053E32100001A98319FE55F
-:10AAB000003093E5062D63E220301BE5030052E1F0
-:10AAC0005A00009A0D0000EA80319FE5001093E5DE
-:10AAD00014201BE51C301BE5033082E00030D3E579
-:10AAE0006C219FE50130C2E7012081E25C319FE5E6
-:10AAF000002083E514301BE5013083E214300BE5C0
-:10AB000014201BE520301BE5030052E1EDFFFF3A66
-:10AB100034319FE5002093E520301BE5032082E0DF
-:10AB200024319FE5002083E50130A0E324300BE5CC
-:10AB3000400000EA18305BE5000053E32B00001AE8
-:10AB400004319FE5002093E520301BE5030052E12E
-:10AB50003600003A0E0000EA10201BE51C301BE511
-:10AB6000032082E0EC309FE5001093E5E0309FE5A4
-:10AB70000130D3E7FF3003E20030C2E510301BE5BF
-:10AB8000013083E210300BE5012081E2C4309FE503
-:10AB9000002083E510201BE520301BE5030052E177
-:10ABA000ECFFFF3AA0309FE5002093E520301BE545
-:10ABB000022063E090309FE5002083E588309FE528
-:10ABC000003093E5000053E30500001A7C209FE568
-:10ABD0000030A0E3003082E578209FE50030A0E35C
-:10ABE000003082E50130A0E324300BE5110000EADB
-:10ABF00018305BE5020053E30C00001A48309FE573
-:10AC0000003093E5000053E30200000A0030A0E3A7
-:10AC100024300BE5070000EA5D3FA0E324300BE59C
-:10AC200024301BE5013083E224300BE5010000EA0B
-:10AC30000030A0E324300BE524301BE50300A0E145
-:10AC40000CD04BE200689DE81EFF2FE13409004064
-:10AC500038090040400900403C0900400DC0A0E117
-:10AC600000D82DE904B04CE204D04DE208369FE54F
-:10AC70000030D3E5070053E303F19F97600100EA3A
-:10AC8000A0AC000054AD00001CAE000010AF0000EE
-:10AC9000B4AF000058B00000FCB00000A0B100004C
-:10ACA000D8359FE50030D3E5000053E30500000AE6
-:10ACB000E10CA0E3DDFEFFEBC0359FE50020A0E343
-:10ACC0000020C3E5010000EA960DA0E3D7FEFFEBEC
-:10ACD0000200A0E30010A0E30020A0E363FFFFEB6D
-:10ACE0000030A0E11C0053E3150000DA0100A0E3EE
-:10ACF0008C159FE50220A0E35CFFFFEB0030A0E194
-:10AD000010300BE50100A0E378159FE51A20A0E3C1
-:10AD100056FFFFEB0030A0E110300BE539FFFFEBF1
-:10AD200064259FE50130A0E30030C2E548359FE58A
-:10AD30000030D3E5013083E2FF3003E238259FE5A0
-:10AD40000030C2E544359FE50020A0E30020C3E5C4
-:10AD50002E0100EA38359FE50030D3E5FF3003E2ED
-:10AD6000000053E32200000A24259FE50030A0E301
-:10AD70000030C2E50200A0E30010A0E30020A0E341
-:10AD80003AFFFFEB0030A0E10C0053E3110000DAC2
-:10AD90000100A0E3E8149FE50220A0E333FFFFEBEE
-:10ADA0000100A0E3EC149FE50A20A0E32FFFFFEBD6
-:10ADB00014FFFFEBE0249FE50030A0E30030C2E584
-:10ADC000B4349FE50030D3E5013083E2FF3003E285
-:10ADD000A4249FE50030C2E5B0249FE50030A0E345
-:10ADE0000030C2E594249FE50030A0E30030C2E5C6
-:10ADF000060100EA94349FE50030D3E5013083E298
-:10AE0000FF3003E284249FE50030C2E56C249FE517
-:10AE10000130A0E30030C2E5FC0000EA70349FE599
-:10AE20000030D3E5FF3003E2000053E33000000AB6
-:10AE30005C249FE50030A0E30030C2E50200A0E3FF
-:10AE40000010A0E30020A0E308FFFFEB0030A0E12A
-:10AE50000E0053E3220000DA0100A0E320149FE576
-:10AE60000220A0E301FFFFEB2C349FE50030D3E587
-:10AE70000320A0E10230A0E18330A0E1023083E0B2
-:10AE80000331A0E10320A0E110349FE5033082E00C
-:10AE90000100A0E30310A0E10C20A0E3F3FEFFEB10
-:10AEA000D8FEFFEBF0339FE50030D3E5013083E2BD
-:10AEB000FF3003E2E0239FE50030C2E5D8339FE591
-:10AEC0000030D3E50B0053E30500001AA8339FE5DB
-:10AED0000030D3E5013083E2FF3003E298239FE5A1
-:10AEE0000030C2E5A4339FE50020A0E30020C3E5C5
-:10AEF000C60000EA94339FE50030D3E5013083E2D9
-:10AF0000FF3003E284239FE50030C2E5BF0000EA82
-:10AF10007C339FE50030D3E5FF3003E2000053E3CC
-:10AF20001C00000A68239FE50030A0E30030C2E562
-:10AF30000200A0E30010A0E30020A0E3CBFEFFEBA3
-:10AF40000030A0E1300053E30E0000DA0100A0E37E
-:10AF50002C139FE50220A0E3C4FEFFEB0100A0E359
-:10AF60003C139FE52E20A0E3C0FEFFEBA5FEFFEB08
-:10AF700004339FE50030D3E5013083E2FF3003E284
-:10AF8000F4229FE50030C2E500339FE50020A0E3F6
-:10AF90000020C3E59D0000EAF0329FE50030D3E5D4
-:10AFA000013083E2FF3003E2E0229FE50030C2E59A
-:10AFB000960000EAD8329FE50030D3E5FF3003E287
-:10AFC000000053E31C00000AC4229FE50030A0E308
-:10AFD0000030C2E50200A0E30010A0E30020A0E3DF
-:10AFE000A2FEFFEB0030A0E10E0053E30E0000DAFA
-:10AFF0000100A0E388129FE50220A0E39BFEFFEB87
-:10B000000100A0E39C129FE50C20A0E397FEFFEB5C
-:10B010007CFEFFEB60329FE50030D3E5013083E238
-:10B02000FF3003E250229FE50030C2E55C329FE52D
-:10B030000020A0E30020C3E5740000EA4C329FE545
-:10B040000030D3E5013083E2FF3003E23C229FE58C
-:10B050000030C2E56D0000EA34329FE50030D3E5F0
-:10B06000FF3003E2000053E31C00000A20229FE5AA
-:10B070000030A0E30030C2E50200A0E30010A0E32E
-:10B080000020A0E379FEFFEB0030A0E1100053E3C5
-:10B090000E0000DA0100A0E3E4119FE50220A0E326
-:10B0A00072FEFFEB0100A0E3FC119FE50E20A0E380
-:10B0B0006EFEFFEB53FEFFEBBC319FE50030D3E5A6
-:10B0C000013083E2FF3003E2AC219FE50030C2E5AE
-:10B0D000B8319FE50020A0E30020C3E54B0000EA63
-:10B0E000A8319FE50030D3E5013083E2FF3003E271
-:10B0F00098219FE50030C2E5440000EA90319FE5C9
-:10B100000030D3E5FF3003E2000053E31C00000AE7
-:10B110007C219FE50030A0E30030C2E50200A0E3FF
-:10B120000010A0E30020A0E350FEFFEB0030A0E100
-:10B13000150053E30E0000DA0100A0E340119FE583
-:10B140000220A0E349FEFFEB0100A0E35C119FE5B4
-:10B150001320A0E345FEFFEB2AFEFFEB18319FE52D
-:10B160000030D3E5013083E2FF3003E208219FE5A0
-:10B170000030C2E514319FE50020A0E30020C3E5C4
-:10B18000220000EA04319FE50030D3E5013083E27C
-:10B19000FF3003E2F4209FE50030C2E51B0000EA27
-:10B1A000EC309FE50030D3E5FF3003E2000053E3CD
-:10B1B0000C00000AD8209FE50030A0E30030C2E573
-:10B1C000EC209FE50230A0E30030C2E5A8209FE517
-:10B1D0000030A0E30030C2E5B0209FE50030A0E3DE
-:10B1E0000030C2E5090000EAA0309FE50030D3E559
-:10B1F000013083E2FF3003E290209FE50030C2E59A
-:10B20000020000EA70309FE50020A0E30020C3E5C3
-:10B2100078309FE50030D3E5C80053E31300009A6F
-:10B2200058309FE50030D3E5000053E30600000AE4
-:10B2300044209FE50030A0E30030C2E54C209FE5AC
-:10B240000030A0E30030C2E5080000EA28209FE5B6
-:10B250000030A0E30030C2E530209FE50030A0E3DD
-:10B260000030C2E548209FE50330A0E30030C2E58E
-:10B270000CD04BE200689DE81EFF2FE1C30A00409E
-:10B28000C00A0040634E0100604D0100E00800402C
-:10B29000C10A0040EA0800407A4D0100C20A00409D
-:10B2A000844D0100164E0100444E0100084E01007D
-:10B2B000504E0100F00B00400DC0A0E100D82DE978
-:10B2C00004B04CE220D04DE21C000BE520100BE551
-:10B2D00024200BE528300BE524301BE510300BE56E
-:10B2E0000030A0E314300BE51F0000EAF6F7FFEB97
-:10B2F0000030A0E115304BE510201BE515305BE573
-:10B300000030C2E510301BE5013083E210300BE560
-:10B3100015305BE50300A0E1D7F7FFEB15305BE5E7
-:10B320000D0053E30D00001A14301BE528201BE527
-:10B33000022042E2020053E10800008A10201BE5CF
-:10B340000A30A0E30030C2E50A00A0E3CAF7FFEB31
-:10B3500014301BE5023083E22C300BE5080000EAD4
-:10B3600014301BE5013083E214300BE514201BE59B
-:10B3700028301BE5030052E1DBFFFF3A14301BE5E8
-:10B380002C300BE52C301BE50300A0E10CD04BE288
-:10B3900000689DE81EFF2FE10DC0A0E100D82DE957
-:10B3A00004B04CE218D04DE218000BE51C100BE580
-:10B3B00020200BE524300BE520301BE510300BE599
-:10B3C0000030A0E314300BE5100000EA10301BE55C
-:10B3D0000030D3E50A0053E30100001A0D00A0E39A
-:10B3E000A5F7FFEB10301BE50030D3E50320A0E10B
-:10B3F00010301BE5013083E210300BE50200A0E1C4
-:10B400009DF7FFEB14301BE5013083E214300BE5B0
-:10B4100014201BE524301BE5030052E1EAFFFF3A4C
-:10B4200024301BE50300A0E10CD04BE200689DE84E
-:10B430001EFF2FE10DC0A0E100D82DE904B04CE2C1
-:10B4400008D04DE210000BE514100BE50030A0E32E
-:10B450000300A0E10CD04BE200689DE81EFF2FE145
-:10B460000DC0A0E100D82DE904B04CE210D04DE2AF
-:10B4700010000BE514100BE518200BE51C300BE554
-:10B480000030A0E30300A0E10CD04BE200689DE88F
-:10B490001EFF2FE10DC0A0E100D82DE904B04CE261
-:10B4A0000CD04DE210000BE514100BE518200BE555
-:10B4B00018201BE5023AA0E3043082E50030A0E347
-:10B4C0000300A0E10CD04BE200689DE81EFF2FE1D5
-:10B4D0000DC0A0E100D82DE904B04CE204D04DE24B
-:10B4E00010000BE50130A0E30300A0E10CD04BE21B
-:10B4F00000689DE81EFF2FE10DC0A0E100D82DE9F6
-:10B5000004B04CE20CD04DE214000BE518100BE532
-:10B510004C309FE5003093E5000053E30200001A31
-:10B520003C209FE53C309FE5003082E530309FE5D0
-:10B53000003093E510300BE524309FE5002093E5C3
-:10B5400018301BE5032082E014309FE5002083E5DE
-:10B5500010301BE50300A0E10CD04BE200689DE831
-:10B560001EFF2FE1C40A0040003A00400DC0A0E1D8
-:10B5700000D82DE904B04CE204D04DE24E32A0E3F5
-:10B58000073983E2003093E50D304BE50D305BE584
-:10B59000083043E2500053E303F19F97060100EAAD
-:10B5A000E4B60000BCB90000BCB90000BCB90000A2
-:10B5B000BCB90000BCB90000BCB90000BCB90000B7
-:10B5C0001CB70000BCB90000BCB90000BCB9000049
-:10B5D000BCB90000BCB90000BCB90000BCB9000097
-:10B5E00074B70000BCB90000BCB90000BCB90000D1
-:10B5F000BCB90000BCB90000BCB90000BCB9000077
-:10B6000098B90000BCB90000BCB90000BCB900008A
-:10B61000BCB90000BCB90000BCB90000BCB9000056
-:10B62000DCB70000BCB90000BCB90000BCB9000028
-:10B63000BCB90000BCB90000BCB90000BCB9000036
-:10B64000DCB70000BCB90000BCB90000BCB9000008
-:10B65000BCB90000BCB90000BCB90000BCB9000016
-:10B66000BCB90000BCB90000BCB90000BCB9000006
-:10B67000BCB90000BCB90000BCB90000BCB90000F6
-:10B68000E0B80000BCB90000BCB90000BCB90000C3
-:10B69000BCB90000BCB90000BCB90000BCB90000D6
-:10B6A00098B90000BCB90000BCB90000BCB90000EA
-:10B6B000BCB90000BCB90000BCB90000BCB90000B6
-:10B6C000F8B80000BCB90000BCB90000BCB900006B
-:10B6D000BCB90000BCB90000BCB90000BCB9000096
-:10B6E000F8B800008E22A0E3072982E2F8329FE535
-:10B6F0000030D3E5003082E50E32A0E3073983E263
-:10B70000183083E22820A0E3002083E5DC229FE5B7
-:10B710000130A0E3003082E5AC0000EAD0329FE5C2
-:10B72000003093E5010053E30300000AC0329FE5B7
-:10B73000003093E5020053E30400001A8E22A0E3D8
-:10B74000072982E2A0329FE50230D3E5003082E58E
-:10B750000E32A0E3073983E2183083E22820A0E309
-:10B76000002083E584229FE50230A0E3003082E5DB
-:10B77000960000EA74329FE5003093E5010053E340
-:10B780000F00001A8E22A0E3072982E264329FE5AF
-:10B79000003093E5011083E24C329FE50130D3E79E
-:10B7A000003082E54C329FE5003093E5012083E2D2
-:10B7B00040329FE5002083E530229FE50430A0E37E
-:10B7C000003082E50E32A0E3073983E2183083E2CD
-:10B7D0000820A0E3002083E57C0000EA14329FE506
-:10B7E000002093E510329FE5003093E5030052E11D
-:10B7F0002500000A8E22A0E3072982E2F4319FE5AA
-:10B80000003093E5011083E2DC319FE50130D3E79E
-:10B81000003082E5DC319FE5003093E5012083E2D2
-:10B82000D0319FE5002083E5C8319FE5002093E5F6
-:10B83000C4319FE5003093E5030052E10300000AA4
-:10B84000A8219FE50430A0E3003082E51D0000EA56
-:10B8500098219FE50530A0E3003082E59C319FE50B
-:10B86000003093E5000053E31600000A0E32A0E317
-:10B87000073983E22020A0E3002083E56C219FE5C7
-:10B880000330A0E3003082E50E0000EA6C319FE552
-:10B89000003093E5000053E30700000A0E32A0E3F6
-:10B8A000073983E22020A0E3002083E53C219FE5C7
-:10B8B0000330A0E3003082E5020000EA2C219FE57E
-:10B8C0000530A0E3003082E50E32A0E3073983E2C1
-:10B8D000183083E20820A0E3002083E53B0000EA63
-:10B8E0000E32A0E3073983E2183083E20820A0E398
-:10B8F000002083E5350000EA04319FE5003093E540
-:10B90000031083E28E32A0E3073983E2003093E52F
-:10B91000FF3003E2D0209FE50130C2E7E0309FE531
-:10B92000003093E5012083E2D4309FE5002083E5D9
-:10B93000CC309FE5002093E5C0309FE5003093E5D3
-:10B94000030052E10300000AA0209FE50430A0E3B9
-:10B95000003082E5050000EAA4209FE50030A0E366
-:10B96000003082E584209FE50530A0E3003082E5C9
-:10B970000E32A0E3073983E20420A0E3002083E530
-:10B980000E32A0E3073983E2183083E20820A0E3F7
-:10B99000002083E50D0000EA0E32A0E3073983E2C0
-:10B9A000183083E20820A0E3002083E53C209FE5D7
-:10B9B0000530A0E3003082E5040000EA0E32A0E387
-:10B9C000073983E2183083E20820A0E3002083E5F2
-:10B9D0000030A0E3FD3E43E20020A0E3002083E529
-:10B9E0000CD04BE200689DE81EFF2FE1A41D004033
-:10B9F000C80A0040C41D0040D80A0040C81D0040CD
-:10BA00007C1D0040D40A00400DC0A0E100D82DE903
-:10BA100004B04CE280209FE50030A0E3003082E5D6
-:10BA200078209FE50030A0E3003082E570209FE59C
-:10BA30000530A0E3003082E568209FE50030A0E3F8
-:10BA4000003082E560209FE50230A0E30030C2E5CF
-:10BA500054209FE56430A0E30130C2E548209FE513
-:10BA60006430A0E30230C2E53C209FE56430A0E3EF
-:10BA70000330C2E530209FE50130A0E30430C2E589
-:10BA800028209FE50230A0E3003082E5660000EB4D
-:10BA90000CD04BE200689DE81EFF2FE1D80A004061
-:10BAA000D40A0040C81D00407C1D0040A41D004079
-:10BAB000C41D00400DC0A0E100D82DE904B04CE247
-:10BAC00008D04DE20030A0E314300BE50030A0E3D5
-:10BAD00010300BE50E32A0E3073983E22020A0E30B
-:10BAE000002083E558309FE5003093E5010053E3E3
-:10BAF0000200001A0130A0E310300BE50B0000EA51
-:10BB000014201BE50134A0E3023043E2030052E1BC
-:10BB10000200009A0030A0E310300BE5030000EAB9
-:10BB200014301BE5013083E214300BE5ECFFFFEA33
-:10BB300010301BE50300A0E10CD04BE200689DE84B
-:10BB40001EFF2FE1C80A00400DC0A0E100D82DE97A
-:10BB500004B04CE20E32A0E3073983E21020A0E3E8
-:10BB6000002083E50E32A0E3073983E2183083E238
-:10BB70000820A0E3002083E50E32A0E3073983E22A
-:10BB8000003093E5103003E2000053E3F9FFFF1AA1
-:10BB90000130A0E30300A0E10CD04BE200689DE877
-:10BBA0001EFF2FE10DC0A0E100D82DE904B04CE24A
-:10BBB00004D04DE210000BE58E22A0E30A2982E2B8
-:10BBC0008E32A0E30A3983E2003093E50C3083E340
-:10BBD000003082E54E32A0E30A3983E20C20A0E374
-:10BBE000002083E50E32A0E3073983E2183083E2B8
-:10BBF0006C20A0E3002083E50E32A0E3073983E246
-:10BC0000143083E28020A0E3002083E50E32A0E31D
-:10BC1000073983E2103083E28020A0E3002083E52F
-:10BC20000CD04BE200689DE81EFF2FE10DC0A0E1A3
-:10BC300000D82DE904B04CE204D04DE26C209FE521
-:10BC40000030A0E3003082E564209FE50030A0E3EF
-:10BC5000003082E55C209FE50030A0E3003082E503
-:10BC600093FFFFEB0030A0E1010053E30300000A63
-:10BC7000B4FFFFEB0030A0E310300BE5060000EA54
-:10BC800028309FE5003093E5050053E3FBFFFF1AE2
-:10BC9000ACFFFFEB0130A0E310300BE510301BE5EB
-:10BCA0000300A0E10CD04BE200689DE81EFF2FE1ED
-:10BCB000C80A0040D40A0040D80A00400DC0A0E1E4
-:10BCC00010D82DE904B04CE204D04DE214000BE58D
-:10BCD0000E42A0E30D4984E2E508A0E3790D40E2BD
-:10BCE00014101BE5D82300EB0030A0E1013043E243
-:10BCF0000334A0E1023683E3013083E3003084E5BE
-:10BD00000E42A0E3064884E2E508A0E3790D40E294
-:10BD100014101BE5CC2300EB0030A0E1013043E21E
-:10BD20000334A0E1023683E3013083E3003084E58D
-:10BD30000130A0E30300A0E110D04BE210689DE8C1
-:10BD40001EFF2FE10DC0A0E100D82DE904B04CE2A8
-:10BD500014D04DE20030A0E11C304BE50030A0E3F0
-:10BD600018300BE51C305BE5070053E30100009A37
-:10BD70000030A0E31C304BE50E22A0E30D2982E247
-:10BD80000E32A0E30D3983E2003093E5FF30C3E3C8
-:10BD9000003082E50E12A0E30D1981E20E32A0E31D
-:10BDA0000D3983E2000093E51C205BE50130A0E340
-:10BDB0001332A0E1033080E1013483E3003081E5F8
-:10BDC000090000EA1C305BE50331A0E10E3283E29A
-:10BDD0000D3983E2103083E2003093E514300BE537
-:10BDE00014301BE5000053E30A0000BA18101BE5ED
-:10BDF0004E3DA0E3073083E2030051E10030A08311
-:10BE00000130A093FF2003E2013081E218300BE5FE
-:10BE1000000052E3EAFFFF1A0E22A0E30D2982E29E
-:10BE20000E32A0E30D3983E2003093E50734C3E31B
-:10BE3000003082E514301BE5013103E2000053E3DA
-:10BE40000200000A0030A0E320300BE5060000EA03
-:10BE500014301BE52333A0E1033BA0E1233BA0E129
-:10BE600010300BE510301BE520300BE520301BE5D2
-:10BE70000300A0E10CD04BE200689DE81EFF2FE11B
-:10BE80000DC0A0E100D82DE904B04CE210D04DE285
-:10BE90000030A0E118304BE518305BE5070053E3B4
-:10BEA0000100009A0030A0E318304BE50E22A0E319
-:10BEB000062882E20E32A0E3063883E2003093E5E2
-:10BEC000FF30C3E3003082E50E12A0E3061881E2E2
-:10BED0000E32A0E3063883E2000093E518205BE50C
-:10BEE0000130A0E31332A0E1033080E1013483E3A9
-:10BEF000003081E518305BE50331A0E10E3283E2CA
-:10BF0000063883E2103083E2003093E514300BE50D
-:10BF100014301BE5000053E3000000BAF4FFFFEA11
-:10BF20000E22A0E3062882E20E32A0E3063883E266
-:10BF3000003093E50734C3E3003082E514301BE59D
-:10BF4000013103E2000053E30200000A0030A0E3E5
-:10BF50001C300BE5060000EA14301BE52333A0E19A
-:10BF6000033BA0E1233BA0E110300BE510301BE5C3
-:10BF70001C300BE51C301BE50300A0E10CD04BE2AC
-:10BF800000689DE81EFF2FE10DC0A0E100D82DE95B
-:10BF900004B04CE208D04DE20E32A0E31A3983E23D
-:10BFA0001C3083E2003093E514300BE514301BE5C0
-:10BFB000013003E2FF3003E2000053E30400000A13
-:10BFC0000E32A0E31A3983E2203083E20120A0E39D
-:10BFD000002083E514301BE5023003E2000053E348
-:10BFE0000400000A0E32A0E31A3983E2203083E213
-:10BFF0000220A0E3002083E514301BE5043003E2B7
-:10C00000000053E31600000A0F0000EA8E32A0E39E
-:10C010001A3983E2003093E5BE304BE1BE305BE17C
-:10C02000FF3003E2FF3003E20300A0E1BCD1FFEBED
-:10C03000BE305BE12334A0E10338A0E12338A0E166
-:10C04000FF3003E20300A0E1B5D1FFEBCE32A0E365
-:10C050001A3983E2003093E5043003E2000053E331
-:10C06000E9FFFF1A14301BE5083003E2000053E338
-:10C070002F00000A280000EAD0309FE5003093E549
-:10C080000320A0E1C8309FE5003093E5030052E1B2
-:10C090001400002A8E12A0E31A1981E2AC309FE549
-:10C0A000002093E5AC309FE50230D3E70300A0E128
-:10C0B00098309FE5003093E5012083E294309FE5BE
-:10C0C0000230D3E70334A0E1033080E1003081E5A2
-:10C0D00078309FE5003093E5022083E26C309FE5E5
-:10C0E000002083E50C0000EA60209FE50030A0E31B
-:10C0F000003082E558209FE50030A0E3003082E563
-:10C1000054209FE50130A0E30030C2E58E32A0E369
-:10C110001A3983E20020A0E3002083E5CE32A0E3B9
-:10C120001A3983E2003093E5023003E2000053E362
-:10C13000D0FFFF1A0030A0E3FD3E43E20020A0E361
-:10C14000002083E50CD04BE200689DE81EFF2FE144
-:10C15000141E0040101E0040181E00401B0000402E
-:10C160000DC0A0E100D82DE904B04CE204D04DE2AE
-:10C170000030A0E110304BE588329FE50030D3E578
-:10C18000000053E30D00001A10305BE53E0053E35E
-:10C190000600001A6C329FE50030D3E5013083E2DF
-:10C1A000FF3003E25C229FE50030C2E5870000EA31
-:10C1B00050329FE50020A0E30020C3E5830000EAA1
-:10C1C00040329FE50030D3E5010053E30D00001A33
-:10C1D00010305BE52A0053E30600001A24329FE585
-:10C1E0000030D3E5013083E2FF3003E214229FE503
-:10C1F0000030C2E5750000EA08329FE50020A0E3A8
-:10C200000020C3E5710000EAF8319FE50030D3E576
-:10C21000020053E30D00001A10305BE53E0053E3CB
-:10C220000600001ADC319FE50030D3E5013083E2DF
-:10C23000FF3003E2CC219FE50030C2E5630000EA55
-:10C24000C0319FE50020A0E30020C3E55F0000EAC5
-:10C25000B0319FE50030D3E5030053E32300001A1B
-:10C2600010305BE5030053E30C00001A98219FE5B2
-:10C270005C30A0E30030C2E590219FE590319FE55E
-:10C28000002083E57C219FE50430A0E30030C2E577
-:10C2900080219FE50330A0E30030C2E54B0000EAB7
-:10C2A00010305BE5010053E30C00001A58219FE5B4
-:10C2B0001C30A0E30030C2E55C219FE550319FE5D2
-:10C2C000002083E53C219FE50430A0E30030C2E577
-:10C2D00040219FE50130A0E30030C2E53B0000EAC9
-:10C2E00020319FE50020A0E30020C3E5370000EAED
-:10C2F00010319FE50030D3E5040053E32100001A1C
-:10C3000004319FE50030D3E5013043E2FF3003E222
-:10C31000F4209FE50030C2E5F4309FE5002093E56E
-:10C3200010305BE50030C2E5E4309FE5003093E576
-:10C33000012083E2D8309FE5002083E5C8309FE5E7
-:10C340000030D3E5000053E32000001AB4209FE53D
-:10C350000530A0E30030C2E5B8309FE50030D3E5FA
-:10C36000FF3003E2030053E30200001AAC309FE504
-:10C370000120A0E30020C3E598309FE50020A0E362
-:10C380000020C3E5110000EA78309FE50030D3E5D6
-:10C39000050053E30A00001A10305BE5000053E388
-:10C3A0000300001A5C309FE50020A0E30020C3E5F5
-:10C3B000060000EA4C309FE50120A0E30020C3E521
-:10C3C000020000EA3C309FE50020A0E30020C3E526
-:10C3D00030309FE50030D3E5000053E30300001A3E
-:10C3E0003C309FE50120A0E30020C3E5020000EA05
-:10C3F0002C309FE50020A0E30020C3E50CD04BE2E9
-:10C4000000689DE81EFF2FE1F10A0040F00A00409D
-:10C41000BC130040EC0A0040E90A00406C130040E5
-:10C42000E80A00401C0000400DC0A0E100D82DE942
-:10C4300004B04CE228209FE53E30A0E30030C2E586
-:10C440001C209FE52A30A0E30130C2E510209FE5C3
-:10C450003E30A0E30230C2E50CD04BE200689DE81C
-:10C460001EFF2FE1181E00400DC0A0E100D82DE9ED
-:10C4700004B04CE214D04DE214000BE50130A0E111
-:10C48000B8314BE10230A0E11C304BE5D0319FE5E3
-:10C490000030D3E5000053E31F00000AC4319FE5DC
-:10C4A0001C205BE50320C3E50030A0E310300BE562
-:10C4B0000A0000EA10301BE5041083E210201BE59F
-:10C4C00014301BE5033082E00030D3E594219FE572
-:10C4D0000130C2E710301BE5013083E210300BE57C
-:10C4E000B8215BE110301BE5030052E1F0FFFF8A49
-:10C4F000B8315BE1041083E268219FE50030A0E3DE
-:10C500000130C2E7B8315BE1053083E20320A0E1EE
-:10C5100054319FE5002083E5470000EAB8215BE144
-:10C5200044319FE5003093E5033082E07E0053E321
-:10C530003E00008A30319FE5003093E5011043E270
-:10C5400020219FE53E30A0E30130C2E718319FE58E
-:10C55000001093E50C219FE52A30A0E30130C2E7EB
-:10C5600004319FE5003093E5011083E2F4209FE55C
-:10C570003E30A0E30130C2E7EC309FE5003093E5A8
-:10C58000021083E2DC209FE51C305BE50130C2E74E
-:10C59000D4309FE5003093E510300BE50E0000EA43
-:10C5A00010301BE5031083E2BC309FE5002093E5CB
-:10C5B00010301BE5033062E00320A0E114301BE5DE
-:10C5C000033082E00030D3E598209FE50130C2E7D8
-:10C5D00010301BE5013083E210300BE5B8215BE140
-:10C5E00084309FE5003093E5032082E010301BE5A6
-:10C5F000030052E1E9FFFF8AB8215BE168309FE563
-:10C60000003093E5033082E0052083E258309FE557
-:10C61000002083E550309FE5003093E5011043E2B0
-:10C6200040209FE50030A0E30130C2E7020000EAAD
-:10C630000030A0E320300BE5040000EA20309FE545
-:10C640000020A0E30020C3E50130A0E320300BE58B
-:10C6500020301BE50300A0E10CD04BE200689DE810
-:10C660001EFF2FE11B000040181E0040101E00405E
-:10C670000DC0A0E100D82DE904B04CE20030A0E3E9
-:10C68000FD3E43E20020A0E3002083E5FEFFFFEA39
-:10C690000DC0A0E100D82DE904B04CE20CD04DE271
-:10C6A0000030A0E318300BE5FE3EE0E30B3043E240
-:10C6B0000020E0E3002083E50030A0E3FD3E43E2FC
-:10C6C0000020A0E3002083E5FF3EE0E3033043E2E7
-:10C6D0000020A0E3002083E50030A0E318300BE544
-:10C6E000100000EA18301BE50331A0E10F3C43E2E3
-:10C6F00014300BE518301BE50331A0E10E3C43E29A
-:10C7000010300BE514201BE50030A0E3003082E57B
-:10C7100010201BE50030A0E3003082E518301BE557
-:10C72000013083E218300BE518301BE50F0053E3AE
-:10C73000EBFFFF9A3F3DE0E30B3043E20C209FE527
-:10C74000002083E50CD04BE200689DE81EFF2FE13E
-:10C7500070C600000DC0A0E100D82DE904B04CE285
-:10C7600018D04DE21C000BE520100BE5FE2EE0E397
-:10C770000B2042E21C101BE50130A0E31331A0E1C5
-:10C78000003082E50030A0E318300BE5170000EA26
-:10C7900018301BE50331A0E10F3C43E214300BE5F8
-:10C7A00018301BE50331A0E10E3C43E210300BE5ED
-:10C7B00014301BE5003093E5000053E30800001A35
-:10C7C00020301BE50320A0E114301BE5002083E5A9
-:10C7D0001C301BE5202083E310301BE5002083E59F
-:10C7E000050000EA18301BE5013083E218300BE544
-:10C7F00018301BE50F0053E3E4FFFF9A18301BE5E8
-:10C80000100053E30200001A0030A0E324300BE5CF
-:10C81000070000EA0020A0E3FF2E42E21C101BE507
-:10C820000130A0E31331A0E1003082E50130A0E344
-:10C8300024300BE524301BE50300A0E10CD04BE2D3
-:10C8400000689DE81EFF2FE10DC0A0E100D82DE992
-:10C8500004B04CE214D04DE21C000BE5FE2EE0E3E8
-:10C860000B2042E21C101BE50130A0E31331A0E1D4
-:10C87000003082E50030A0E318300BE5190000EA33
-:10C8800018301BE50331A0E10F3C43E214300BE507
-:10C8900018301BE50331A0E10E3C43E210300BE5FC
-:10C8A00010301BE5003093E52020C3E31C301BE56E
-:10C8B000030052E10800001A14201BE50030A0E339
-:10C8C000003082E510301BE5003093E52020C3E303
-:10C8D00010301BE5002083E5050000EA18301BE559
-:10C8E000013083E218300BE518301BE50F0053E3ED
-:10C8F000E2FFFF9A18301BE5100053E30200001A14
-:10C900000030A0E320300BE5070000EA0020A0E3A0
-:10C91000FF2E42E21C101BE50130A0E31331A0E121
-:10C92000003082E50130A0E320300BE520301BE52C
-:10C930000300A0E10CD04BE200689DE81EFF2FE150
-:10C940000DC0A0E100D82DE904B04CE204D04DE2C6
-:10C950000A0000EB0030A0E110300BE510301BE5C1
-:10C96000803083E30300A0E10F0000EB10301BE5F3
-:10C970000300A0E10CD04BE200689DE81EFF2FE110
-:10C980000DC0A0E100D82DE904B04CE204D04DE286
-:10C9900000300FE110300BE510301BE50300A0E183
-:10C9A0000CD04BE200689DE81EFF2FE10DC0A0E116
-:10C9B00000D82DE904B04CE204D04DE210000BE5A4
-:10C9C00010301BE503F029E10CD04BE200689DE834
-:10C9D0001EFF2FE10DC0A0E100D82DE904B04CE20C
-:10C9E00008D04DE214000BE5E4FFFFEB0030A0E1BE
-:10C9F00010300BE510301BE58020C3E314301BE53D
-:10CA0000803003E2033082E10300A0E1E6FFFFEBA8
-:10CA100010301BE50300A0E10CD04BE200689DE85C
-:10CA20001EFF2FE10DC0A0E100D82DE904B04CE2BB
-:10CA300004D04DE2D1FFFFEB0030A0E110300BE558
-:10CA400010301BE58030C3E30300A0E1D6FFFFEB0D
-:10CA500010301BE50300A0E10CD04BE200689DE81C
-:10CA60001EFF2FE10DC0A0E100D82DE904B04CE27B
-:10CA700004D04DE2C1FFFFEB0030A0E110300BE528
-:10CA800010301BE5403083E30300A0E1C6FFFFEB5D
-:10CA900010301BE50300A0E10CD04BE200689DE8DC
-:10CAA0001EFF2FE10DC0A0E100D82DE904B04CE23B
-:10CAB00008D04DE214000BE5B0FFFFEB0030A0E121
-:10CAC00010300BE510301BE54020C3E314301BE5AC
-:10CAD000403003E2033082E10300A0E1B2FFFFEB4C
-:10CAE00010301BE50300A0E10CD04BE200689DE88C
-:10CAF0001EFF2FE10DC0A0E100D82DE904B04CE2EB
-:10CB000004D04DE29DFFFFEB0030A0E110300BE5BB
-:10CB100010301BE54030C3E30300A0E1A2FFFFEBB0
-:10CB200010301BE50300A0E10CD04BE200689DE84B
-:10CB30001EFF2FE110B5041C101C221C03E00B7813
-:10CB40000131137001320138F9D2201C10BC02BC33
-:10CB50000847C0460FB400B5064B81B002AA1B6857
-:10CB600002CA9868009201F06BFA01B008BC04B0E8
-:10CB700018470000200000400EB400B581B002ABA1
-:10CB800004CB8168009300F04BF801B008BC03B0FF
-:10CB90001847C04630B587B0051C081C0C1C00F0B7
-:10CBA00027F80D4B029301230190039301306B464C
-:10CBB00006900493A868022304A90094059302F048
-:10CBC0005DFD002802D00120404200E00A2007B0AD
-:10CBD00030BC02BC084700007C54010000B5034B88
-:10CBE000011C1868FFF7D6FF02BC08472000004070
-:10CBF000021C00E001300378002BFBD1801A704743
-:10CC000010B58B680C1C002B02D100204B6004E097
-:10CC100002F034FD0023A360636010BC02BC08472F
-:10CC2000F0B5D24CA54405900491161C1D1C02F0D1
-:10CC3000E5FE00680B900598002804D0836B002B5C
-:10CC400001D102F03BFB04998B891A0702D50B69CD
-:10CC5000002B06D1049801F0EFFB002801D001F071
-:10CC6000BDF9049B9A891A2313400A2B47D1049CCF
-:10CC70000E20235E002B42DBBD4C02236C449A4302
-:10CC80000499A281CB89BD22E381D200CB696A4499
-:10CC9000BE201360C0004B6AB64A684403606A4411
-:10CCA0001CABB548BC2113602360C9008023B34A84
-:10CCB000DB006844694403600B606A44002313602E
-:10CCC0000598211C321C2B1CFFF7AAFF0890002896
-:10CCD00007DB201C02F092FA002802D001235B42FD
-:10CCE0000893A34B6B449B895C0601D401F091F936
-:10CCF0000498838940221343838101F08AF9C52275
-:10CD0000D223D200DB00D3249D486A446B44E40064
-:10CD10006C441A606844002323600360994B9A4C6A
-:10CD20001493159400241B9611941294079208945E
-:10CD30000D9401E00794189D1B9E00E001363378A6
-:10CD4000002B01D0252BF9D11B98341A002C22D0AE
-:10CD5000D3220799D2006A441368086088481B19D7
-:10CD600068441360036801334C600360072B01DCE7
-:10CD700008310CE0D221C90004986944FFF740FF54
-:10CD8000002801D001F026F9C521C9006944089A9C
-:10CD90001219079108923378002B01D101F000F9A4
-:10CDA0007A4B00226B4401361B961A7001235B42BA
-:10CDB00017920992169303E00124644216941D1CF5
-:10CDC0001B981B990078013119901B9100E0099282
-:10CDD000199B203B582B00D9E9E36D4A9B009B58D7
-:10CDE0009F466C4A119259E3684A6A441378002BB3
-:10CDF000E6D120231370E3E701233AE02B1D2D68D1
-:10CE00000995002D1ADA684209901D1C1799042310
-:10CE100019431791D4E75D4B2B226B441A70CFE76F
-:10CE20001B9A137801321B922A2B02D000221993ED
-:10CE300013E02B1D2D681695002DBDDB1D1CBFE7D3
-:10CE400093001B989B18199C1B9900785B001B1979
-:10CE500001311A1C19901B91303A199B303B092B58
-:10CE6000EED9002A1692B3DA012252421692AFE7A7
-:10CE70008023179C1C431794A2E7002293009B1861
-:10CE800019985B001B181B991A1C1B9B097801330E
-:10CE90001B930B1C303B303A1991092B97D8EDE7C7
-:10CEA0000823E6E740230DE01B990B786C2B06D195
-:10CEB000179A102301311A431B91179280E7102310
-:10CEC000D7E7102317981843179079E71999432942
-:10CED00002D0179AD20617D52F4C6C440021082295
-:10CEE000201C03F079F88E21C9002A68059869444E
-:10CEF000231C01F0B5F8061C431C01D101F04AF8CF
-:10CF00000435189501F076F88E232A68DB00291D78
-:10CF10006B44012618911A7001F06CF8179A1023CF
-:10CF20001A431792179BDB0603D52C1D18942C6807
-:10CF30000AE017992B1D2868490603D518930304A6
-:10CF40001C1401E01893041C002C04DA0F4B2D2252
-:10CF50006B441A7064420121C0E2199A169B1A921E
-:10CF600001331BD10624169422E0000038F9FFFF9C
-:10CF7000CC050000DC050000D4050000E40500003D
-:10CF8000940600000000000000000000C70600003A
-:10CF9000684E010080540100A4060000199867281B
-:10CFA00001D0472804D11699002901D101221692F7
-:10CFB000179C2B1C0833240705D52868696818932B
-:10CFC0001490159104E029686A68149115921893D9
-:10CFD0001498159903F0AAFD002817D014981599F4
-:10CFE000C34BC24A07F03EFE002803DAC14B2D2294
-:10CFF0006B441A70199B453B022B04D9BE4F00228B
-:10D0000003260F92ECE2BD4F0326E4E21498159933
-:10D0100003F0A2FD002809D0199B453B022B02D842
-:10D02000B74F0326DAE2B74F03261BE21799802396
-:10D030005B00199A19431791662A03D1169B0326A0
-:10D040000A930BE0199C652C04D0452C02D016984D
-:10D050000A9002E0169901310A910226149B159C50
-:10D06000002B03DB251C00221C1C06E0159B1498DA
-:10D070008021090644181D1C2D220A9B0093A24BF7
-:10D080006B440193A14B6B440293D823DB006B44A8
-:10D090000C9203930598211C2A1C331C01F0B0FA52
-:10D0A000071C1998672801D0472802D11799C9078A
-:10D0B00033D50A9A199BBE18662B14D13B78302BB6
-:10D0C0000DD1201C291C8A4B884A07F0CFFD00286F
-:10D0D00005D00A988C4901231B1A69440B608A4ABF
-:10D0E0006A441368F618201C291C814B7F4A07F0FC
-:10D0F000C1FD00280BD1D823DB006B441E6006E085
-:10D10000D8243023E40013706C44531C2360D820CF
-:10D11000C00068440268B242F2D3D821C900694411
-:10D120000B68199ADB1B1393672A01D0472A12D187
-:10D13000754C6C442368181D05DD16998B4202DC82
-:10D1400067221A9274E0199B672B01D000F04AFF06
-:10D1500065241A9403E0199865284ADC1A906A49F4
-:10D1600069440B686A4A5D1E1AAB1B786A440D60FD
-:10D170001370002D02DA6D422D2300E02B23537033
-:10D18000092D21DDD224E4006C44281C0A2106F07C
-:10D1900081F9013C303020700A21281C06F0C4F8C7
-:10D1A000051C0928F1DC5B4A031C611E30336A440C
-:10D1B0000B7003E00B78013113700132D223DB00D6
-:10D1C0006B449942F6D308E0514B30226B449A707D
-:10D1D0002A1C3032DA70504A6A444D4B139C6B441F
-:10D1E000D21A0D921619012C2BDC1798C00732D5D4
-:10D1F00027E01999662919D1434A6A441668002E16
-:10D2000009DD169B002B02D1179CE40723D5169845
-:10D21000731CC6181FE01699002904D1179AD2076B
-:10D2200001D4012617E0169E023614E0199B1A93CA
-:10D23000354C6C4426681398864204DB1799C9075D
-:10D2400009D5013607E0002E01DD012001E00223AF
-:10D25000981B139A16180C9B002B06D11A9C139836
-:10D26000002119940E900F91BAE1224B2D226B44AC
-:10D270001A70002E109601DA002210921A9B139C4D
-:10D28000002019930E940F90B4E11799C90605D5A3
-:10D290002B68089C2A1D18921C604CE517982B1DC2
-:10D2A000400605D569461893098C2B68198042E51C
-:10D2B0001893089A2B681A603DE5179C10231C43AD
-:10D2C00017941798C00603D52C68291D189107E0FC
-:10D2D000179A2B1D2868520604D5189303041C0CBA
-:10D2E0000021F7E0041C1893FAE70000000000009A
-:10D2F00000000000C706000094540100985401008B
-:10D300009C540100A0540100B4060000BC060000BB
-:10D31000AD060000AF060000B10600002B1D1798F7
-:10D320001893C94902232C68184378221790119149
-:10D330001992CEE0C54B00226B441A702F682B1D4A
-:10D340001893002F01D100F051FE199C532C02D0EC
-:10D350001798C00671D5D721C900BD4869440F6030
-:10D3600008226844002102F037FE169A002A1DDBCD
-:10D3700000260024D720C000684403681A59002AF8
-:10D380002AD08E21B24BC900694405986B4400F045
-:10D3900067FE411C01D100F0FDFD169A80199042F4
-:10D3A0001ADC0434904211D0061CE3E7A84BD722C4
-:10D3B0006B44D2000093059800216A44002300F0DA
-:10D3C00077FE061C431C03D100F0E4FD169E03E02B
-:10D3D000D721C90069440F60002E00D1FBE0711C09
-:10D3E000059802F07BFB002807D1049A9389049CDE
-:10D3F00040221343A38100F0EDFD954C6C44129044
-:10D4000000210822201C02F0E7FDD722D200059857
-:10D4100012996A44331C009400F04AFEB04206D0D0
-:10D420000498838940221343838100F0CFFD129A30
-:10D4300000239355129F0F93D2E0169B002B0DDB18
-:10D44000381C00211A1C02F09FFD002800D1C4E006
-:10D45000169CC61BA64200DDBFE0BCE0381CFFF7EF
-:10D46000C7FB061C0020A0E0179910231943179151
-:10D47000179AD20603D52C682B1D18930AE0179C27
-:10D480002B1D2868640603D5189303041C0C01E0C7
-:10D490001893041C01211DE06E4811901799C906CC
-:10D4A00003D52C682A1D18920AE0179C2B1D2868AA
-:10D4B000640603D5189303041C0C01E01893041CA4
-:10D4C0001798C00705D5002C03D0179902231943DC
-:10D4D000179102215D4B00226B441A70169A002AA4
-:10D4E00003DB1798802398431790002C02D1169ADB
-:10D4F000002A44D0012904D0012905D3022935D1BD
-:10D5000028E0554D6D441DE0534F6F4407232340E1
-:10D51000013F3033E4083B70002CF7D1179CE4073F
-:10D520003CD5302B3AD0013F302311E0051C0A21B5
-:10D53000201C05F04BFF303028700A21201C05F01C
-:10D54000ADFE041C681E092CF0D8231C071C3033C8
-:10D550003B7023E0404F6F4411980F232340C35C7E
-:10D56000013F24093B70002C18D0F5E73B4C201CF0
-:10D57000FFF73EFB1699061C271C0F9130E000298F
-:10D5800002D1179AD20701D4334F06E08E22D2007F
-:10D59000334B30216A44D154324F6F44D924E400D4
-:10D5A0006C44E31B1E1C1698FC3E0F9018E0199962
-:10D5B000002901D100F0F4FC8E2119AA1278C900CB
-:10D5C000224B69440A706B44002201260F1C1A701A
-:10D5D000189500F00DFD00232DE7169E00240F94F2
-:10D5E0000F981096864200DA1090184B6B441B7807
-:10D5F000002B03D010990131109105E0179A920782
-:10D6000002D5109B02331093179C84231C40069470
-:10D6100061D109981099441A002C33DC5BE0079A19
-:10D62000136010235360031CD320C0000E4A103334
-:10D63000684403606A446B1C1360072B16DC079B6D
-:10D64000083307931DE0000080540100C706000066
-:10D650009C060000A4540100CC050000B854010051
-:10D660005B010000CB050000940600000498FFF762
-:10D67000C7FA002801D000F0A6FCC520C00068440D
-:10D680000790103CD322CE4BD221D2006B44C9006C
-:10D690006A441D6869441068CA4B102CBFDC079AA5
-:10D6A000136054600319D324E400C5486C4423601C
-:10D6B00068446B1C0360072B02DC083207920AE007
-:10D6C0000498FFF79DFA002801D000F07CFCC521EA
-:10D6D000C90069440791BC4A6A441378002B23D0DF
-:10D6E000079BD320079CC00068441A600123636035
-:10D6F000B34903686944013303600B6801330B606D
-:10D70000072B02DC083407943AE0D221C9000498C0
-:10D710006944FFF775FA002801D000F054FCC522D7
-:10D72000D2006A4407922BE0179B02210B4227D0BC
-:10D73000A64B30226B441A7019AC24785C700798A1
-:10D740004160D321C900694403609D4A0B686A4463
-:10D7500002330B60136801331360072B02DC0830BF
-:10D7600007900DE0D221C90004986944FFF748FAF8
-:10D77000002801D000F027FCC523DB006B44079391
-:10D78000069C802C4DD109981099441A002C20DC5D
-:10D7900047E0079A136010235360031CD320C00096
-:10D7A000874A1033684403606A446B1C1360072B7C
-:10D7B00003DC079B083307930AE00498FFF720FA7D
-:10D7C000002801D000F0FFFBC520C000684407908E
-:10D7D000103CD3227A4BD221D2006B44C9006A4458
-:10D7E0001D68694410687A4B102CD2DC079A1360CC
-:10D7F00054600319D324E40071486C4423606844E6
-:10D800006B1C0360072B02DC0832079209E00498C6
-:10D81000FFF7F6F9002800D0D5E3C521C900694417
-:10D8200007910F9A941B002C1FDC46E0079A1360A7
-:10D8300010235360031CD320C000614A1033684496
-:10D8400003606A446B1C1360072B03DC079B0833DF
-:10D85000079309E00498FFF7D3F9002800D0B2E35A
-:10D86000C520C00068440790103CD322544BD221FD
-:10D87000D2006B44C9006A441D6869441068544B67
-:10D88000102CD3DC079A136054600319D324E400EE
-:10D890004B486C44236068446B1C0360072B02DC1C
-:10D8A0000832079209E00498FFF7AAF9002800D08F
-:10D8B00089E3C521C90069440791179AD20512D49A
-:10D8C000D324079BE4006C441F605E603C482368DF
-:10D8D00068449B192360036801330360072B00DD54
-:10D8E000E5E2079AE1E21999652900DC1CE2149847
-:10D8F0001599384A384B07F0BDF9002800D09DE053
-:10D90000364B079AD324E4006C4413600123536020
-:10D910002B482368684401332360036801330360A4
-:10D92000072B01DC08320BE0D221C90004986944BE
-:10D93000FFF766F9002800D045E3C522D2006A440B
-:10D94000274969440B680E9CA34203DB1798C00764
-:10D9500000D4B4E2D324E40001236C44536018489B
-:10D96000236868440133236003680B990133116015
-:10D970000360072B01DC08320BE0D221C9000498B8
-:10D980006944FFF73DF9002800D01CE3C522D2000E
-:10D990006A440E9C013C002C2EDC90E213601023A4
-:10D9A0005360031CD320C000103368440360044854
-:10D9B0006B1C68440360072B14DC08321BE000007A
-:10D9C00094060000DC4F0100C7060000C5060000F9
-:10D9D000CC4F01000000000000000000D454010002
-:10D9E000B40600000498FFF70BF9002800D0EAE223
-:10D9F000C522D2006A44103CD323DB006B44186874
-:10DA0000DA4BD2216B44C9001D686944D84B102CF5
-:10DA1000C4DC136054600319D324E400D3486C447D
-:10DA2000236068446B1C0360072B00DC3DE2049814
-:10DA3000FFF7E6F8002800D0C5E23DE2CD49694491
-:10DA40000B68002B00DD95E0CB4B079AD324E40054
-:10DA50006C44136001235360C44823686844013355
-:10DA60002360036801330360072B01DC08320BE0FD
-:10DA7000D221C90004986944FFF7C2F8002800D0F9
-:10DA8000A1E2C522D2006A44BA4969440B68002B5E
-:10DA900003D10E9B002B00D111E2D320C000012343
-:10DAA00068445360B14903686944013303600B68FB
-:10DAB0000B9C013314600B60072B01DC08320BE078
-:10DAC000D221C90004986944FFF79AF8002800D0D1
-:10DAD00079E2C522D2006A44A64C6C4423685E42B7
-:10DAE000002E1BDC3DE0136010235360031CD32089
-:10DAF000C0009E4C1033684403606C446B1C236070
-:10DB0000072B01DC083208E00498FFF779F80028B9
-:10DB100000D058E2C522D2006A44103ED323934C71
-:10DB2000D221DB006B44C9006C4418686944256845
-:10DB30008F4B102ED7DC13608319D320C0006844AC
-:10DB400003606B1C56602360072B01DC083208E081
-:10DB50000498FFF755F8002800D034E2C522D2001F
-:10DB60006A44D324E4006C440E9923685B18176060
-:10DB700051607BE0D322D2006A447C4CD2211068F1
-:10DB80000E9AC9006C4469442568934278DB079B70
-:10DB9000D3241F605A60E400831874486C442360E7
-:10DBA00068446B1C0360072B02DC079A083208E00C
-:10DBB0000498FFF725F8002800D004E2C522D2001F
-:10DBC0006A446C4969440B680E981C1A002C1BDCD3
-:10DBD0003FE0136010235360031CD320C0001033B8
-:10DBE0006844036061486B1C68440360072B01DCD8
-:10DBF000083208E00498FFF703F8002800D0E2E1BB
-:10DC0000C522D2006A44103CD323DB006B44186861
-:10DC1000564BD2216B44C9001D686944544B102CEB
-:10DC2000D7DC136054600319D324E4004F486C44DC
-:10DC3000236068446B1C0360072B01DC083208E09A
-:10DC40000498FEF7DDFF002800D0BCE1C522D20019
-:10DC50006A44179B01210B4200D130E1D324474B8A
-:10DC6000E4006C4413602368516001333F4868440A
-:10DC70002360036801330360072B00DC15E116E124
-:10DC8000079AD3245360E400C31838486C442360D7
-:10DC900068446B1C17600360072B01DC083208E046
-:10DCA0000498FEF7ADFF002800D08CE1C522D20019
-:10DCB0006A44324B2F49D320C00069446844136042
-:10DCC00001230C68536029490368694401330360E8
-:10DCD0000B6801330B60072B02DC111C08310BE0D1
-:10DCE000D221C90004986944FEF78AFF002800D0B9
-:10DCF00069E1C521C90069443B190B601D4BD32064
-:10DD00006B44C0001A6868440E9C0368A21A9B18F2
-:10DD10004A60164A6A440360136801331360072B94
-:10DD200000DDC4E00A1CC0E00E9B012B04DC179C44
-:10DD300001231C4200D186E0114A3B786A441370EB
-:10DD40002E235370D3210798C9000223694402602F
-:10DD50004360064A0B686A4402330B601368013360
-:10DD60001360072B0EDC041C083417E09406000037
-:10DD7000CC4F0100B4060000D4540100D854010077
-:10DD8000C5060000D221C90004986944FEF738FF97
-:10DD9000002800D017E1C524E4006C4414981599BC
-:10DDA000A04B9F4A06F062FF0E9D013D002812D055
-:10DDB000D320C0007B1C684423600E9903689A4AF4
-:10DDC000CB18013B6A44036013680133656013603C
-:10DDD000072B49DD4AE02E1E1BDC53E02360102395
-:10DDE0006360031CD320C0008F4A10336844036073
-:10DDF0006A446B1C1360072B01DC083408E00498AC
-:10DE0000FEF7FEFE002800D0DDE0C524E4006C44EF
-:10DE1000103ED323844AD221DB006B44C9006A44FC
-:10DE2000186869441568814B102ED7DC236083196C
-:10DE3000D320C000684403606B1C66601360072B2E
-:10DE400012DD049816E0D3220799D2006A444B6091
-:10DE5000754C13686C4401331360236801330F6001
-:10DE60002360072B02DC0C1C08340BE0D221C90014
-:10DE700004986944FEF7C4FE002800D0A3E0C5243E
-:10DE8000E4006C446A4BD321C9006B4469440D988B
-:10DE90002360654A0B686A441B180B6013680133E2
-:10DEA00060601360072B02DC221C083207E0D221DD
-:10DEB000C90004986944BBE5C522D2006A44179B97
-:10DEC0005B073ED509981099441A002C1ADC38E0FB
-:10DED000136010235360031CD320C0001033684428
-:10DEE000036051486B1C68440360072B01DC083257
-:10DEF00007E00498FEF784FE002864D1C522D20012
-:10DF00006A44103CD323DB006B441868464BD22193
-:10DF10006B44C9001D686944464B102CD8DC136063
-:10DF200054600319D324E4003F486C4423606844E0
-:10DF30006B1C0360072B04DD0498FEF761FE0028CC
-:10DF400041D1109B09998B4200DA0B1CD324089A0B
-:10DF5000E4006C44D21823680892002B07D0D22129
-:10DF6000C90004986944FEF74BFE00282BD12E48C7
-:10DF7000C524129900236844E40003606C4400291E
-:10DF800001D1FEF7D7FE059801F0A4FA0022129203
-:10DF9000FEF7D0FE049CA38940221343A38119E01D
-:10DFA000D321C90069440B68002B07D0D221C900D6
-:10DFB00004986944FEF724FE00280BD11A4A002376
-:10DFC0006A44136006E0129B002B03D00598129957
-:10DFD00001F080FA049CA38958061AD50121494210
-:10DFE000089116E045221A92FFF7B9F8124F06265B
-:10DFF00010960AE0114B8E2700226B44FF001A7026
-:10E000006F44002E109600DA109200230F93FFF752
-:10E01000F5FAD9230898DB009D44F0BC02BC084700
-:10E02000000000000000000094060000CC4F01003A
-:10E03000AD060000DC4F0100DC540100C706000003
-:10E0400030B5131C054A0D1C041C211C10682A1C29
-:10E05000FEF7E6FD30BC02BC08470000200000408F
-:10E0600030B583B0051C1C1C002902D16946023161
-:10E070000022231C00F088F8431C05D100232360F4
-:10E080008A2301202B60404203B030BC02BC084709
-:10E0900030B5131C054A0D1C041C211C10682A1CD9
-:10E0A000FFF7DEFF30BC02BC084700002000004044
-:10E0B000F0B589B00290019100921D1C0E9F0029BD
-:10E0C00001D101256D420099019A0E680024039246
-:10E0D0003FE03B680493796805916946326802988D
-:10E0E0001A313B1CFFF7BCFF421C07D102998A235F
-:10E0F00001240B60644200233B602CE02B1A9C42FD
-:10E1000022D8A84220D2019A2418002A0FD0002237
-:10E1100007E06B461A33D35C03990B70013103910E
-:10E1200001328242F5DB009A1368043313603368CE
-:10E13000002B01D004360CE00199002901D0009A8F
-:10E140001360013C3B6006E0049B05993B607960ED
-:10E1500001E0AC42BDD3201C09B0F0BC02BC0847B2
-:10E1600070B5161C074A0D1C81B0041C211C1068D8
-:10E1700000932A1C331CFFF79BFF01B070BC02BC4C
-:10E180000847000020000040F0B59C4E301C0D1CDC
-:10E19000141C1F1CFEF72CFD012800D821E1984912
-:10E1A000301C02F053FD002800D097E0002D00D174
-:10E1B0001CE17F2C00DC16E1221C924B803A9A4233
-:10E1C0000DD8620540235B42D20E1A432A703F23CA
-:10E1D000221C1A4080235B421A436A70A4E08A48DA
-:10E1E0008A4B22189A4217D8894BE218894B9A42D7
-:10E1F00000D8FDE0220420235B42120F1A432A704C
-:10E200002305802252429B0E13436B703F23234011
-:10E2100013430320AB70EDE07F48804B22189A42F5
-:10E2200016D8E20210235B42520F1A432A70A3034E
-:10E23000802252429B0E13436B7023059B0E691C78
-:10E2400013434B703F232340134304208B70D1E0D2
-:10E25000734BE218734B9A421BD8A20108235B420E
-:10E26000920F1A432A702302802252429B0E1343BC
-:10E270006B70A3039B0E691C13434B7023059B0E0D
-:10E28000481C134343703F232340134383700520EE
-:10E29000B0E0654B9C4200DCAAE0620004235B42D4
-:10E2A000D20F1A432A70A300802252429B0E1343BE
-:10E2B0006B7023029B0E681C13434370A3039B0ED9
-:10E2C000411C13434B7023059B0E481C13434370A2
-:10E2D0003F2323401343837006208BE05349301CB7
-:10E2E00002F0B4FC002821D1002D7FD023041A0EA7
-:10E2F000002A78D0131C7F331B061B0E1E2B05D95A
-:10E30000131C20331B061B0E0F2B71D8C0202306B5
-:10E310000006190E1B181B0E3E2B03D980234B4001
-:10E320007C2B65D82A706970022063E04049301C5C
-:10E3300002F08CFC002814D1002D57D023041A0EB3
-:10E34000002A50D0131C5F331B061B0E5D2B4FD8C9
-:10E35000BE202306C005190E1B181B0E5D2B47D8C7
-:10E36000E0E73449301C02F071FC002839D1002D5F
-:10E370003AD023061E0E2304190E00291FD00B1CB1
-:10E38000213B1B061B0E5D2B32D8331C213B1B0689
-:10E390001B0E5D2B2CD83B68002B01D000200AE01F
-:10E3A00001233B601B232B7024236B706A1C4223C8
-:10E3B0005370951C0320023029706E701AE03B6880
-:10E3C000002B01D1002009E01B2339602B7028238A
-:10E3D0006B706A1C42235370951C032001302E7011
-:10E3E00008E0002D02D02C70012003E0002001E0A5
-:10E3F00001204042F0BC02BC084700002804004055
-:10E40000E45401007F07000000F8FFFFFFF7000061
-:10E410000028FFFFFF0700000000FFFFFFFF1E00B6
-:10E420000000E0FFFFFFDF03FFFFFF03EC540100EC
-:10E43000F4540100FC54010030B5234B041C18684F
-:10E44000002804D0836B002B01D100F037FFA28994
-:10E450000823151C1D401ED1D30602D401204042C2
-:10E460002FE0530713D5216B002908D0231C40331C
-:10E47000994203D0144B186801F02CF82563A38946
-:10E4800024229343A3810023636023692360A3892B
-:10E4900008221343A3812369002B02D1201C01F021
-:10E4A000B1FAA389DA0705D50023A36063695B424B
-:10E4B000A36105E09A0701D5002300E06369A3602A
-:10E4C000002030BC02BC084720000040F0B50A69BB
-:10E4D000036989B001900091934201DA002089E03C
-:10E4E000561E0098019A14301432B300C118D31884
-:10E4F0000691059309681B6808900131181C079262
-:10E50000029304F0CBFE0490002836D00020079D33
-:10E51000089F0390844604CF384C0498131C234072
-:10E52000011C5943120C424361440B0CD218130CCA
-:10E530009C462B68181C21402040401A0399224019
-:10E5400040181B0C9B1A02149B181A146B80069B14
-:10E550002880039204359F42DDD90298002801D01B
-:10E560000BE0013E0599079A04390591914202D9C1
-:10E570000B68002BF5D0019B1E610198009901F0FA
-:10E580009DFD002835DB0498013000270490079D8D
-:10E59000BC46089904C9194C0891111C21406144DA
-:10E5A0000B0C120CD218130C9C462B68181C214023
-:10E5B0002040401AC01922401B0C9B1A28800214CC
-:10E5C000069908989B186B801F1404358842E0D97F
-:10E5D0000798B300C2181368002B01D009E0013E70
-:10E5E0000799043A8A4202D91368002BF7D0019A9E
-:10E5F0001661049809B0F0BC02BC0847FFFF000098
-:10E60000F0B5A4B003910492016C029001932B9C8D
-:10E6100000290AD0436C4B60426C012393408B600D
-:10E6200001F0E6FC029800230364039A002A05DA4D
-:10E6300001232360CD4B1A40039201E000232360A5
-:10E64000039ECB4A331C1340934219D1C94B2A99DC
-:10E65000049A0B60002A04D1C74B1E4201D1C7485F
-:10E6600000E0C7482C9B002B01D100F0C3FDC3780C
-:10E67000C21C002B00D005322C9C226000F0BAFD99
-:10E6800003980499BF4AC04B0590069106F0EEFA34
-:10E6900000280ED12A992C9A01230B60002A02D15E
-:10E6A000BA4800F0A7FDBA4B2C9C581E236000F01E
-:10E6B000A1FD22AB0093029823AB0599069A01F0C5
-:10E6C0001FFE73005C0D1490002C0BD0059806996A
-:10E6D000A94BB04A0340181C1043AF4A0023A618A8
-:10E6E000139323E0229BAD4C239A1B199D18202DD8
-:10E6F00009DD4022521B2B1C04989640203BD84039
-:10E70000341C044303E02023049C5B1B9C40201C1E
-:10E7100006F0B4FA002C03DAA14AA24B06F0B2FAD2
-:10E72000A14AA24B012413948018EE18A04AA14BD1
-:10E7300006F0ACFAA04AA14B06F0ACFAA04AA14BF5
-:10E7400006F0A0FA041C301C0D1C06F097FA9E4A35
-:10E750009E4B06F09FFA021C0B1C201C291C06F085
-:10E7600091FA041C0D1C06F099FA291C0E90854A9A
-:10E77000854B201C06F076FA00280DDA0E9806F07C
-:10E780007DFA021C0B1C201C291C06F06FFA0028C5
-:10E7900002D00E9801380E900E99162901D9012247
-:10E7A00012E00E9C8A4BE200D21805980699536835
-:10E7B000126806F057FA002802DB00200F9004E0F0
-:10E7C0000E9901390E9100220F92229B9B1B5A1E1B
-:10E7D00003D400231192099303E0524200240992CA
-:10E7E00011940E98002806DB119900220918119146
-:10E7F00012900A9207E0099B0E9C00211B1B6042AD
-:10E8000009930A901291019A092A1BD8052A01DC62
-:10E81000012403E0019B043B019300240198052897
-:10E8200003D86C4A83009B589F460121494201222C
-:10E830000C910D9110922FE00123109320E0012004
-:10E8400010900EE000210191012401235B4200227F
-:10E850000120122629920C930D9310901CE00021A8
-:10E860001091299A002A03DD161C0C920D9213E0D8
-:10E870000126012329930C960D960DE0002010909F
-:10E88000299B0E990133CE18721E0D92002E02DCC8
-:10E890000C96012600E00C960298002304224364A3
-:10E8A00003E04B1C02994B645200131C0298143372
-:10E8B000416CB342F5D901F0F5FC02990C9A1A901B
-:10E8C00008640E2A00D9A5E1002C00D1A2E10E9B1C
-:10E8D000002B33DD0F213E4A0B400E98DB009B18C6
-:10E8E00004111E685F68E20602D402230B930BE05A
-:10E8F000394B0C401A6A5B6A0598069906F0D2F902
-:10E900000390049103200B90334D0EE0E1070AD5EC
-:10E910000B9A01320B92301C391C2A686B6806F086
-:10E92000B9F9061C0F1C64100835002CEED10398B1
-:10E930000499321C3B1C06F0B5F95CE00E9B5C426E
-:10E94000002C02D102240B9457E00F23204A2340CD
-:10E95000DB009B181A685B680598069906F09AF91F
-:10E960001D4D022224110B9243E00000FFFFFF7FA8
-:10E970000000F07F0F270000FFFF0F00045501008B
-:10E98000105501000000000000000000D4540100F8
-:10E99000D55401000000F03F01FCFFFF32040000ED
-:10E9A0000000F04100000000000010FECDFBFFFF62
-:10E9B0000000F83F00000000A787D23F61436F636B
-:10E9C000288AC63FB3C8608B1344D33FFB799F505E
-:10E9D0003C500100EC4F010004510100E30706D553
-:10E9E0000B9A01320B922A686B6806F053F9641097
-:10E9F0000835002CF2D1039004910F9B002B2FD0EF
-:10EA0000039C049DCE4BCD4A201C291C06F02AF9FC
-:10EA1000002825DA0C98002822DD0D99002900DC59
-:10EA2000F4E00E9A013A2092201CC64AC64B291CDB
-:10EA300006F030F9041C0B980D1C0130039404956A
-:10EA400006F01CF9221C2B1C06F024F9BF4AC04B0F
-:10EA500006F018F9BF4BC4180D980D1C219032E038
-:10EA6000039E049F0B9806F009F9321C3B1C06F02C
-:10EA700011F9B64AB64B06F005F90C9A0D1CB549CA
-:10EA8000041C6418002A1AD1B34AB44B301C391C38
-:10EA900006F0FCF8221C2B1C061C0F1C06F006F9C5
-:10EAA000002800DD6FE28020000622182B1C301C9D
-:10EAB000391C06F0D7F8002800DA5AE2A6E00C99D3
-:10EAC0000E9A2191209221981099A54AC3000029FD
-:10EAD0004CD09B18083B1A685B68A248A24906F014
-:10EAE000E1F82B1C221C06F0D1F818901991039D17
-:10EAF000049E1A9F311C281C06F0D0F8041C06F056
-:10EB0000BDF8021C0B1C281C311C06F0BFF8303469
-:10EB10003C70189A199B051C0E1C013706F0A2F8D0
-:10EB2000002800DA34E32A1C331C8549834806F0A8
-:10EB3000ADF8189A199B06F095F8002800DADAE08B
-:10EB40001A9A219CBB1AA34260DA189819997D4A37
-:10EB50007D4B06F09FF87B4A7B4B18901991281C3F
-:10EB6000311C06F097F8051C0E1CC3E79B18083BE8
-:10EB7000291C201C1A685B6806F08CF81B901C91FD
-:10EB8000039D049E0027311C281C06F087F8041CF6
-:10EB900006F074F8021C0B1C281C311C06F076F8D9
-:10EBA000051C1A9830343C540E1C219901378F42B1
-:10EBB00023D16C4A6C4BC7191B981C9906F062F85C
-:10EBC000021C0B1C281C311C06F070F8002800DD0C
-:10EBD00091E01B9A1C9B6348634906F057F8021C9E
-:10EBE0000B1C281C311C06F03DF800280EDA013FF2
-:10EBF0003B78302BFBD0013786E0281C311C514A72
-:10EC0000514B06F047F8051C0E1CBCE7059B069C03
-:10EC100003930494239B002B00DA88E00E9C0E2CB7
-:10EC200000DD84E04E4AE3009B18186859681D9087
-:10EC30001E912999002902DA0C9A002A03DD039C0F
-:10EC4000049D1A9F11E00C9B002B00D091E1424AD9
-:10EC5000424B1D981E9906F01DF8039A049B06F07E
-:10EC600029F8002800DB84E18DE11D9A1E9B201C01
-:10EC7000291C06F017F806F011F8061C05F0FEFF37
-:10EC80001D9A1E9B06F006F80B1C021C291C201C5A
-:10EC900005F0FCFF331C30333B70041C0D1C1A982C
-:10ECA0000C99013743189F4231D1221C2B1C201C88
-:10ECB000291C05F0E7FF1D9A1E9B041C0D1C05F086
-:10ECC000F5FF002815DC201C291C1D9A1E9B05F051
-:10ECD000D1FF002800D077E2F2070AD474E21A9B31
-:10ECE0009A4209D1209C1A98013430232094037051
-:10ECF00006E00E9920913A1C013A1378392BEED098
-:10ED0000137801331370571C209A0E925CE2201C7A
-:10ED1000291C0C4A0C4B05F0BDFF144A144B041C73
-:10ED20000D1C05F0A3FF002800D14DE29DE7109CCB
-:10ED3000002C1FD1099E0A9D00204CE00000F03FEE
-:10ED400000000000000024400000000000001C4003
-:10ED5000000000000000C0FC0000144000000000A3
-:10ED60003C5001000000E03F0000000000000000F7
-:10ED700000000000019901290BDC139A002A02D03F
-:10ED8000C64C1B1902E0229A36239B1A099E0A9D43
-:10ED900017E00C9A0A98013A904201DB851A07E0C5
-:10EDA0000A99531A129AC918D21812920A91002578
-:10EDB0000C9B002B01DB099E03E0099C0C980023AF
-:10EDC000261A0999119AC9180991D2180298012195
-:10EDD000119201F04DFC1690002E0CDD119B002BC2
-:10EDE00009DDB34200DD331C099C1198E41AC01AF6
-:10EDF00009941190F61A0A99002922DD109A002A26
-:10EE000019D0002D10DD16992A1C029801F082FC01
-:10EE100016901699149A029801F094FB1499041C08
-:10EE2000029801F0E5F814940A9B5A1B002A08D0B6
-:10EE30000298149902E0029814990A9A01F06AFC67
-:10EE400014900298012101F013FC129C1790002CE1
-:10EE500005DD02981799221C01F05CFC17900198BF
-:10EE6000012811DC049900290ED1039A8C4B1A4217
-:10EE70000AD18C4B1A4207D0099A119B01320133F7
-:10EE800001240992119300E000241298002801D176
-:10EE9000012208E017990B699B005B18186901F0C3
-:10EEA000B3F820231A1A119BD2181F231A400ED030
-:10EEB00020239A1A042A08DD09981199131FC018F3
-:10EEC000C918F618099011910AE0032A08DC131CEE
-:10EED0001198099A1C33D218C01809921190F6188B
-:10EEE0000999002905DD02981499099A01F0E2FABE
-:10EEF0001490119A002A04DD0298179901F0DAFAA9
-:10EF000017900F9B002B1ED01498179901F0D6F87C
-:10EF1000002818DA0E9801380E90149902980A22E7
-:10EF2000002301F0B1FB10991490002902D10D9A31
-:10EF30000C9208E00023029816990A2201F0A4FB23
-:10EF40000D9B16900C930C9800282ADC019902293D
-:10EF500027DD002810D1179902980522002301F01F
-:10EF600093FB17901799149801F0A8F800280DDC6E
-:10EF700002E0002216921792299B1A9FDB4300247D
-:10EF80000E9315940CE10020169017901A993123D6
-:10EF90000B700E9A0F1C0132002301370E9215934D
-:10EFA000FEE01098002800D1B8E0002E05DD0298A0
-:10EFB0001699321C01F07EFA1690002C01D1169899
-:10EFC00013E0169A0298516801F06CF9169B1A69C1
-:10EFD00016999200041C0C3108320C30FDF7AAFD82
-:10EFE0000298211C012201F065FA049C1699012364
-:10EFF0001C400894159116901A9C17991498FFF7C5
-:10F0000065FA15990790051C149801F057F817999F
-:10F010001F90169A029801F0DDF9C3683035061C7E
-:10F02000002B00D0E0E0311C149801F047F8311CAF
-:10F03000071C029800F0DCFF002F0DD1019A002A76
-:10F040000AD1089B002B07D1392D31D01F980028F9
-:10F0500021DD079D31351EE01F99002907DB0029BE
-:10F0600022D1019A002A1FD1089B002B1CD1002F0E
-:10F0700011DD14990298012201F01CFA17991490DD
-:10F0800001F01CF8002803DC002804D1E80702D5B1
-:10F0900001353A2D0CD0257081E0000033040000CA
-:10F0A000FFFF0F000000F07F002F08DD392D03D196
-:10F0B00039232370013462E06B1C23706FE02570EC
-:10F0C0001A990C9A01348B189C423CD00023029868
-:10F0D00014990A2201F0D8FA159B149016988342CD
-:10F0E00008D1029816990A22002301F0CDFA169051
-:10F0F000159082E715990A220023029801F0C4FABC
-:10F10000169915900A220298002301F0BDFA169074
-:10F1100073E71A9900220C19159214E00024149830
-:10F120001799FFF7D3F91A9B051C3035E5540C9855
-:10F1300001348442EDDA029814990A22002301F086
-:10F14000A3FA1490EBE714990298012201F0B2F9A6
-:10F150001799149000F0B2FF002810DC00281AD193
-:10F16000E9070CD417E01A9B9A4209D11A980E9C11
-:10F17000071C0134312301370E94037010E0221C68
-:10F18000013A1378392BEED00133571C137007E086
-:10F1900020990E9118E0013C2378302BFBD0671C9E
-:10F1A0000298179900F024FF169A002A0CD0159B9C
-:10F1B000002B05D0934203D00298191C00F018FFD1
-:10F1C0000298169900F014FF0298149900F010FFAD
-:10F1D00000233B700E9B2A9C2C980133236000284F
-:10F1E00000D007601A9805E00298311C00F000FF7B
-:10F1F000012731E724B0F0BC02BC084770B5041CFD
-:10F20000002805D11B4B1C49186800F093FB2EE029
-:10F210001A4B1868002804D0836B002B01D100F032
-:10F220004DF80C23E15E0B0720D52669002E1DD07A
-:10F23000032322682660194208D0002307E0A3892F
-:10F240004022012013434042A38110E06369951BD3
-:10F25000A36009E0E069636A311C2A1C00F010F821
-:10F260000028ECDD36182D1A002DF3DC002070BCD0
-:10F2700002BC084704500100FDF1000020000040DE
-:10F280001847C04600230360436083600361436105
-:10F290008361064B0362064B4362064B8362064B57
-:10F2A0008181C281C061C36270470000150C0100FA
-:10F2B000D10B0100950B01007D0B010010B5826B95
-:10F2C000041C002A22D1134BC36301238363B82398
-:10F2D0009B00C250B9239B000322BB21C25089006E
-:10F2E000BA2342189B00C250042140680022231C0C
-:10F2F000FFF7C8FFA06809210122231CFFF7C2FF06
-:10F30000E0680A210222231CFFF7BCFF10BC01BCED
-:10F310000047000031F30000704700007047000014
-:10F3200070470000704700000020704700207047C1
-:10F3300000B5024900F0FEFA01BC0047610D010072
-:10F3400000B5034B1868FFF7F3FF01BC004700004E
-:10F350000450010070B55C230E1C5E430D1C311C73
-:10F360000C3100F0BBFB002801D1002409E0041C93
-:10F3700000230C3023606560A0600021321C00F087
-:10F380002BFE201C70BC02BC0847000000B5034BDC
-:10F390000349186800F0CEFA01BC00472000004085
-:10F3A0002DF3000000B5034B0349186800F0C2FAC2
-:10F3B00001BC00472000004029F3000030B51C4B81
-:10F3C0001C68A36B051C002B02D1201CFFF776FFE5
-:10F3D000B82189006418A068636804E00C21425ECB
-:10F3E000002A12D05C30013BF8D52368002B06D1EF
-:10F3F000281C0421FFF7AEFF2060002801D02468FC
-:10F40000E9E70C2300202B600EE001235B42C3815F
-:10F4100001238381026082604260026142618261F5
-:10F42000026342634264826430BC02BC084700004D
-:10F4300004500100F0B50C1C051C00F0D5FD214F57
-:10F44000BB685A680323161C9E431F4B341BE418E9
-:10F45000240B013C240310339C421DDD281C002199
-:10F4600005F02CFCBB68F318984215D16142281CAA
-:10F4700005F024FC013014D10021281C05F01EFCED
-:10F48000BC68011B0F2907DD104B1B68104AC31A0B
-:10F49000136001230B436360281C00F0A7FD0020CC
-:10F4A0000CE00122331B1343B968094A4B6013680F
-:10F4B0001B1B281C136000F099FD0120F0BC02BC4E
-:10F4C0000847000034040040EF0F000040080040EF
-:10F4D0000C0B0040F0B581B000900C1C002900D14D
-:10F4E000BDE0261C083E00F07FFD716801220C1C67
-:10F4F00094433019944642685B4F0323151C9D4387
-:10F50000BB6862461140984218D16019002906D1A3
-:10F510003368F61AF268C018B368DA60936063461D
-:10F5200003437360514B1B68BE60984200D293E066
-:10F530004F4B00981968FFF77DFF8DE0456000296B
-:10F540000CD13368F61AE418B2683B1C08339A42AF
-:10F5500001D1012103E0F368D3609A6000214319CF
-:10F560005B6801229446134214D1641900290DD11D
-:10F570003D4B826808339A4208D163462343D660E4
-:10F580009660F260B2607360345165E0C26883686F
-:10F59000DA6093600120231C034373603451002917
-:10F5A0005AD1344B9C4212D8E1080A1C002900DAD7
-:10F5B000CA1C92107B68904003432B4A7B60CB00AF
-:10F5C0009B189A68F360B260D6609E6044E0620A5D
-:10F5D000002A01D1E10820E0042A03D8A309191C5C
-:10F5E00038311AE0142A02D8111C5B3115E0542A74
-:10F5F00003D8230B191C6E310FE0AA235B009A423B
-:10F6000003D8E30B191C773107E01B4B9A4201D951
-:10F610007E2102E0A30C191C7C31134ACB009D18FB
-:10F62000A868A8420ED10B1C002900DA03339B10F6
-:10F6300001229A407B6813437B60031C08E08068CA
-:10F64000A84204D04368032293439C42F7D3C36883
-:10F65000F360B060C6609E60009800F0C7FC01B027
-:10F66000F0BC01BC00470000340400403C080040EE
-:10F67000000B0040FF01000054050000F0B58B684E
-:10F6800087B0051C0091002B00D11CE183891A076B
-:10F6900002D50369002B05D1281CFEF7CDFE0028FA
-:10F6A00000D00DE1009B1B680493AB899A0721D51C
-:10F6B0000024002604E0049B1E685C680833049361
-:10F6C000002CF8D08023DB00E869221C9C4200D982
-:10F6D0001A1C6B6A311C00F0FDF8002800DCEBE01E
-:10F6E000009A93681B1A9360002B00D1EBE0361848
-:10F6F000241AE5E7DA070AD50023002702930393CB
-:10F7000005937BE020682969FFF7E4FED4E000263A
-:10F71000069606E0049A049B12685E680833069217
-:10F720000493002EF6D0AB89AC689A0526D5A64284
-:10F7300014D91A0612D52B682969654C5F1ABB19B2
-:10F7400020681A1C019301F06DF80028DAD0019AA4
-:10F75000C31928612B606A61AE60341CA64200D2D6
-:10F76000341C221C2868069900F01AFCAB681B1B8D
-:10F77000AB602B681B19341C2B6029E028682B69AF
-:10F7800098420ED9A6420CD90699221C00F008FC1A
-:10F790002B681B192B60281CFFF730FD002817D0A1
-:10F7A0008AE06A69964208D3E8696B6A069900F0B4
-:10F7B00091F8041C00280BDC7EE00699321C00F056
-:10F7C000EFFBAB689B1BAB602B689B192B60341C59
-:10F7D000009A93681B1B9360002B74D0069B361B0A
-:10F7E0001B1906939DE7049A049B12685B680392B9
-:10F7F000049A02930832002304920593029A002A85
-:10F80000F1D0059B002B0FD103980A2100F0BCFB1F
-:10F81000002805D0039A831A5F1C0123059303E097
-:10F82000029F012205920137029B3E1C9F4200D994
-:10F830001E1C28682B69A9686A6998420FD98C1820
-:10F84000A6420CDD0399221C00F0AAFB2B681B19B1
-:10F850002B60281CFFF7D2FC002816D02CE0964223
-:10F8600008DBE8696B6A039900F034F8041C00288F
-:10F870000BDC21E00399321C00F092FBAB689B1B70
-:10F88000AB602B689B192B60341C3F1B002F06D1EB
-:10F89000281CFFF7B3FC00280ED100220592009A25
-:10F8A00093681B1B9360002B0DD0039B029A1B19BE
-:10F8B000121B03930292A1E7AB8940221343AB8151
-:10F8C0000120404200E0002007B0F0BC02BC084725
-:10F8D000200000401847C046F0B582B0019000916A
-:10F8E000FFF71AFD019AB8239B00D518002717E0EF
-:10F8F000AB686E681C1C0C340DE00022A35E002B6C
-:10F9000008D00222A35E013304D00198009B00F0CE
-:10F910003CF807435C34211C0C39013EEDD52D68C1
-:10F92000002DE5D1FFF7FAFC381C02B0F0BC02BC98
-:10F9300008470000F0B581B0041C0091FFF7ECFC13
-:10F94000B8229200A518002716E0AB686E681C1C50
-:10F950000C340CE00022A35E002B07D00222A35E31
-:10F96000013303D0009B00F010F807435C34201CE7
-:10F970000C38013EEED52D68002DE6D1FFF7CEFC08
-:10F98000381C01B0F0BC02BC08471847014B18688E
-:10F9900070470000385001000048704708500100CF
-:10F9A00070B50E1C051C141C0B49002A01D1081C43
-:10F9B0000FE0101C01F04AF9002807D00749201C6D
-:10F9C00001F044F9002801D0002002E02E636C63AE
-:10F9D000014870BC02BC084714550100B454010032
-:10F9E00010B5054B041C0A1C1868211CFFF7D8FF32
-:10F9F00010BC02BC084700002000004000487047CF
-:10FA000008500100F0B583898FB0041C9A073DD4DB
-:10FA1000C3891B041914002906DB2D4B6A4618689C
-:10FA200005F050F9002806DAA38980221201134359
-:10FA30000027A3811DE0F023019A1B021A408023B6
-:10FA40009B0100279A4200D1012780231B029A4282
-:10FA50000AD1204AA36A934206D1A3898022D20008
-:10FA60001343A381E26404E0A389802212011343BB
-:10FA7000A381174D8026F6002868311C00F02EF86F
-:10FA800000280AD1A38902221343A381231C4333F4
-:10FA9000236023610123636115E02A680E4BD36361
-:10FAA000A38980221343A381206020616661002F17
-:10FAB00009D00E23E05E05F009F9002803D0A389E0
-:10FAC00001221343A3810FB0F0BC01BC004700002A
-:10FAD00020000040950B010031F30000F0B50A1C36
-:10FAE00086B00B320090162A02D81020049004E051
-:10FAF00007239A430492002A02DB049A8A4203D223
-:10FB000000980C230360F2E1009800F06DFAC04BFE
-:10FB10000499994216D8C908BE4ACB009B18DC68E4
-:10FB20009C4204D1231C0833DC689C4208D06168E5
-:10FB300003239943E268A3686118DA6093600CE2DA
-:10FB40008F1C41E0049B5A0A002A01D1D90826E003
-:10FB5000042A04D804988309191C38311FE0142A98
-:10FB600002D8111C5B311AE0542A04D804990B0BFB
-:10FB7000191C6E3113E0AA235B009A4204D8049A40
-:10FB8000D30B191C77310AE0A34B9A4203D97E218B
-:10FB900005E0013917E00498830C191C7C319D4A5B
-:10FBA000CB009D18EC680CE062680323101C049ADB
-:10FBB0009843831A0F2BECDCE268002B00DBC8E1D2
-:10FBC000141CAC42F0D14F1C9448924B85680193B1
-:10FBD000854200D181E06A680323141C04999C4388
-:10FBE000601A0F280EDD049B6A1801210B436B601D
-:10FBF0008A4BDA609A60D3609360031C0B435360B6
-:10FC0000105009E08549C9608960002809DB2B197B
-:10FC10005A6801210A435A60009800F0E7F9281C4D
-:10FC2000A3E17F4B9C4213D8E1080B1C002900DAAA
-:10FC3000CB1C01989B1001229A40436813434360F8
-:10FC4000CB001B189A68EB60AA60D5609D6044E009
-:10FC5000620A002A01D1E2081FE0042A03D8A3099E
-:10FC60001A1C383219E0142A01D85B3215E0542AE4
-:10FC700003D8230B1A1C6E320FE0AA235B009A42B2
-:10FC800003D8E30B1A1C773207E0634B9A4201D981
-:10FC90007E2202E0A30C1A1C7C320199D300581872
-:10FCA000816881420FD15B48131C002A00DA0333BC
-:10FCB0009B1001229A404368134343600B1C08E0E9
-:10FCC0008968814204D04B68032293439C42F7D356
-:10FCD000CB68EB60A960CD609D603A1C002F00DA14
-:10FCE000FA1C01239210191C91404A4A0292526850
-:10FCF00091424AD8114207D103239F43043700E0C1
-:10FD0000043749001142FBD00198FB001B180593F2
-:10FD1000BC461E1CF4680DE0626803239A43131C62
-:10FD2000049A9D1A0F2D00DDF6E0E068002D00DB3F
-:10FD300006E1041CB442EFD101239C446046032336
-:10FD4000184202D0261C0836E4E705983C1C032321
-:10FD50001C4215D0031C0268083B181C9A4201D1B2
-:10FD6000013CF4E7029A5368490099420DD80029F2
-:10FD70000BD0674601E0043749001942FBD0C3E7C6
-:10FD8000029843688B434360ECE702998F687A6876
-:10FD900003239A43049B03929A4203D3D01A0F2859
-:10FDA00000DDA6E01F4B1B6804981033C4181E4BDF
-:10FDB0001B68013304D01D491D4B6218141C1C40E4
-:10FDC0000098211C04F07AFF421C00D181E0039BC3
-:10FDD000FE18051CB04203D202998F4279D196E0F9
-:10FDE000144A1368E1181160B0420AD10F4B18424F
-:10FDF00007D1029A03989368012122180A435A6096
-:10FE00005BE0094A1368013316D1106018E0000066
-:10FE1000F701000034040040540500003C04004099
-:10FE2000FF010000000B004040080040FF0F0000F1
-:10FE300000F0FFFF0C0B00404E4A831BCB181360F1
-:10FE40000723021C1A4001D1002102E00823991A5D
-:10FE50004518494B2A191A4080235B019B1ACC187C
-:10FE6000211C009804F02AFF411C01D1281C002409
-:10FE7000404B1A6812191A60431B029A1B19012180
-:10FE80000B4395606B60974217D0039B0F2B01D8F3
-:10FE900069601EE0039A07230C3A9A437B680B4083
-:10FEA00013437B60B91805234B608B600F2A04D97C
-:10FEB000391C08310098FFF70DFB2E4B2F491A68AB
-:10FEC0000B689A4200D90A602D490B689A4200D902
-:10FED0000A60029883685A68049903239A438A4205
-:10FEE00002D3501A0F2804DC009800F07FF800209D
-:10FEF0003CE0029A049B946801210B436360049BDD
-:10FF0000E218029B9A60031C0B43536029E0194AD4
-:10FF10001368E118116074E70498049B221801200B
-:10FF20000343E1686360A368D9608B6015492B1CAB
-:10FF30000343CA608A60D16091605360555110E0FC
-:10FF4000E1184B68012213434B60A368D8608360BB
-:10FF500007E0A368DA60936021184B68012213431D
-:10FF60004B60009800F042F8201C083006B0F0BC4E
-:10FF700002BC08470C0B0040FF0F0000040B0040C0
-:10FF8000080B00403C040040FF23194003E00378C5
-:10FF90008B4203D00130013AF9D200207047C046AD
-:10FFA00030B5051C041CA9420FD2881885420CD21A
-:10FFB000A91803E00138037801390B70013AF9D22E
-:10FFC00005E00B78013123700134013AF9D2281C85
-:10FFD00030BC02BC0847C046031C01E01970013365
-:10FFE000013AFBD27047C046704700007047C046D8
-:10FFF000021C081C002905D04B68D16C9B005A5884
-:020000021000EC
-:100000000260585070470000104B184201D0002287
-:1000100001E000041022FF231B06184201D1083220
-:100020000002F0231B06184201D104320001C02354
-:100030001B06184201D102328000002804DB430075
-:1000400001D4202200E00132101C70470000FFFFA5
-:1000500002680723011C1A420DD0D30701D50020E6
-:1000600028E0930703D553080360012022E093089A
-:10007000036002201EE0104B1A4201D0002001E074
-:10008000120C1020FF231A4201D10830120A0F234C
-:100090001A4201D10430120903231A4201D102305D
-:1000A0009208D30705D45208002A01D1202001E08C
-:1000B00001300A6070470000FFFF000030B503699F
-:1000C0000A69041C981A002814D1251C93001435C1
-:1000D000EA181433C918043A043914680B689C42AE
-:1000E00006D09C4202D20120404203E0012001E000
-:1000F000AA42F0D830BC02BC0847000030B5114B12
-:10010000114A03409B18002B01DD1C1C07E05B42D9
-:100110001A15132A05DC80231B031C1C144100251F
-:100120000AE0143A1E2A01DD012203E01F239B1A74
-:1001300001229A400024151C291C201C30BC04BC40
-:10014000104700000000F07F0000C0FCF0B583B055
-:1001500003690091011C14319B00CC18251F2A68EB
-:10016000101C01910292FFF74FFF202300991B1AE8
-:100170000B600A2818DC019A0B23191A954201D842
-:10018000002402E0231C083B1C68029A1E4BCA4054
-:10019000161C1E43029A031C15339A40131C221C82
-:1001A000CA401F1C174329E0019B9D4201D800242F
-:1001B00002E0251C083D2C680B3800281AD02023AB
-:1001C00001991B1A9C468D4201D8002501E02B1F86
-:1001D0001D686246211C029BD1400B4A8340134399
-:1001E0000E1C221C1E4382402B1C6146CB40171C58
-:1001F0001F4303E0044B029E271C1E43301C391C86
-:1002000003B0F0BC04BC10470000F03FF0B584B070
-:100210000D1C02A9041CFFF799FF00900191281CF6
-:1002200003A9FFF793FF039B0F1C02992A69C91AC0
-:1002300023699B1A5B01C918061C002904DD009A7A
-:100240000B059B18009301E00B05F61A0098019925
-:10025000321C3B1C04F026FD04B0F0BC04BC10476B
-:1002600010B5041C172802DD0A4909480AE00A4AA9
-:10027000C3009B181868596806E0084A084B04F048
-:1002800009FD013C002CF8D110BC04BC1047000053
-:100290000000F03F000000003C500100000024403E
-:1002A00000000000F0B5C36C051C0E1C002B08D12B
-:1002B0000421102200F0D6FCE864002801D10024BB
-:1002C00019E0EB6CB200D2181468002C02D023683D
-:1002D00013600DE001231F1CB740BA001432281C24
-:1002E000012100F0BFFC002805D046608760041C97
-:1002F00000232361E360201CF0BC02BC084700001F
-:10030000F0B584B00C1C01210093151CFFF7CAFF47
-:10031000011C14312B4B0191211C19402A4B221C2A
-:100320001A40170D061C0391002F03D080235B0396
-:100330000B430393002D1BD002A80295FFF788FE04
-:100340000299002809D0039B2022121A93400B43E4
-:100350007361039BC340039300E07161039B019AA7
-:100360005360002B01D0022200E00122326108E03C
-:1003700003A8FFF76DFE039B7361012333612030F7
-:100380000122002F09D011493B18009A5B18136015
-:10039000099935231B1A0B600EE00D49431800998B
-:1003A00054010B609300019A9B18043B1868FFF7F7
-:1003B0002BFE099B241A1C60301C04B0F0BC02BC4C
-:1003C00008470000FFFF0F00FFFFFF7FCDFBFFFF8F
-:1003D000CEFBFFFFF0B583B0071C0D1C081C111CE1
-:1003E000161CFFF76BFE041C002808D1381C0021E6
-:1003F000FFF758FF0123071C0361446153E0002805
-:1004000004DAB44601242E1C654600E00024696825
-:10041000381CFFF747FF2A691435AC469300634444
-:1004200001933369351C14359B00EB18C4600092AE
-:10043000041C0293071C14340026624604329446BE
-:10044000043A08CA01CD1A4A191C11400240891AFF
-:1004500089191B0C000C1B1A0A149B1863801E14AC
-:10046000029B218004349D4210D2E6E762460432AA
-:100470009446043A08CA0E4A191C114089191B0CEB
-:100480000A149B18638021801E140434019B9C4530
-:10049000ECD302E0009A013A0092043C2368002B5E
-:1004A000F8D0009B3B61381C03B0F0BC02BC08478D
-:1004B000FFFF0000F0B50D1C2B6957110133FE182A
-:1004C0004968AB6882B0141C009001E001315B0008
-:1004D0009E42FBDC0098FFF7E5FE011C1431002270
-:1004E000019002E0002308C10132BA42FADB2B6915
-:1004F0002A1C14329B009B189C461F231C4010D0C2
-:1005000020231F1B00201368A340034308C108CA0F
-:10051000181CF8406245F6D30860002805D0013663
-:1005200003E008CA08C16245FBD3019A731E009814
-:10053000291C1361FFF75CFD019802B0F0BC02BCFE
-:1005400008470000F0B5151C2B690A6988B00C1C1F
-:100550009A4202DAAC4664460D1C26692F69A368EC
-:10056000F219616801929A4200DD0131FFF79AFEAB
-:10057000019A011C14319300CB180A1C00900293BD
-:1005800001E0002308C2029B9A42FAD31434B3005C
-:10059000E31814350393BB00EB18079404950593F7
-:1005A00006914BE0049A1788002F1ED00023079E67
-:1005B000069D9C4604CE2D48131C03403C1C5C4306
-:1005C00029680B1C03406344120CE4183B1C534382
-:1005D000090C220C5B189B181A0C6B80039B2C8057
-:1005E000944604359E42E5D32A60049A5788002F2A
-:1005F0001ED0069B00221D68079E1C1C944604CE3C
-:100600001A48131C0340391C5943120C7A4363885F
-:100610006344C91861802580043423680340D218DC
-:10062000090C5518039A2B0C9C469642E7D325607B
-:10063000049B069A0433043204930692049B059AA1
-:100640009342AFD3029A02E0019B013B0193019BCD
-:10065000002B03DD043A1368002BF5D0009B019AB0
-:10066000181C08B01A61F0BC02BC0847FFFF00006C
-:1006700010B50C1C0121FFF715FE01234461036135
-:1006800010BC02BC08470000F0B582B01E1C0C1C58
-:100690000023019000920F690D1C14349C462268BF
-:1006A0001B48009B111C01405943120C89191E1C48
-:1006B000331C53430A0C9B181E0C01401B045B188F
-:1006C00008C401239C44BC45E9DB002E1AD0AB686A
-:1006D0009F4212DB696801980131FFF7E3FD2A6947
-:1006E000291C9200041C0C3108320C30FCF722FA51
-:1006F000291C0198FFF77CFC251CBB005B195E617F
-:100700007B1C2B61281C02B0F0BC02BC0847000017
-:10071000FFFF0000F0B581B00323061C0091141CFC
-:100720001A4008D01C4B9200D218043A12680023D9
-:10073000FFF7AAFF0090A710002F28D0B56C002D5E
-:1007400009D1301C1549FFF793FF0023051CB06445
-:10075000036000E0251CFB070AD500992A1C301C09
-:10076000FFF7F0FE0099041C301CFFF741FC0094D9
-:100770007F10002F0BD02C68002CEBD1291C2A1CD9
-:10078000301CFFF7DFFE2860051C0460E3E70098DB
-:1007900001B0F0BC02BC08475451010071020000D6
-:1007A000F0B582B00190181C0D1C0830092100938F
-:1007B000161C02F0B9FD0123002101E05B000131AC
-:1007C0009842FBDC0198FFF76DFD079B4361012315
-:1007D000011C0361092E11DD2F1C09370924635DFB
-:1007E0000198303B0A22FFF74FFF0134011CB4424D
-:1007F000F5D1BB191D1C083D341C0BE00A3509243A
-:1008000008E02B780198303B0A22FFF73DFF0135C5
-:10081000011C0134009B9C42F3DB081C02B0F0BCBD
-:1008200002BC0847F0B58BB003900F1C0292002960
-:1008300003D1111CFFF752F91CE003983E1CFFF78F
-:10084000D3FB083E029A70680B320490162A03D834
-:1008500010210891019105E007239A430192089223
-:10086000002A03DB089A029B9A4205D2039D0C23BF
-:100870002B6000200A9052E1049D03240199A543B6
-:100880008D4200DB1AE1A84A93687119059206931C
-:100890004868994208D00123021C9A438A1852687A
-:1008A0001A4200D133E11CE0089BA04342191033E7
-:1008B0009A4218DB089D531B0122711913434B60A8
-:1008C0007368059813402B43816073600398FFF7AA
-:1008D0008DFB08360A9622E1CA688B68DA6093605D
-:1008E000B3E000210020049AD20700D599E03368D4
-:1008F000F41A626803239A43002959D0AB18009375
-:10090000069B994249D10099089B401810330790E3
-:1009100098424DDBE268A368DA609360221C0832DB
-:100920002E1F0A92242E24D8381C151C132E17D9DA
-:100930003A1C08CAA3607B680835E360101D1B2EB3
-:100940000ED9536823614368021D63610835101D89
-:10095000242E05D15368A3614368E361083508304C
-:10096000011C08C92A1C08C243686B604B685360AD
-:1009700004E00A98391C321CFFF712FB089B079809
-:10098000E1180122C31A13434B60059D6368A960F7
-:10099000089D13402B4363608CE0009BC018019BB3
-:1009A0000990984204DBCA688B68DA60936004E0BF
-:1009B000019852190992824233DBE268A3682E1F24
-:1009C000DA609360221C0832242E24D8381C151CAF
-:1009D000132E17D93A1C08CAA3607B680835E36058
-:1009E000101D1B2E0ED9536823614368021D6361DD
-:1009F0000835101D242E05D15368A3614368E361B7
-:100A000008350830011C08C92A1C08C243686B60FD
-:100A10004B68536054E0101C391C321CFFF7C0FABD
-:100A20004EE003980299FFF759F80A90002841D048
-:100A300073680A99012293430839F318994206D141
-:100A40004B6803229343ED180995341C38E0043DAC
-:100A5000242D26D8381C0A9C132D19D93A1C08CAF3
-:100A6000211C08C17B68101D63600C1D1B2D0FD954
-:100A700053684B604368211D021D6360101D0C1DEF
-:100A8000242D05D153684B604368083063600834F7
-:100A9000011C08C9221C08C2436863604B6853608C
-:100AA00004E00A98391C2A1CFFF77AFA0398391CCB
-:100AB000FEF710FD0398FFF799FA30E00995341C12
-:100AC0000999089A881A63680F2811D9A118089DF6
-:100AD000012213402B436360031C13434B6008182F
-:100AE00043681343436008310398FEF7F3FC08E0C2
-:100AF000012109980B4003436360221853680B439C
-:100B000053600398FFF772FA08340A9407E0A04391
-:100B1000019B421909929A4200DBDDE6E3E60A985E
-:100B20000BB0F0BC02BC08473404004010B50C1CEC
-:100B30006242074922430140D20F064B11435B1A20
-:100B40005A421343DB0F0120C01A10BC02BC0847F5
-:100B5000FFFFFF7F0000F07F10B50C1C62420549CB
-:100B600022430140D20F04481143401AC00F10BC69
-:100B700002BC0847FFFFFF7F0000F07F00B5044B79
-:100B8000021C18680E23D15E04F0A4F802BC0847CA
-:100B90002000004030B5131C0B4A051C0C1C1068CB
-:100BA0000E22A95E221C04F099F8AA89431C03D1E5
-:100BB000064B1340AB8104E080235B011343AB8100
-:100BC000286530BC02BC084720000040FFEFFFFF53
-:100BD00070B58389041C0D1C161CDA0507D50B4B58
-:100BE000002218680E23E15E022304F077F8A3893F
-:100BF000074A1340A381054B0E22A15E18682A1CE8
-:100C0000331C04F06FF870BC02BC084720000040A1
-:100C1000FFEFFFFF30B5131C0A4A051C0C1C1068BF
-:100C20000E22A95E221C04F061F8002803DB2B6D64
-:100C30001B182B6503E0AB89034A1340AB8130BC22
-:100C400002BC084720000040FFEFFFFF01E0013039
-:100C500001310278002A02D00B789342F7D008784D
-:100C6000101A704730B55143FEF738FF041C0028B6
-:100C700022D0031C083B5B68032293431A1F242ADB
-:100C800017D8011C132A0ED9002520C06560011D4C
-:100C90001B2A08D90B1D45604D60191D242A02D15D
-:100CA0005D604D60083100220B1C04C34A605A602D
-:100CB00002E00021FFF790F9201C30BC02BC08477D
-:100CC00070B5051C0C1C00290ED0FEF725FB002D6D
-:100CD00005D0AB6B002B02D1281CFEF7EFFAA389DD
-:100CE000002B03D1FEF71AFB002632E01A0701D4CD
-:100CF000002603E0201CFEF781FA061CE36A002BA5
-:100D000006D0E06900F036F8002801DA01267642C4
-:100D1000A3891A0603D52169281CFEF7DBFB216B8A
-:100D2000002909D0231C4033994203D00B4B18688B
-:100D3000FEF7D0FB00232363616C002905D0074B2D
-:100D40001868FEF7C7FB002363640023A381FEF746
-:100D5000E5FA301C70BC02BC0847000020000040CF
-:100D600000B5034B011C1868FFF7AAFF02BC084737
-:100D7000200000401847C046F0B5244A244B0240EA
-:100D800085B0051C0E1C9A4202DC224A224B19E057
-:100D9000224B9A4204DD2A1C331C03F077FF2DE01E
-:100DA00001AA01F013F80323051C1D40012D0CD0EE
-:100DB000022D12D001980299039E049F002D17D195
-:100DC000321C3B1C01F0E2FA18E001980299039AE8
-:100DD000049B009501F0AEFF05E001980299039A8B
-:100DE000049B01F0D3FA8024240602190B1C07E0AF
-:100DF00001230093321C3B1C01F09CFF021C0B1CC6
-:100E0000101C191C05B0F0BC04BC1047FFFFFF7F8D
-:100E1000FB21E93F0000000000000000FFFFEF7F22
-:100E200070B5254A254B024085B0051C0E1C9A4220
-:100E300004DC00230093224A224B1CE0224B9A42FE
-:100E400006DD2A1C331C03F021FF031C0C1C2DE0C3
-:100E500001AA00F0BBFF03230340012B0ED0022B9D
-:100E600013D001980299039C049D002B16D10123F5
-:100E70000093221C2B1C01F05DFFE6E7019802990C
-:100E8000039A049B01F082FADFE70124019802999A
-:100E9000039A049B009401F04DFF03E0221C2B1CDD
-:100EA00001F074FA8022120683180C1C181C211CF5
-:100EB00005B070BC04BC1047FFFFFF7FFB21E93F7A
-:100EC0000000000000000000FFFFEF7FF0B58EB0D3
-:100ED0001E1C00900191151C00F0F2F9BA4B1F681E
-:100EE000039004917A1C00D167E1281C311CFFF7A4
-:100EF00033FE041C002800D05FE100980199FFF741
-:100F00002BFE029000281FD0281C311CAF4AB04B8A
-:100F100003F0B0FE002800D04FE1009A019B0B9235
-:100F20000C93022F04D1AB4BAB4C0B930C9405E10B
-:100F3000009A019B07920893A84B069301230995F9
-:100F40000A960D94059391E0009801999F4AA04B51
-:100F500003F090FE002851D1281C311C9B4A9C4B69
-:100F600003F088FE002816D1984A994B0B920C93F7
-:100F7000002F04D0974B984C0B930C9419E1009BD5
-:100F8000019C07930894954B0693012309950A96B3
-:100F90000D97059328E0281C311C01F093FF0028D1
-:100FA00000D10AE1281C311C884A894B03F05AFE03
-:100FB000002800DB01E101230593884B0693029B87
-:100FC0000D93009A019B09950A9607920893002FAA
-:100FD00004D17E4B7E4C0B930C9405E0804B814CEE
-:100FE0000B930C94022F05D005A802F00FF80028EF
-:100FF00000D0D7E002F04CF92123D2E00398049905
-:1010000001F060FF041C002800D09CE000980199CA
-:1010100001F058FF002800D195E0281C311C01F098
-:1010200051FF002800D18EE003980499FFF794FD4A
-:101030006A4A002823D0012305930D94009B019C4C
-:1010400006920793089409950A96002F04D15F4AE7
-:101050005F4B0B920C9309E05C485D49021C0B1C32
-:1010600003F020FE0B900C91022F04D005A801F094
-:10107000CDFF00285BD102F00BF9212356E00323BA
-:1010800005930692009A019B0D900792089309958B
-:101090000A96002F20D1544B544C009801990B9381
-:1010A0000C944A4A4A4B03F0DDFD002836DA504AD8
-:1010B000504B281C311C03F0EDFD041C0D1C01F0ED
-:1010C000A7FF221C2B1C03F0D1FD002826D04A4B81
-:1010D0004A4C0B930C9421E0494B4A4C00980199DF
-:1010E0000B930C94394A3A4B03F0BCFD002813DAF9
-:1010F0003F4A404B281C311C03F0CCFD041C0D1C46
-:1011000001F086FF221C2B1C03F0B0FD002803D049
-:10111000334B344C0B930C94022F04D005A801F0F0
-:1011200075FF002803D102F0B3F8222303600D9B62
-:10113000002B03D002F0ACF80D9B03600B9B0C9CC2
-:101140000393049439E003980499204A204B03F058
-:1011500091FD002831D10098019901F0B3FE0028DB
-:101160002BD0281C311C01F0ADFE002825D0042313
-:1011700005931A4B069300230D93009A019B079247
-:101180000893124B124C09950A960B930C94022F5C
-:1011900004D005A801F03AFF002803D102F078F846
-:1011A000222303600D9B002B03D002F071F80D9BEE
-:1011B00003600B9A0C9B03920493039804990EB05E
-:1011C000F0BC04BC104700006853010000000000A0
-:1011D000000000000000F03F000000002455010066
-:1011E0000000F0FF00000000FFFFEF47000000E0FC
-:1011F0000000E03F00000000FFFFEFC7000000E03C
-:101200000000F07F00000000F0B58DB0041C0D1C44
-:1012100000F0ECFF264B1B68029003910093013312
-:101220003FD0201C291CFFF797FC0190002838D1E3
-:10123000204E214F201C291C321C3B1C03F012FDA8
-:1012400000282EDA012304931C4B0894099505937A
-:1012500006940795019B009C0C93002C02D10A96E2
-:101260000B970AE03B1C301C391C321C03F01AFDA2
-:10127000009B0A900B91022B04D004A801F0C6FE3B
-:10128000002803D102F004F8212303600C9B002BFB
-:1012900003D001F0FDFF0C9B03600A9B0B9C0293A3
-:1012A0000394029803990DB0F0BC04BC10470000F1
-:1012B00068530100000000000000000028550100F4
-:1012C000F0B5C1B021922293219B229C1D1C369324
-:1012D000BF4B2F1C1F40239024910A1C011C201C73
-:1012E0003C1C3792044303D1BA48BB4900F011FDBE
-:1012F0000C1C1C40B94B35919C420ADC9C4202D12B
-:101300003799002905D19F4203DC9F4209D100286B
-:1013100007D021982299239A249B03F0B3FC00F074
-:10132000F8FC359A002A2CDAAD4B9F4201DD0223EE
-:1013300013E0AC4B9F4224DDAB493B155A18142AED
-:101340000DDD34239B1A021CDA40111C99408142A6
-:1013500017D101231A4002239B1A349313E000286B
-:1013600057D114239B1A3A1C1A41101C9840B842BA
-:1013700001D000F0D4FC01231A4002239B1A3493BD
-:1013800026E000213491002845D1944B9F421FD183
-:10139000964A379DA3181D4307D121982299021C14
-:1013A0000B1C03F073FC00F0B4FC8E4B9C4206DD7A
-:1013B0003698002801DB00F0B8FC00F0A8FC369954
-:1013C000002901DB00F0A3FC229A219D944653E002
-:1013D000874B9F420AD13699002902DB239A249B2E
-:1013E00086E07C487C49239A249B5CE08023DB05D3
-:1013F0009D4202D12398249968E07E4B9D420AD1F8
-:10140000359B002B07DB2398249900F0EFFE00F0BA
-:1014100080FC002534952398249901F047FD051C94
-:1014200037980E1C00282FD16C4B9C4204D0002C06
-:1014300002D06F4B9C4227D13699002907DA2A1C2B
-:10144000331C6448644903F02DFC051C0E1C359ABE
-:10145000002A01DB00F060FC64483499231819432A
-:1014600004D1281C311C2A1C331C18E0349A012A90
-:1014700001D000F051FCB446802000062B186446D1
-:101480002193229400F051FC3599349ACB0F013B03
-:10149000259313430BD123982499021C0B1C03F0B2
-:1014A000F5FB021C0B1C03F0FDFB00F032FC524B61
-:1014B0009F4200DC86E0514B9F4211DD494B9C422C
-:1014C00008DC369B002B1DDA4D484E49021C0B1CD4
-:1014D00000F01AFC369D002D01DC00F018FCF3E74B
-:1014E000494B9C4208DC36990029EDDB474A484BC2
-:1014F0002192229300F019FC3D4B9C4208DD369B63
-:10150000002BE1DC414C424D2194229500F00DFC72
-:10151000281C311C2F4A304B03F0B8FB3D4A3E4B90
-:10152000041C0D1C03F0B6FB3C4A3D4B1F90209160
-:10153000201C291C03F0AEFB221C1D901E912B1CAD
-:10154000201C291C03F0A6FB364A374B061C0F1C37
-:10155000201C291C03F09EFB344A354B03F092FB00
-:10156000021C0B1C201C291C03F094FB021C0B1CEE
-:101570003048314903F08AFB021C0B1C301C391C1B
-:1015800003F088FB2D4A2E4B03F084FB021C0B1C3E
-:101590001D981E9903F076FB051C0E1C2A1C331C9B
-:1015A0001F98209903F06EFB0024031C2C932D94AC
-:1015B000211C1F9A209B03F069FB021C0B1C281C9A
-:1015C000311CD4E11F4B9C423EDD002246E000006E
-:1015D000FFFFFF7F0000F03F000000000000F07FF1
-:1015E000FFFF3F43FFFFEF3F01FCFFFF000010C084
-:1015F0000000F03F0000E03F0000E0410000F04349
-:101600003CE4377E9C750088FEFFEF3F0000000041
-:10161000000000004715F73F000000600BAE543E8D
-:1016200044DF5DF80000D0BF000000005555D53FF5
-:10163000555555550000E03F000000004715F7BF25
-:10164000FE822B65FFFF0F00311CD14BCF4A281CB7
-:1016500003F020FB35220E1C041C52422315D21825
-:10166000CC4B211C1940CC4BCC480B434093CC4B6A
-:1016700010183E9099420CDDCA4B994202DC0122BF
-:10168000339208E0409CC84BC848D31824183E93B6
-:10169000409400213391409B341C339A3C933D94F9
-:1016A000C34BD200D3181E685F681C923B1C321CCF
-:1016B0003C983D9903F0EAFA321C3B1C1A901B91AE
-:1016C0003C983D9903F0DEFA021C0B1CB948BA495C
-:1016D00003F0E8FA18901991189A199B1A981B9917
-:1016E00003F0D8FA0024031C38933994409B1690D9
-:1016F0001791339C581080239B05802518432D0398
-:10170000A304AE49AE4A5B19C1180C1C151C2B1C56
-:10171000221C3898399903F0BDFA021C0B1C1A9848
-:101720001B9903F0B3FA321C149015913B1C201C3A
-:10173000291C03F0ABFA021C0B1C3C983D9903F0EA
-:10174000A5FA021C0B1C3898399903F0A3FA021C65
-:101750000B1C1498159903F099FA021C0B1C18988D
-:10176000199903F097FA1290139116981799021C81
-:101770000B1C03F08FFA041C0D1C221C2B1C03F005
-:1017800089FA904A904B061C0F1C201C291C03F060
-:1017900081FA8E4A8E4B03F075FA021C0B1C201C3A
-:1017A000291C03F077FA8B4A8B4B03F06BFA021C6F
-:1017B0000B1C201C291C03F06DFA884A884B03F08F
-:1017C00061FA021C0B1C201C291C03F063FA854AD9
-:1017D000854B03F057FA021C0B1C201C291C03F03C
-:1017E00059FA824A824B03F04DFA021C0B1C301C42
-:1017F000391C03F04FFA169A179B041C0D1C3898DD
-:10180000399903F03FFA021C0B1C1298139903F04C
-:1018100041FA021C0B1C201C291C03F033FA109007
-:10182000119138983999021C0B1C03F033FA714A54
-:10183000714B061C0F1C03F025FA109A119B03F044
-:1018400021FA0024251C031C041C1A1C3898399901
-:101850002B1C03F01FFA221C2B1C0E900F911298C8
-:10186000139903F017FA634A634B0C900D91201CF7
-:10187000291C03F00BFA321C3B1C03F007FA021C74
-:101880000B1C1098119903F001FA169A179B03F09C
-:1018900001FA021C0B1C0C980D9903F0F3F9061CBD
-:1018A0000F1C321C3B1C0E980F9903F0EBF900241F
-:1018B000251C291C514A524B041C03F0EBF9514AD8
-:1018C000514B0A900B91201C291C03F0E3F90E9A4E
-:1018D0000F9B08900991201C291C03F0D7F9021CCA
-:1018E0000B1C301C391C03F0D1F9484A484B03F05B
-:1018F000D1F9021C0B1C0898099903F0C3F91C9A32
-:10190000444BD3181A685B6803F0BCF90690079142
-:101910003E9803F0B3F9404B1C9CE218051C0E1CCA
-:1019200010685168069A079B269027910A980B9990
-:1019300003F0A8F9269A279B03F0A4F92A1C331C6C
-:1019400003F0A0F90024031C2C932D942A1C331CB3
-:10195000211C03F09BF9269A279B03F097F90A9A1A
-:101960000B9B03F093F9021C0B1C0698079903F0DC
-:101970008DF9349B2E902F912599013B194351D11C
-:10198000264A274B3092319350E00000000040433C
-:1019900000000000FFFF0F000000F03F01FCFFFF10
-:1019A0008E98030079B60B0002FCFFFF0000F0FFE9
-:1019B000605101000000F03F000000000000000046
-:1019C00000000000287ECA3FEF4E454A4A86CD3FC0
-:1019D00065DBC9936074D13F01411DA95555D53FC1
-:1019E0004D268F51B66DDB3FFFAB6FDB3333E33FEB
-:1019F00003333333000008400000000009C7EE3F06
-:101A0000000000E0E02F3EBEF5015B1409C7EE3F89
-:101A1000FD033ADC70510100805101000000F0BF6D
-:101A200000000000C54CC44B30933194219B229C94
-:101A300000241E1C1A1C21982299231C03F026F94D
-:101A40002C9A2D9B03F026F9271C2E9A2F9B041C01
-:101A50000D1C2198229903F01DF9021C0B1C201C5F
-:101A6000291C03F00FF92C9A2D9B2A902B91301CE6
-:101A7000391C03F00FF928902991289A299B2A985C
-:101A80002B9903F0FFF83290AD4B329C061C0F1CD3
-:101A90009C4222DDAB4D63190B4315D1AA4AAB4BD7
-:101AA0002A982B9903F0EEF8289A299B041C0D1C08
-:101AB000301C391C03F0EAF8021C0B1C201C291CEA
-:101AC00003F0F4F800282BDDA14AA24B309831999D
-:101AD00003F0E0F89E4A9F4B16E19F4B329C1C405E
-:101AE0009E4B9C421CDD32989D4943183B430ED1CE
-:101AF000289A299B301C391C03F0C8F8021C0B1CC7
-:101B00002A982B9903F0F6F8002800DD0BE1954A9E
-:101B1000954B3098319903F0BDF8924A924BF3E01F
-:101B20008D4B329A1A40914B9A4202DC00223F922E
-:101B300029E012158E4B80256D03D21832982C1C8B
-:101B40001441021950008B498B4E400D4018311C36
-:101B50008A4B8B4C0141131C8B433A933B9432408C
-:101B600014232A431B1A1A413F92329A002A02DA9E
-:101B70003F9B5B423F93289829993A9A3B9B03F0FD
-:101B800085F828902991289A299B2A982B9903F067
-:101B900079F80024251C291C7A4A7B4B041C03F08D
-:101BA00079F8289A299B04900591201C291C03F0A0
-:101BB0006DF8021C0B1C2A982B9903F067F8734AE6
-:101BC000734B03F067F8734A734B061C0F1C201C01
-:101BD000291C03F05FF8021C0B1C301C391C03F09D
-:101BE00051F8041C0D1C221C2B1C0498059903F0B1
-:101BF00049F8049A059B0290039103F047F8021CF0
-:101C00000B1C201C291C03F041F800900191029844
-:101C10000399021C0B1C03F03DF8604A604B041C46
-:101C20000D1C03F037F85F4A5F4B03F02FF8021CDE
-:101C30000B1C201C291C03F02DF85C4A5C4B03F0A4
-:101C400021F8021C0B1C201C291C03F023F8594A04
-:101C5000594B03F01BF8021C0B1C201C291C03F021
-:101C600019F8564A564B03F00DF8021C0B1C201CA9
-:101C7000291C03F00FF8021C0B1C0298039903F0B7
-:101C800005F8041C0D1C221C2B1C0298039903F060
-:101C900001F84C4A4C4B061C0F1C201C291C02F05E
-:101CA000F5FF021C0B1C301C391C02F0FBFF009AD4
-:101CB000019B0D1C041C0298039902F0EBFF021C0F
-:101CC0000B1C0098019902F0DDFF021C0B1C201C6C
-:101CD000291C02F0DBFF029A039B02F0D7FF021CD3
-:101CE0000B1C1649144802F0D1FF3F9D2A0512181B
-:101CF0001315002B05DC2A1C01F030FA021C0B1C0A
-:101D000000E00B1C3098319902F0C4FF01E01B4841
-:101D10001B492190229108E02195229605E000219F
-:101D20003491FFF755FB221504E72198229941B021
-:101D3000F0BC04BC104700000000F03F00000000B1
-:101D4000FFFF8F40000070BF4715973CFE822B6558
-:101D50003CE4377E9C750088FFFFFF7FFFCB9040FF
-:101D600000346F3F1F6EA50159F3F8C20000E03F39
-:101D700002FCFFFF01FCFFFFFFFF0F00000000005F
-:101D800000000000432EE63F00000000422EE63F28
-:101D9000EF39FAFE615C20BE396CA80C6937663EEB
-:101DA000D0A4BE7241BDBB3EF16BD2C56A56113F95
-:101DB0002CDE25AF6CC1663F93BDBE165555C53FA1
-:101DC0003E5555550000004000000000F0B593B0AE
-:101DD0000990D74B099F1F40D64B051C0E1C029241
-:101DE0009F4207DCD44BD54C9360D4600023156030
-:101DF000566023E0D24B9F426EDC099B002B35DD01
-:101E0000D04AD14B02F042FFD04B041C0D1C9F4224
-:101E100016D0CF4ACF4B02F039FF0B1C0299021C9F
-:101E20000A604B60201C291C02F030FFC84AC94BD5
-:101E300002F02CFF029A9060D16001230893CEE15A
-:101E4000C54AC64B02F022FFC54AC64B041C0D1CF6
-:101E500002F01CFF0B1C0299021C0A604B60201C44
-:101E6000291C02F013FFBE4ABE4BE1E7B54AB64B50
-:101E700002F008FFB54B041C0D1C9F420FD0B44A62
-:101E8000B44B02F0FFFE0B1C0299021C0A604B606F
-:101E9000201C291C02F0FAFEAD4AAE4B14E0AE4AFB
-:101EA000AE4B02F0EFFEAE4AAE4B041C0D1C02F02E
-:101EB000E9FE0B1C0299021C0A604B60201C291CC5
-:101EC00002F0E4FEA64AA74B02F0DCFE029A0123D0
-:101ED0005B429060D160B1E7A34B9F4200DDDCE044
-:101EE00000F0E4FFA14AA24B041C0D1C02F0D2FE3C
-:101EF000A04AA14B02F0C6FE02F0D0FE089002F00C
-:101F0000BDFE9E4A9E4B0690079102F0C3FE021C46
-:101F10000B1C201C291C02F0B5FE8D4A8D4B049031
-:101F200005910698079902F0B5FE089C051C0E1C49
-:101F30001F2C10DC934BA200D218043A13689F4266
-:101F400009D02A1C04980599331C02F09FFE029ABE
-:101F50001060516083E0331C049805992A1C02F03C
-:101F600095FE029B884C18605960030D3F15234075
-:101F7000FB1A0397102B00DC71E0774A774B069829
-:101F8000079902F087FE061C0F1C321C3B1C0498AC
-:101F9000059902F07BFE724A724B0B900C910698E9
-:101FA000079902F077FE0B9A0C9B041C0D1C0498F9
-:101FB000059902F06BFE321C3B1C02F067FE021C0E
-:101FC0000B1C201C291C02F061FE051C0E1C2A1C87
-:101FD000331C0B980C9902F059FE029A6A4C10605F
-:101FE0005160030D03992340CB1A312B04DC0B9A6B
-:101FF0000C9B0492059332E0644A654B069807995E
-:1020000002F048FE061C0F1C321C3B1C0B980C995E
-:1020100002F03CFE5F4A604B0490059106980799D8
-:1020200002F038FE049A059B0D1C041C0B980C99B9
-:1020300002F02CFE321C3B1C02F028FE021C0B1C82
-:10204000201C291C02F022FE051C0E1C331C0498C7
-:1020500005992A1C02F01AFE029B18605960029C26
-:10206000049805992268636802F010FE2A1C331C4C
-:1020700002F00CFE099B221CA060E160002B00DB3B
-:10208000ADE02368802424061B1908991360936827
-:1020900049421B1993600891A1E0404B9F420BDD20
-:1020A0002A1C331C02F0F2FD029A00249060D160D9
-:1020B00010605160089492E039493A1551180A05A8
-:1020C000BB1A181C0A91311C1C1C02F0E7FD02F01F
-:1020D000D5FD021C0B1C201C311C0D920E9302F02E
-:1020E000D5FD304A304B02F0D5FD0D1C041C02F02A
-:1020F000D5FD02F0C3FD021C0B1C201C291C0F92F5
-:10210000109302F0C3FD274A274B02F0C3FD119044
-:10211000129103256C1E0DAEE300F3181868596880
-:10212000054A064B02F0A6FD00283FD1251CF1E729
-:10213000FFFFFF7FFB21E93F0000000000000000DF
-:102140007BD90240FB21F93F00004054FB21F93FBD
-:1021500061B4D03D3163621A61B4D03D0000601AB1
-:102160008A19A33B7370032EFB213941305FE43F92
-:1021700083C8C96D0000E03F00000000FB21F9BFEB
-:102180000000405490510100FF0700008A19A33B52
-:102190000000002E9A837B39C1492025FFFFEF7F85
-:1021A000EAFBFFFF000070410000000002230093E3
-:1021B0000D4B0A9A0193301C02992B1C00F018FA5F
-:1021C000099A0890002A0ADA029C802123680906ED
-:1021D0005B182360A36842425B18A36008920898CA
-:1021E00013B0F0BC02BC084710520100F0B5002348
-:1021F0000024051C85B0604A009301942B1C0E1C22
-:102200001340011C301C93420CD12A1C331C281C87
-:10221000311C02F03FFD021C0B1C281C311C02F07B
-:1022200031FD12E0002D13DC544B2B40334300D121
-:102230009BE0002D0CD02A1C331C281C311C02F002
-:1022400025FD021C0B1C02F02DFD051C0E1C8CE054
-:102250000A15002A03D012E0C10A153A40050029E8
-:10226000FAD0002501E049000135CC02FBD5531B13
-:102270005A1C2023041C5B1BDC402143A840404B1C
-:10228000D31803933F4B0A1C1A40039C80235B0323
-:102290001A43E40703D5C30FD318D2184000C30F65
-:1022A0000024D31880210494D21845008903002605
-:1022B0006318934204DC0498401804905C18D21A06
-:1022C000EB0F8020D31801360006D2186D004908A4
-:1022D000162EEDD1002300260293071CB446029B64
-:1022E000D819944203DB944216D1A84214D8C319DA
-:1022F000029380231B06011C1940994204D1029BC2
-:102300000B4201D1631C00E0231C121B854200D24A
-:10231000013A2D1AF6191C1CEB0F0120D318844426
-:10232000D21863466D007F08202BD8D12A4309D0EC
-:10233000741C04D1049800260130049002E00123AB
-:102340003340F618049B7108DB0702D580231B0677
-:102350001943049C6210039C0B48631012181B0560
-:10236000D31800930191009D019E281C311C05B0DB
-:10237000F0BC04BC104700000000F07FFFFFFF7FAF
-:1023800001FCFFFFFFFF0F000000E03FF0B589B048
-:10239000029203937F4A804B024004900591089279
-:1023A0009A4207DC02F07AFC002800D0ADE07B48BE
-:1023B0007B49EBE004980599021C0B1C02F06AFCB7
-:1023C000784A794B041C0D1C02F064FC774A784B68
-:1023D00002F058FC021C0B1C201C291C02F05AFCA9
-:1023E000744A754B02F052FC021C0B1C201C291C69
-:1023F00002F050FC714A724B02F044FC021C0B1CB0
-:10240000201C291C02F046FC6E4A6F4B02F03EFC79
-:10241000021C0B1C201C291C02F03CFC6B4A6C4B60
-:1024200002F030FC021C0B1C201C291C02F032FCA8
-:10243000684B089A069007919A4226DC201C291CBA
-:10244000654A664B02F026FC069A079B061C0F1C89
-:10245000201C291C02F01EFC029A039B041C0D1C6C
-:102460000498059902F016FC021C0B1C201C291C68
-:1024700002F00CFC021C0B1C301C391C02F006FC88
-:10248000021C0B1C454846493CE0554B089A9A42B1
-:1024900002DD544E544F03E0089B544A00279E1817
-:1024A000321C3B1C3D483E4902F0F0FB4A4A4B4B74
-:1024B00000900191201C291C02F0ECFB321C3B1CFB
-:1024C00002F0E4FB069A079B061C0F1C201C291C2B
-:1024D00002F0E0FB029A039B041C0D1C0498059972
-:1024E00002F0D8FB021C0B1C201C291C02F0CEFBA6
-:1024F000021C0B1C301C391C02F0C8FB021C0B1CFC
-:102500000098019902F0C2FB40E004980599021C72
-:102510000B1C02F0BFFB234A234B041C0D1C02F0D2
-:10252000B9FB224A224B02F0ADFB021C0B1C201C03
-:10253000291C02F0AFFB1F4A1F4B02F0A7FB021C35
-:102540000B1C201C291C02F0A5FB1C4A1C4B02F092
-:1025500099FB021C0B1C201C291C02F09BFB194A36
-:10256000194B02F093FB021C0B1C201C291C02F0CF
-:1025700091FB164A164B02F085FB021C0B1C201C1B
-:10258000291C02F087FB0690079157E709B0F0BCC1
-:1025900004BC1047FFFFFF7FFFFF3F3E0000F03FFE
-:1025A00000000000E9FAA8BDD43888BE9EEE213EA6
-:1025B000C4B1B4BD4F7E923EAD529C80A001FA3EA4
-:1025C0009015CB196CC1563F7751C1165555A53F93
-:1025D0004C5555553233D33F0000E03F000000001A
-:1025E0000000E93F0000D23F000000000000E0FFD3
-:1025F000F0B5CF4CA54402930490B3980391CD4B12
-:102600000299141C8200D25801390791E01E18214A
-:10261000089200F089FE2190002801DA0022219220
-:10262000219FFB06DB1B9B00DB19DB00E4180798EE
-:102630000594183C0B9408993C1AB49AA3004718C7
-:10264000D51800260FE0002C02DABB48BB4902E097
-:10265000286802F013FBF20022AB9B181860596047
-:10266000013601340435BE42EDDD079B002417938B
-:1026700018941EE0169A03CA16923A687B6802F014
-:1026800009FB021C0B1C201C291C02F0FBFA013662
-:10269000041C0D1C083F079B9E42EBDD189F1798FA
-:1026A000FA004AAB9B18013701301C605D60189737
-:1026B00017901899089A914209DC049B179C16936D
-:1026C000E20022AB9C4C9D4D9F180026E3E7089F3B
-:1026D000069706984AABC200D218013816685768A8
-:1026E000C2009B189A22069992006A441990159389
-:1026F0001A91149228E0924A924B301C391C02F035
-:10270000C9FA02F0CBFA02F0B9FA8F4A8F4B041CD7
-:102710000D1C02F0BFFA021C0B1C301C391C02F00D
-:10272000B1FA02F0BBFA149B1A9F01C3201C159C3E
-:102730001493013F22686368291C1A9702F0A2FAD9
-:10274000083C1594061C0F1C1A980028D3DC301C7A
-:102750000B9A391C00F002FD7D4A7E4B041C0D1CB7
-:1027600002F098FA00F0BCFB7B4A7C4B02F092FA34
-:10277000021C0B1C201C291C02F084FA0D1C041CDA
-:1027800002F08CFA099002F079FA021C0B1C201C52
-:10279000291C02F07BFA0E1C0B99051C002914DD84
-:1027A000199A9AAC900001590B9B1822D21A099FD2
-:1027B0000B1C1341FF189340C91A01510B981723A2
-:1027C0001B1A194109970C9117E00B99002906D1A2
-:1027D000199A93009AAA9B58DB150C930DE0281CBC
-:1027E000311C5F4A5F4B02F065FA002802DA0023D1
-:1027F0000C934EE002240C9402E00C9F002F48DD65
-:10280000099801300990002400209AA90FE00A6875
-:10281000002C07D1002A08D080235B049B1A0124D6
-:102820000B6002E0504B9B1A0B6001300431069A9A
-:102830009042ECDB0B9B002B11DD012B02D0022B15
-:102840000DD105E0199F9AA8B9000B58474A04E03A
-:10285000199A9AA891000B58454A13400B500C9BAB
-:10286000022B16D12A1C331C4248434902F00EFAAF
-:10287000051C0E1C002C0CD00B9A3E483E4900F063
-:102880006DFC021C0B1C281C311C02F0FFF9051CFE
-:102890000E1C281C311C284A284B02F0EBF900289A
-:1028A00000D097E0199C9AABA2009A18002105E08D
-:1028B000199F1368013F19971943043A1998089B07
-:1028C0009842F5DA002900D08CE09B00AEAC1B19D1
-:1028D0001A1C0127543A0A9702E00A9801300A901C
-:1028E0001368043A002BF8D02199069AB49C8B18EF
-:1028F0009B00E318043300271393129760E00298BB
-:10290000139922ADE400C3002C190868E41802F002
-:10291000B5F9069F20606160029C1298E3191B18AC
-:10292000049ADB00044E054FED180024119236E0A6
-:1029300048FDFFFF185301000000000000000000E8
-:102940000000703E00000000000070C100000000A8
-:102950000000C03F00000000000020C00000000098
-:102960000000E03F00000000FFFFFF00FFFF7F00CE
-:10297000FFFF3F000000F03F00000000119A03CA73
-:1029800011922A686B6802F085F9021C0B1C301C3E
-:10299000391C02F077F90134061C0F1C083D079B17
-:1029A0009C42EBDD129C0698E3004AAAD2181399C8
-:1029B000C300D218013404319660D7601294139189
-:1029C000069B0A9C129F1A19DC19631C934296DD20
-:1029D00006927EE6281C311CBF4BBE4A02F04AF923
-:1029E000002816D10698AEA983005B181A1C543A29
-:1029F000002113680131043A002BFAD04B005B1818
-:102A0000059C069ADB00E31A521A183B06920B93B8
-:102A100038E00B9F281C7A42311C00F09FFBAF4A24
-:102A2000AF4B1B901C9102F045F906999AAF8C00B0
-:102A3000002822DBAB4AAC4B1B981C9902F02AF908
-:102A400002F02CF902F01AF9A84AA94B051C0E1C39
-:102A500002F020F9021C0B1C1B981C9902F012F9C1
-:102A600002F01CF9069A0B9B0132E05118339400D6
-:102A7000281C311C06920B9301E01B981C9902F054
-:102A80000DF9E0510B9A9B489B4900F067FB069FAC
-:102A90009AABBA009B181093FA004AAB069E041C2E
-:102AA0000D1C9F1818E01099086802F0E7F8021C46
-:102AB0000B1C201C291C02F0EDF88A4A8A4B386056
-:102AC0007960201C291C02F0E5F8109A043A109253
-:102AD000041C0D1C013E083F002EE4DA069F002373
-:102AE0000F9324E0854AF3000E9C9B1818685968E0
-:102AF0000CCC0E9402F0CEF8021C0B1C009801992D
-:102B000002F0C0F80090019101360898864202DC7C
-:102B10000F998E42E6DD0F9B00980199DA0072ABA7
-:102B20009B18186059600F9901310F91013F002FD8
-:102B300009DBFA004AAB9B180E93674B654A0026E7
-:102B400000920193E1E7B39B022B04DC012B0EDA28
-:102B5000002B14D0E4E0B39C032C00D0E0E0069FEF
-:102B6000013FFA000D9772AB069F9E186DE0069824
-:102B700072ABC200041C584956489D181FE00699C4
-:102B800072ABCA000C1C544952489D1805E02A68D3
-:102B90006B6802F077F8013C083D002CF7DA0C9ADC
-:102BA000002A02D080273F06C019039A10605160A6
-:102BB000B6E02A686B6802F065F8013C083D002C1D
-:102BC000F7DA0C9C021C0B1C002C02D080273F065D
-:102BD000C019039C206061607298739902F056F8E6
-:102BE000012407E0E20072AB9B181A685B6802F0F0
-:102BF00049F80134069FBC42F4DD0C9A002A02D049
-:102C000080273F06C019039A9060D16088E0B068C1
-:102C1000F168346875681F9020911F9A209B201CD2
-:102C2000291C02F02FF830607160201C3268736834
-:102C3000291C02F02BF8021C0B1C1F98209902F093
-:102C400021F8013FB060F160083E002FDFDC0D99F4
-:102C500072ABCA00069F9E181BE034687568B268A4
-:102C6000F368201C291C1D921E9302F00BF83060A3
-:102C70007160201C32687368291C02F007F8021C7E
-:102C80000B1C1D981E9901F0FDFF013FB060F16023
-:102C9000083E012FE1DC069B069CDA000E490D4838
-:102CA00072AB9D1805E02A686B6801F0EBFF013CF0
-:102CB000083D012CF7DC0C9C002C21D1729B739CED
-:102CC000039F3B607C60749B759C38617961BB603D
-:102CD000FC6025E0000000000000000000007041E2
-:102CE000000000000000703E00000000000070C105
-:102CF000000000000000F03F000000002853010029
-:102D0000729B8024039F24061B193B60739B7B608E
-:102D1000749B1B19BB60759BFB6003193B61796158
-:102D2000099807231840AE239B009D44F0BC02BCC9
-:102D30000847C046F0B588B0009201934B4A4C4B0F
-:102D40000240029003919A4204DC01F0A7FF0028A0
-:102D500000D185E002980399021C0B1C01F09AFF38
-:102D6000029A039B061C0F1C01F094FF414A424B40
-:102D700006900791301C391C01F08CFF3F4A404BF4
-:102D800001F084FF021C0B1C301C391C01F082FF77
-:102D90003C4A3D4B01F076FF021C0B1C301C391CD9
-:102DA00001F078FF394A3A4B01F070FF021C0B1C0E
-:102DB000301C391C01F06EFF364A374B01F062FFC0
-:102DC0000D9B04900591002B16D1049A059B301C95
-:102DD000391C01F05FFF314A314B01F057FF021CF3
-:102DE0000B1C0698079901F055FF021C0B1C02985A
-:102DF000039901F047FF31E02A4A2B4B00980199D3
-:102E000001F048FF049A059B041C0D1C06980799C5
-:102E100001F040FF021C0B1C201C291C01F036FF96
-:102E2000021C0B1C301C391C01F034FF009A019B62
-:102E300001F02CFF194A1A4B041C0D1C0698079927
-:102E400001F028FF021C0B1C201C291C01F01AFF9A
-:102E5000021C0B1C0298039901F018FF02900391C9
-:102E60000298039908B0F0BC04BC1047FFFFFF7F35
-:102E7000FFFF3F3E3AD9E53D7CD5CF5AE6E55A3EC5
-:102E8000EB9C2B8AE31DC73E7DFEB157A0012A3F74
-:102E9000D561C1191111813FA6F810115555C53FD3
-:102EA000495555550000E03F0000000010B5031CD7
-:102EB00003480A1C0340181C111C10BC04BC10471A
-:102EC000FFFFFF7F10B5031C03481840034BC018D9
-:102ED000C00F10BC02BC0847FFFFFF7F000010803E
-:102EE000F0B50022002385B00092019343005A0DF3
-:102EF0003D4BD418051C0E1C071C0291132C34DC0E
-:102F0000002C16DA394A3A4B01F0BCFE394A3A4BEA
-:102F100001F0CCFE00285CDD002D02DB00270297CB
-:102F200057E0364B029C2B401C4352D0344F0022BA
-:102F30004EE0344B029A2341049303401A434DD090
-:102F40002A4A2B4B01F09EFE2A4A2B4B01F0AEFE83
-:102F500000283EDD002D03DA80235B032341EF18B8
-:102F6000049B00249F43029433E0332C0ADD80232A
-:102F7000DB009C4232D12A1C331C01F083FE051C6D
-:102F80000E1C2BE0204BD21801235B42D340029A47
-:102F900003931A4222D0154A154B01F073FE154ACD
-:102FA000154B01F083FE002813DD002D0DDA142CE3
-:102FB00001D1013709E03422121B0123029C934006
-:102FC000E318A34200D201370293029A039B9A436B
-:102FD0000292029C00970194009D019E281C311CC6
-:102FE00005B0F0BC04BC104701FCFFFF3CE4377E99
-:102FF0009C7500880000000000000000FFFFFF7FBC
-:103000000000F0BFFFFF0F00EDFBFFFF0020704747
-:10301000F0B50022002385B000920193C30F029304
-:10302000484A43005B0D051C0E1C0C1C011C981823
-:1030300013284ADC002831DA434B2B4033437AD043
-:10304000424B321C2B401A43414B194053421A4306
-:1030500080231B03120B1A400C1C029814433D4A98
-:10306000C3009B18351C1E685F68221C2B1C301C7B
-:10307000391C01F007FE03900491321C3B1C03989D
-:10308000049901F003FE0C1C2F49051C02982940ED
-:10309000C2070B1C13431D1C261C4CE02B4B1A1C97
-:1030A00002412B1C1340334345D052082B1C1340C4
-:1030B000334328D0132802D18024E40523E0802361
-:1030C0009B029143034119431DE033280ADD80230D
-:1030D000DB0098422FD1281C311C2A1C331C01F024
-:1030E000D1FD26E01C4A981801235B42C3401E42D2
-:1030F00021D05B081E4206D0321C9A438023DB0598
-:103100000341141C1C430194029C124AE3009B18C7
-:103110001C685D680091009A019B201C291C01F02D
-:10312000B1FD0390049103980499221C2B1C01F01B
-:10313000ADFD051C0E1C281C311C05B0F0BC04BCE8
-:103140001047000001FCFFFFFFFFFF7FFFFF0F00A4
-:103150000000FEFF6C530100EDFBFFFFF0B5344FA4
-:10316000031C81B03B4000921A15051C0E1C002A5E
-:1031700017D1304B0340194354D02F4A2F4B281CF2
-:10318000311C01F087FD2E4B009A051C0E1C9A4243
-:1031900005DB031C3B401B151A1C363A01E0281CBA
-:1031A0002EE0284B9A4206D1281C311C2A1C331CC5
-:1031B00001F068FD34E0009BD718234B9F4210DCE0
-:1031C000002F07DD214A011C11400B1C3A05134357
-:1031D0001D1C27E03A1C363215DC1D4B009A9A4222
-:1031E00008DD2A1C331C1B481B4900F03FF8194A14
-:1031F000194B13E019481A492A1C331C00F036F801
-:10320000164A174B0AE0114B18403B1C36331B057E
-:10321000011C1943134A144B081C311C01F03AFDE0
-:10322000051C0E1C281C311C01B0F0BC04BC10474E
-:103230000000F07FFFFFFF7F000050430000000010
-:10324000B03CFFFFFF070000FE070000FFFF0F80FC
-:1032500050C300003CE4377E9C7500881F6EA501BA
-:1032600059F3F8C20000903C0000000030B5074B55
-:10327000041C1C408023151C1B062B400A1C1C43ED
-:10328000201C111C30BC04BC10470000FFFFFF7F56
-:10329000014B18687047000020000040002934D01E
-:1032A0000123002210B488422CD301242407A14218
-:1032B00004D2814202D209011B01F8E7E400A142D5
-:1032C00004D2814202D249005B00F8E7884201D370
-:1032D000401A1A434C08A04202D3001B5C08224348
-:1032E0008C08A04202D3001B9C082243CC08A042B9
-:1032F00002D3001BDC082243002803D01B0901D0A5
-:103300000909E3E7101C10BC704702B500F02EF964
-:10331000002006BC1047000003B5FFF7BFFF0EBC3E
-:103320004243891A1847C046002941D010B4041CF2
-:103330004C40A44601230022002900D54942002820
-:1033400000D5404288422CD301242407A14204D254
-:10335000814202D209011B01F8E7E400A14204D234
-:10336000814202D249005B00F8E7884201D3401A4B
-:103370001A434C08A04202D3001B5C0822438C086D
-:10338000A04202D3001B9C082243CC08A04202D3D7
-:10339000001BDC082243002803D01B0901D00909C7
-:1033A000E3E7101C6446002C00D5404210BC704777
-:1033B00002B500F0DBF8002006BC104703B5FFF7AC
-:1033C000B3FF0EBC4243891A1847C04600295AD0A1
-:1033D0000123884200D2704710B401242407A1427F
-:1033E00004D2814202D209011B01F8E7E400A142A4
-:1033F00004D2814202D249005B00F8E700228842F1
-:1034000000D3401A4C08A04205D3001B9C4601245F
-:10341000E3411A4363468C08A04205D3001B9C4637
-:103420000224E3411A436346CC08A04205D3001BA3
-:103430009C460324E3411A4363469C46002803D07C
-:103440001B0901D00909D9E70E242407224018D00E
-:1034500063460724234214D063460324E3411A42FF
-:1034600001D0CC08001963460224E3411A4201D07E
-:103470008C08001963460124E3411A4201D04C082C
-:10348000001910BC704702B500F070F8002006BCAF
-:103490001047C0460123002962D000D5494210B42C
-:1034A00001B4002800D54042884253D301242407A8
-:1034B000A14204D2814202D209011B01F8E7E400D3
-:1034C000A14204D2814202D249005B00F8E7002207
-:1034D000884200D3401A4C08A04205D3001B9C46EA
-:1034E0000124E3411A4363468C08A04205D3001B24
-:1034F0009C460224E3411A436346CC08A04205D30C
-:10350000001B9C460324E3411A4363469C46002863
-:1035100003D01B0901D00909D9E70E242407224052
-:1035200018D063460724234214D063460324E341A2
-:103530001A4201D0CC08001963460224E3411A4222
-:1035400001D08C08001963460124E3411A4201D0DE
-:103550004C08001910BC002C00D5404210BC70472C
-:1035600002B500F003F8002006BC10477047C046C3
-:10357000020120E2000000EA022122E230402DE9AF
-:103580008040A0E18250A0E1050034E10300310158
-:1035900001C0941103C09511C4CAF011C5CAF0113D
-:1035A0008C00000AA44AA0E1A55A74E0005065B25C
-:1035B000060000DA054084E0033021E0022020E02C
-:1035C000011023E0000022E0033021E0022020E08F
-:1035D000360055E33040BD881EFF2F81020110E305
-:1035E0000006A0E101C6A0E320068CE10100000A6C
-:1035F000001071E20000E0E2020112E30226A0E105
-:1036000022268CE10100000A003073E20020E2E291
-:10361000050034E16900000A014044E220E075E25F
-:10362000050000BA13CEA0E1331591E00000A0E23E
-:10363000121E91E05205B0E0060000EA205045E27B
-:1036400020E08EE2010053E312CEA0E102C08C2301
-:10365000521591E0C20FB0E0025100E20200005AA0
-:1036600000C07CE20010F1E20000E0E2010650E35D
-:103670000F00003A020650E30600003AA000B0E155
-:103680006110B0E16CC0A0E1014084E2842AA0E1B5
-:10369000010572E36B00002A02015CE3A1C0B001E6
-:1036A0000010B1E2040AA0E0050080E13040BDE86E
-:1036B0001EFF2FE18CC0B0E10110B1E00000A0E0DE
-:1036C000010610E3014044E2F2FFFF1A000030E37C
-:1036D0001430A0133430A0030100A0010010A00397
-:1036E0000020A0E1010852E32228A021103043224B
-:1036F000010C52E32224A02108304322100052E39F
-:103700002222A02104304322040052E3023043224B
-:10371000A2304330A23143E0202053E2070000AA48
-:103720000C2092E2040000DA14C082E20C2062E273
-:10373000101CA0E13002A0E1040000EA142082E2A3
-:1037400020C062D21002A0E1310C80D11112A0D1B0
-:10375000034054E0040A80A0050080A13040BDA8C9
-:103760001EFF2FA10440E0E11F4054E20F0000AA19
-:103770000C4094E2060000CA144084E2202064E277
-:103780003114A0E1101281E1300485E13040BDE840
-:103790001EFF2FE10C4064E2202064E23112A0E120
-:1037A000101481E10500A0E13040BDE81EFF2FE1CB
-:1037B0003014A0E10500A0E13040BDE81EFF2FE17C
-:1037C000000034E3012622E20106200201408402C7
-:1037D000015045128FFFFFEAC4CAF0E1C5CAF011DB
-:1037E0001D00000A050034E1030031010400000A55
-:1037F000000034E30200A0010310A0013040BDE846
-:103800001EFF2FE1020030E10000A0130010A01302
-:103810003040BD181EFF2F11A4CAB0E10400001AE9
-:103820008110B0E10000B0E0020180233040BDE82B
-:103830001EFF2FE1014594E2010680323040BD3881
-:103840001EFF2F31025100E27F0485E30F0680E363
-:103850000010A0E33040BDE81EFF2FE1C4CAF0E134
-:103860000200A0110310A011C5CAF0010020A01190
-:103870000130A011004691E102569301020030018F
-:10388000020780133040BDE81EFF2FE1000030E347
-:103890000010A0031EFF2F0130402DE9014BA0E3D3
-:1038A000324084E20050A0E30010A0E10000A0E359
-:1038B00085FFFFEA000030E30010A0031EFF2F0188
-:1038C00030402DE9014BA0E3324084E2025110E286
-:1038D000000060420010A0E10000A0E37AFFFFEAD0
-:1038E0008020B0E1C201A0E16000A0E1021EA0E1E1
-:1038F000FF341212FF0433130E0320121EFF2F1188
-:10390000000032E3FF0433131EFF2F0130402DE986
-:103910000E4DA0E3025100E20201C0E36AFFFFEA9C
-:10392000012090E11EFF2F0130402DE90050A0E35F
-:10393000060000EA012090E11EFF2F0130402DE932
-:10394000025111E20100005A000070E20010E1E2B1
-:10395000014BA0E3324084E200C0A0E10100A0E1FD
-:103960000C10A0E120CBB0E13FFFFF0A0320A0E351
-:10397000ACC1B0E103208212ACC1B0E103208212DD
-:10398000AC2182E0203062E211C3A0E13112A0E15B
-:10399000101381E13002A0E1024084E032FFFFEA2F
-:1039A00070402DE9FFC0A0E307CC8CE3204A1CE067
-:1039B000225A1C100C0034110C0035117500000B3C
-:1039C000054084E0026020E08C0AC0E18C2AC2E15C
-:1039D000005691E102569311010680E3012682E32D
-:1039E0001D00000A91C38EE00050A0E390E3A5E023
-:1039F000023106E291E2A5E00060A0E39052A6E069
-:103A000000003CE301E08E13FF4044E2020C56E369
-:103A1000034CC4E20200002A8EE0B0E10550B5E09C
-:103A20000660A6E0860583E1A50A80E18515A0E190
-:103A3000AE1A81E18EE5A0E1FDC054E2070C5C8383
-:103A40001100008A02015EE3A1E0B0010010B1E2C2
-:103A5000040AA0E07040BDE81EFF2FE1026106E20B
-:103A6000000086E1031081E1020020E0AC4054E058
-:103A70000C5074C0040A80C17040BDC81EFF2FC125
-:103A8000010680E300E0A0E3014054E25D0000CACB
-:103A9000360074E30010A0D3020100D27040BDD8FC
-:103AA0001EFF2FD1004064E2204054E21A0000AA19
-:103AB0000C4094E20C0000CA144084E2205064E2FE
-:103AC0001135A0E13114A0E1101581E1022100E2DD
-:103AD0000201C0E3A31F91E03004A2E083E09EE175
-:103AE000A31FC1017040BDE81EFF2FE10C4064E23E
-:103AF000205064E21134A0E13115A0E1101481E1FD
-:103B0000020100E2A31F91E00000A0E283E09EE139
-:103B1000A31FC1017040BDE81EFF2FE1205064E2E9
-:103B200011E58EE13134A0E1103583E13014A0E1DC
-:103B3000020100E23014C1E1A31F81E083E09EE1B5
-:103B4000A31FC1017040BDE81EFF2FE1000034E358
-:103B50000800001A026100E28110B0E10000A0E05C
-:103B6000010610E301404402FAFFFF0A060080E16B
-:103B7000000035E30EF0A011026102E28330B0E1F3
-:103B80000220A2E0010612E301504502FAFFFF0AFB
-:103B9000062082E10EF0A0E10C0034E1225A0CE094
-:103BA0000C0035110700000A806091E182609311DA
-:103BB000E5FFFF1A020020E0020100E20010A0E38E
-:103BC0007040BDE81EFF2FE1806091E10310A0016D
-:103BD0000200A001826093111000000A0C0034E181
-:103BE0000100001A006691E10C00001A0C0035E19A
-:103BF0000300001A026693E10310A0110200A01155
-:103C00000600001A020020E0020100E27F0480E3C7
-:103C10000F0680E30010A0E37040BDE81EFF2FE117
-:103C20007F0480E33E0780E37040BDE81EFF2FE184
-:103C300070402DE9FFC0A0E307CC8CE3204A1CE0D4
-:103C4000225A1C100C0034110C0035115E00000BC0
-:103C5000054044E002E020E0025693E10006A0E1C6
-:103C60004C00000A0226A0E10152A0E3222285E1D5
-:103C7000232C82E10334A0E1205285E1215C85E11F
-:103C80000164A0E102010EE2020055E103005601C9
-:103C9000FD40A4E2034C84E20100002AA220B0E12E
-:103CA0006330A0E1036056E00250C5E0A220B0E11D
-:103CB0006330A0E10116A0E302C7A0E303E056E0F1
-:103CC00002E0D5E0036046200E50A0210C108121B7
-:103CD000A220B0E16330A0E103E056E002E0D5E0CD
-:103CE000036046200E50A021AC108121A220B0E13B
-:103CF0006330A0E103E056E002E0D5E00360462037
-:103D00000E50A0212C118121A220B0E16330A0E14E
-:103D100003E056E002E0D5E0036046200E50A0210B
-:103D2000AC11812106E095E10D00000A0552A0E1E9
-:103D3000265E85E10662A0E18221A0E1A32E82E158
-:103D40008331A0E12CC2B0E1DBFFFF1A010610E3D2
-:103D50000600001A010080E10010A0E302C1A0E308
-:103D6000D5FFFFEA010610E3010080010010A00367
-:103D7000FDC054E2070C5C8343FFFF8A02C055E09C
-:103D800003C05600A1C0B0010010B1E2040AA0E0D7
-:103D90007040BDE81EFF2FE102E10EE220068EE139
-:103DA000AC4094E00C5074C0040A80C17040BDC89F
-:103DB0001EFF2FC1010680E300E0A0E3014054E2B2
-:103DC00031FFFFEA06E085E12FFFFFEA225A0CE00F
-:103DD0000C0034E10C00350190FFFF0A0C0034E1C7
-:103DE0000600001A004691E18CFFFF1A0C0035E135
-:103DF00083FFFF1A0310A0E10200A0E187FFFFEAA2
-:103E00000C0035E10400001A025693E168FFFF0A36
-:103E10000310A0E10200A0E180FFFFEA806091E1D1
-:103E20008260931148FFFF1A804091E174FFFF1AEE
-:103E3000825093E15EFFFF1A78FFFFEA00C0E0E3E3
-:103E4000020000EA01C0A0E3000000EA01C0A0E314
-:103E500004C00DE580C0A0E1CCCAF0E182C0A0E1C1
-:103E6000CCCAF0110D00000A80C091E182C093011C
-:103E700002003011030031010000A0031EFF2F01DA
-:103E8000000070E3020030E10200505103005101D4
-:103E9000C20FA021C20FE031010080E31EFF2FE11D
-:103EA00080C0A0E1CCCAF0E10100001A00C691E197
-:103EB0000400001A82C0A0E1CCCAF0E1E9FFFF1AB9
-:103EC00002C693E1E7FFFF0A04001DE51EFF2FE194
-:103ED00000C0A0E10200A0E10C20A0E101C0A0E12F
-:103EE0000310A0E10C30A0E1FFFFFFEA01402DE943
-:103EF000D5FFFFEB000050E3000070430140BDE838
-:103F00001EFF2FE108E02DE5F7FFFFEB0100A00306
-:103F10000000A01308E09DE41EFF2FE108E02DE55E
-:103F2000F1FFFFEB0100A0330000A02308E09DE4B7
-:103F30001EFF2FE108E02DE5EBFFFFEB0100A09352
-:103F40000000A08308E09DE41EFF2FE108E02DE5BE
-:103F5000DEFFFFEB0100A0930000A08308E09DE4DA
-:103F60001EFF2FE108E02DE5D8FFFFEB0100A03395
-:103F70000000A02308E09DE41EFF2FE18020A0E1C7
-:103F8000022692E20C00002A0900005A3E3EE0E3BD
-:103F9000C22A53E00A00009A8035A0E1023183E38F
-:103FA000A13A83E1020110E33302A0E100006012B4
-:103FB0001EFF2FE10000A0E31EFF2FE1001691E19C
-:103FC0000200001A020110E20201E0031EFF2FE1CD
-:103FD0000000A0E31EFF2FE18020A0E1073252E2A3
-:103FE00002C653227FC57C220600009A02C100E26D
-:103FF0008121A0E1A11E8CE1020152E30301A1E0B5
-:104000000100C0031EFF2FE1010110E30F00001AA1
-:104010002E2693E2020100B21EFF2FB1010680E3BB
-:10402000A22AA0E1182062E220C062E2113CB0E1C5
-:104030003112A0E1011081138035A0E1A335A0E188
-:10404000131C81E13332A0E18330A0E1E6FFFFEAF7
-:10405000C23AF0E10300001A003691E17F04A01398
-:10406000030580131EFF2F11020100E27F0480E38D
-:10407000020580E31EFF2FE1020120E2000000EABA
-:10408000021121E28020B0E18130B0110300321131
-:1040900042CCF01143CCF0114700000A222CA0E1E1
-:1040A000233C72E0032082C0011020C0000021C028
-:1040B000011020C0003063B2190053E31EFF2F81AE
-:1040C000020110E3020580E3FF04C0E30000601278
-:1040D000020111E3021581E3FF14C1E30010611234
-:1040E000030032E12E00000A012042E2510390E079
-:1040F000203063E21113A0E1023100E20100005A16
-:10410000001071E20000E0E2020550E30B00003A0B
-:10411000010450E30400003AA000B0E16110A0E106
-:10412000012082E2FE0052E33800002A020151E33E
-:10413000820BA0E00100C003030080E11EFF2FE11D
-:104140008110B0E10000A0E0020510E3012042E28E
-:10415000F5FFFF1A20C6B0E10006A0010C204202C4
-:10416000FF0810E30004A001082042020F0610E33C
-:104170000002A00104204202030510E30001A00197
-:1041800002204202020550E38000A0310020D2E26A
-:10419000820B80A0002062B2030080A1300283B1B4
-:1041A0001EFF2FE1000032E3021521E2020520028A
-:1041B0000120820201304312CAFFFFEA8130A0E1F0
-:1041C00042CCF0E143CCF0111300000A030032E1CD
-:1041D0000200000A000032E30100A0011EFF2FE1EF
-:1041E000010030E10000A0131EFF2F11FF0412E3B5
-:1041F0000200001A8000B0E1020180231EFF2FE1BF
-:10420000022492E2020580321EFF2F31023100E2C9
-:104210007F0483E3020580E31EFF2FE1422CF0E1DF
-:104220000100A011433CF0010010A0118024B0E176
-:104230008134B00101003001010580131EFF2FE120
-:104240000030A0E3010000EA023110E20000604209
-:1042500000C0B0E11EFF2F014B3483E30010A0E14A
-:104260000000A0E30F0000EA012090E11EFF2F01F3
-:104270000030A0E3050000EA012090E11EFF2F01BD
-:10428000023111E20100005A000070E20010E1E288
-:1042900001C0B0E100C0A0010010A0010000A00317
-:1042A0005B3483E301324302023543E21720A0E38B
-:1042B00001085CE32CC8A02110204222010C5CE321
-:1042C0002CC4A0210820422210005CE32CC2A021B3
-:1042D0000420422204005CE302204222AC2042304F
-:1042E000AC2152E0823B43E0060000BA113283E089
-:1042F00010C2A0E1202062E202015CE33002A3E0F0
-:104300000100C0031EFF2FE1202082E211C2A0E1C4
-:10431000202062E28C0090E13102A3E0AC0FC001EA
-:104320001EFF2FE1FFC0A0E3A02B1CE0A13B1C104F
-:104330000C0032110C0033113E00000A032082E011
-:1043400001C020E08004B0E18114B0111000000A27
-:104350000233A0E3A00283E1A11283E1903181E066
-:1043600002010CE2020551E38110A031A31F81314B
-:104370008330A031010080E17F20C2E2FD0052E3E2
-:104380000F00008A020153E3820BA0E00100C0038A
-:104390001EFF2FE1000030E302C10CE28114A001F6
-:1043A000A0048CE1A10480E17F2052E2FF3072C2C0
-:1043B000820B80C11EFF2FC1020580E30030A0E305
-:1043C000012052E2350000CA190072E3020100D256
-:1043D0001EFF2FD1002062E28010B0E13112A0E177
-:1043E000202062E210C2A0E16100B0E10000A0E282
-:1043F0008C3093E1AC0FC0011EFF2FE1000032E3CF
-:1044000002C100E28000A001020510030120420267
-:10441000FBFFFF0A0C0080E1000033E302C101E270
-:104420008110A0010205110301304302FBFFFF0AC6
-:104430000C1081E1C0FFFFEAA13B0CE00C0032E16F
-:104440000C0033110500000A02C1D0E302C1D113F0
-:10445000E9FFFF1A010020E0020100E21EFF2FE148
-:10446000000030E3020130130100A001000031130D
-:10447000020131130D00000A0C0032E10100001AA4
-:104480008024B0E10900001A0C0033E10200001A98
-:104490008134B0E10100A0110400001A010020E005
-:1044A000020100E27F0480E3020580E31EFF2FE1AA
-:1044B0007F0480E3030580E31EFF2FE1FFC0A0E33C
-:1044C000A02B1CE0A13B1C100C0032110C0033117E
-:1044D0003A00000A032042E001C020E08114B0E16C
-:1044E0008004A0E11C00000A0132A0E3211283E154
-:1044F000203283E102010CE2010053E18330A0315C
-:104500007D20A2E202C5A0E3010053E10130432077
-:104510000C008021A10053E1A1304320AC00802198
-:10452000210153E1213143202C018021A10153E1DC
-:10453000A1314320AC0180210332B0E12CC2B01183
-:10454000F0FFFF1AFD0052E39DFFFF8A010053E1D7
-:10455000820BA0E00100C0031EFF2FE102C10CE2AC
-:10456000A0048CE17F2092E2FF3072C2820B80C1F6
-:104570001EFF2FC1020580E30030A0E3012052E2BC
-:104580008FFFFFEA000032E302C100E28000A001D9
-:104590000205100301204202FBFFFF0A0C0080E12C
-:1045A000000033E302C101E28110A0010205110302
-:1045B00001304302FBFFFF0A0C1081E1C4FFFFEA58
-:1045C000A13B0CE00C0032E10500001A8024B0E1B0
-:1045D000B6FFFF1A0C0033E1AFFFFF1A0100A0E1A4
-:1045E000B2FFFFEA0C0033E10300001A8134B0E1AE
-:1045F00097FFFF0A0100A0E1ACFFFFEA02C1D0E390
-:1046000002C1D113DEFFFF1A0221D0E3A2FFFF1A7D
-:104610000231D1E38EFFFF1AA4FFFFEA00C0E0E3FE
-:10462000020000EA01C0A0E3000000EA01C0A0E32C
-:1046300004C00DE58020A0E18130A0E142CCF0E192
-:1046400043CCF0110600000AA3C092E10100301132
-:1046500003005250C10FA081C10FE031010080134F
-:104660001EFF2FE142CCF0E10100001A80C4B0E14E
-:104670000300001A43CCF0E1F2FFFF1A81C4B0E15D
-:10468000F0FFFF0A04001DE51EFF2FE100C0A0E1BE
-:104690000100A0E10C10A0E1FFFFFFEA0F402DE9AF
-:1046A000E1FFFFEB000050E3000070430F40BDE866
-:1046B0001EFF2FE108E02DE5F7FFFFEB0100A0034F
-:1046C0000000A01308E09DE41EFF2FE108E02DE5A7
-:1046D000F1FFFFEB0100A0330000A02308E09DE400
-:1046E0001EFF2FE108E02DE5EBFFFFEB0100A0939B
-:1046F0000000A08308E09DE41EFF2FE108E02DE507
-:10470000E1FFFFEB0100A0930000A08308E09DE41F
-:104710001EFF2FE108E02DE5DBFFFFEB0100A033DA
-:104720000000A02308E09DE41EFF2FE18020A0E10F
-:104730007F0452E30800003A9E30A0E3222C53E0AD
-:104740000700009A0034A0E1023183E3020110E384
-:104750003302A0E1000060121EFF2FE10000A0E381
-:104760001EFF2FE1610072E30100001A8024B0E116
-:104770000200001A020110E20201E0031EFF2FE115
-:104780000000A0E31EFF2FE1F0B55F4656464D4600
-:104790004446F0B40024002588B000940195141C10
-:1047A0001D1C002900DAFFE000260296002B00DA2B
-:1047B000F3E0261C81460F1C002D5CD1BC4200D9C1
-:1047C00074E0002C00D10DE1BF4B9E4200D9F4E013
-:1047D000FF2E00D9DFE100210023BC4A341CDC405D
-:1047E000135D2022CB18D31A9A46002B00D071E11A
-:1047F000B54B012033400490BD1B9B46370C391C40
-:10480000281CFEF74BFD5946804644464C43281C65
-:10481000391CFEF7DBFD4A460004130C18438442A2
-:1048200008D901235B4280199844864202D8844209
-:1048300000D9D5E1041B391C201CFEF72FFD051CF7
-:1048400058466843391C8246201CFEF7BFFD9E4B2C
-:10485000494600040B401843824506D93018013DF3
-:10486000864202D8824500D9B3E142461304281C8F
-:104870001843049B05E0291CBD4200D873E00020CA
-:104880000023029A0090019300980199002A04D015
-:10489000031C0C1C00215842A14108B03CBC9046AE
-:1048A0009946A246AB46F0BC04BC1047864B9C42DE
-:1048B00000D990E0FF2C00D967E100210023834A52
-:1048C000351CDD40535DCB182021CD1A002D0BD0B7
-:1048D0003A1C4B1B4F46DF404846AA403B1CA840B1
-:1048E000171CAE401F438146774B310C3340381CB8
-:1048F0009B468846FEF7D2FC5A4682464146381C03
-:1049000054465443FEF762FD4D4600042B0C1843F9
-:10491000844208D901277F428019BA44864202D8CE
-:10492000844200D959E1041B4146201CFEF7B6FC25
-:104930004146051C5F464743201CFEF747FD624B7E
-:10494000494600040B401843874206D93018013D00
-:10495000864202D8874200D93DE152461304281C02
-:10496000184300238DE7584B9D422DD8FF2D00D9C9
-:1049700014E100200023554A0C1CDC40135D20226A
-:10498000C318D31A9A46002B35D1B94202D34E45EB
-:1049900000D974E70120002373E7029CE4430294EA
-:1049A000002554429D4104E70F1C061C0021704263
-:1049B000B94101277F420297F8E6454B9E4200D954
-:1049C000EFE01021102308E7414B9D4200D9DFE0C2
-:1049D00010201023CFE73E4B9C4200D9E4E0102189
-:1049E00010236CE701200021FEF758FC364B061C13
-:1049F0009E42E2D8ECE6D21A1D1C9940331CD340EB
-:104A0000AE40194307963B1C4E46D640AB4033435D
-:104A10003C1CD44005930F0C2B4B0E1C8846201CCD
-:104A2000391C1E40FEF73AFC391C8346201CFEF759
-:104A3000CDFC5D467543059900040B0C1843854277
-:104A400006D90122524240449344804500D8BAE03E
-:104A5000441B201C391CFEF721FC391C051C464355
-:104A6000201CFEF7B3FC184B059C000423401843A0
-:104A7000864204D94044013D804500D89DE0801B1A
-:104A80005E4633041D43104E079F079B2A1C33408C
-:104A9000390C32402C0C1F1C574384464A43181CC7
-:104AA00060433B0C12189A186143904202D980204F
-:104AB00040020918130CC818844563D3844558D0A4
-:104AC000281C0023DDE60000FFFF00007C530100EE
-:104AD000FFFFFF00191C9E403C1CD31A4D46DC40D2
-:104AE000DD403A1C404B8A40370C2A433340391C86
-:104AF000201C9B460692FEF7D1FB391C03905D46B5
-:104B00004543201CFEF762FC069900040B0C184379
-:104B1000854205D9039A8019013A0392864246D903
-:104B2000441B201C391CFEF7B9FB5B468046391C30
-:104B3000201C45465D43FEF749FC2B4B069C0004B8
-:104B400023401843854209D90121494280198844EC
-:104B5000864203D8854201D988448019039C4A467D
-:104B600053469A40451B23044046184391460490FF
-:104B700045E651464B468B40391C120431405218D1
-:104B800093429DD2681E00237BE60821082396E607
-:104B900018201823EFE6082108231EE60820082322
-:104BA000E9E61821182318E61821182387E685421C
-:104BB000B6D9013A80190392B2E7864200D85EE77F
-:104BC000013D40445BE7854200D841E793444044BF
-:104BD0003EE7013D49E6013DBFE6BA448019A2E641
-:104BE0009844801926E60000FFFF000000C09FE502
-:104BF0001CFF2FE1CD33010000C09FE51CFF2FE11A
-:104C00008947010000C09FE51CFF2FE1CD0E010088
-:104C100000C09FE51CFF2FE1210E010000C09FE5B1
-:104C20001CFF2FE1790D010000C09FE51CFF2FE163
-:104C3000DDCB000000C09FE51CFF2FE155CB00003D
-:104C400000C09FE51CFF2FE10912010000C09FE595
-:104C50001CFF2FE19D32010000C09FE51CFF2FE1EA
-:104C600035CB00007847C04675FCFFEA7847C04660
-:104C700075FCFFEA7847C04673FCFFEA7847C046F8
-:104C80000BFBFFEA7847C0463BFAFFEA7847C0468D
-:104C900038FAFFEA7847C04640FBFFEA7847C0464B
-:104CA000B5FCFFEA7847C046E0FBFFEA7847C0461C
-:104CB00061FCFFEA7847C0465FFCFFEA7847C046E0
-:104CC0000CDAFFEA7847C046F1D9FFEA7847C046D8
-:104CD000FED9FFEA7847C046D5D9FFEA7847C046F3
-:104CE000DED9FFEA7847C046AAD9FFEA7847C0462E
-:104CF00070D9FFEA7847C04651FCFFEA0A0A5072B1
-:104D00006F6772616D6D2069732072756E6E696E6A
-:104D100067202E2E2E20000050726F636573736F14
-:104D20007220436C6F636B204672657175656E63AC
-:104D3000793A20256420487A0A000000506572699B
-:104D400070686572616C20436C6F636B204672659E
-:104D50007175656E63793A20256420487A0A0000EF
-:104D60000600140001000000D008080000E1000067
-:104D70000700010000000000E42D061304000B00F2
-:104D80000F386F4F060106000101000000000F8080
-:104D9000060106000102000100001188060106005C
-:104DA000010300010000128D06010600010400004D
-:104DB0000000128F06010600010600010000159C8C
-:104DC000060106000111000000001FD006010600C8
-:104DD00001120001000021D8060106000120000098
-:104DE00000002E1B060106000121000000002F20FC
-:104DF0000601060001220000000030250601060021
-:104E00000130000000003E6B0616080000000100A3
-:104E1000000000002590061A280005000000040389
-:104E20000A0250C300000F0A0A3C00010000FA0009
-:104E3000FA0064002C0100000000000000000000E7
-:104E40000000586406080600C80001000000DD6884
-:104E500006090D0000000000FFFF00000000000038
-:104E60000721AFB562000000E8CD0000AED500001C
-:104E7000AED50000F8CD0000AED50000AED50000E4
-:104E8000AED50000AED50000AED50000AED5000016
-:104E9000FCCD000016CE0000AED500000CCE000008
-:104EA00020CE0000AED5000070CE00007ACE00000B
-:104EB0007ACE00007ACE00007ACE00007ACE0000D2
-:104EC0007ACE00007ACE00007ACE00007ACE0000C2
-:104ED000AED50000AED50000AED50000AED50000C6
-:104EE000AED50000AED50000AED50000AED50000B6
-:104EF000AED50000CCCE00001CCF00005ACF000081
-:104F00005ACF00005ACF0000AED50000AED5000049
-:104F1000AED50000AED50000A0CE0000AED500009A
-:104F2000AED50000BAD20000AED50000AED500006C
-:104F3000AED5000034D30000AED5000068D4000028
-:104F4000AED50000AED5000098D40000AED500006C
-:104F5000AED50000AED50000AED50000AED5000045
-:104F6000AED50000AED50000AED50000AED5000035
-:104F7000AED50000CCCE000024CF00005ACF0000F8
-:104F80005ACF00005ACF0000A4CE000024CF00006A
-:104F9000AED50000AED50000A8CE0000AED5000012
-:104FA0008AD20000C2D200001CD30000C2CE000092
-:104FB000AED5000034D30000AED5000070D40000A0
-:104FC000AED50000AED50000E2CD0000303030306C
-:104FD0003030303030303030303030302020202011
-:104FE0002020202020202020202020204AE800000F
-:104FF0004AE800005EE800007CE800003EE80000AF
-:1050000038E8000024000040D8540100B4540100E6
-:10501000B4540100B4540100B4540100B45401006C
-:10502000B4540100B4540100B4540100B45401005C
-:10503000FFFFFFFFFFFFFFFF185501000000F03FDB
-:105040000000000000002440000000000000594063
-:105050000000000000408F40000000000088C340B6
-:1050600000000000006AF8400000000080842E412B
-:1050700000000000D01263410000000084D7974177
-:105080000000000065CDCD41000000005FA002429D
-:105090000000002076483742000000E8941A6D4274
-:1050A000000000A29C30A242000040E5C4BCD642F1
-:1050B0000000901EF56B0C430000342679C3414379
-:1050C0000080E0375734764300A0D8856DC1AB43EC
-:1050D00000C84E67E458E143003D91601DAF1544A0
-:1050E000408CB578E41A4B4450EFE2D6CFF08044C0
-:1050F00092D54D06022DB544F64AE1C74378EA44FD
-:10510000B49DD97979C341430080E037B5B893465F
-:10511000176E05B5034F384DF5F93FE94877825AC8
-:10512000321D30F9DD4F15753CBF737FB2D29C3C08
-:10513000BC89D89723F6493933A7A8D5FD0FA532E6
-:105140003DA7F44408BA5B259D978CCF2806C80A72
-:10515000436FAC6405000000190000007D000000F2
-:105160000000F03F000000000000F83F00000000D9
-:105170000000000000000000EBFD4C3E06D0CF43D5
-:10518000000000000000000003B8E23F0000004003
-:10519000FB21F93FFB2109407CD91240FB2119403A
-:1051A0007A6A1F407CD92240BBFD2540FB21294063
-:1051B0003A462C407A6A2F405C4731407CD93240D5
-:1051C0009C6B3440BBFD3540DB8F3740FB213940C1
-:1051D0001BB43A403A463C405AD83D407A6A3F4078
-:1051E0004C7E40405C4741406C1042407CD942407C
-:1051F0008CA243409C6B4440AC344540BBFD4540D1
-:10520000CBC64640DB8F4740EB584840FB21494026
-:1052100083F9A200444E6E00FC291500D1572700E7
-:10522000DD34F50062DBC0003C99950041904300FD
-:105230006351FE00BBDEAB00B761C5003A6E2400CF
-:10524000D24D42004906E00009EA2E001C92D1002E
-:10525000EB1DFE0029B11C00E83EA700F5358200D9
-:1052600044BB2E009CE98400B4267000417E5F00A0
-:10527000D6913900538339009CF439008B5F840048
-:1052800028F9BD00F81F3B00DEFF97000F980500CE
-:10529000112FEF000A5A8B006D1F6D00CF7E360074
-:1052A00009CB2700464FB7009E663F002DEA5F00FE
-:1052B000BA277500E5EBC7003D7BF100F739070021
-:1052C00092528A00FB6BEA001FB15F00085D8D00FF
-:1052D000300356007BFC4600F0AB6B0020BCCF00D7
-:1052E00036F49A00E3A91D005E619100081BE600F8
-:1052F00085996500A0145F008D40680080D8FF008C
-:1053000027734D0006063100CA561500C9A8730060
-:105310007BE260006B8CC000020000000300000014
-:105320000400000006000000FB21F93F00000040DF
-:105330002D44743E000000009846F83C00000080B8
-:1053400051CC783B00000060831BF03900000080E6
-:1053500020257A38000000402282E33600000080D9
-:105360001DF369350000000001000000000030431B
-:1053700000000000000030C3000000000001020235
-:1053800003030303040404040404040405050505DD
-:1053900005050505050505050505050506060606B9
-:1053A000060606060606060606060606060606069D
-:1053B0000606060606060606060606060707070789
-:1053C000070707070707070707070707070707076D
-:1053D000070707070707070707070707070707075D
-:1053E000070707070707070707070707070707074D
-:1053F0000707070707070707070707070808080839
-:10540000080808080808080808080808080808081C
-:10541000080808080808080808080808080808080C
-:1054200008080808080808080808080808080808FC
-:1054300008080808080808080808080808080808EC
-:1054400008080808080808080808080808080808DC
-:1054500008080808080808080808080808080808CC
-:1054600008080808080808080808080808080808BC
-:105470000808080808080808080808080A000000C2
-:1054800030313233343536373839616263646566BA
-:1054900000000000696E6600494E46004E414E0015
-:1054A0006E616E003031323334353637383941422F
-:1054B000434445460000000062756720696E20760F
-:1054C000667072696E74663A20626164206261730C
-:1054D00065000000300000002E000000286E756C92
-:1054E0006C290000432D5554462D3800432D534A56
-:1054F00049530000432D4555434A5000432D4A4926
-:1055000053000000496E66696E69747900000000FE
-:105510004E614E004300000049534F2D3838353955
-:105520002D310000706F77007371727400000000FD
-:10553000D007010014010000E8030000000200028F
-:10554000FF090000013E2A3E3C233C01010100000E
-:105550002400004000000000100300406C030040E5
-:10556000C803004000000000000000000000000030
-:10557000000000000000000000000000000000002B
-:1055800000000000000000001455010000000000B1
-:10559000000000000000000000000000000000000B
-:1055A00000000000000000000000000000000000FB
-:1055B00000000000000000000000000000000000EB
-:1055C00000000000000000000000000000000000DB
-:1055D00000000000000000000000000000000000CB
-:1055E00000000000000000000000000000000000BB
-:1055F00000000000000000000100000000000000AA
-:105600000E33CDAB34126DE6ECDE05000B0000006E
-:10561000000000000000000000000000000000008A
-:10562000000000000000000000000000000000007A
-:10563000000000000000000000000000000000006A
-:10564000000000000000000000000000000000005A
-:10565000000000000000000000000000000000004A
-:10566000000000000000000000000000000000003A
-:10567000000000000000000000000000000000002A
-:10568000000000000000000000000000000000001A
-:10569000000000000000000000000000000000000A
-:1056A00000000000000000000000000000000000FA
-:1056B00000000000000000000000000000000000EA
-:1056C00000000000000000000000000000000000DA
-:1056D00000000000000000000000000000000000CA
-:1056E00000000000000000000000000000000000BA
-:1056F00000000000000000000000000000000000AA
-:105700000000000000000000000000000000000099
-:105710000000000000000000000000000000000089
-:105720000000000000000000000000000000000079
-:105730000000000000000000000000000000000069
-:105740000000000000000000000000000000000059
-:105750000000000000000000000000000000000049
-:105760000000000000000000000000000000000039
-:105770000000000000000000000000000000000029
-:105780000000000000000000000000000000000019
-:105790000000000000000000000000000000000009
-:1057A00000000000000000000000000000000000F9
-:1057B00000000000000000000000000000000000E9
-:1057C00000000000000000000000000000000000D9
-:1057D00000000000000000000000000000000000C9
-:1057E00000000000000000000000000000000000B9
-:1057F00000000000000000000000000000000000A9
-:105800000000000000000000000000000000000098
-:105810000000000000000000000000000000000088
-:105820000000000000000000000000000000000078
-:105830000000000000000000000000000000000068
-:105840000000000000000000000000000000000058
-:105850000000000000000000000000000000000048
-:105860000000000000000000000000000000000038
-:105870000000000000000000000000000000000028
-:105880000000000000000000000000000000000018
-:105890000000000000000000000000000000000008
-:1058A00000000000000000000000000000000000F8
-:1058B00000000000000000000000000000000000E8
-:1058C00000000000000000000000000000000000D8
-:1058D00000000000000000000000000000000000C8
-:1058E00000000000000000000000000000000000B8
-:1058F00000000000000000000000000000000000A8
-:105900000000000000000000000000000000000097
-:105910000000000000000000000000000000000087
-:105920000000000000000000000000000000000077
-:105930000000000000000000000000000000000067
-:105940000000000000000000000000000000000057
-:105950000000000001000000430000000000000003
-:1059600000000000000000000000000034040040BF
-:10597000340400403C0400403C0400404404004027
-:10598000440400404C0400404C04004054040040D7
-:10599000540400405C0400405C0400406404004087
-:1059A000640400406C0400406C0400407404004037
-:1059B000740400407C0400407C04004084040040E7
-:1059C000840400408C0400408C0400409404004097
-:1059D000940400409C0400409C040040A404004047
-:1059E000A4040040AC040040AC040040B4040040F7
-:1059F000B4040040BC040040BC040040C4040040A7
-:105A0000C4040040CC040040CC040040D404004056
-:105A1000D4040040DC040040DC040040E404004006
-:105A2000E4040040EC040040EC040040F4040040B6
-:105A3000F4040040FC040040FC0400400405004065
-:105A4000040500400C0500400C0500401405004012
-:105A5000140500401C0500401C05004024050040C2
-:105A6000240500402C0500402C0500403405004072
-:105A7000340500403C0500403C0500404405004022
-:105A8000440500404C0500404C05004054050040D2
-:105A9000540500405C0500405C0500406405004082
-:105AA000640500406C0500406C0500407405004032
-:105AB000740500407C0500407C05004084050040E2
-:105AC000840500408C0500408C0500409405004092
-:105AD000940500409C0500409C050040A405004042
-:105AE000A4050040AC050040AC050040B4050040F2
-:105AF000B4050040BC050040BC050040C4050040A2
-:105B0000C4050040CC050040CC050040D405004051
-:105B1000D4050040DC050040DC050040E405004001
-:105B2000E4050040EC050040EC050040F4050040B1
-:105B3000F4050040FC050040FC0500400406004060
-:105B4000040600400C0600400C060040140600400D
-:105B5000140600401C0600401C06004024060040BD
-:105B6000240600402C0600402C060040340600406D
-:105B7000340600403C0600403C060040440600401D
-:105B8000440600404C0600404C06004054060040CD
-:105B9000540600405C0600405C060040640600407D
-:105BA000640600406C0600406C060040740600402D
-:105BB000740600407C0600407C06004084060040DD
-:105BC000840600408C0600408C060040940600408D
-:105BD000940600409C0600409C060040A40600403D
-:105BE000A4060040AC060040AC060040B4060040ED
-:105BF000B4060040BC060040BC060040C40600409D
-:105C0000C4060040CC060040CC060040D40600404C
-:105C1000D4060040DC060040DC060040E4060040FC
-:105C2000E4060040EC060040EC060040F4060040AC
-:105C3000F4060040FC060040FC060040040700405B
-:105C4000040700400C0700400C0700401407004008
-:105C5000140700401C0700401C07004024070040B8
-:105C6000240700402C0700402C0700403407004068
-:105C7000340700403C0700403C0700404407004018
-:105C8000440700404C0700404C07004054070040C8
-:105C9000540700405C0700405C0700406407004078
-:105CA000640700406C0700406C0700407407004028
-:105CB000740700407C0700407C07004084070040D8
-:105CC000840700408C0700408C0700409407004088
-:105CD000940700409C0700409C070040A407004038
-:105CE000A4070040AC070040AC070040B4070040E8
-:105CF000B4070040BC070040BC070040C407004098
-:105D0000C4070040CC070040CC070040D407004047
-:105D1000D4070040DC070040DC070040E4070040F7
-:105D2000E4070040EC070040EC070040F4070040A7
-:105D3000F4070040FC070040FC0700400408004056
-:105D4000040800400C0800400C0800401408004003
-:105D5000140800401C0800401C08004024080040B3
-:105D6000240800402C0800402C08004000000200DD
-:045D7000FFFFFFFF33
-:00000001FF
diff --git a/ccny_asctec_firmware/main.lss b/ccny_asctec_firmware/main.lss
deleted file mode 100644
index ef4d927..0000000
--- a/ccny_asctec_firmware/main.lss
+++ /dev/null
@@ -1,28608 +0,0 @@
-
-main.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .text 00015530 00000000 00000000 00008000 2**2
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 1 .data 00000844 40000000 00015530 00020000 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 2 .bss 000016d4 40000844 40000844 00020844 2**2
- ALLOC
- 3 .stack 00001a00 40002000 40002000 00020850 2**4
- CONTENTS
- 4 .comment 000007b3 00000000 00000000 00022250 2**0
- CONTENTS, READONLY
- 5 .debug_aranges 000001e0 00000000 00000000 00022a08 2**3
- CONTENTS, READONLY, DEBUGGING
- 6 .debug_pubnames 0000003f 00000000 00000000 00022be8 2**0
- CONTENTS, READONLY, DEBUGGING
- 7 .debug_info 00000e61 00000000 00000000 00022c27 2**0
- CONTENTS, READONLY, DEBUGGING
- 8 .debug_abbrev 000002f3 00000000 00000000 00023a88 2**0
- CONTENTS, READONLY, DEBUGGING
- 9 .debug_line 00000b83 00000000 00000000 00023d7b 2**0
- CONTENTS, READONLY, DEBUGGING
- 10 .debug_frame 000000dc 00000000 00000000 00024900 2**2
- CONTENTS, READONLY, DEBUGGING
- 11 .debug_str 00000161 00000000 00000000 000249dc 2**0
- CONTENTS, READONLY, DEBUGGING
- 12 .debug_loc 00000cd9 00000000 00000000 00024b3d 2**0
- CONTENTS, READONLY, DEBUGGING
- 13 .debug_ranges 000001c0 00000000 00000000 00025816 2**0
- CONTENTS, READONLY, DEBUGGING
-Disassembly of section .text:
-
-00000000 <__Vectors>:
- 0: e59ff018 ldr pc, [pc, #24] ; 20
- 4: e59ff018 ldr pc, [pc, #24] ; 24
- 8: e59ff018 ldr pc, [pc, #24] ; 28
- c: e59ff018 ldr pc, [pc, #24] ; 2c
- 10: e59ff018 ldr pc, [pc, #24] ; 30
- 14: e1a00000 nop (mov r0,r0)
- 18: e59ff018 ldr pc, [pc, #24] ; 38
- 1c: e59ff018 ldr pc, [pc, #24] ; 3c
-
-00000020 :
- 20: 00000168 andeq r0, r0, r8, ror #2
-
-00000024 :
- 24: 00000040 andeq r0, r0, r0, asr #32
-
-00000028 :
- 28: 00000098 muleq r0, r8, r0
-
-0000002c :
- 2c: 00000044 andeq r0, r0, r4, asr #32
-
-00000030 :
- 30: 00000048 andeq r0, r0, r8, asr #32
- 34: 00000000 andeq r0, r0, r0
-
-00000038 :
- 38: 00000050 andeq r0, r0, r0, asr r0
-
-0000003c :
- 3c: 0000004c andeq r0, r0, ip, asr #32
-
-00000040 :
- 40: eafffffe b 40
-
-00000044 :
- 44: eafffffe b 44
-
-00000048 :
- 48: eafffffe b 48
-
-0000004c :
- 4c: eafffffe b 4c
-
-00000050 <__IRQ_Wrapper>:
- 50: e24ee004 sub lr, lr, #4 ; 0x4
- 54: e92d4000 stmdb sp!, {lr}
- 58: e14fe000 mrs lr, SPSR
- 5c: e92d4000 stmdb sp!, {lr}
- 60: e92d0001 stmdb sp!, {r0}
- 64: e59fe028 ldr lr, [pc, #40] ; 94 <.text+0x94>
- 68: e59e0030 ldr r0, [lr, #48]
- 6c: e321f093 msr CPSR_c, #147 ; 0x93
- 70: e92d5ffe stmdb sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
- 74: e1a0e00f mov lr, pc
- 78: e12fff10 bx r0
- 7c: e8bd5ffe ldmia sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
- 80: e321f092 msr CPSR_c, #146 ; 0x92
- 84: e8bd0001 ldmia sp!, {r0}
- 88: e8bd4000 ldmia sp!, {lr}
- 8c: e16ff00e msr SPSR_fsxc, lr
- 90: e8fd8000 ldmia sp!, {pc}^
- 94: fffff000 undefined instruction 0xfffff000
-
-00000098 :
- 98: e92d4010 stmdb sp!, {r4, lr}
- 9c: e14f4000 mrs r4, SPSR
- a0: e3140020 tst r4, #32 ; 0x20
- a4: 115e40b2 ldrneh r4, [lr, #-2]
- a8: 13c44cff bicne r4, r4, #65280 ; 0xff00
- ac: 051e4004 ldreq r4, [lr, #-4]
- b0: 03c444ff biceq r4, r4, #-16777216 ; 0xff000000
- b4: e3540006 cmp r4, #6 ; 0x6
- b8: 979ff104 ldrls pc, [pc, r4, lsl #2]
-
-000000bc :
- bc: eafffffe b bc
-
-000000c0 :
- c0: 000000dc ldreqd r0, [r0], -ip
- c4: 000000ec andeq r0, r0, ip, ror #1
- c8: 000000fc streqd r0, [r0], -ip
- cc: 00000110 andeq r0, r0, r0, lsl r1
- d0: 00000124 andeq r0, r0, r4, lsr #2
- d4: 0000012c andeq r0, r0, ip, lsr #2
- d8: 00000148 andeq r0, r0, r8, asr #2
-
-000000dc :
- dc: e14f0000 mrs r0, SPSR
- e0: e3804080 orr r4, r0, #128 ; 0x80
- e4: e161f004 msr SPSR_c, r4
- e8: ea00001d b 164
-
-000000ec :
- ec: e14f0000 mrs r0, SPSR
- f0: e3c04080 bic r4, r0, #128 ; 0x80
- f4: e161f004 msr SPSR_c, r4
- f8: ea000019 b 164
-
-000000fc :
- fc: e14f0000 mrs r0, SPSR
- 100: e3804040 orr r4, r0, #64 ; 0x40
- 104: e2000040 and r0, r0, #64 ; 0x40
- 108: e161f004 msr SPSR_c, r4
- 10c: ea000014 b 164
-
-00000110 :
- 110: e14f0000 mrs r0, SPSR
- 114: e3c04040 bic r4, r0, #64 ; 0x40
- 118: e2000040 and r0, r0, #64 ; 0x40
- 11c: e161f004 msr SPSR_c, r4
- 120: ea00000f b 164
-
-00000124 :
- 124: e14f0000 mrs r0, SPSR
- 128: ea00000d b 164
-
-0000012c :
- 12c: e14f4000 mrs r4, SPSR
- 130: e2000080 and r0, r0, #128 ; 0x80
- 134: e3100080 tst r0, #128 ; 0x80
- 138: 03c44080 biceq r4, r4, #128 ; 0x80
- 13c: 13844080 orrne r4, r4, #128 ; 0x80
- 140: e161f004 msr SPSR_c, r4
- 144: ea000006 b 164
-
-00000148 :
- 148: e14f4000 mrs r4, SPSR
- 14c: e2000040 and r0, r0, #64 ; 0x40
- 150: e3100040 tst r0, #64 ; 0x40
- 154: 03c44040 biceq r4, r4, #64 ; 0x40
- 158: 13844040 orrne r4, r4, #64 ; 0x40
- 15c: e161f004 msr SPSR_c, r4
- 160: eaffffff b 164
-
-00000164 :
- 164: e8fd8010 ldmia sp!, {r4, pc}^
-
-00000168 <__startup>:
- 168: e59f0128 ldr r0, [pc, #296] ; 298 <.text+0x298>
- 16c: e3a01000 mov r1, #0 ; 0x0
- 170: e5801000 str r1, [r0]
- 174: e59f0120 ldr r0, [pc, #288] ; 29c <.text+0x29c>
- 178: e3a010aa mov r1, #170 ; 0xaa
- 17c: e3a02055 mov r2, #85 ; 0x55
- 180: e3a03024 mov r3, #36 ; 0x24
- 184: e5803004 str r3, [r0, #4]
- 188: e3a03001 mov r3, #1 ; 0x1
- 18c: e5803000 str r3, [r0]
- 190: e580100c str r1, [r0, #12]
- 194: e580200c str r2, [r0, #12]
-
-00000198 :
- 198: e5903008 ldr r3, [r0, #8]
- 19c: e2133b01 ands r3, r3, #1024 ; 0x400
- 1a0: 0afffffc beq 198
- 1a4: e3a03003 mov r3, #3 ; 0x3
- 1a8: e5803000 str r3, [r0]
- 1ac: e580100c str r1, [r0, #12]
- 1b0: e580200c str r2, [r0, #12]
- 1b4: e59f00e4 ldr r0, [pc, #228] ; 2a0 <.text+0x2a0>
- 1b8: e3a01004 mov r1, #4 ; 0x4
- 1bc: e5801004 str r1, [r0, #4]
- 1c0: e3a01002 mov r1, #2 ; 0x2
- 1c4: e5801000 str r1, [r0]
- 1c8: e59f00d4 ldr r0, [pc, #212] ; 2a4 <.text+0x2a4>
- 1cc: e321f0db msr CPSR_c, #219 ; 0xdb
- 1d0: e1a0d000 mov sp, r0
- 1d4: e2400080 sub r0, r0, #128 ; 0x80
- 1d8: e321f0d7 msr CPSR_c, #215 ; 0xd7
- 1dc: e1a0d000 mov sp, r0
- 1e0: e2400080 sub r0, r0, #128 ; 0x80
- 1e4: e321f0d1 msr CPSR_c, #209 ; 0xd1
- 1e8: e1a0d000 mov sp, r0
- 1ec: e2400080 sub r0, r0, #128 ; 0x80
- 1f0: e321f0d2 msr CPSR_c, #210 ; 0xd2
- 1f4: e1a0d000 mov sp, r0
- 1f8: e2400080 sub r0, r0, #128 ; 0x80
- 1fc: e321f0d3 msr CPSR_c, #211 ; 0xd3
- 200: e1a0d000 mov sp, r0
- 204: e2400b02 sub r0, r0, #2048 ; 0x800
- 208: e321f010 msr CPSR_c, #16 ; 0x10
- 20c: e1a0d000 mov sp, r0
- 210: e59f1090 ldr r1, [pc, #144] ; 2a8 <.text+0x2a8>
- 214: e59f2090 ldr r2, [pc, #144] ; 2ac <.text+0x2ac>
- 218: e59f3090 ldr r3, [pc, #144] ; 2b0 <.text+0x2b0>
- 21c: e1520003 cmp r2, r3
- 220: 0a000003 beq 234
-
-00000224 :
- 224: e1520003 cmp r2, r3
- 228: 34910004 ldrcc r0, [r1], #4
- 22c: 34820004 strcc r0, [r2], #4
- 230: 3afffffb bcc 224
-
-00000234 :
- 234: e3a00000 mov r0, #0 ; 0x0
- 238: e59f1074 ldr r1, [pc, #116] ; 2b4 <.text+0x2b4>
- 23c: e59f2074 ldr r2, [pc, #116] ; 2b8 <.text+0x2b8>
- 240: e1510002 cmp r1, r2
- 244: 0a000002 beq 254
-
-00000248 :
- 248: e1510002 cmp r1, r2
- 24c: 34810004 strcc r0, [r1], #4
- 250: 3afffffc bcc 248
-
-00000254 :
- 254: e59f0060 ldr r0, [pc, #96] ; 2bc <.text+0x2bc>
- 258: e59f1060 ldr r1, [pc, #96] ; 2c0 <.text+0x2c0>
-
-0000025c :
- 25c: e1500001 cmp r0, r1
- 260: 0a000005 beq 27c
- 264: e4902004 ldr r2, [r0], #4
- 268: e92d0003 stmdb sp!, {r0, r1}
- 26c: e1a0e00f mov lr, pc
- 270: e1a0f002 mov pc, r2
- 274: e8bd0003 ldmia sp!, {r0, r1}
- 278: eafffff7 b 25c
-
-0000027c :
- 27c: e59f0040 ldr r0, [pc, #64] ; 2c4 <.text+0x2c4>
- 280: e3100001 tst r0, #1 ; 0x1
- 284: 059fe03c ldreq lr, [pc, #60] ; 2c8 <.text+0x2c8>
- 288: 159fe03c ldrne lr, [pc, #60] ; 2cc <.text+0x2cc>
- 28c: e12fff10 bx r0
-
-00000290 <__exit_ARM>:
- 290: eafffffe b 290 <__exit_ARM>
-
-00000294 <__exit_THUMB>:
- 294: e7fe b.n 294 <__exit_THUMB>
- 296: 0000 lsls r0, r0, #0
- 298: c100 stmia r1!, {}
- 29a: e01f b.n 2dc
- 29c: c080 stmia r0!, {r7}
- 29e: e01f b.n 2e0
- 2a0: c000 stmia r0!, {}
- 2a2: e01f b.n 2e4
- 2a4: 3a00 subs r2, #0
- 2a6: 4000 ands r0, r0
- 2a8: 5530 strb r0, [r6, r4]
- 2aa: 0001 lsls r1, r0, #0
- 2ac: 0000 lsls r0, r0, #0
- 2ae: 4000 ands r0, r0
- 2b0: 0844 lsrs r4, r0, #1
- 2b2: 4000 ands r0, r0
- 2b4: 0844 lsrs r4, r0, #1
- 2b6: 4000 ands r0, r0
- 2b8: 1f18 subs r0, r3, #4
- 2ba: 4000 ands r0, r0
- 2bc: 5530 strb r0, [r6, r4]
- 2be: 0001 lsls r1, r0, #0
- 2c0: 5530 strb r0, [r6, r4]
- 2c2: 0001 lsls r1, r0, #0
- 2c4: 6f18 ldr r0, [r3, #112]
- 2c6: 0000 lsls r0, r0, #0
- 2c8: 0290 lsls r0, r2, #10
- 2ca: 0000 lsls r0, r0, #0
- 2cc: 0294 lsls r4, r2, #10
- ...
-
-000002d0 :
- 2d0: ef000005 svc 0x00000005
- 2d4: e12fff1e bx lr
-
-000002d8 :
- 2d8: ef000006 svc 0x00000006
- 2dc: e12fff1e bx lr
-
-000002e0 :
- 2e0: ef000004 svc 0x00000004
- 2e4: e12fff1e bx lr
-
-000002e8 :
- 2e8: ef000001 svc 0x00000001
- 2ec: e12fff1e bx lr
-
-000002f0 :
- 2f0: ef000000 svc 0x00000000
- 2f4: e12fff1e bx lr
-
-000002f8 :
- 2f8: ef000003 svc 0x00000003
- 2fc: e12fff1e bx lr
-
-00000300 :
- 300: ef000002 svc 0x00000002
- 304: e12fff1e bx lr
-
-00000308 :
- 308: e92d4070 stmdb sp!, {r4, r5, r6, lr}
- 30c: e59f510c ldr r5, [pc, #268] ; 420 <.text+0x420>
- 310: e1d530b0 ldrh r3, [r5]
- 314: e3130008 tst r3, #8 ; 0x8
- 318: e2036003 and r6, r3, #3 ; 0x3
- 31c: 159f3100 ldrne r3, [pc, #256] ; 424 <.text+0x424>
- 320: 13a02000 movne r2, #0 ; 0x0
- 324: 15832000 strne r2, [r3]
- 328: e1d510b6 ldrh r1, [r5, #6]
- 32c: e1d530f2 ldrsh r3, [r5, #2]
- 330: e1d520f4 ldrsh r2, [r5, #4]
- 334: e59f40ec ldr r4, [pc, #236] ; 428 <.text+0x428>
- 338: e1d5e0fc ldrsh lr, [r5, #12]
- 33c: e0833103 add r3, r3, r3, lsl #2
- 340: e0822102 add r2, r2, r2, lsl #2
- 344: e0811101 add r1, r1, r1, lsl #2
- 348: e1d500f8 ldrsh r0, [r5, #8]
- 34c: e1d5c0fa ldrsh ip, [r5, #10]
- 350: e1a03083 mov r3, r3, lsl #1
- 354: e1a02082 mov r2, r2, lsl #1
- 358: e1a01081 mov r1, r1, lsl #1
- 35c: e3560000 cmp r6, #0 ; 0x0
- 360: e584e014 str lr, [r4, #20]
- 364: e5843000 str r3, [r4]
- 368: e5842004 str r2, [r4, #4]
- 36c: e5841008 str r1, [r4, #8]
- 370: e584000c str r0, [r4, #12]
- 374: e584c010 str ip, [r4, #16]
- 378: e1a0e004 mov lr, r4
- 37c: 1a000017 bne 3e0
- 380: e59f10a4 ldr r1, [pc, #164] ; 42c <.text+0x42c>
- 384: e1a02005 mov r2, r5
- 388: e2850008 add r0, r5, #8 ; 0x8
- 38c: e1a0c005 mov ip, r5
- 390: e5d2300e ldrb r3, [r2, #14]
- 394: e2822001 add r2, r2, #1 ; 0x1
- 398: e1a03203 mov r3, r3, lsl #4
- 39c: e1520000 cmp r2, r0
- 3a0: e0c130b2 strh r3, [r1], #2
- 3a4: 1afffff9 bne 390
- 3a8: e1dc32f4 ldrsh r3, [ip, #36]
- 3ac: e1dc22f0 ldrsh r2, [ip, #32]
- 3b0: e1dc12f2 ldrsh r1, [ip, #34]
- 3b4: e0822102 add r2, r2, r2, lsl #2
- 3b8: e0811101 add r1, r1, r1, lsl #2
- 3bc: e0833103 add r3, r3, r3, lsl #2
- 3c0: e1a02082 mov r2, r2, lsl #1
- 3c4: e1a01081 mov r1, r1, lsl #1
- 3c8: e1a03083 mov r3, r3, lsl #1
- 3cc: e1ce31bc strh r3, [lr, #28]
- 3d0: e1ce21b8 strh r2, [lr, #24]
- 3d4: e1ce11ba strh r1, [lr, #26]
- 3d8: e8bd4070 ldmia sp!, {r4, r5, r6, lr}
- 3dc: e12fff1e bx lr
- 3e0: e3560001 cmp r6, #1 ; 0x1
- 3e4: 0a000008 beq 40c
- 3e8: e3560002 cmp r6, #2 ; 0x2
- 3ec: 1afffff9 bne 3d8
- 3f0: e1d534f6 ldrsh r3, [r5, #70]
- 3f4: e1d524f2 ldrsh r2, [r5, #66]
- 3f8: e1d514f4 ldrsh r1, [r5, #68]
- 3fc: e5843038 str r3, [r4, #56]
- 400: e5842030 str r2, [r4, #48]
- 404: e5841034 str r1, [r4, #52]
- 408: eafffff2 b 3d8
- 40c: e1d534f0 ldrsh r3, [r5, #64]
- 410: e595203c ldr r2, [r5, #60]
- 414: e5843050 str r3, [r4, #80]
- 418: e584204c str r2, [r4, #76]
- 41c: eaffffed b 3d8
- 420: 40000b34 andmi r0, r0, r4, lsr fp
- 424: 40000854 andmi r0, r0, r4, asr r8
- 428: 4000130c andmi r1, r0, ip, lsl #6
- 42c: 40001098 mulmi r0, r8, r0
-
-00000430 :
- 430: e31000ff tst r0, #255 ; 0xff
- 434: e92d4030 stmdb sp!, {r4, r5, lr}
- 438: e59fc0f8 ldr ip, [pc, #248] ; 538 <.text+0x538>
- 43c: e59f50f8 ldr r5, [pc, #248] ; 53c <.text+0x53c>
- 440: e3e03c55 mvn r3, #21760 ; 0x5500
- 444: 159f00f4 ldrne r0, [pc, #244] ; 540 <.text+0x540>
- 448: e3a0102a mov r1, #42 ; 0x2a
- 44c: e2433055 sub r3, r3, #85 ; 0x55
- 450: e3a0203e mov r2, #62 ; 0x3e
- 454: e5c51001 strb r1, [r5, #1]
- 458: e5c52000 strb r2, [r5]
- 45c: e1cc30b0 strh r3, [ip]
- 460: 11a01005 movne r1, r5
- 464: 1280e014 addne lr, r0, #20 ; 0x14
- 468: 1a000019 bne 4d4
- 46c: e59f00cc ldr r0, [pc, #204] ; 540 <.text+0x540>
- 470: e1a01005 mov r1, r5
- 474: e280e026 add lr, r0, #38 ; 0x26
- 478: e4d02001 ldrb r2, [r0], #1
- 47c: e1dc30b0 ldrh r3, [ip]
- 480: e0833002 add r3, r3, r2
- 484: e1a03803 mov r3, r3, lsl #16
- 488: e1a03823 mov r3, r3, lsr #16
- 48c: e15e0000 cmp lr, r0
- 490: e5c12002 strb r2, [r1, #2]
- 494: e1cc30b0 strh r3, [ip]
- 498: e2811001 add r1, r1, #1 ; 0x1
- 49c: 1afffff5 bne 478
- 4a0: e1dc00b0 ldrh r0, [ip]
- 4a4: e1dc30b0 ldrh r3, [ip]
- 4a8: e1a03423 mov r3, r3, lsr #8
- 4ac: e5c53029 strb r3, [r5, #41]
- 4b0: e59f308c ldr r3, [pc, #140] ; 544 <.text+0x544>
- 4b4: e3a0202a mov r2, #42 ; 0x2a
- 4b8: e5832000 str r2, [r3]
- 4bc: e59f3084 ldr r3, [pc, #132] ; 548 <.text+0x548>
- 4c0: e3a01000 mov r1, #0 ; 0x0
- 4c4: e5c31000 strb r1, [r3]
- 4c8: e5c50028 strb r0, [r5, #40]
- 4cc: e8bd4030 ldmia sp!, {r4, r5, lr}
- 4d0: e12fff1e bx lr
- 4d4: e4d02001 ldrb r2, [r0], #1
- 4d8: e1dc30b0 ldrh r3, [ip]
- 4dc: e0833002 add r3, r3, r2
- 4e0: e1a03803 mov r3, r3, lsl #16
- 4e4: e1a03823 mov r3, r3, lsr #16
- 4e8: e150000e cmp r0, lr
- 4ec: e5c12002 strb r2, [r1, #2]
- 4f0: e1cc30b0 strh r3, [ip]
- 4f4: e2811001 add r1, r1, #1 ; 0x1
- 4f8: 1afffff5 bne 4d4
- 4fc: e59fe038 ldr lr, [pc, #56] ; 53c <.text+0x53c>
- 500: e2804025 add r4, r0, #37 ; 0x25
- 504: e2801013 add r1, r0, #19 ; 0x13
- 508: e5512001 ldrb r2, [r1, #-1]
- 50c: e1dc30b0 ldrh r3, [ip]
- 510: e0833002 add r3, r3, r2
- 514: e1a03803 mov r3, r3, lsl #16
- 518: e2811001 add r1, r1, #1 ; 0x1
- 51c: e1a03823 mov r3, r3, lsr #16
- 520: e1510004 cmp r1, r4
- 524: e5ce2016 strb r2, [lr, #22]
- 528: e1cc30b0 strh r3, [ip]
- 52c: e28ee001 add lr, lr, #1 ; 0x1
- 530: 1afffff4 bne 508
- 534: eaffffd9 b 4a0
- 538: 4000084e andmi r0, r0, lr, asr #16
- 53c: 40001e18 andmi r1, r0, r8, lsl lr
- 540: 40000cb8 strmih r0, [r0], -r8
- 544: 40001e10 andmi r1, r0, r0, lsl lr
- 548: 4000001b andmi r0, r0, fp, lsl r0
-
-0000054c :
- 54c: e92d40f0 stmdb sp!, {r4, r5, r6, r7, lr}
- 550: e59f31a8 ldr r3, [pc, #424] ; 700 <.text+0x700>
- 554: e5d30000 ldrb r0, [r3]
- 558: e3500000 cmp r0, #0 ; 0x0
- 55c: 0a000037 beq 640
- 560: e59f319c ldr r3, [pc, #412] ; 704 <.text+0x704>
- 564: e59f719c ldr r7, [pc, #412] ; 708 <.text+0x708>
- 568: e5932000 ldr r2, [r3]
- 56c: e5d76000 ldrb r6, [r7]
- 570: e59f5194 ldr r5, [pc, #404] ; 70c <.text+0x70c>
- 574: e3520000 cmp r2, #0 ; 0x0
- 578: e59f2190 ldr r2, [pc, #400] ; 710 <.text+0x710>
- 57c: 13863008 orrne r3, r6, #8 ; 0x8
- 580: e1c560b0 strh r6, [r5]
- 584: 11c530b0 strneh r3, [r5]
- 588: e5d23001 ldrb r3, [r2, #1]
- 58c: e3530000 cmp r3, #0 ; 0x0
- 590: 11d530b0 ldrneh r3, [r5]
- 594: 01d530b0 ldreqh r3, [r5]
- 598: 13833010 orrne r3, r3, #16 ; 0x10
- 59c: 03c33010 biceq r3, r3, #16 ; 0x10
- 5a0: 11c530b0 strneh r3, [r5]
- 5a4: 01c530b0 streqh r3, [r5]
- 5a8: e5d23000 ldrb r3, [r2]
- 5ac: e3530001 cmp r3, #1 ; 0x1
- 5b0: 0a00003a beq 6a0
- 5b4: e1d530b0 ldrh r3, [r5]
- 5b8: e59f2154 ldr r2, [pc, #340] ; 714 <.text+0x714>
- 5bc: e3c33020 bic r3, r3, #32 ; 0x20
- 5c0: e1c530b0 strh r3, [r5]
- 5c4: e1d230b6 ldrh r3, [r2, #6]
- 5c8: e1d2e0b8 ldrh lr, [r2, #8]
- 5cc: e1d210b0 ldrh r1, [r2]
- 5d0: e1c530ba strh r3, [r5, #10]
- 5d4: e1d230b2 ldrh r3, [r2, #2]
- 5d8: e1d220b4 ldrh r2, [r2, #4]
- 5dc: e1c5e0b2 strh lr, [r5, #2]
- 5e0: e1c510b4 strh r1, [r5, #4]
- 5e4: e1c530b6 strh r3, [r5, #6]
- 5e8: e1c520b8 strh r2, [r5, #8]
- 5ec: e3560000 cmp r6, #0 ; 0x0
- 5f0: 1a000014 bne 648
- 5f4: e59f311c ldr r3, [pc, #284] ; 718 <.text+0x718>
- 5f8: e5932000 ldr r2, [r3]
- 5fc: e9931002 ldmib r3, {r1, ip}
- 600: e1d3e2b8 ldrh lr, [r3, #40]
- 604: e5852014 str r2, [r5, #20]
- 608: e5851018 str r1, [r5, #24]
- 60c: e1d321b0 ldrh r2, [r3, #16]
- 610: e1d310bc ldrh r1, [r3, #12]
- 614: e1d331b4 ldrh r3, [r3, #20]
- 618: e1a00006 mov r0, r6
- 61c: e1c532be strh r3, [r5, #46]
- 620: e1c5e2b4 strh lr, [r5, #36]
- 624: e585c01c str ip, [r5, #28]
- 628: e1c512b0 strh r1, [r5, #32]
- 62c: e1c522b2 strh r2, [r5, #34]
- 630: ebffff7e bl 430
- 634: e3a03001 mov r3, #1 ; 0x1
- 638: e5c73000 strb r3, [r7]
- 63c: e1a00003 mov r0, r3
- 640: e8bd40f0 ldmia sp!, {r4, r5, r6, r7, lr}
- 644: e12fff1e bx lr
- 648: e59f30c8 ldr r3, [pc, #200] ; 718 <.text+0x718>
- 64c: e59f20c8 ldr r2, [pc, #200] ; 71c <.text+0x71c>
- 650: e1d3e2b4 ldrh lr, [r3, #36]
- 654: e1d210b2 ldrh r1, [r2, #2]
- 658: e1c5e2bc strh lr, [r5, #44]
- 65c: e1c513b2 strh r1, [r5, #50]
- 660: e1d3e1b8 ldrh lr, [r3, #24]
- 664: e1d311bc ldrh r1, [r3, #28]
- 668: e1d220b0 ldrh r2, [r2]
- 66c: e1d332b0 ldrh r3, [r3, #32]
- 670: e3a04000 mov r4, #0 ; 0x0
- 674: e1a00006 mov r0, r6
- 678: e1c543b6 strh r4, [r5, #54]
- 67c: e1c5e2b6 strh lr, [r5, #38]
- 680: e1c512b8 strh r1, [r5, #40]
- 684: e1c532ba strh r3, [r5, #42]
- 688: e1c523b0 strh r2, [r5, #48]
- 68c: e1c543b4 strh r4, [r5, #52]
- 690: ebffff66 bl 430
- 694: e3a00001 mov r0, #1 ; 0x1
- 698: e5c74000 strb r4, [r7]
- 69c: eaffffe7 b 640
- 6a0: e1d520b0 ldrh r2, [r5]
- 6a4: e59f3074 ldr r3, [pc, #116] ; 720 <.text+0x720>
- 6a8: e59f1064 ldr r1, [pc, #100] ; 714 <.text+0x714>
- 6ac: e3822020 orr r2, r2, #32 ; 0x20
- 6b0: e5d3e002 ldrb lr, [r3, #2]
- 6b4: e1c520b0 strh r2, [r5]
- 6b8: e1d120b6 ldrh r2, [r1, #6]
- 6bc: e5d34003 ldrb r4, [r3, #3]
- 6c0: e5d30000 ldrb r0, [r3]
- 6c4: e5d3c001 ldrb ip, [r3, #1]
- 6c8: e1c520ba strh r2, [r5, #10]
- 6cc: e1d130b8 ldrh r3, [r1, #8]
- 6d0: e1d120b2 ldrh r2, [r1, #2]
- 6d4: e5c5e00e strb lr, [r5, #14]
- 6d8: e1d1e0b0 ldrh lr, [r1]
- 6dc: e1d110b4 ldrh r1, [r1, #4]
- 6e0: e5c5000c strb r0, [r5, #12]
- 6e4: e5c5c00d strb ip, [r5, #13]
- 6e8: e5c5400f strb r4, [r5, #15]
- 6ec: e1c530b2 strh r3, [r5, #2]
- 6f0: e1c5e0b4 strh lr, [r5, #4]
- 6f4: e1c520b6 strh r2, [r5, #6]
- 6f8: e1c510b8 strh r1, [r5, #8]
- 6fc: eaffffba b 5ec
- 700: 4000001b andmi r0, r0, fp, lsl r0
- 704: 40000854 andmi r0, r0, r4, asr r8
- 708: 40000850 andmi r0, r0, r0, asr r8
- 70c: 40000cb8 strmih r0, [r0], -r8
- 710: 40001034 andmi r1, r0, r4, lsr r0
- 714: 40000ef0 strmid r0, [r0], -r0
- 718: 40000e94 mulmi r0, r4, lr
- 71c: 400013a0 andmi r1, r0, r0, lsr #7
- 720: 40000fb8 strmih r0, [r0], -r8
-
-00000724 :
- 724: e92d40f0 stmdb sp!, {r4, r5, r6, r7, lr}
- 728: e59f2264 ldr r2, [pc, #612] ; 994 <.text+0x994>
- 72c: e5d23000 ldrb r3, [r2]
- 730: e20330ff and r3, r3, #255 ; 0xff
- 734: e3530000 cmp r3, #0 ; 0x0
- 738: e20000ff and r0, r0, #255 ; 0xff
- 73c: e1a04002 mov r4, r2
- 740: 1a000004 bne 758
- 744: e350003e cmp r0, #62 ; 0x3e
- 748: 0a000011 beq 794
- 74c: e5c23000 strb r3, [r2]
- 750: e8bd40f0 ldmia sp!, {r4, r5, r6, r7, lr}
- 754: e12fff1e bx lr
- 758: e5d23000 ldrb r3, [r2]
- 75c: e3530001 cmp r3, #1 ; 0x1
- 760: 0a000010 beq 7a8
- 764: e5d23000 ldrb r3, [r2]
- 768: e3530002 cmp r3, #2 ; 0x2
- 76c: 0a00001c beq 7e4
- 770: e5d23000 ldrb r3, [r2]
- 774: e3530003 cmp r3, #3 ; 0x3
- 778: 13a03000 movne r3, #0 ; 0x0
- 77c: 1afffff2 bne 74c
- 780: e350003c cmp r0, #60 ; 0x3c
- 784: 0a000039 beq 870
- 788: e3a03000 mov r3, #0 ; 0x0
- 78c: e5c43000 strb r3, [r4]
- 790: eaffffee b 750
- 794: e5d23000 ldrb r3, [r2]
- 798: e2833001 add r3, r3, #1 ; 0x1
- 79c: e20330ff and r3, r3, #255 ; 0xff
- 7a0: e5c23000 strb r3, [r2]
- 7a4: eaffffe9 b 750
- 7a8: e350002a cmp r0, #42 ; 0x2a
- 7ac: 13a03000 movne r3, #0 ; 0x0
- 7b0: 15c23000 strneb r3, [r2]
- 7b4: 1affffe5 bne 750
- 7b8: e5d23000 ldrb r3, [r2]
- 7bc: e2833001 add r3, r3, #1 ; 0x1
- 7c0: e20330ff and r3, r3, #255 ; 0xff
- 7c4: e5c23000 strb r3, [r2]
- 7c8: e59f31c8 ldr r3, [pc, #456] ; 998 <.text+0x998>
- 7cc: e59f21c8 ldr r2, [pc, #456] ; 99c <.text+0x99c>
- 7d0: e5832000 str r2, [r3]
- 7d4: e59f31c4 ldr r3, [pc, #452] ; 9a0 <.text+0x9a0>
- 7d8: e3a01028 mov r1, #40 ; 0x28
- 7dc: e5c31000 strb r1, [r3]
- 7e0: eaffffda b 750
- 7e4: e59fc1b4 ldr ip, [pc, #436] ; 9a0 <.text+0x9a0>
- 7e8: e5dc3000 ldrb r3, [ip]
- 7ec: e353001a cmp r3, #26 ; 0x1a
- 7f0: 0a00000e beq 830
- 7f4: e59f119c ldr r1, [pc, #412] ; 998 <.text+0x998>
- 7f8: e5dc3000 ldrb r3, [ip]
- 7fc: e5912000 ldr r2, [r1]
- 800: e2433001 sub r3, r3, #1 ; 0x1
- 804: e20330ff and r3, r3, #255 ; 0xff
- 808: e5cc3000 strb r3, [ip]
- 80c: e4c20001 strb r0, [r2], #1
- 810: e5dc3000 ldrb r3, [ip]
- 814: e3530000 cmp r3, #0 ; 0x0
- 818: e5812000 str r2, [r1]
- 81c: 05d43000 ldreqb r3, [r4]
- 820: 02833001 addeq r3, r3, #1 ; 0x1
- 824: 020330ff andeq r3, r3, #255 ; 0xff
- 828: 05c43000 streqb r3, [r4]
- 82c: eaffffc7 b 750
- 830: e59f3164 ldr r3, [pc, #356] ; 99c <.text+0x99c>
- 834: e1d320b0 ldrh r2, [r3]
- 838: e59f1164 ldr r1, [pc, #356] ; 9a4 <.text+0x9a4>
- 83c: e2022003 and r2, r2, #3 ; 0x3
- 840: e5c12000 strb r2, [r1]
- 844: e5d13000 ldrb r3, [r1]
- 848: e3530001 cmp r3, #1 ; 0x1
- 84c: 0a000046 beq 96c
- 850: e5d13000 ldrb r3, [r1]
- 854: e3530002 cmp r3, #2 ; 0x2
- 858: 1affffe5 bne 7f4
- 85c: e59f1134 ldr r1, [pc, #308] ; 998 <.text+0x998>
- 860: e5913000 ldr r3, [r1]
- 864: e2833034 add r3, r3, #52 ; 0x34
- 868: e5813000 str r3, [r1]
- 86c: eaffffe1 b 7f8
- 870: e59f6124 ldr r6, [pc, #292] ; 99c <.text+0x99c>
- 874: e1d630b0 ldrh r3, [r6]
- 878: e3130008 tst r3, #8 ; 0x8
- 87c: e2037003 and r7, r3, #3 ; 0x3
- 880: 159f3120 ldrne r3, [pc, #288] ; 9a8 <.text+0x9a8>
- 884: 13a02000 movne r2, #0 ; 0x0
- 888: 15832000 strne r2, [r3]
- 88c: e1d610b6 ldrh r1, [r6, #6]
- 890: e1d630f2 ldrsh r3, [r6, #2]
- 894: e1d620f4 ldrsh r2, [r6, #4]
- 898: e59f510c ldr r5, [pc, #268] ; 9ac <.text+0x9ac>
- 89c: e1d6e0fc ldrsh lr, [r6, #12]
- 8a0: e0833103 add r3, r3, r3, lsl #2
- 8a4: e0822102 add r2, r2, r2, lsl #2
- 8a8: e0811101 add r1, r1, r1, lsl #2
- 8ac: e1d600f8 ldrsh r0, [r6, #8]
- 8b0: e1d6c0fa ldrsh ip, [r6, #10]
- 8b4: e1a03083 mov r3, r3, lsl #1
- 8b8: e1a02082 mov r2, r2, lsl #1
- 8bc: e1a01081 mov r1, r1, lsl #1
- 8c0: e3570000 cmp r7, #0 ; 0x0
- 8c4: e585e014 str lr, [r5, #20]
- 8c8: e5853000 str r3, [r5]
- 8cc: e5852004 str r2, [r5, #4]
- 8d0: e5851008 str r1, [r5, #8]
- 8d4: e585000c str r0, [r5, #12]
- 8d8: e585c010 str ip, [r5, #16]
- 8dc: e1a0e005 mov lr, r5
- 8e0: 1a000016 bne 940
- 8e4: e59f10c4 ldr r1, [pc, #196] ; 9b0 <.text+0x9b0>
- 8e8: e1a02006 mov r2, r6
- 8ec: e2860008 add r0, r6, #8 ; 0x8
- 8f0: e1a0c006 mov ip, r6
- 8f4: e5d2300e ldrb r3, [r2, #14]
- 8f8: e2822001 add r2, r2, #1 ; 0x1
- 8fc: e1a03203 mov r3, r3, lsl #4
- 900: e1520000 cmp r2, r0
- 904: e0c130b2 strh r3, [r1], #2
- 908: 1afffff9 bne 8f4
- 90c: e1dc32f4 ldrsh r3, [ip, #36]
- 910: e1dc22f0 ldrsh r2, [ip, #32]
- 914: e1dc12f2 ldrsh r1, [ip, #34]
- 918: e0822102 add r2, r2, r2, lsl #2
- 91c: e0811101 add r1, r1, r1, lsl #2
- 920: e0833103 add r3, r3, r3, lsl #2
- 924: e1a02082 mov r2, r2, lsl #1
- 928: e1a01081 mov r1, r1, lsl #1
- 92c: e1a03083 mov r3, r3, lsl #1
- 930: e1ce31bc strh r3, [lr, #28]
- 934: e1ce21b8 strh r2, [lr, #24]
- 938: e1ce11ba strh r1, [lr, #26]
- 93c: eaffff91 b 788
- 940: e3570001 cmp r7, #1 ; 0x1
- 944: 0a00000d beq 980
- 948: e3570002 cmp r7, #2 ; 0x2
- 94c: 1affff8d bne 788
- 950: e1d634f6 ldrsh r3, [r6, #70]
- 954: e1d624f2 ldrsh r2, [r6, #66]
- 958: e1d614f4 ldrsh r1, [r6, #68]
- 95c: e5853038 str r3, [r5, #56]
- 960: e5852030 str r2, [r5, #48]
- 964: e5851034 str r1, [r5, #52]
- 968: eaffff86 b 788
- 96c: e59f1024 ldr r1, [pc, #36] ; 998 <.text+0x998>
- 970: e5913000 ldr r3, [r1]
- 974: e283301a add r3, r3, #26 ; 0x1a
- 978: e5813000 str r3, [r1]
- 97c: eaffff9d b 7f8
- 980: e1d634f0 ldrsh r3, [r6, #64]
- 984: e596203c ldr r2, [r6, #60]
- 988: e5853050 str r3, [r5, #80]
- 98c: e585204c str r2, [r5, #76]
- 990: eaffff7c b 788
- 994: 4000084d andmi r0, r0, sp, asr #16
- 998: 40000848 andmi r0, r0, r8, asr #16
- 99c: 40000b34 andmi r0, r0, r4, lsr fp
- 9a0: 4000084c andmi r0, r0, ip, asr #16
- 9a4: 40000846 andmi r0, r0, r6, asr #16
- 9a8: 40000854 andmi r0, r0, r4, asr r8
- 9ac: 4000130c andmi r1, r0, ip, lsl #6
- 9b0: 40001098 mulmi r0, r8, r0
-
-000009b4 :
- 9b4: e92d4010 stmdb sp!, {r4, lr}
- 9b8: e59fc028 ldr ip, [pc, #40] ; 9e8 <.text+0x9e8>
- 9bc: e1dde0b8 ldrh lr, [sp, #8]
- 9c0: e59d400c ldr r4, [sp, #12]
- 9c4: e1cce0b8 strh lr, [ip, #8]
- 9c8: e59fe01c ldr lr, [pc, #28] ; 9ec <.text+0x9ec>
- 9cc: e1cc00b0 strh r0, [ip]
- 9d0: e5ce4001 strb r4, [lr, #1]
- 9d4: e1cc10b2 strh r1, [ip, #2]
- 9d8: e1cc30b6 strh r3, [ip, #6]
- 9dc: e1cc20b4 strh r2, [ip, #4]
- 9e0: e8bd4010 ldmia sp!, {r4, lr}
- 9e4: e12fff1e bx lr
- 9e8: 40000ef0 strmid r0, [r0], -r0
- 9ec: 40001034 andmi r1, r0, r4, lsr r0
-
-000009f0 :
- 9f0: e59f3004 ldr r3, [pc, #4] ; 9fc <.text+0x9fc>
- 9f4: e1d300b8 ldrh r0, [r3, #8]
- 9f8: e12fff1e bx lr
- 9fc: 40001098 mulmi r0, r8, r0
-
-00000a00 :
- a00: e1a00800 mov r0, r0, lsl #16
- a04: e1a03801 mov r3, r1, lsl #16
- a08: e1b00820 movs r0, r0, lsr #16
- a0c: e92d4010 stmdb sp!, {r4, lr}
- a10: e1a01000 mov r1, r0
- a14: e1a04823 mov r4, r3, lsr #16
- a18: 0a000005 beq a34
- a1c: e59f3018 ldr r3, [pc, #24] ; a3c <.text+0xa3c>
- a20: e5930000 ldr r0, [r3]
- a24: eb005070 bl 14bec <____umodsi3_from_arm>
- a28: e1500004 cmp r0, r4
- a2c: 13a00000 movne r0, #0 ; 0x0
- a30: 03a00001 moveq r0, #1 ; 0x1
- a34: e8bd4010 ldmia sp!, {r4, lr}
- a38: e12fff1e bx lr
- a3c: 4000106c andmi r1, r0, ip, rrx
-
-00000a40 :
- a40: e52de004 str lr, [sp, #-4]!
- a44: e59f3064 ldr r3, [pc, #100] ; ab0 <.text+0xab0>
- a48: e59fe064 ldr lr, [pc, #100] ; ab4 <.text+0xab4>
- a4c: e1d325ba ldrh r2, [r3, #90]
- a50: e1de30f0 ldrsh r3, [lr]
- a54: e3530000 cmp r3, #0 ; 0x0
- a58: 13a01000 movne r1, #0 ; 0x0
- a5c: 02021001 andeq r1, r2, #1 ; 0x1
- a60: e3510000 cmp r1, #0 ; 0x0
- a64: e2020001 and r0, r2, #1 ; 0x1
- a68: 159f3048 ldrne r3, [pc, #72] ; ab8 <.text+0xab8>
- a6c: e2022001 and r2, r2, #1 ; 0x1
- a70: e2222001 eor r2, r2, #1 ; 0x1
- a74: 13a02003 movne r2, #3 ; 0x3
- a78: 15c32000 strneb r2, [r3]
- a7c: 1a000008 bne aa4
- a80: e3530000 cmp r3, #0 ; 0x0
- a84: 03a03000 moveq r3, #0 ; 0x0
- a88: 12023001 andne r3, r2, #1 ; 0x1
- a8c: e3530000 cmp r3, #0 ; 0x0
- a90: e59fc020 ldr ip, [pc, #32] ; ab8 <.text+0xab8>
- a94: 0a000002 beq aa4
- a98: e5dc3000 ldrb r3, [ip]
- a9c: e35300ff cmp r3, #255 ; 0xff
- aa0: 15cc1000 strneb r1, [ip]
- aa4: e1ce00b0 strh r0, [lr]
- aa8: e49de004 ldr lr, [sp], #4
- aac: e12fff1e bx lr
- ab0: 40000b34 andmi r0, r0, r4, lsr fp
- ab4: 40000fbc strmih r0, [r0], -ip
- ab8: 40001038 andmi r1, r0, r8, lsr r0
-
-00000abc :
- abc: e59fc060 ldr ip, [pc, #96] ; b24 <.text+0xb24>
- ac0: e5dc3000 ldrb r3, [ip]
- ac4: e2433001 sub r3, r3, #1 ; 0x1
- ac8: e3530001 cmp r3, #1 ; 0x1
- acc: e52d4004 str r4, [sp, #-4]!
- ad0: 9a000001 bls adc
- ad4: e8bd0010 ldmia sp!, {r4}
- ad8: e12fff1e bx lr
- adc: e59f3044 ldr r3, [pc, #68] ; b28 <.text+0xb28>
- ae0: e59f2044 ldr r2, [pc, #68] ; b2c <.text+0xb2c>
- ae4: e8930003 ldmia r3, {r0, r1}
- ae8: e8920018 ldmia r2, {r3, r4}
- aec: e0500003 subs r0, r0, r3
- af0: e0c11004 sbc r1, r1, r4
- af4: e3510000 cmp r1, #0 ; 0x0
- af8: da000002 ble b08
- afc: e3e03000 mvn r3, #0 ; 0x0
- b00: e5cc3000 strb r3, [ip]
- b04: eafffff2 b ad4
- b08: e3a0397a mov r3, #1998848 ; 0x1e8000
- b0c: e2833e47 add r3, r3, #1136 ; 0x470
- b10: e283300f add r3, r3, #15 ; 0xf
- b14: 1affffee bne ad4
- b18: e1500003 cmp r0, r3
- b1c: 9affffec bls ad4
- b20: eafffff5 b afc
- b24: 40001038 andmi r1, r0, r8, lsr r0
- b28: 40000858 andmi r0, r0, r8, asr r8
- b2c: 40001064 andmi r1, r0, r4, rrx
-
-00000b30 :
- b30: e92d4070 stmdb sp!, {r4, r5, r6, lr}
- b34: e59f5074 ldr r5, [pc, #116] ; bb0 <.text+0xbb0>
- b38: e5d53000 ldrb r3, [r5]
- b3c: e3530004 cmp r3, #4 ; 0x4
- b40: e59f606c ldr r6, [pc, #108] ; bb4 <.text+0xbb4>
- b44: e3a01000 mov r1, #0 ; 0x0
- b48: 0a000001 beq b54
- b4c: e8bd4070 ldmia sp!, {r4, r5, r6, lr}
- b50: e12fff1e bx lr
- b54: e596400c ldr r4, [r6, #12]
- b58: e1a00004 mov r0, r4
- b5c: eb004eae bl 1461c <__gesf2>
- b60: e3500000 cmp r0, #0 ; 0x0
- b64: d3a03003 movle r3, #3 ; 0x3
- b68: e1a00004 mov r0, r4
- b6c: d5c53000 strleb r3, [r5]
- b70: dafffff5 ble b4c
- b74: eb004b59 bl 138e0 <__aeabi_f2d>
- b78: e28f2028 add r2, pc, #40 ; 0x28
- b7c: e892000c ldmia r2, {r2, r3}
- b80: eb004a7c bl 13578 <__aeabi_dsub>
- b84: eb004d13 bl 13fd8 <__aeabi_d2f>
- b88: e3a01000 mov r1, #0 ; 0x0
- b8c: e1a03000 mov r3, r0
- b90: e586300c str r3, [r6, #12]
- b94: eb004ea2 bl 14624 <__lesf2>
- b98: e3500000 cmp r0, #0 ; 0x0
- b9c: b3a03000 movlt r3, #0 ; 0x0
- ba0: b586300c strlt r3, [r6, #12]
- ba4: eaffffe8 b b4c
- ba8: 3f847ae1 svccc 0x00847ae1
- bac: 47ae147b undefined
- bb0: 40001038 andmi r1, r0, r8, lsr r0
- bb4: 40001170 andmi r1, r0, r0, ror r1
-
-00000bb8 :
- bb8: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bbc: e59f324c ldr r3, [pc, #588] ; e10 <.text+0xe10>
- bc0: e5d32000 ldrb r2, [r3]
- bc4: e35200ff cmp r2, #255 ; 0xff
- bc8: e24dd018 sub sp, sp, #24 ; 0x18
- bcc: 0a000066 beq d6c
- bd0: e2423001 sub r3, r2, #1 ; 0x1
- bd4: e3530001 cmp r3, #1 ; 0x1
- bd8: 9a00006d bls d94
- bdc: e3520000 cmp r2, #0 ; 0x0
- be0: 13520003 cmpne r2, #3 ; 0x3
- be4: 13a04000 movne r4, #0 ; 0x0
- be8: 03a04001 moveq r4, #1 ; 0x1
- bec: 0a000051 beq d38
- bf0: e3520004 cmp r2, #4 ; 0x4
- bf4: 0a000077 beq dd8
- bf8: e3520005 cmp r2, #5 ; 0x5
- bfc: 1a000057 bne d60
- c00: e59f420c ldr r4, [pc, #524] ; e14 <.text+0xe14>
- c04: e5940000 ldr r0, [r4]
- c08: e5941004 ldr r1, [r4, #4]
- c0c: e594c008 ldr ip, [r4, #8]
- c10: e1a0ec20 mov lr, r0, lsr #24
- c14: e58de014 str lr, [sp, #20]
- c18: e1a0ec21 mov lr, r1, lsr #24
- c1c: e594500c ldr r5, [r4, #12]
- c20: e58de010 str lr, [sp, #16]
- c24: e1a0ec2c mov lr, ip, lsr #24
- c28: e58de00c str lr, [sp, #12]
- c2c: e1a0e420 mov lr, r0, lsr #8
- c30: e59f31e0 ldr r3, [pc, #480] ; e18 <.text+0xe18>
- c34: e58de000 str lr, [sp]
- c38: e1a0e425 mov lr, r5, lsr #8
- c3c: e58de008 str lr, [sp, #8]
- c40: e1a07c25 mov r7, r5, lsr #24
- c44: e1a0e825 mov lr, r5, lsr #16
- c48: e58de004 str lr, [sp, #4]
- c4c: e5c37017 strb r7, [r3, #23]
- c50: e59de000 ldr lr, [sp]
- c54: e1a06820 mov r6, r0, lsr #16
- c58: e5c3e009 strb lr, [r3, #9]
- c5c: e5c3600a strb r6, [r3, #10]
- c60: e59de014 ldr lr, [sp, #20]
- c64: e1a08421 mov r8, r1, lsr #8
- c68: e1a0a821 mov sl, r1, lsr #16
- c6c: e5c3e00b strb lr, [r3, #11]
- c70: e5c3800d strb r8, [r3, #13]
- c74: e5c3a00e strb sl, [r3, #14]
- c78: e59de010 ldr lr, [sp, #16]
- c7c: e1a0942c mov r9, ip, lsr #8
- c80: e1a0b82c mov fp, ip, lsr #16
- c84: e5c3e00f strb lr, [r3, #15]
- c88: e5c39011 strb r9, [r3, #17]
- c8c: e5c3b012 strb fp, [r3, #18]
- c90: e59de00c ldr lr, [sp, #12]
- c94: e5c3e013 strb lr, [r3, #19]
- c98: e59de008 ldr lr, [sp, #8]
- c9c: e5c3e015 strb lr, [r3, #21]
- ca0: e59de004 ldr lr, [sp, #4]
- ca4: e5c3100c strb r1, [r3, #12]
- ca8: e5c3e016 strb lr, [r3, #22]
- cac: e5c3c010 strb ip, [r3, #16]
- cb0: e5c35014 strb r5, [r3, #20]
- cb4: e5c30008 strb r0, [r3, #8]
- cb8: eb000a8f bl 36fc
- cbc: e59f5158 ldr r5, [pc, #344] ; e1c <.text+0xe1c>
- cc0: e1c500b2 strh r0, [r5, #2]
- cc4: e5940004 ldr r0, [r4, #4]
- cc8: eb000a98 bl 3730
- ccc: e1c500b0 strh r0, [r5]
- cd0: e5940008 ldr r0, [r4, #8]
- cd4: eb000aa1 bl 3760
- cd8: e1c500b4 strh r0, [r5, #4]
- cdc: e594000c ldr r0, [r4, #12]
- ce0: eb000aaa bl 3790
- ce4: e59fc134 ldr ip, [pc, #308] ; e20 <.text+0xe20>
- ce8: e5dc3000 ldrb r3, [ip]
- cec: e5dc2001 ldrb r2, [ip, #1]
- cf0: e3530000 cmp r3, #0 ; 0x0
- cf4: 13a01002 movne r1, #2 ; 0x2
- cf8: 03a01000 moveq r1, #0 ; 0x0
- cfc: e3520000 cmp r2, #0 ; 0x0
- d00: e1a0e00c mov lr, ip
- d04: e1c500b6 strh r0, [r5, #6]
- d08: 1a00002e bne dc8
- d0c: e5de3002 ldrb r3, [lr, #2]
- d10: e3530000 cmp r3, #0 ; 0x0
- d14: e5dc3003 ldrb r3, [ip, #3]
- d18: 13811004 orrne r1, r1, #4 ; 0x4
- d1c: e3530000 cmp r3, #0 ; 0x0
- d20: e59f30fc ldr r3, [pc, #252] ; e24 <.text+0xe24>
- d24: 13811008 orrne r1, r1, #8 ; 0x8
- d28: e3a02001 mov r2, #1 ; 0x1
- d2c: e1c510b8 strh r1, [r5, #8]
- d30: e5c32001 strb r2, [r3, #1]
- d34: ea000009 b d60
- d38: e59f30dc ldr r3, [pc, #220] ; e1c <.text+0xe1c>
- d3c: e59f20e0 ldr r2, [pc, #224] ; e24 <.text+0xe24>
- d40: e3a0e000 mov lr, #0 ; 0x0
- d44: e3a01001 mov r1, #1 ; 0x1
- d48: e5c21001 strb r1, [r2, #1]
- d4c: e1c310b8 strh r1, [r3, #8]
- d50: e1c3e0b0 strh lr, [r3]
- d54: e1c3e0b2 strh lr, [r3, #2]
- d58: e1c3e0b6 strh lr, [r3, #6]
- d5c: e1c3e0b4 strh lr, [r3, #4]
- d60: e28dd018 add sp, sp, #24 ; 0x18
- d64: e8bd4ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- d68: e12fff1e bx lr
- d6c: e59f30a8 ldr r3, [pc, #168] ; e1c <.text+0xe1c>
- d70: e59f10ac ldr r1, [pc, #172] ; e24 <.text+0xe24>
- d74: e3a02000 mov r2, #0 ; 0x0
- d78: e5c12001 strb r2, [r1, #1]
- d7c: e1c320b8 strh r2, [r3, #8]
- d80: e1c320b0 strh r2, [r3]
- d84: e1c320b2 strh r2, [r3, #2]
- d88: e1c320b6 strh r2, [r3, #6]
- d8c: e1c320b4 strh r2, [r3, #4]
- d90: eafffff2 b d60
- d94: e59f1080 ldr r1, [pc, #128] ; e1c <.text+0xe1c>
- d98: e59f3084 ldr r3, [pc, #132] ; e24 <.text+0xe24>
- d9c: e3e02b3e mvn r2, #63488 ; 0xf800
- da0: e3a00001 mov r0, #1 ; 0x1
- da4: e5c30001 strb r0, [r3, #1]
- da8: e1c120b4 strh r2, [r1, #4]
- dac: e3a03000 mov r3, #0 ; 0x0
- db0: e3a0200c mov r2, #12 ; 0xc
- db4: e1c120b8 strh r2, [r1, #8]
- db8: e1c130b0 strh r3, [r1]
- dbc: e1c130b2 strh r3, [r1, #2]
- dc0: e1c130b6 strh r3, [r1, #6]
- dc4: eaffffe5 b d60
- dc8: e3510000 cmp r1, #0 ; 0x0
- dcc: 13a01003 movne r1, #3 ; 0x3
- dd0: 03a01001 moveq r1, #1 ; 0x1
- dd4: eaffffcc b d0c
- dd8: e59f3034 ldr r3, [pc, #52] ; e14 <.text+0xe14>
- ddc: e593000c ldr r0, [r3, #12]
- de0: eb000a6a bl 3790
- de4: e59f3038 ldr r3, [pc, #56] ; e24 <.text+0xe24>
- de8: e59f202c ldr r2, [pc, #44] ; e1c <.text+0xe1c>
- dec: e3a01001 mov r1, #1 ; 0x1
- df0: e5c31001 strb r1, [r3, #1]
- df4: e3a03008 mov r3, #8 ; 0x8
- df8: e1c200b6 strh r0, [r2, #6]
- dfc: e1c240b4 strh r4, [r2, #4]
- e00: e1c230b8 strh r3, [r2, #8]
- e04: e1c240b0 strh r4, [r2]
- e08: e1c240b2 strh r4, [r2, #2]
- e0c: eaffffd3 b d60
- e10: 40001038 andmi r1, r0, r8, lsr r0
- e14: 40001170 andmi r1, r0, r0, ror r1
- e18: 40000efc strmid r0, [r0], -ip
- e1c: 40000ef0 strmid r0, [r0], -r0
- e20: 4000103a andmi r1, r0, sl, lsr r0
- e24: 40001034 andmi r1, r0, r4, lsr r0
-
-00000e28 :
- e28: e92d4010 stmdb sp!, {r4, lr}
- e2c: e59f40d4 ldr r4, [pc, #212] ; f08 <.text+0xf08>
- e30: e5943000 ldr r3, [r4]
- e34: e5d32008 ldrb r2, [r3, #8]
- e38: e3520000 cmp r2, #0 ; 0x0
- e3c: 0a000006 beq e5c
- e40: e59f30c4 ldr r3, [pc, #196] ; f0c <.text+0xf0c>
- e44: e1d320b8 ldrh r2, [r3, #8]
- e48: e3520000 cmp r2, #0 ; 0x0
- e4c: 1a000004 bne e64
- e50: e5942000 ldr r2, [r4]
- e54: e3a03000 mov r3, #0 ; 0x0
- e58: e5c23008 strb r3, [r2, #8]
- e5c: e8bd4010 ldmia sp!, {r4, lr}
- e60: e12fff1e bx lr
- e64: e59f30a4 ldr r3, [pc, #164] ; f10 <.text+0xf10>
- e68: e5d33000 ldrb r3, [r3]
- e6c: e3530003 cmp r3, #3 ; 0x3
- e70: 0a00000e beq eb0
- e74: e3530000 cmp r3, #0 ; 0x0
- e78: 059f3094 ldreq r3, [pc, #148] ; f14 <.text+0xf14>
- e7c: 03e02000 mvneq r2, #0 ; 0x0
- e80: 05c32000 streqb r2, [r3]
- e84: 0afffff1 beq e50
- e88: e3530004 cmp r3, #4 ; 0x4
- e8c: 0a000015 beq ee8
- e90: e3530005 cmp r3, #5 ; 0x5
- e94: 1affffed bne e50
- e98: e59f2074 ldr r2, [pc, #116] ; f14 <.text+0xf14>
- e9c: e5d23000 ldrb r3, [r2]
- ea0: e3530005 cmp r3, #5 ; 0x5
- ea4: 02433001 subeq r3, r3, #1 ; 0x1
- ea8: 05c23000 streqb r3, [r2]
- eac: eaffffe7 b e50
- eb0: e59f205c ldr r2, [pc, #92] ; f14 <.text+0xf14>
- eb4: e5d23000 ldrb r3, [r2]
- eb8: e3530000 cmp r3, #0 ; 0x0
- ebc: 02833001 addeq r3, r3, #1 ; 0x1
- ec0: 0a000002 beq ed0
- ec4: e3530003 cmp r3, #3 ; 0x3
- ec8: 1affffe0 bne e50
- ecc: e2433001 sub r3, r3, #1 ; 0x1
- ed0: e5c23000 strb r3, [r2]
- ed4: e59f203c ldr r2, [pc, #60] ; f18 <.text+0xf18>
- ed8: e59f303c ldr r3, [pc, #60] ; f1c <.text+0xf1c>
- edc: e8920003 ldmia r2, {r0, r1}
- ee0: e8830003 stmia r3, {r0, r1}
- ee4: eaffffd9 b e50
- ee8: e59f2024 ldr r2, [pc, #36] ; f14 <.text+0xf14>
- eec: e5d23000 ldrb r3, [r2]
- ef0: e3530003 cmp r3, #3 ; 0x3
- ef4: 1affffd5 bne e50
- ef8: e2833002 add r3, r3, #2 ; 0x2
- efc: e5c23000 strb r3, [r2]
- f00: eb000ad2 bl 3a50
- f04: eaffffd1 b e50
- f08: 400010ac andmi r1, r0, ip, lsr #1
- f0c: 40001098 mulmi r0, r8, r0
- f10: 400011b8 strmih r1, [r0], -r8
- f14: 40001038 andmi r1, r0, r8, lsr r0
- f18: 40000858 andmi r0, r0, r8, asr r8
- f1c: 40001064 andmi r1, r0, r4, rrx
-
-00000f20 :
- f20: e92d4070 stmdb sp!, {r4, r5, r6, lr}
- f24: e59f3138 ldr r3, [pc, #312] ; 1064 <.text+0x1064>
- f28: e5d32000 ldrb r2, [r3]
- f2c: e35200ff cmp r2, #255 ; 0xff
- f30: 0a00002b beq fe4
- f34: e59f312c ldr r3, [pc, #300] ; 1068 <.text+0x1068>
- f38: e1d340b8 ldrh r4, [r3, #8]
- f3c: e3540000 cmp r4, #0 ; 0x0
- f40: 1a000011 bne f8c
- f44: e59f6120 ldr r6, [pc, #288] ; 106c <.text+0x106c>
- f48: e59f5120 ldr r5, [pc, #288] ; 1070 <.text+0x1070>
- f4c: e5961000 ldr r1, [r6]
- f50: e0832195 umull r2, r3, r5, r1
- f54: e1a03323 mov r3, r3, lsr #6
- f58: e0632283 rsb r2, r3, r3, lsl #5
- f5c: e0833102 add r3, r3, r2, lsl #2
- f60: e1510183 cmp r1, r3, lsl #3
- f64: 0a000033 beq 1038
- f68: e0832195 umull r2, r3, r5, r1
- f6c: e1a03323 mov r3, r3, lsr #6
- f70: e0632283 rsb r2, r3, r3, lsl #5
- f74: e0833102 add r3, r3, r2, lsl #2
- f78: e0413183 sub r3, r1, r3, lsl #3
- f7c: e3530032 cmp r3, #50 ; 0x32
- f80: 0a000030 beq 1048
- f84: e8bd4070 ldmia sp!, {r4, r5, r6, lr}
- f88: e12fff1e bx lr
- f8c: e59f50d8 ldr r5, [pc, #216] ; 106c <.text+0x106c>
- f90: e59f40d8 ldr r4, [pc, #216] ; 1070 <.text+0x1070>
- f94: e5951000 ldr r1, [r5]
- f98: e0823194 umull r3, r2, r4, r1
- f9c: e1a02322 mov r2, r2, lsr #6
- fa0: e0623282 rsb r3, r2, r2, lsl #5
- fa4: e0823103 add r3, r2, r3, lsl #2
- fa8: e0412183 sub r2, r1, r3, lsl #3
- fac: e3520064 cmp r2, #100 ; 0x64
- fb0: 13520000 cmpne r2, #0 ; 0x0
- fb4: 0a00001b beq 1028
- fb8: e0823194 umull r3, r2, r4, r1
- fbc: e1a02322 mov r2, r2, lsr #6
- fc0: e0623282 rsb r3, r2, r2, lsl #5
- fc4: e0823103 add r3, r2, r3, lsl #2
- fc8: e0412183 sub r2, r1, r3, lsl #3
- fcc: e3520096 cmp r2, #150 ; 0x96
- fd0: 13520032 cmpne r2, #50 ; 0x32
- fd4: 1affffea bne f84
- fd8: e3a00000 mov r0, #0 ; 0x0
- fdc: eb001939 bl 74c8
- fe0: eaffffe7 b f84
- fe4: e59f5080 ldr r5, [pc, #128] ; 106c <.text+0x106c>
- fe8: e59f4084 ldr r4, [pc, #132] ; 1074 <.text+0x1074>
- fec: e5952000 ldr r2, [r5]
- ff0: e0831294 umull r1, r3, r4, r2
- ff4: e1a032a3 mov r3, r3, lsr #5
- ff8: e0833103 add r3, r3, r3, lsl #2
- ffc: e0833103 add r3, r3, r3, lsl #2
- 1000: e1520103 cmp r2, r3, lsl #2
- 1004: 0a000012 beq 1054
- 1008: e0831294 umull r1, r3, r4, r2
- 100c: e1a032a3 mov r3, r3, lsr #5
- 1010: e0833103 add r3, r3, r3, lsl #2
- 1014: e0833103 add r3, r3, r3, lsl #2
- 1018: e0423103 sub r3, r2, r3, lsl #2
- 101c: e3530032 cmp r3, #50 ; 0x32
- 1020: 1affffd7 bne f84
- 1024: eaffffeb b fd8
- 1028: e3a00001 mov r0, #1 ; 0x1
- 102c: eb001925 bl 74c8
- 1030: e5951000 ldr r1, [r5]
- 1034: eaffffdf b fb8
- 1038: e3a00001 mov r0, #1 ; 0x1
- 103c: eb001921 bl 74c8
- 1040: e5961000 ldr r1, [r6]
- 1044: eaffffc7 b f68
- 1048: e1a00004 mov r0, r4
- 104c: eb00191d bl 74c8
- 1050: eaffffcb b f84
- 1054: e3a00001 mov r0, #1 ; 0x1
- 1058: eb00191a bl 74c8
- 105c: e5952000 ldr r2, [r5]
- 1060: eaffffe8 b 1008
- 1064: 40001038 andmi r1, r0, r8, lsr r0
- 1068: 40001098 mulmi r0, r8, r0
- 106c: 4000106c andmi r1, r0, ip, rrx
- 1070: 10624dd3 ldrned r4, [r2], #-211
- 1074: 51eb851f mvnpl r8, pc, lsl r5
-
-00001078 :
- 1078: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 107c: e59f35c4 ldr r3, [pc, #1476] ; 1648 <.text+0x1648>
- 1080: e5933000 ldr r3, [r3]
- 1084: e5d32008 ldrb r2, [r3, #8]
- 1088: e3520000 cmp r2, #0 ; 0x0
- 108c: e24dd040 sub sp, sp, #64 ; 0x40
- 1090: 0a000090 beq 12d8
- 1094: e3a02000 mov r2, #0 ; 0x0
- 1098: e5c32008 strb r2, [r3, #8]
- 109c: e59f35a8 ldr r3, [pc, #1448] ; 164c <.text+0x164c>
- 10a0: e5d3b003 ldrb fp, [r3, #3]
- 10a4: e5d39002 ldrb r9, [r3, #2]
- 10a8: e5d3a01a ldrb sl, [r3, #26]
- 10ac: e5d3801e ldrb r8, [r3, #30]
- 10b0: e5d37006 ldrb r7, [r3, #6]
- 10b4: e5d34022 ldrb r4, [r3, #34]
- 10b8: e5d32026 ldrb r2, [r3, #38]
- 10bc: e5d35001 ldrb r5, [r3, #1]
- 10c0: e5d36019 ldrb r6, [r3, #25]
- 10c4: e5d3e01d ldrb lr, [r3, #29]
- 10c8: e5d31005 ldrb r1, [r3, #5]
- 10cc: e5d3c021 ldrb ip, [r3, #33]
- 10d0: e5d30025 ldrb r0, [r3, #37]
- 10d4: e58db03c str fp, [sp, #60]
- 10d8: e5d3b01b ldrb fp, [r3, #27]
- 10dc: e58db038 str fp, [sp, #56]
- 10e0: e5d3b01f ldrb fp, [r3, #31]
- 10e4: e58db030 str fp, [sp, #48]
- 10e8: e5d3b007 ldrb fp, [r3, #7]
- 10ec: e58db028 str fp, [sp, #40]
- 10f0: e5d3b023 ldrb fp, [r3, #35]
- 10f4: e58db024 str fp, [sp, #36]
- 10f8: e5d3b027 ldrb fp, [r3, #39]
- 10fc: e58db01c str fp, [sp, #28]
- 1100: e1800402 orr r0, r0, r2, lsl #8
- 1104: e5d3201c ldrb r2, [r3, #28]
- 1108: e5d3b000 ldrb fp, [r3]
- 110c: e186640a orr r6, r6, sl, lsl #8
- 1110: e5d3a004 ldrb sl, [r3, #4]
- 1114: e58d2034 str r2, [sp, #52]
- 1118: e18cc404 orr ip, ip, r4, lsl #8
- 111c: e5d34020 ldrb r4, [r3, #32]
- 1120: e58d402c str r4, [sp, #44]
- 1124: e5d32024 ldrb r2, [r3, #36]
- 1128: e1855409 orr r5, r5, r9, lsl #8
- 112c: e5d39008 ldrb r9, [r3, #8]
- 1130: e58d2020 str r2, [sp, #32]
- 1134: e5d34028 ldrb r4, [r3, #40]
- 1138: e59d203c ldr r2, [sp, #60]
- 113c: e58d4018 str r4, [sp, #24]
- 1140: e59d4038 ldr r4, [sp, #56]
- 1144: e1855802 orr r5, r5, r2, lsl #16
- 1148: e1866804 orr r6, r6, r4, lsl #16
- 114c: e59d2030 ldr r2, [sp, #48]
- 1150: e59d4028 ldr r4, [sp, #40]
- 1154: e18ee408 orr lr, lr, r8, lsl #8
- 1158: e1811407 orr r1, r1, r7, lsl #8
- 115c: e18ee802 orr lr, lr, r2, lsl #16
- 1160: e1811804 orr r1, r1, r4, lsl #16
- 1164: e59d2024 ldr r2, [sp, #36]
- 1168: e1857c0a orr r7, r5, sl, lsl #24
- 116c: e1818c09 orr r8, r1, r9, lsl #24
- 1170: e59d5034 ldr r5, [sp, #52]
- 1174: e59d102c ldr r1, [sp, #44]
- 1178: e18cc802 orr ip, ip, r2, lsl #16
- 117c: e59f24cc ldr r2, [pc, #1228] ; 1650 <.text+0x1650>
- 1180: e186ac05 orr sl, r6, r5, lsl #24
- 1184: e18e5c01 orr r5, lr, r1, lsl #24
- 1188: e59d1020 ldr r1, [sp, #32]
- 118c: e582509c str r5, [r2, #156]
- 1190: e59d401c ldr r4, [sp, #28]
- 1194: e59f54b8 ldr r5, [pc, #1208] ; 1654 <.text+0x1654>
- 1198: e18c6c01 orr r6, ip, r1, lsl #24
- 119c: e59dc018 ldr ip, [sp, #24]
- 11a0: e20b1001 and r1, fp, #1 ; 0x1
- 11a4: e5c51000 strb r1, [r5]
- 11a8: e1800804 orr r0, r0, r4, lsl #16
- 11ac: e59f54a4 ldr r5, [pc, #1188] ; 1658 <.text+0x1658>
- 11b0: e1809c0c orr r9, r0, ip, lsl #24
- 11b4: e20bc004 and ip, fp, #4 ; 0x4
- 11b8: e5c5c000 strb ip, [r5]
- 11bc: e59f4498 ldr r4, [pc, #1176] ; 165c <.text+0x165c>
- 11c0: e59f1498 ldr r1, [pc, #1176] ; 1660 <.text+0x1660>
- 11c4: e59fc498 ldr ip, [pc, #1176] ; 1664 <.text+0x1664>
- 11c8: e20b0002 and r0, fp, #2 ; 0x2
- 11cc: e20be020 and lr, fp, #32 ; 0x20
- 11d0: e584909c str r9, [r4, #156]
- 11d4: e5c10000 strb r0, [r1]
- 11d8: e5cce000 strb lr, [ip]
- 11dc: e5827094 str r7, [r2, #148]
- 11e0: e582a098 str sl, [r2, #152]
- 11e4: e5848094 str r8, [r4, #148]
- 11e8: e5846098 str r6, [r4, #152]
- 11ec: e5827090 str r7, [r2, #144]
- 11f0: e5848090 str r8, [r4, #144]
- 11f4: e5d3a00b ldrb sl, [r3, #11]
- 11f8: e5d3800a ldrb r8, [r3, #10]
- 11fc: e5d3702a ldrb r7, [r3, #42]
- 1200: e5d36032 ldrb r6, [r3, #50]
- 1204: e5d35016 ldrb r5, [r3, #22]
- 1208: e5d3403e ldrb r4, [r3, #62]
- 120c: e5d31009 ldrb r1, [r3, #9]
- 1210: e5d3e029 ldrb lr, [r3, #41]
- 1214: e5d32031 ldrb r2, [r3, #49]
- 1218: e5d3c015 ldrb ip, [r3, #21]
- 121c: e5d3003d ldrb r0, [r3, #61]
- 1220: e58da014 str sl, [sp, #20]
- 1224: e5d3a02b ldrb sl, [r3, #43]
- 1228: e58da010 str sl, [sp, #16]
- 122c: e5d3a033 ldrb sl, [r3, #51]
- 1230: e58da00c str sl, [sp, #12]
- 1234: e5d3a017 ldrb sl, [r3, #23]
- 1238: e58da008 str sl, [sp, #8]
- 123c: e5d3a03f ldrb sl, [r3, #63]
- 1240: e58da004 str sl, [sp, #4]
- 1244: e1800404 orr r0, r0, r4, lsl #8
- 1248: e5d34040 ldrb r4, [r3, #64]
- 124c: e58d4000 str r4, [sp]
- 1250: e18cc405 orr ip, ip, r5, lsl #8
- 1254: e59d5014 ldr r5, [sp, #20]
- 1258: e5d3a034 ldrb sl, [r3, #52]
- 125c: e5d39018 ldrb r9, [r3, #24]
- 1260: e1811408 orr r1, r1, r8, lsl #8
- 1264: e18ee407 orr lr, lr, r7, lsl #8
- 1268: e5d3802c ldrb r8, [r3, #44]
- 126c: e5d3700c ldrb r7, [r3, #12]
- 1270: e59d400c ldr r4, [sp, #12]
- 1274: e59d3010 ldr r3, [sp, #16]
- 1278: e1811805 orr r1, r1, r5, lsl #16
- 127c: e1822406 orr r2, r2, r6, lsl #8
- 1280: e59d5008 ldr r5, [sp, #8]
- 1284: e18ee803 orr lr, lr, r3, lsl #16
- 1288: e1822804 orr r2, r2, r4, lsl #16
- 128c: e59d3004 ldr r3, [sp, #4]
- 1290: e18cc805 orr ip, ip, r5, lsl #16
- 1294: e1815c07 orr r5, r1, r7, lsl #24
- 1298: e1821c0a orr r1, r2, sl, lsl #24
- 129c: e59da000 ldr sl, [sp]
- 12a0: e1800803 orr r0, r0, r3, lsl #16
- 12a4: e59f43bc ldr r4, [pc, #956] ; 1668 <.text+0x1668>
- 12a8: e59f33bc ldr r3, [pc, #956] ; 166c <.text+0x166c>
- 12ac: e18e6c08 orr r6, lr, r8, lsl #24
- 12b0: e1802c0a orr r2, r0, sl, lsl #24
- 12b4: e18cec09 orr lr, ip, r9, lsl #24
- 12b8: e31b0080 tst fp, #128 ; 0x80
- 12bc: e583109c str r1, [r3, #156]
- 12c0: e5842018 str r2, [r4, #24]
- 12c4: e5835094 str r5, [r3, #148]
- 12c8: e5836098 str r6, [r3, #152]
- 12cc: e584e014 str lr, [r4, #20]
- 12d0: e5835090 str r5, [r3, #144]
- 12d4: 1a0000d9 bne 1640
- 12d8: e59fb384 ldr fp, [pc, #900] ; 1664 <.text+0x1664>
- 12dc: eb0010e2 bl 566c
- 12e0: e5db3000 ldrb r3, [fp]
- 12e4: e3530000 cmp r3, #0 ; 0x0
- 12e8: 0a000060 beq 1470
- 12ec: e59f337c ldr r3, [pc, #892] ; 1670 <.text+0x1670>
- 12f0: e5932018 ldr r2, [r3, #24]
- 12f4: e59f6378 ldr r6, [pc, #888] ; 1674 <.text+0x1674>
- 12f8: e1a03422 mov r3, r2, lsr #8
- 12fc: e1a00c22 mov r0, r2, lsr #24
- 1300: e1a01822 mov r1, r2, lsr #16
- 1304: e5c63021 strb r3, [r6, #33]
- 1308: e5c61022 strb r1, [r6, #34]
- 130c: e5c60023 strb r0, [r6, #35]
- 1310: e5c62020 strb r2, [r6, #32]
- 1314: e59fc338 ldr ip, [pc, #824] ; 1654 <.text+0x1654>
- 1318: e5dc3000 ldrb r3, [ip]
- 131c: e3530000 cmp r3, #0 ; 0x0
- 1320: 0a000066 beq 14c0
- 1324: e59f3344 ldr r3, [pc, #836] ; 1670 <.text+0x1670>
- 1328: e593100c ldr r1, [r3, #12]
- 132c: e5932000 ldr r2, [r3]
- 1330: e1a05c21 mov r5, r1, lsr #24
- 1334: e1a03422 mov r3, r2, lsr #8
- 1338: e1a0c421 mov ip, r1, lsr #8
- 133c: e1a0e821 mov lr, r1, lsr #16
- 1340: e1a04c22 mov r4, r2, lsr #24
- 1344: e1a00822 mov r0, r2, lsr #16
- 1348: e5c6100c strb r1, [r6, #12]
- 134c: e5c63001 strb r3, [r6, #1]
- 1350: e5c60002 strb r0, [r6, #2]
- 1354: e5c64003 strb r4, [r6, #3]
- 1358: e5c6c00d strb ip, [r6, #13]
- 135c: e5c6e00e strb lr, [r6, #14]
- 1360: e5c6500f strb r5, [r6, #15]
- 1364: e5c62000 strb r2, [r6]
- 1368: e59f12f0 ldr r1, [pc, #752] ; 1660 <.text+0x1660>
- 136c: e5d13000 ldrb r3, [r1]
- 1370: e3530000 cmp r3, #0 ; 0x0
- 1374: 0a000072 beq 1544
- 1378: e59f32f0 ldr r3, [pc, #752] ; 1670 <.text+0x1670>
- 137c: e5931010 ldr r1, [r3, #16]
- 1380: e5932004 ldr r2, [r3, #4]
- 1384: e1a05c21 mov r5, r1, lsr #24
- 1388: e1a03422 mov r3, r2, lsr #8
- 138c: e1a04c22 mov r4, r2, lsr #24
- 1390: e1a00822 mov r0, r2, lsr #16
- 1394: e1a0c421 mov ip, r1, lsr #8
- 1398: e1a0e821 mov lr, r1, lsr #16
- 139c: e5c62004 strb r2, [r6, #4]
- 13a0: e5c63005 strb r3, [r6, #5]
- 13a4: e5c60006 strb r0, [r6, #6]
- 13a8: e5c64007 strb r4, [r6, #7]
- 13ac: e5c6c011 strb ip, [r6, #17]
- 13b0: e5c6e012 strb lr, [r6, #18]
- 13b4: e5c65013 strb r5, [r6, #19]
- 13b8: e5c61010 strb r1, [r6, #16]
- 13bc: e59f2294 ldr r2, [pc, #660] ; 1658 <.text+0x1658>
- 13c0: e5d23000 ldrb r3, [r2]
- 13c4: e3530000 cmp r3, #0 ; 0x0
- 13c8: 0a00007e beq 15c8
- 13cc: e59f329c ldr r3, [pc, #668] ; 1670 <.text+0x1670>
- 13d0: e5931014 ldr r1, [r3, #20]
- 13d4: e5932008 ldr r2, [r3, #8]
- 13d8: e1a05c21 mov r5, r1, lsr #24
- 13dc: e1a04c22 mov r4, r2, lsr #24
- 13e0: e1a03422 mov r3, r2, lsr #8
- 13e4: e1a00822 mov r0, r2, lsr #16
- 13e8: e1a0c421 mov ip, r1, lsr #8
- 13ec: e1a0e821 mov lr, r1, lsr #16
- 13f0: e5c63009 strb r3, [r6, #9]
- 13f4: e5c6000a strb r0, [r6, #10]
- 13f8: e5c6400b strb r4, [r6, #11]
- 13fc: e5c6c015 strb ip, [r6, #21]
- 1400: e5c6e016 strb lr, [r6, #22]
- 1404: e5c65017 strb r5, [r6, #23]
- 1408: e5c62008 strb r2, [r6, #8]
- 140c: e5c61014 strb r1, [r6, #20]
- 1410: e59f4260 ldr r4, [pc, #608] ; 1678 <.text+0x1678>
- 1414: e1d400f4 ldrsh r0, [r4, #4]
- 1418: eb0008e8 bl 37c0
- 141c: e1a03000 mov r3, r0
- 1420: e1a02423 mov r2, r3, lsr #8
- 1424: e1a01823 mov r1, r3, lsr #16
- 1428: e1a0cc20 mov ip, r0, lsr #24
- 142c: e1d400f2 ldrsh r0, [r4, #2]
- 1430: e5c62019 strb r2, [r6, #25]
- 1434: e5c6101a strb r1, [r6, #26]
- 1438: e5c63018 strb r3, [r6, #24]
- 143c: e5c6c01b strb ip, [r6, #27]
- 1440: eb000958 bl 39a8
- 1444: e1a03000 mov r3, r0
- 1448: e1a02c20 mov r2, r0, lsr #24
- 144c: e1a01420 mov r1, r0, lsr #8
- 1450: e1a00820 mov r0, r0, lsr #16
- 1454: e5c6201f strb r2, [r6, #31]
- 1458: e5c6101d strb r1, [r6, #29]
- 145c: e5c6001e strb r0, [r6, #30]
- 1460: e5c6301c strb r3, [r6, #28]
- 1464: e28dd040 add sp, sp, #64 ; 0x40
- 1468: e8bd4ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 146c: e12fff1e bx lr
- 1470: e59f2204 ldr r2, [pc, #516] ; 167c <.text+0x167c>
- 1474: e5d21011 ldrb r1, [r2, #17]
- 1478: e5d23010 ldrb r3, [r2, #16]
- 147c: e5d2c012 ldrb ip, [r2, #18]
- 1480: e5d20013 ldrb r0, [r2, #19]
- 1484: e1833401 orr r3, r3, r1, lsl #8
- 1488: e183380c orr r3, r3, ip, lsl #16
- 148c: e1833c00 orr r3, r3, r0, lsl #24
- 1490: e59f61dc ldr r6, [pc, #476] ; 1674 <.text+0x1674>
- 1494: e1a00c23 mov r0, r3, lsr #24
- 1498: e1a02423 mov r2, r3, lsr #8
- 149c: e1a01823 mov r1, r3, lsr #16
- 14a0: e5c62021 strb r2, [r6, #33]
- 14a4: e5c61022 strb r1, [r6, #34]
- 14a8: e5c60023 strb r0, [r6, #35]
- 14ac: e5c63020 strb r3, [r6, #32]
- 14b0: e59fc19c ldr ip, [pc, #412] ; 1654 <.text+0x1654>
- 14b4: e5dc3000 ldrb r3, [ip]
- 14b8: e3530000 cmp r3, #0 ; 0x0
- 14bc: 1affff98 bne 1324
- 14c0: e59f31b4 ldr r3, [pc, #436] ; 167c <.text+0x167c>
- 14c4: e5d3c001 ldrb ip, [r3, #1]
- 14c8: e5d30009 ldrb r0, [r3, #9]
- 14cc: e5d31000 ldrb r1, [r3]
- 14d0: e5d32008 ldrb r2, [r3, #8]
- 14d4: e5d3e002 ldrb lr, [r3, #2]
- 14d8: e5d3400a ldrb r4, [r3, #10]
- 14dc: e181140c orr r1, r1, ip, lsl #8
- 14e0: e1822400 orr r2, r2, r0, lsl #8
- 14e4: e5d3c00b ldrb ip, [r3, #11]
- 14e8: e5d30003 ldrb r0, [r3, #3]
- 14ec: e181180e orr r1, r1, lr, lsl #16
- 14f0: e1822804 orr r2, r2, r4, lsl #16
- 14f4: e1811c00 orr r1, r1, r0, lsl #24
- 14f8: e1822c0c orr r2, r2, ip, lsl #24
- 14fc: e1a03421 mov r3, r1, lsr #8
- 1500: e1a04c21 mov r4, r1, lsr #24
- 1504: e1a00821 mov r0, r1, lsr #16
- 1508: e1a05c22 mov r5, r2, lsr #24
- 150c: e1a0c422 mov ip, r2, lsr #8
- 1510: e1a0e822 mov lr, r2, lsr #16
- 1514: e5c61000 strb r1, [r6]
- 1518: e5c63001 strb r3, [r6, #1]
- 151c: e5c60002 strb r0, [r6, #2]
- 1520: e5c64003 strb r4, [r6, #3]
- 1524: e5c6c00d strb ip, [r6, #13]
- 1528: e5c6e00e strb lr, [r6, #14]
- 152c: e5c6500f strb r5, [r6, #15]
- 1530: e5c6200c strb r2, [r6, #12]
- 1534: e59f1124 ldr r1, [pc, #292] ; 1660 <.text+0x1660>
- 1538: e5d13000 ldrb r3, [r1]
- 153c: e3530000 cmp r3, #0 ; 0x0
- 1540: 1affff8c bne 1378
- 1544: e59f3130 ldr r3, [pc, #304] ; 167c <.text+0x167c>
- 1548: e5d3c005 ldrb ip, [r3, #5]
- 154c: e5d3000d ldrb r0, [r3, #13]
- 1550: e5d31004 ldrb r1, [r3, #4]
- 1554: e5d3200c ldrb r2, [r3, #12]
- 1558: e5d3e006 ldrb lr, [r3, #6]
- 155c: e5d3400e ldrb r4, [r3, #14]
- 1560: e181140c orr r1, r1, ip, lsl #8
- 1564: e1822400 orr r2, r2, r0, lsl #8
- 1568: e5d3c00f ldrb ip, [r3, #15]
- 156c: e5d30007 ldrb r0, [r3, #7]
- 1570: e181180e orr r1, r1, lr, lsl #16
- 1574: e1822804 orr r2, r2, r4, lsl #16
- 1578: e1822c0c orr r2, r2, ip, lsl #24
- 157c: e1811c00 orr r1, r1, r0, lsl #24
- 1580: e1a05c22 mov r5, r2, lsr #24
- 1584: e1a03421 mov r3, r1, lsr #8
- 1588: e1a0c422 mov ip, r2, lsr #8
- 158c: e1a0e822 mov lr, r2, lsr #16
- 1590: e1a04c21 mov r4, r1, lsr #24
- 1594: e1a00821 mov r0, r1, lsr #16
- 1598: e5c62010 strb r2, [r6, #16]
- 159c: e5c63005 strb r3, [r6, #5]
- 15a0: e5c60006 strb r0, [r6, #6]
- 15a4: e5c64007 strb r4, [r6, #7]
- 15a8: e5c6c011 strb ip, [r6, #17]
- 15ac: e5c6e012 strb lr, [r6, #18]
- 15b0: e5c65013 strb r5, [r6, #19]
- 15b4: e5c61004 strb r1, [r6, #4]
- 15b8: e59f2098 ldr r2, [pc, #152] ; 1658 <.text+0x1658>
- 15bc: e5d23000 ldrb r3, [r2]
- 15c0: e3530000 cmp r3, #0 ; 0x0
- 15c4: 1affff80 bne 13cc
- 15c8: e59f30b0 ldr r3, [pc, #176] ; 1680 <.text+0x1680>
- 15cc: e5d3c001 ldrb ip, [r3, #1]
- 15d0: e5d30005 ldrb r0, [r3, #5]
- 15d4: e5d31000 ldrb r1, [r3]
- 15d8: e5d32004 ldrb r2, [r3, #4]
- 15dc: e5d3e002 ldrb lr, [r3, #2]
- 15e0: e5d34006 ldrb r4, [r3, #6]
- 15e4: e181140c orr r1, r1, ip, lsl #8
- 15e8: e1822400 orr r2, r2, r0, lsl #8
- 15ec: e5d3c007 ldrb ip, [r3, #7]
- 15f0: e5d30003 ldrb r0, [r3, #3]
- 15f4: e181180e orr r1, r1, lr, lsl #16
- 15f8: e1822804 orr r2, r2, r4, lsl #16
- 15fc: e1811c00 orr r1, r1, r0, lsl #24
- 1600: e1822c0c orr r2, r2, ip, lsl #24
- 1604: e1a04c21 mov r4, r1, lsr #24
- 1608: e1a05c22 mov r5, r2, lsr #24
- 160c: e1a03421 mov r3, r1, lsr #8
- 1610: e1a00821 mov r0, r1, lsr #16
- 1614: e1a0c422 mov ip, r2, lsr #8
- 1618: e1a0e822 mov lr, r2, lsr #16
- 161c: e5c63009 strb r3, [r6, #9]
- 1620: e5c6000a strb r0, [r6, #10]
- 1624: e5c6400b strb r4, [r6, #11]
- 1628: e5c6c015 strb ip, [r6, #21]
- 162c: e5c6e016 strb lr, [r6, #22]
- 1630: e5c65017 strb r5, [r6, #23]
- 1634: e5c61008 strb r1, [r6, #8]
- 1638: e5c62014 strb r2, [r6, #20]
- 163c: eaffff73 b 1410
- 1640: eb000f6c bl 53f8
- 1644: eaffff23 b 12d8