From 8b346cbcbb52b946eb6eadf693dce84b8a7c2ee7 Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@tadpole.cc>
Date: Wed, 14 Mar 2018 13:06:47 -0400
Subject: [PATCH] civicrm-47: CiviCRM 4.7.31 release

---
 civicrm.php                                   |   32 +-
 civicrm/CONTRIBUTORS.txt                      |  154 +-
 civicrm/CRM/ACL/DAO/ACL.php                   |  198 +--
 civicrm/CRM/ACL/DAO/Cache.php                 |  129 +-
 civicrm/CRM/ACL/DAO/EntityRole.php            |  146 +-
 civicrm/CRM/Activity/BAO/Activity.php         |   16 +-
 civicrm/CRM/Activity/DAO/Activity.php         |  519 +++---
 civicrm/CRM/Activity/DAO/ActivityContact.php  |  153 +-
 civicrm/CRM/Activity/Import/Form/MapField.php |    8 +-
 civicrm/CRM/Activity/StateMachine/Search.php  |    2 +-
 civicrm/CRM/Activity/Task.php                 |    5 +-
 civicrm/CRM/Admin/Form/PaymentProcessor.php   |  114 +-
 civicrm/CRM/Admin/Form/Setting/Smtp.php       |    5 +
 civicrm/CRM/Admin/Page/AJAX.php               |   23 +-
 civicrm/CRM/Batch/BAO/Batch.php               |    5 +-
 civicrm/CRM/Batch/DAO/Batch.php               |  287 ++--
 civicrm/CRM/Batch/DAO/EntityBatch.php         |  145 +-
 civicrm/CRM/Batch/Form/Entry.php              |   25 +-
 civicrm/CRM/Campaign/DAO/Campaign.php         |  342 ++--
 civicrm/CRM/Campaign/DAO/CampaignGroup.php    |  134 +-
 civicrm/CRM/Campaign/DAO/Survey.php           |  273 +--
 civicrm/CRM/Campaign/StateMachine/Search.php  |    2 +-
 civicrm/CRM/Case/BAO/Case.php                 |  360 ++--
 civicrm/CRM/Case/BAO/Query.php                |    3 +
 civicrm/CRM/Case/DAO/Case.php                 |  248 +--
 civicrm/CRM/Case/DAO/CaseActivity.php         |  122 +-
 civicrm/CRM/Case/DAO/CaseContact.php          |  128 +-
 civicrm/CRM/Case/DAO/CaseType.php             |  154 +-
 civicrm/CRM/Case/Form/Activity.php            |    4 +-
 .../Case/Form/Activity/ChangeCaseStatus.php   |   20 +-
 civicrm/CRM/Case/Form/AddToCaseAsRole.php     |   93 +
 civicrm/CRM/Case/Form/Case.php                |    2 +-
 civicrm/CRM/Case/Page/AJAX.php                |   26 +
 civicrm/CRM/Case/Page/DashBoard.php           |   30 +-
 civicrm/CRM/Case/Page/Tab.php                 |    3 +-
 civicrm/CRM/Case/Selector/Search.php          |    7 +-
 civicrm/CRM/Case/StateMachine/Search.php      |    2 +-
 civicrm/CRM/Case/xml/Menu/Case.xml            |    4 +
 civicrm/CRM/Contact/BAO/Contact.php           |   14 +-
 civicrm/CRM/Contact/BAO/Contact/Location.php  |   30 +-
 civicrm/CRM/Contact/BAO/Group.php             |   43 +-
 civicrm/CRM/Contact/BAO/ProximityQuery.php    |   15 +-
 civicrm/CRM/Contact/BAO/Query.php             |   95 +-
 civicrm/CRM/Contact/BAO/SavedSearch.php       |   22 +-
 civicrm/CRM/Contact/DAO/ACLContactCache.php   |  139 +-
 civicrm/CRM/Contact/DAO/Contact.php           | 1038 +++++------
 civicrm/CRM/Contact/DAO/ContactType.php       |  161 +-
 civicrm/CRM/Contact/DAO/DashboardContact.php  |  146 +-
 civicrm/CRM/Contact/DAO/Group.php             |  290 ++--
 civicrm/CRM/Contact/DAO/GroupContact.php      |  165 +-
 civicrm/CRM/Contact/DAO/GroupContactCache.php |  132 +-
 civicrm/CRM/Contact/DAO/GroupNesting.php      |  110 +-
 civicrm/CRM/Contact/DAO/GroupOrganization.php |  132 +-
 civicrm/CRM/Contact/DAO/Relationship.php      |  204 +--
 civicrm/CRM/Contact/DAO/RelationshipType.php  |  220 +--
 civicrm/CRM/Contact/DAO/SavedSearch.php       |  136 +-
 .../CRM/Contact/DAO/SubscriptionHistory.php   |  158 +-
 civicrm/CRM/Contact/Form/DedupeRules.php      |    4 +-
 civicrm/CRM/Contact/Form/Domain.php           |   56 -
 civicrm/CRM/Contact/Form/Edit/Address.php     |    2 +-
 civicrm/CRM/Contact/Form/Location.php         |    1 -
 civicrm/CRM/Contact/Form/Search/Criteria.php  |    4 +-
 civicrm/CRM/Contact/Form/Search/Custom.php    |    9 +
 .../CRM/Contact/Form/Search/Custom/Base.php   |   14 +
 .../CRM/Contact/Form/Search/Custom/Group.php  |    6 +
 .../Contact/Form/Search/Custom/Proximity.php  |  194 ++-
 civicrm/CRM/Contact/Form/Task.php             |    4 +-
 civicrm/CRM/Contact/Form/Task/EmailCommon.php |   66 +-
 .../CRM/Contact/Form/Task/PDFLetterCommon.php |    1 +
 civicrm/CRM/Contact/Form/Task/SaveSearch.php  |   10 +-
 .../CRM/Contact/Import/Form/DataSource.php    |    2 +-
 civicrm/CRM/Contact/Import/Parser/Contact.php |    2 +-
 civicrm/CRM/Contact/Page/AJAX.php             |    9 +-
 civicrm/CRM/Contact/Selector.php              |    3 +-
 civicrm/CRM/Contact/Selector/Custom.php       |    2 +-
 civicrm/CRM/Contact/StateMachine/Search.php   |    2 +-
 civicrm/CRM/Contact/Task.php                  |   12 +-
 civicrm/CRM/Contribute/BAO/Contribution.php   |   13 +-
 .../CRM/Contribute/BAO/ContributionRecur.php  |   13 +-
 civicrm/CRM/Contribute/BAO/Query.php          |   43 +-
 civicrm/CRM/Contribute/DAO/Contribution.php   |  673 ++++----
 .../CRM/Contribute/DAO/ContributionPage.php   |  474 ++---
 .../Contribute/DAO/ContributionProduct.php    |  178 +-
 .../CRM/Contribute/DAO/ContributionRecur.php  |  463 ++---
 .../CRM/Contribute/DAO/ContributionSoft.php   |  210 ++-
 civicrm/CRM/Contribute/DAO/Premium.php        |  171 +-
 .../CRM/Contribute/DAO/PremiumsProduct.php    |  133 +-
 civicrm/CRM/Contribute/DAO/Product.php        |  274 +--
 civicrm/CRM/Contribute/DAO/Widget.php         |  211 ++-
 .../Contribute/Form/AbstractEditPayment.php   |    5 +
 .../CRM/Contribute/Form/AdditionalInfo.php    |    2 +-
 civicrm/CRM/Contribute/Form/Contribution.php  |  115 +-
 .../Contribute/Form/Contribution/Confirm.php  |    2 +-
 .../CRM/Contribute/Form/Contribution/Main.php |    2 +-
 civicrm/CRM/Contribute/Form/Search.php        |   50 +-
 civicrm/CRM/Contribute/Form/Task/Invoice.php  |   53 +-
 civicrm/CRM/Contribute/Form/Task/PDF.php      |   12 +-
 .../CRM/Contribute/Form/Task/PDFLetter.php    |    4 +-
 .../Contribute/Form/Task/PDFLetterCommon.php  |   20 +-
 .../Contribute/Form/UpdateSubscription.php    |   12 +-
 .../CRM/Contribute/Import/Form/MapField.php   |    8 +-
 civicrm/CRM/Contribute/PseudoConstant.php     |    5 +-
 civicrm/CRM/Contribute/Selector/Search.php    |    2 +-
 .../CRM/Contribute/StateMachine/Search.php    |    2 +-
 civicrm/CRM/Contribute/Task.php               |    5 +-
 civicrm/CRM/Core/BAO/Address.php              |   83 +-
 civicrm/CRM/Core/BAO/CustomGroup.php          |    2 +-
 civicrm/CRM/Core/BAO/Domain.php               |   26 +-
 civicrm/CRM/Core/BAO/Email.php                |   32 +-
 civicrm/CRM/Core/BAO/MessageTemplate.php      |    3 +
 civicrm/CRM/Core/BAO/OptionValue.php          |   56 +-
 civicrm/CRM/Core/BAO/Tag.php                  |   11 +
 civicrm/CRM/Core/BAO/UFGroup.php              |   17 +-
 civicrm/CRM/Core/BAO/Website.php              |   23 +-
 civicrm/CRM/Core/ClassLoader.php              |    2 +-
 civicrm/CRM/Core/CodeGen/BaseTask.php         |   12 +-
 .../CodeGen/Util/ArraySyntaxConverter.php     |   92 +
 civicrm/CRM/Core/CodeGen/Util/Template.php    |   22 +-
 civicrm/CRM/Core/Config/MagicMerge.php        |    1 +
 civicrm/CRM/Core/DAO.php                      |   88 +-
 civicrm/CRM/Core/DAO/ActionLog.php            |  162 +-
 civicrm/CRM/Core/DAO/ActionMapping.php        |  142 +-
 civicrm/CRM/Core/DAO/ActionSchedule.php       |  402 +++--
 civicrm/CRM/Core/DAO/Address.php              |  519 +++---
 civicrm/CRM/Core/DAO/AddressFormat.php        |   92 +-
 civicrm/CRM/Core/DAO/Cache.php                |  155 +-
 civicrm/CRM/Core/DAO/Component.php            |   99 +-
 civicrm/CRM/Core/DAO/Country.php              |  168 +-
 civicrm/CRM/Core/DAO/County.php               |  131 +-
 civicrm/CRM/Core/DAO/CustomField.php          |  349 ++--
 civicrm/CRM/Core/DAO/CustomGroup.php          |  276 +--
 civicrm/CRM/Core/DAO/Dashboard.php            |  169 +-
 civicrm/CRM/Core/DAO/Discount.php             |  155 +-
 civicrm/CRM/Core/DAO/Domain.php               |  161 +-
 civicrm/CRM/Core/DAO/Email.php                |  245 +--
 civicrm/CRM/Core/DAO/EntityFile.php           |  139 +-
 civicrm/CRM/Core/DAO/EntityTag.php            |  143 +-
 civicrm/CRM/Core/DAO/Extension.php            |  187 +-
 civicrm/CRM/Core/DAO/File.php                 |  127 +-
 civicrm/CRM/Core/DAO/IM.php                   |  198 ++-
 civicrm/CRM/Core/DAO/Job.php                  |  182 +-
 civicrm/CRM/Core/DAO/JobLog.php               |  145 +-
 civicrm/CRM/Core/DAO/LocBlock.php             |  168 +-
 civicrm/CRM/Core/DAO/LocationType.php         |  148 +-
 civicrm/CRM/Core/DAO/Log.php                  |  143 +-
 civicrm/CRM/Core/DAO/MailSettings.php         |  210 +--
 civicrm/CRM/Core/DAO/Managed.php              |  156 +-
 civicrm/CRM/Core/DAO/Mapping.php              |  126 +-
 civicrm/CRM/Core/DAO/MappingField.php         |  218 +--
 civicrm/CRM/Core/DAO/Menu.php                 |  275 +--
 civicrm/CRM/Core/DAO/MessageTemplate.php      |  168 +-
 civicrm/CRM/Core/DAO/Navigation.php           |  182 +-
 civicrm/CRM/Core/DAO/Note.php                 |  177 +-
 civicrm/CRM/Core/DAO/OpenID.php               |  155 +-
 civicrm/CRM/Core/DAO/OptionGroup.php          |  154 +-
 civicrm/CRM/Core/DAO/OptionValue.php          |  272 +--
 civicrm/CRM/Core/DAO/Persistent.php           |  119 +-
 civicrm/CRM/Core/DAO/Phone.php                |  237 +--
 civicrm/CRM/Core/DAO/PreferencesDate.php      |  146 +-
 civicrm/CRM/Core/DAO/PrevNextCache.php        |  145 +-
 civicrm/CRM/Core/DAO/PrintLabel.php           |  177 +-
 civicrm/CRM/Core/DAO/RecurringEntity.php      |  120 +-
 civicrm/CRM/Core/DAO/Setting.php              |  181 +-
 civicrm/CRM/Core/DAO/StateProvince.php        |  131 +-
 civicrm/CRM/Core/DAO/StatusPreference.php     |  168 +-
 civicrm/CRM/Core/DAO/SystemLog.php            |  129 +-
 civicrm/CRM/Core/DAO/Tag.php                  |  189 +-
 civicrm/CRM/Core/DAO/Timezone.php             |  128 +-
 civicrm/CRM/Core/DAO/UFField.php              |  254 +--
 civicrm/CRM/Core/DAO/UFGroup.php              |  322 ++--
 civicrm/CRM/Core/DAO/UFJoin.php               |  171 +-
 civicrm/CRM/Core/DAO/UFMatch.php              |  171 +-
 civicrm/CRM/Core/DAO/Website.php              |  139 +-
 civicrm/CRM/Core/DAO/WordReplacement.php      |  152 +-
 civicrm/CRM/Core/DAO/Worldregion.php          |   94 +-
 civicrm/CRM/Core/Error.php                    |    5 +-
 civicrm/CRM/Core/Form.php                     |   20 +
 civicrm/CRM/Core/Form/Search.php              |   38 +
 civicrm/CRM/Core/I18n/Schema.php              |    3 +
 civicrm/CRM/Core/I18n/SchemaStructure.php     |  678 ++++----
 civicrm/CRM/Core/JobManager.php               |    6 +
 civicrm/CRM/Core/Payment.php                  |   15 +-
 civicrm/CRM/Core/Payment/PayPalImpl.php       |   24 +-
 civicrm/CRM/Core/Payment/PayPalProIPN.php     |    1 +
 civicrm/CRM/Core/PseudoConstant.php           |  281 +--
 civicrm/CRM/Core/Task.php                     |  202 +++
 civicrm/CRM/Custom/Import/Form/MapField.php   |    8 +-
 civicrm/CRM/Cxn/DAO/Cxn.php                   |  187 +-
 civicrm/CRM/Dashlet/Page/AllCases.php         |   15 +-
 civicrm/CRM/Dashlet/Page/CaseDashboard.php    |    5 +-
 civicrm/CRM/Dashlet/Page/MyCases.php          |   15 +-
 civicrm/CRM/Dedupe/DAO/Exception.php          |  120 +-
 civicrm/CRM/Dedupe/DAO/Rule.php               |  141 +-
 civicrm/CRM/Dedupe/DAO/RuleGroup.php          |  159 +-
 civicrm/CRM/Dedupe/Merger.php                 |   21 +-
 civicrm/CRM/Event/Cart/DAO/Cart.php           |  105 +-
 civicrm/CRM/Event/Cart/DAO/EventInCart.php    |  106 +-
 .../CRM/Event/Cart/Form/Checkout/Payment.php  |   12 +-
 civicrm/CRM/Event/DAO/Event.php               |  919 +++++-----
 civicrm/CRM/Event/DAO/Participant.php         |  356 ++--
 civicrm/CRM/Event/DAO/ParticipantPayment.php  |  124 +-
 .../CRM/Event/DAO/ParticipantStatusType.php   |  163 +-
 .../CRM/Event/Form/ManageEvent/Location.php   |   17 +-
 civicrm/CRM/Event/Form/Participant.php        |    2 +-
 .../CRM/Event/Form/Registration/Confirm.php   |   33 +-
 civicrm/CRM/Event/Form/Search.php             |   46 +-
 civicrm/CRM/Event/Form/SearchEvent.php        |    2 +-
 civicrm/CRM/Event/Form/Task.php               |    7 +-
 civicrm/CRM/Event/Import/Form/MapField.php    |    8 +-
 civicrm/CRM/Event/StateMachine/Search.php     |    4 +-
 civicrm/CRM/Event/Task.php                    |  124 +-
 civicrm/CRM/Export/BAO/Export.php             |   33 +-
 civicrm/CRM/Export/Form/Select.php            |   57 +-
 civicrm/CRM/Financial/BAO/ExportFormat.php    |    9 +
 .../CRM/Financial/BAO/ExportFormat/CSV.php    |    4 +-
 civicrm/CRM/Financial/BAO/FinancialType.php   |   34 +-
 .../CRM/Financial/BAO/PaymentProcessor.php    |   25 +-
 civicrm/CRM/Financial/DAO/Currency.php        |  133 +-
 .../Financial/DAO/EntityFinancialAccount.php  |  162 +-
 .../CRM/Financial/DAO/EntityFinancialTrxn.php |  162 +-
 .../CRM/Financial/DAO/FinancialAccount.php    |  224 +--
 civicrm/CRM/Financial/DAO/FinancialItem.php   |  239 +--
 civicrm/CRM/Financial/DAO/FinancialTrxn.php   |  325 ++--
 civicrm/CRM/Financial/DAO/FinancialType.php   |  140 +-
 .../CRM/Financial/DAO/PaymentProcessor.php    |  315 ++--
 .../Financial/DAO/PaymentProcessorType.php    |  280 +--
 civicrm/CRM/Financial/DAO/PaymentToken.php    |  185 +-
 civicrm/CRM/Financial/Form/Export.php         |   10 +-
 civicrm/CRM/Financial/Form/Payment.php        |    7 +
 civicrm/CRM/Friend/DAO/Friend.php             |  191 +--
 civicrm/CRM/Grant/BAO/Grant.php               |   65 +-
 civicrm/CRM/Grant/DAO/Grant.php               |  351 ++--
 civicrm/CRM/Grant/StateMachine/Search.php     |    2 +-
 civicrm/CRM/Logging/Schema.php                |    7 +-
 civicrm/CRM/Mailing/BAO/Mailing.php           |  718 +++-----
 civicrm/CRM/Mailing/BAO/MailingAB.php         |    2 +-
 civicrm/CRM/Mailing/BAO/MailingJob.php        |    6 +-
 civicrm/CRM/Mailing/DAO/BouncePattern.php     |  107 +-
 civicrm/CRM/Mailing/DAO/BounceType.php        |  111 +-
 civicrm/CRM/Mailing/DAO/Component.php         |  152 +-
 civicrm/CRM/Mailing/DAO/Mailing.php           |  559 +++---
 civicrm/CRM/Mailing/DAO/MailingAB.php         |  203 +--
 civicrm/CRM/Mailing/DAO/MailingGroup.php      |  153 +-
 civicrm/CRM/Mailing/DAO/MailingJob.php        |  179 +-
 civicrm/CRM/Mailing/DAO/Recipients.php        |  129 +-
 civicrm/CRM/Mailing/DAO/Spool.php             |  139 +-
 civicrm/CRM/Mailing/DAO/TrackableURL.php      |  109 +-
 civicrm/CRM/Mailing/Event/DAO/Bounce.php      |  131 +-
 civicrm/CRM/Mailing/Event/DAO/Confirm.php     |  109 +-
 civicrm/CRM/Mailing/Event/DAO/Delivered.php   |  109 +-
 civicrm/CRM/Mailing/Event/DAO/Forward.php     |  118 +-
 civicrm/CRM/Mailing/Event/DAO/Opened.php      |  109 +-
 civicrm/CRM/Mailing/Event/DAO/Queue.php       |  150 +-
 civicrm/CRM/Mailing/Event/DAO/Reply.php       |  109 +-
 civicrm/CRM/Mailing/Event/DAO/Subscribe.php   |  137 +-
 .../Mailing/Event/DAO/TrackableURLOpen.php    |  120 +-
 civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php |  118 +-
 civicrm/CRM/Member/BAO/Membership.php         |  117 +-
 civicrm/CRM/Member/BAO/MembershipBlock.php    |    2 +-
 civicrm/CRM/Member/DAO/Membership.php         |  329 ++--
 civicrm/CRM/Member/DAO/MembershipBlock.php    |  178 +-
 civicrm/CRM/Member/DAO/MembershipLog.php      |  157 +-
 civicrm/CRM/Member/DAO/MembershipPayment.php  |  123 +-
 civicrm/CRM/Member/DAO/MembershipStatus.php   |  220 +--
 civicrm/CRM/Member/DAO/MembershipType.php     |  307 ++--
 civicrm/CRM/Member/Form/Membership.php        |    8 +-
 civicrm/CRM/Member/Form/MembershipRenewal.php |    6 +-
 civicrm/CRM/Member/Form/MembershipView.php    |    2 +-
 civicrm/CRM/Member/Form/Search.php            |   32 +-
 civicrm/CRM/Member/Import/Form/MapField.php   |    9 +-
 civicrm/CRM/Member/Page/Tab.php               |   13 +-
 civicrm/CRM/Member/Selector/Search.php        |   20 +-
 civicrm/CRM/Member/StateMachine/Search.php    |    2 +-
 civicrm/CRM/Member/Task.php                   |    5 +-
 civicrm/CRM/PCP/DAO/PCP.php                   |  274 +--
 civicrm/CRM/PCP/DAO/PCPBlock.php              |  193 ++-
 civicrm/CRM/Pledge/DAO/Pledge.php             |  413 ++---
 civicrm/CRM/Pledge/DAO/PledgeBlock.php        |  178 +-
 civicrm/CRM/Pledge/DAO/PledgePayment.php      |  233 ++-
 civicrm/CRM/Pledge/Form/Search.php            |   32 +-
 civicrm/CRM/Pledge/StateMachine/Search.php    |    2 +-
 civicrm/CRM/Price/BAO/LineItem.php            |   97 ++
 civicrm/CRM/Price/BAO/PriceField.php          |   12 +-
 civicrm/CRM/Price/BAO/PriceSet.php            |    7 +-
 civicrm/CRM/Price/DAO/LineItem.php            |  281 +--
 civicrm/CRM/Price/DAO/PriceField.php          |  291 ++--
 civicrm/CRM/Price/DAO/PriceFieldValue.php     |  295 ++--
 civicrm/CRM/Price/DAO/PriceSet.php            |  256 +--
 civicrm/CRM/Price/DAO/PriceSetEntity.php      |  133 +-
 civicrm/CRM/Queue/DAO/QueueItem.php           |  156 +-
 civicrm/CRM/Report/BAO/ReportInstance.php     |    2 +-
 civicrm/CRM/Report/DAO/ReportInstance.php     |  315 ++--
 civicrm/CRM/Report/Form.php                   |    2 +-
 civicrm/CRM/Report/Form/Activity.php          |   31 +-
 .../CRM/Report/Form/Contact/Relationship.php  |    8 +-
 civicrm/CRM/Report/Form/Contribute/Repeat.php |    9 +-
 .../CRM/Report/Form/Contribute/SoftCredit.php |    6 +-
 .../CRM/Report/Form/Contribute/Summary.php    |    2 +-
 .../CRM/Report/Form/Contribute/TopDonor.php   |  122 +-
 civicrm/CRM/Report/Form/Mailing/Opened.php    |   18 +-
 civicrm/CRM/Report/Form/Mailing/Summary.php   |   26 +-
 civicrm/CRM/Report/Form/Walklist/Walklist.php |   19 +
 civicrm/CRM/SMS/BAO/Provider.php              |    2 +-
 civicrm/CRM/SMS/DAO/Provider.php              |  203 ++-
 civicrm/CRM/SMS/Form/Group.php                |   22 +-
 civicrm/CRM/SMS/Form/Upload.php               |   28 -
 civicrm/CRM/UF/Form/Group.php                 |    1 +
 civicrm/CRM/UF/Page/Group.php                 |    1 +
 civicrm/CRM/UF/Page/ProfileEditor.php         |    1 +
 .../CRM/Upgrade/Incremental/php/FourSeven.php |   12 +-
 .../Upgrade/Incremental/sql/4.7.31.mysql.tpl  |   12 +
 .../Upgrade/Snapshot/V4p2/Price/DAO/Field.php |   15 +-
 civicrm/CRM/Utils/Address/BatchUpdate.php     |   17 +-
 civicrm/CRM/Utils/Check/Component/Env.php     |    5 +
 civicrm/CRM/Utils/Geocode.php                 |   22 +-
 civicrm/CRM/Utils/Geocode/Yahoo.php           |  211 ---
 civicrm/CRM/Utils/GeocodeProvider.php         |  115 ++
 civicrm/CRM/Utils/Hook/Joomla.php             |    6 +
 civicrm/CRM/Utils/Mail/EmailProcessor.php     |  155 +-
 civicrm/CRM/Utils/Number.php                  |    1 +
 civicrm/CRM/Utils/SQL/Select.php              |   32 +-
 civicrm/CRM/Utils/String.php                  |    4 +-
 civicrm/CRM/Utils/System/Drupal6.php          |    9 +
 civicrm/CRM/Utils/System/Drupal8.php          |   69 +-
 .../Codeception/CiviAcceptanceTesterTrait.php |  110 ++
 civicrm/Civi/Install/Requirements.php         |   19 +
 civicrm/Civi/Payment/System.php               |   43 +-
 civicrm/ang/crmCaseType/list.html             |    4 +-
 civicrm/ang/crmMailing/Recipients.js          |    8 +
 civicrm/ang/crmMailing/Templates.js           |    3 +-
 civicrm/ang/crmMailing/services.js            |   19 +-
 civicrm/api/v3/Acl.php                        |    2 +-
 civicrm/api/v3/AclRole.php                    |    2 +-
 civicrm/api/v3/ActivityContact.php            |    2 +-
 civicrm/api/v3/Address.php                    |   12 +-
 civicrm/api/v3/ContactType.php                |    2 +-
 civicrm/api/v3/ContributionPage.php           |    2 +-
 civicrm/api/v3/ContributionRecur.php          |    4 +-
 civicrm/api/v3/CustomGroup.php                |    2 +-
 civicrm/api/v3/Domain.php                     |    2 +-
 civicrm/api/v3/Email.php                      |    2 +-
 civicrm/api/v3/EntityFinancialAccount.php     |    2 +-
 civicrm/api/v3/FinancialAccount.php           |    2 +-
 civicrm/api/v3/FinancialTrxn.php              |    2 +-
 civicrm/api/v3/FinancialType.php              |    2 +-
 civicrm/api/v3/Im.php                         |    2 +-
 civicrm/api/v3/LineItem.php                   |    2 +-
 civicrm/api/v3/Mailing.php                    |    2 +-
 civicrm/api/v3/Mapping.php                    |    2 +-
 civicrm/api/v3/MembershipBlock.php            |    2 +-
 civicrm/api/v3/MembershipStatus.php           |    2 +-
 civicrm/api/v3/OptionValue.php                |    2 +-
 civicrm/api/v3/PaymentProcessor.php           |    2 +-
 civicrm/api/v3/Pledge.php                     |    5 +-
 civicrm/api/v3/PriceField.php                 |    2 +-
 civicrm/api/v3/PriceSet.php                   |    2 +-
 civicrm/api/v3/RecurringEntity.php            |    2 +-
 civicrm/api/v3/ReportTemplate.php             |    1 +
 civicrm/api/v3/UFField.php                    |    2 +-
 civicrm/api/v3/UFGroup.php                    |    2 +-
 civicrm/api/v3/UFMatch.php                    |    2 +-
 civicrm/api/v3/Website.php                    |   17 +-
 .../v3/examples/ContributionPage/Submit.php   |    4 +-
 civicrm/api/v3/utils.php                      |   32 +-
 civicrm/civicrm-version.php                   |    2 +-
 civicrm/composer.json                         |    3 +-
 civicrm/composer.lock                         |   39 +-
 civicrm/css/civicrm.css                       |    5 -
 civicrm/css/crm.designer.css                  |    5 +
 .../CRM/Core/Payment/iATSService.php          |  485 ++++++
 .../CRM/Core/Payment/iATSServiceACHEFT.php    |  334 ++++
 .../CRM/Core/Payment/iATSServiceSWIPE.php     |   76 +
 .../CRM/Core/Payment/iATSServiceUKDD.php      |  341 ++++
 .../CRM/iATS/Form/IATSCustomerLink.php        |  216 +++
 .../Form/IATSCustomerUpdateBillingInfo.php    |   46 +
 .../CRM/iATS/Form/IATSOneTimeCharge.php       |  253 +++
 .../CRM/iATS/Form/IatsSettings.php            |  173 ++
 .../CRM/iATS/Form/Report/Journal.mgd.php      |   26 +
 .../CRM/iATS/Form/Report/Journal.php          |  112 ++
 .../CRM/iATS/Form/Report/Recur.mgd.php        |   26 +
 .../CRM/iATS/Form/Report/Recur.php            |  475 +++++
 .../CRM/iATS/Form/Report/Verify.mgd.php       |   26 +
 .../CRM/iATS/Form/Report/Verify.php           |  137 ++
 .../CRM/iATS/Page/IATSCustomerLink.php        |   55 +
 .../iatspayments/CRM/iATS/Page/iATSAdmin.php  |  104 ++
 .../ext/iatspayments/CRM/iATS/Page/json.php   |   67 +
 .../ext/iatspayments/CRM/iATS/Upgrader.php    |  213 +++
 .../iatspayments/CRM/iATS/Upgrader/Base.php   |  320 ++++
 .../ext/iatspayments/CRM/iATS/iATSService.php |  885 ++++++++++
 civicrm/ext/iatspayments/README.md            |  123 ++
 .../api/v3/IatsPayments/GetJournal.php        |  118 ++
 .../api/v3/IatsPayments/Journal.php           |   79 +
 .../api/v3/IatsPayments/Verifylog.php         |   68 +
 .../v3/Job/Iatsrecurringcontributions.mgd.php |   28 +
 .../api/v3/Job/Iatsrecurringcontributions.php |  465 +++++
 .../api/v3/Job/Iatsreport.mgd.php             |   23 +
 .../iatspayments/api/v3/Job/Iatsreport.php    |  206 +++
 .../api/v3/Job/Iatsverify.mgd.php             |   28 +
 .../iatspayments/api/v3/Job/Iatsverify.php    |  213 +++
 civicrm/ext/iatspayments/composer.json        |    5 +
 .../iatspayments/css/iatspayments_civicrm.css |   15 +
 civicrm/ext/iatspayments/iats.civix.php       |  278 +++
 civicrm/ext/iatspayments/iats.php             | 1524 +++++++++++++++++
 civicrm/ext/iatspayments/info.xml             |   29 +
 .../iatspayments/js/contribute_form_search.js |   25 +
 civicrm/ext/iatspayments/js/dd_acheft.js      |   12 +
 civicrm/ext/iatspayments/js/dd_cad.js         |   58 +
 civicrm/ext/iatspayments/js/dd_uk.js          |  150 ++
 civicrm/ext/iatspayments/js/dpm.js            |  100 ++
 civicrm/ext/iatspayments/js/recur_start.js    |   27 +
 civicrm/ext/iatspayments/js/subscription.js   |   17 +
 .../ext/iatspayments/js/subscription_view.js  |   10 +
 civicrm/ext/iatspayments/js/swipe.js          |   45 +
 civicrm/ext/iatspayments/phpunit.xml.dist     |   18 +
 .../ext/iatspayments/release-notes/1.6.0.md   |   38 +
 .../ext/iatspayments/release-notes/1.6.1.md   |   25 +
 civicrm/ext/iatspayments/sql/install.sql      |  111 ++
 civicrm/ext/iatspayments/sql/uninstall.sql    |    7 +
 .../ext/iatspayments/sql/upgrade_1_3_001.sql  |   15 +
 .../ext/iatspayments/sql/upgrade_1_5_003.sql  |    3 +
 .../ext/iatspayments/sql/upgrade_1_6_001.sql  |    2 +
 .../ext/iatspayments/sql/upgrade_1_6_002.sql  |   31 +
 .../ext/iatspayments/sql/upgrade_1_6_004.sql  |    1 +
 .../templates/CRM/iATS/BillingBlockDPM.tpl    |   14 +
 .../iATS/BillingBlockDirectDebitExtra_CAD.tpl |   36 +
 .../iATS/BillingBlockDirectDebitExtra_GBP.tpl |   94 +
 .../BillingBlockDirectDebitExtra_Other.tpl    |    6 +
 .../iATS/BillingBlockDirectDebitExtra_USD.tpl |   24 +
 .../CRM/iATS/BillingBlockRecurringExtra.tpl   |   10 +
 .../templates/CRM/iATS/BillingBlockSwipe.tpl  |   22 +
 .../templates/CRM/iATS/CDN_cheque_500x.jpg    |  Bin 0 -> 55291 bytes
 .../CRM/iATS/ContributeConfirmExtra_UKDD.tpl  |   41 +
 .../CRM/iATS/ContributeThankYouExtra_UKDD.tpl |   38 +
 .../templates/CRM/iATS/ContributionRecur.tpl  |    9 +
 .../CRM/iATS/Form/IATSCustomerLink.tpl        |   17 +
 .../CRM/iATS/Form/IATSOneTimeCharge.tpl       |   22 +
 .../templates/CRM/iATS/Form/IatsSettings.tpl  |   18 +
 .../CRM/iATS/Form/Report/ACHEFTVerify.tpl     |    2 +
 .../CRM/iATS/Form/Report/Journal.tpl          |    2 +
 .../templates/CRM/iATS/Form/Report/Recur.tpl  |    2 +
 .../templates/CRM/iATS/GBP_cheque_500x.jpg    |  Bin 0 -> 57165 bytes
 .../CRM/iATS/Page/IATSCustomerLink.tpl        |   15 +
 .../templates/CRM/iATS/Page/iATSAdmin.tpl     |   58 +
 .../templates/CRM/iATS/Subscription.tpl       |   28 +
 .../templates/CRM/iATS/USD_check_500x.jpg     |  Bin 0 -> 58859 bytes
 .../iatspayments/templates/CRM/iATS/bacs.png  |  Bin 0 -> 2616 bytes
 .../templates/CRM/iATS/credit_card_reader.jpg |  Bin 0 -> 20631 bytes
 .../templates/CRM/iATS/direct-debit.jpg       |  Bin 0 -> 2372 bytes
 .../iatspayments/templates/CRM/iATS/iats.jpg  |  Bin 0 -> 2753 bytes
 .../templates/CRM/iATS/usb_reader.jpg         |  Bin 0 -> 14396 bytes
 .../tests/phpunit/CRM/iATS/BaseTestClass.php  |  196 +++
 .../phpunit/CRM/iATS/ContributionIATSTest.php |  278 +++
 .../iatspayments/tests/phpunit/bootstrap.php  |   51 +
 civicrm/ext/iatspayments/xml/Menu/iats.xml    |   38 +
 civicrm/install/index.php                     |    7 +
 civicrm/js/crm.backbone.js                    |    4 +-
 civicrm/js/crm.designerapp.js                 |    4 +-
 civicrm/js/jquery/jquery.crmEditable.js       |    3 +-
 civicrm/js/model/crm.uf.js                    |   30 +-
 civicrm/js/view/crm.designer.js               |    6 +-
 civicrm/js/view/crm.profile-selector.js       |    4 +-
 .../backbone/backbone.collectionsubset.js     |    6 +-
 .../backbone/backbone.collectionsubset.min.js |    4 -
 civicrm/packages/composer.json                |    5 +
 civicrm/release-notes.md                      |   11 +
 civicrm/release-notes/4.7.31.md               |  938 ++++++++++
 civicrm/settings/Mailing.setting.php          |   13 +
 civicrm/sql/civicrm.mysql                     |    3 +-
 civicrm/sql/civicrm_data.mysql                |    2 +-
 civicrm/sql/civicrm_generated.mysql           |   68 +-
 .../templates/CRM/Activity/Form/Activity.tpl  |    2 +-
 .../templates/CRM/Admin/Form/Setting/Smtp.hlp |   31 +
 .../templates/CRM/Admin/Form/Setting/Smtp.tpl |   27 +-
 .../templates/CRM/Admin/Page/LocationType.tpl |   20 +-
 civicrm/templates/CRM/Batch/Form/Entry.tpl    |    7 +-
 .../templates/CRM/Campaign/Form/Search.tpl    |   18 +-
 .../CRM/Campaign/Form/Search/Common.tpl       |    3 +-
 .../CRM/Campaign/Form/Search/Petition.tpl     |    2 +-
 .../CRM/Campaign/Form/Search/Survey.tpl       |    2 +-
 .../templates/CRM/Campaign/Form/Selector.tpl  |   22 +-
 .../CRM/Campaign/Form/Task/Interview.tpl      |    3 +-
 .../Case/Form/Activity/ChangeCaseStatus.tpl   |   32 +-
 .../CRM/Case/Form/AddToCaseAsRole.tpl         |    7 +
 .../templates/CRM/Case/Form/CaseFilter.tpl    |   51 +
 civicrm/templates/CRM/Case/Form/Selector.tpl  |    2 +-
 civicrm/templates/CRM/Case/Page/DashBoard.tpl |   22 +-
 .../CRM/Case/Page/DashboardSelector.tpl       |  105 +-
 civicrm/templates/CRM/Contact/Form/Domain.hlp |   15 -
 civicrm/templates/CRM/Contact/Form/Domain.tpl |   14 -
 .../CRM/Contact/Form/Edit/Website.tpl         |    2 +-
 .../CRM/Contact/Form/Inline/Website.tpl       |    6 +-
 .../Form/Search/ContactSearchFields.tpl       |   31 +
 .../Contact/Form/Search/Custom/Proximity.tpl  |    8 +-
 .../templates/CRM/Contact/Form/Task/Email.tpl |    8 +-
 .../Form/AdditionalInfo/AdditionalDetail.tpl  |    2 +-
 .../CRM/Contribute/Form/AdditionalPayment.tpl |    2 +-
 .../CRM/Contribute/Form/Contribution.tpl      |   10 +-
 .../CRM/Contribute/Form/ContributionView.tpl  |    4 +-
 .../templates/CRM/Contribute/Form/Search.tpl  |   24 +-
 .../CRM/Contribute/Form/Search/Common.tpl     |   43 +-
 .../CRM/Contribute/Form/Task/Invoice.hlp      |   10 -
 .../CRM/Contribute/Form/Task/Invoice.tpl      |   13 +-
 .../CRM/Contribute/Form/Task/PDF.tpl          |    5 +-
 .../CRM/Contribute/Form/Task/PDFLetter.tpl    |    4 +
 .../Contribute/Form/UpdateSubscription.tpl    |    7 +-
 .../templates/CRM/Dashlet/Page/AllCases.tpl   |    9 +-
 .../templates/CRM/Dashlet/Page/MyCases.tpl    |    9 +-
 .../templates/CRM/Event/Form/EventFees.tpl    |    4 +-
 .../CRM/Event/Form/ManageEvent/EventInfo.tpl  |    2 +-
 .../CRM/Event/Form/ManageEvent/Location.tpl   |  255 ++-
 .../Event/Form/ParticipantFeeSelection.tpl    |    2 +-
 civicrm/templates/CRM/Event/Form/Search.tpl   |   13 +-
 .../templates/CRM/Event/Form/SearchEvent.tpl  |   12 +-
 civicrm/templates/CRM/Export/Form/Select.tpl  |    2 +-
 civicrm/templates/CRM/Mailing/Form/Upload.tpl |    2 +-
 .../templates/CRM/Member/Form/Membership.hlp  |    9 +
 .../templates/CRM/Member/Form/Membership.tpl  |    4 +-
 .../CRM/Member/Form/MembershipRenewal.tpl     |    2 +-
 .../CRM/Member/Form/MembershipView.tpl        |    8 +
 civicrm/templates/CRM/Member/Form/Search.tpl  |    7 +-
 .../templates/CRM/Member/Form/Selector.tpl    |    8 +-
 civicrm/templates/CRM/Member/Page/Tab.tpl     |   16 +-
 civicrm/templates/CRM/Pledge/Form/Pledge.tpl  |    2 +-
 civicrm/templates/CRM/Pledge/Form/Search.tpl  |    6 +-
 .../CRM/Report/Page/TemplateList.tpl          |    8 +-
 civicrm/templates/CRM/SMS/Form/Group.hlp      |   13 +
 civicrm/templates/CRM/SMS/Form/Group.tpl      |    1 +
 civicrm/templates/CRM/SMS/Form/Upload.hlp     |   13 -
 civicrm/templates/CRM/SMS/Form/Upload.tpl     |    4 -
 civicrm/templates/CRM/Tag/Page/Tag.tpl        |   48 +-
 civicrm/templates/CRM/UF/Form/Fields.tpl      |    2 +-
 civicrm/templates/CRM/UF/Form/Group.tpl       |    4 +
 civicrm/templates/CRM/UF/Page/Group.tpl       |    4 +
 civicrm/templates/CRM/common/paymentBlock.tpl |    2 +-
 civicrm/templates/CRM/common/version.tpl      |    2 +-
 civicrm/vendor/autoload.php                   |    2 +-
 .../vendor/civicrm/civicrm-setup/.gitignore   |    2 +
 civicrm/vendor/civicrm/civicrm-setup/LICENSE  |   19 +
 .../vendor/civicrm/civicrm-setup/README.md    |   38 +
 .../civicrm-setup/civicrm-setup-autoload.php  |   26 +
 .../civicrm/civicrm-setup/composer.json       |   19 +
 .../plugins/blocks/advanced.civi-setup.php    |   44 +
 .../plugins/blocks/advanced.tpl.php           |   59 +
 .../plugins/blocks/components.civi-setup.php  |   37 +
 .../plugins/blocks/components.tpl.php         |   17 +
 .../plugins/blocks/header.civi-setup.php      |   21 +
 .../plugins/blocks/header.tpl.php             |   12 +
 .../plugins/blocks/install.civi-setup.php     |   21 +
 .../plugins/blocks/install.tpl.php            |   10 +
 .../plugins/blocks/l10n.civi-setup.php        |   21 +
 .../civicrm-setup/plugins/blocks/l10n.tpl.php |   38 +
 .../plugins/blocks/opt-in.disabled.php        |   59 +
 .../plugins/blocks/opt-in.tpl.php             |   21 +
 .../blocks/requirements.civi-setup.php        |   30 +
 .../plugins/blocks/requirements.tpl.php       |   52 +
 .../plugins/blocks/sample-data.civi-setup.php |   26 +
 .../plugins/blocks/sample-data.tpl.php        |   22 +
 .../CheckInstalledDatabase.civi-setup.php     |   35 +
 .../CheckInstalledFiles.civi-setup.php        |   24 +
 .../CheckBaseUrl.civi-setup.php               |   30 +
 .../CheckDbWellFormed.civi-setup.php          |   45 +
 .../CoreRequirementsAdapter.civi-setup.php    |   53 +
 .../plugins/common/LogEvents.civi-setup.php   |   44 +
 .../createForm/DefaultForm.civi-setup.php     |   18 +
 .../init/AvailableComponents.civi-setup.php   |   33 +
 .../init/AvailableLangs.civi-setup.php        |   34 +
 .../plugins/init/Backdrop.civi-setup.php      |  100 ++
 .../plugins/init/CivicrmSetup.civi-setup.php  |   20 +
 .../plugins/init/Components.civi-setup.php    |   18 +
 .../plugins/init/Drupal.civi-setup.php        |  134 ++
 .../plugins/init/Example.disabled.php         |   27 +
 .../plugins/init/WordPress.civi-setup.php     |   70 +
 .../BootstrapCivi.civi-setup.php              |   31 +
 .../FlushBackdrop.civi-setup.php              |   53 +
 .../FlushDrupal.civi-setup.php                |   59 +
 .../FlushWordPress.civi-setup.php             |   20 +
 .../InstallComponents.civi-setup.php          |   21 +
 .../InstallExtensions.civi-setup.php          |   23 +
 .../InstallSchema.civi-setup.php              |   68 +
 .../InstallSettings.civi-setup.php            |   19 +
 .../SetLanguage.civi-setup.php                |   18 +
 .../CreateTemplateCompilePath.civi-setup.php  |   44 +
 .../GenerateSiteKey.civi-setup.php            |   18 +
 .../InstallSettingsFile.civi-setup.php        |  107 ++
 .../CleanupDrupalSession.civi-setup.php       |   46 +
 .../UninstallSchema.civi-setup.php            |   35 +
 .../UninstallSettingsFile.civi-setup.php      |   23 +
 .../civicrm/civicrm-setup/res/block_small.png |  Bin 0 -> 8900 bytes
 .../civicrm/civicrm-setup/res/error.html      |   17 +
 .../civicrm-setup/res/finished.Backdrop.php   |   39 +
 .../civicrm-setup/res/finished.Common.php     |    5 +
 .../civicrm-setup/res/finished.Drupal.php     |   33 +
 .../civicrm-setup/res/finished.WordPress.php  |   30 +
 .../civicrm-setup/res/network-save.gif        |  Bin 0 -> 1849 bytes
 .../civicrm/civicrm-setup/res/template.css    |  170 ++
 .../civicrm/civicrm-setup/res/template.php    |   41 +
 .../civicrm/civicrm-setup/src/Setup.php       |  260 +++
 .../civicrm-setup/src/Setup/BasicRunner.php   |   26 +
 .../civicrm-setup/src/Setup/DbUtil.php        |  241 +++
 .../src/Setup/Event/BaseSetupEvent.php        |   35 +
 .../src/Setup/Event/CheckAuthorizedEvent.php  |   30 +
 .../src/Setup/Event/CheckInstalledEvent.php   |   44 +
 .../Setup/Event/CheckRequirementsEvent.php    |   83 +
 .../src/Setup/Event/InitEvent.php             |   10 +
 .../src/Setup/Event/InstallDatabaseEvent.php  |   10 +
 .../src/Setup/Event/InstallFilesEvent.php     |   10 +
 .../Setup/Event/UninstallDatabaseEvent.php    |   10 +
 .../src/Setup/Event/UninstallFilesEvent.php   |   10 +
 .../src/Setup/Exception/InitException.php     |    5 +
 .../src/Setup/Exception/SqlException.php      |    5 +
 .../civicrm-setup/src/Setup/FileUtil.php      |   33 +
 .../civicrm-setup/src/Setup/LocaleUtil.php    |   52 +
 .../civicrm/civicrm-setup/src/Setup/Model.php |  255 +++
 .../src/Setup/UI/Event/BaseUIEvent.php        |   72 +
 .../src/Setup/UI/Event/UIBootEvent.php        |   11 +
 .../src/Setup/UI/Event/UIConstructEvent.php   |   31 +
 .../src/Setup/UI/Event/UIRunEvent.php         |   11 +
 .../src/Setup/UI/SetupController.php          |  288 ++++
 .../src/Setup/UI/SetupControllerInterface.php |   27 +
 civicrm/vendor/composer/autoload_files.php    |    1 +
 civicrm/vendor/composer/autoload_real.php     |   14 +-
 civicrm/vendor/composer/autoload_static.php   |   11 +-
 civicrm/vendor/composer/installed.json        |  161 +-
 .../document-fragment-utf8.html               |    4 -
 .../document-fragment-utf8.xhtml              |   15 -
 .../document-types/document-fragment-utf8.xml |   10 -
 .../document-iso88592-nocharset.html          |   10 -
 .../document-iso88592-nocharset.xhtml         |   32 -
 .../document-iso88592-nocharset.xml           |   17 -
 .../document-types/document-iso88592.html     |   11 -
 .../document-types/document-iso88592.xhtml    |   35 -
 .../document-types/document-iso88592.xml      |   18 -
 .../document-utf8-nocharset.html              |   10 -
 .../document-utf8-nocharset.xhtml             |   33 -
 .../document-utf8-nocharset.xml               |   17 -
 .../document-types/document-utf8.html         |   11 -
 .../document-types/document-utf8.php          |   13 -
 .../document-types/document-utf8.xhtml        |   38 -
 .../document-types/document-utf8.xml          |   18 -
 .../phpquery/test-cases/document_types.php    |  151 --
 .../electrolinux/phpquery/test-cases/run.php  |   11 -
 .../phpquery/test-cases/test.html             |   54 -
 .../phpquery/test-cases/test_2.php            |   59 -
 .../phpquery/test-cases/test_4.php            |  109 --
 .../phpquery/test-cases/test_5.php            |   47 -
 .../phpquery/test-cases/test_ajax.php         |   86 -
 .../phpquery/test-cases/test_ajax_data_1      |    1 -
 .../phpquery/test-cases/test_arrayaccess.php  |   36 -
 .../phpquery/test-cases/test_attr.php         |   26 -
 .../phpquery/test-cases/test_callback.php     |   27 -
 .../phpquery/test-cases/test_charset.php      |   94 -
 .../phpquery/test-cases/test_document.php     |   20 -
 .../phpquery/test-cases/test_events.php       |   49 -
 .../phpquery/test-cases/test_insert.php       |   20 -
 .../phpquery/test-cases/test_manipulation.php |  143 --
 .../phpquery/test-cases/test_manual.php       |  301 ----
 .../phpquery/test-cases/test_multidoc.php     |   37 -
 .../phpquery/test-cases/test_php.php          |   36 -
 .../phpquery/test-cases/test_replace.php      |   32 -
 .../phpquery/test-cases/test_scripts.php      |   38 -
 .../phpquery/test-cases/test_selectors.php    |  302 ----
 .../phpquery/test-cases/test_webbrowser.php   |   83 -
 .../phpquery/test-cases/test_wrap.php         |   75 -
 .../phpquery/test-cases/xpath.php             |   25 -
 civicrm/vendor/marcj/topsort/.gitignore       |    2 +
 665 files changed, 34400 insertions(+), 21390 deletions(-)
 create mode 100644 civicrm/CRM/Case/Form/AddToCaseAsRole.php
 create mode 100644 civicrm/CRM/Core/CodeGen/Util/ArraySyntaxConverter.php
 create mode 100644 civicrm/CRM/Core/Task.php
 create mode 100644 civicrm/CRM/Upgrade/Incremental/sql/4.7.31.mysql.tpl
 delete mode 100644 civicrm/CRM/Utils/Geocode/Yahoo.php
 create mode 100644 civicrm/CRM/Utils/GeocodeProvider.php
 create mode 100644 civicrm/Civi/Codeception/CiviAcceptanceTesterTrait.php
 create mode 100644 civicrm/ext/iatspayments/CRM/Core/Payment/iATSService.php
 create mode 100644 civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceACHEFT.php
 create mode 100644 civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceSWIPE.php
 create mode 100644 civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceUKDD.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerLink.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerUpdateBillingInfo.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/IATSOneTimeCharge.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/IatsSettings.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.mgd.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.mgd.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.mgd.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Page/IATSCustomerLink.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Page/iATSAdmin.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Page/json.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Upgrader.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/Upgrader/Base.php
 create mode 100644 civicrm/ext/iatspayments/CRM/iATS/iATSService.php
 create mode 100644 civicrm/ext/iatspayments/README.md
 create mode 100644 civicrm/ext/iatspayments/api/v3/IatsPayments/GetJournal.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/IatsPayments/Journal.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/IatsPayments/Verifylog.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.mgd.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsreport.mgd.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsreport.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsverify.mgd.php
 create mode 100644 civicrm/ext/iatspayments/api/v3/Job/Iatsverify.php
 create mode 100644 civicrm/ext/iatspayments/composer.json
 create mode 100644 civicrm/ext/iatspayments/css/iatspayments_civicrm.css
 create mode 100644 civicrm/ext/iatspayments/iats.civix.php
 create mode 100644 civicrm/ext/iatspayments/iats.php
 create mode 100644 civicrm/ext/iatspayments/info.xml
 create mode 100644 civicrm/ext/iatspayments/js/contribute_form_search.js
 create mode 100644 civicrm/ext/iatspayments/js/dd_acheft.js
 create mode 100644 civicrm/ext/iatspayments/js/dd_cad.js
 create mode 100644 civicrm/ext/iatspayments/js/dd_uk.js
 create mode 100644 civicrm/ext/iatspayments/js/dpm.js
 create mode 100644 civicrm/ext/iatspayments/js/recur_start.js
 create mode 100644 civicrm/ext/iatspayments/js/subscription.js
 create mode 100644 civicrm/ext/iatspayments/js/subscription_view.js
 create mode 100644 civicrm/ext/iatspayments/js/swipe.js
 create mode 100644 civicrm/ext/iatspayments/phpunit.xml.dist
 create mode 100644 civicrm/ext/iatspayments/release-notes/1.6.0.md
 create mode 100644 civicrm/ext/iatspayments/release-notes/1.6.1.md
 create mode 100644 civicrm/ext/iatspayments/sql/install.sql
 create mode 100644 civicrm/ext/iatspayments/sql/uninstall.sql
 create mode 100644 civicrm/ext/iatspayments/sql/upgrade_1_3_001.sql
 create mode 100644 civicrm/ext/iatspayments/sql/upgrade_1_5_003.sql
 create mode 100644 civicrm/ext/iatspayments/sql/upgrade_1_6_001.sql
 create mode 100644 civicrm/ext/iatspayments/sql/upgrade_1_6_002.sql
 create mode 100644 civicrm/ext/iatspayments/sql/upgrade_1_6_004.sql
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDPM.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_GBP.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_Other.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_USD.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockRecurringExtra.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockSwipe.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/CDN_cheque_500x.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/ContributeConfirmExtra_UKDD.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/ContributeThankYouExtra_UKDD.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/ContributionRecur.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSCustomerLink.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSOneTimeCharge.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/IatsSettings.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/ACHEFTVerify.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Journal.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Recur.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/GBP_cheque_500x.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Page/IATSCustomerLink.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Page/iATSAdmin.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/Subscription.tpl
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/USD_check_500x.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/bacs.png
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/credit_card_reader.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/direct-debit.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/iats.jpg
 create mode 100644 civicrm/ext/iatspayments/templates/CRM/iATS/usb_reader.jpg
 create mode 100644 civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/BaseTestClass.php
 create mode 100644 civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/ContributionIATSTest.php
 create mode 100644 civicrm/ext/iatspayments/tests/phpunit/bootstrap.php
 create mode 100644 civicrm/ext/iatspayments/xml/Menu/iats.xml
 delete mode 100644 civicrm/packages/backbone/backbone.collectionsubset.min.js
 create mode 100644 civicrm/packages/composer.json
 create mode 100644 civicrm/release-notes/4.7.31.md
 create mode 100644 civicrm/templates/CRM/Admin/Form/Setting/Smtp.hlp
 create mode 100644 civicrm/templates/CRM/Case/Form/AddToCaseAsRole.tpl
 create mode 100644 civicrm/templates/CRM/Case/Form/CaseFilter.tpl
 create mode 100644 civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/.gitignore
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/LICENSE
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/README.md
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/civicrm-setup-autoload.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/composer.json
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.disabled.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.tpl.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledDatabase.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledFiles.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckBaseUrl.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckDbWellFormed.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CoreRequirementsAdapter.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/common/LogEvents.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/createForm/DefaultForm.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableComponents.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableLangs.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/Backdrop.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/CivicrmSetup.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/Components.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/Drupal.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/Example.disabled.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/init/WordPress.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/BootstrapCivi.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushBackdrop.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushDrupal.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushWordPress.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallComponents.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallExtensions.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSchema.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSettings.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/SetLanguage.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/CreateTemplateCompilePath.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/GenerateSiteKey.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/InstallSettingsFile.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/CleanupDrupalSession.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/UninstallSchema.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallFiles/UninstallSettingsFile.civi-setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/block_small.png
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/error.html
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/finished.Backdrop.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/finished.Common.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/finished.Drupal.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/finished.WordPress.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/network-save.gif
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/template.css
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/res/template.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/BasicRunner.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/DbUtil.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/BaseSetupEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckAuthorizedEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckInstalledEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckRequirementsEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InitEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallDatabaseEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallFilesEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallDatabaseEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallFilesEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/InitException.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/SqlException.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/FileUtil.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/LocaleUtil.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/Model.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/BaseUIEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIBootEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIConstructEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIRunEvent.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupController.php
 create mode 100644 civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupControllerInterface.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xhtml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xhtml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xhtml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xhtml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xhtml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xml
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/document_types.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/run.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test.html
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_2.php
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_4.php
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_5.php
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax_data_1
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_arrayaccess.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_attr.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_callback.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_charset.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_document.php
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_events.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_insert.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_manipulation.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_manual.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_multidoc.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_php.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_replace.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_scripts.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_selectors.php
 delete mode 100755 civicrm/vendor/electrolinux/phpquery/test-cases/test_webbrowser.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/test_wrap.php
 delete mode 100644 civicrm/vendor/electrolinux/phpquery/test-cases/xpath.php
 create mode 100644 civicrm/vendor/marcj/topsort/.gitignore

diff --git a/civicrm.php b/civicrm.php
index 272877592b..ec5390083b 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /*
 Plugin Name: CiviCRM
 Description: CiviCRM - Growing and Sustaining Relationships
-Version: 4.7.30
+Version: 4.7.31
 Author: CiviCRM LLC
 Author URI: https://civicrm.org/
 Plugin URI: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress
@@ -792,6 +792,36 @@ class CiviCRM_For_WordPress {
    * @return void
    */
   public function run_installer() {
+    $civicrmCore = CIVICRM_PLUGIN_DIR . 'civicrm';
+
+    $setupPaths = array(
+      implode(DIRECTORY_SEPARATOR, ['vendor', 'civicrm', 'civicrm-setup']),
+      implode(DIRECTORY_SEPARATOR, ['packages', 'civicrm-setup',]),
+      implode(DIRECTORY_SEPARATOR, ['setup']),
+    );
+    foreach ($setupPaths as $setupPath) {
+      $loader = implode(DIRECTORY_SEPARATOR, [$civicrmCore, $setupPath, 'civicrm-setup-autoload.php']);
+      if (file_exists($civicrmCore . DIRECTORY_SEPARATOR . '.use-civicrm-setup') && file_exists($loader)) {
+        require_once $loader;
+        require_once implode(DIRECTORY_SEPARATOR, [$civicrmCore, 'CRM', 'Core', 'ClassLoader.php']);
+        CRM_Core_ClassLoader::singleton()->register();
+        \Civi\Setup::assertProtocolCompatibility(1.0);
+        \Civi\Setup::init([
+          'cms' => 'WordPress',
+          'srcPath' => $civicrmCore,
+        ]);
+        $ctrl = \Civi\Setup::instance()->createController()->getCtrl();
+        $ctrl->setUrls(array(
+          'ctrl' => admin_url() . "options-general.php?page=civicrm-install",
+          'res' => CIVICRM_PLUGIN_URL . 'civicrm/' . strtr($setupPath, DIRECTORY_SEPARATOR, '/') . '/res/',
+          'jquery.js' => CIVICRM_PLUGIN_URL . 'civicrm/bower_components/jquery/dist/jquery.min.js',
+          'font-awesome.css' => CIVICRM_PLUGIN_URL . 'civicrm/bower_components/font-awesome/css/font-awesome.min.css',
+          'finished' => admin_url('admin.php?page=CiviCRM&q=civicrm&reset=1'),
+        ));
+        \Civi\Setup\BasicRunner::run($ctrl);
+        return;
+      }
+    }
 
     // uses CIVICRM_PLUGIN_DIR instead of WP_PLUGIN_DIR
     $installFile =
diff --git a/civicrm/CONTRIBUTORS.txt b/civicrm/CONTRIBUTORS.txt
index 448333486b..78815a8d7f 100644
--- a/civicrm/CONTRIBUTORS.txt
+++ b/civicrm/CONTRIBUTORS.txt
@@ -4,109 +4,185 @@ The following people and organizations sponsored and/or contributed new and impr
 Key Contributors and Sponsors for 4.7
 ************************************************
 
-CiviCRM Team - Atif Shaikh, Coleman Watts, David Greenberg, Eileen McNaughton,
-	       Jitendra Purohit, Josh Gowan, Kurund Jalmi,
-               Michael McAndrew, Monish Deb, Rohan Ramesh Katkar, Tim Otten,
-               Yashodha Chaku
+CiviCRM - Coleman Watts, Josh Gowans, Tim Otten
 
-AGH Strategies - Andrew Hunt, Tyrell Cook, Nikki Murray
-Agileware - Justin Freeman, Francis Whittle, Iris Abarquez, Vaibhav Sagar
+Aaron Jones
+Abhikalak Consultants - Amal Sharma
+AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck, Nikki Murray, Tommy
+    Bobo, Tyrell Cook
+Agileware - Alok Patel, Francis Whittle, Iris Abarquez, Justin Freeman, Vaibhav
+    Sagar
+András Molnár
 Andrew West
+AppChecker
 Aputsiaĸ Niels Janussen
-Aron Novak
-Backoffice Thinking
+Arkadiusz Rzadkowolski
+Arun Singh
+ATD Fourth World - Véronique Gratioulet
+Atif Shaikh
+Australian Greens - Seamus Lee
+Awebon Technologies - Karthikeyan Balasubramanian
+BackOffice Thinking - Hassan Farooq
 Barbara Miller
+Black Brick Software - David Hayes
+Blackfly Solutions - Alan Dixon
+British Humanist Association - Andrew West
 Borislav Zlatanov
 Brian Dombrowski
+Brooks Digital - Spencer Brooks
 Caroline Badley
-Christian Wach
+CEDC - Laryn Kragt Bakker
+Chanun Chirattikanon
 Charlie DeTar
 Chirojeugd Vlaanderen - Johan Vervloet
+Chris Burgess
+Christian Wach
 Circle Interactive - Dave Jenkins
-CiviCoop - Jaap Jansma
-CiviDesk - Nicolas Ganivet, Sunil Pawar, Virginie Ganivet
-Compucorp - Guanhuan Chen, Jamie Novick
-CiviCoop - Jaap Jansma
+CiviCoop - Erik Hommel, Jaap Jansma
+CiviDesk - Nicolas Ganivet, Sunil Pawar, Virginie Ganivet, Yashodha Chaku
+CiviFirst - John Kirk
+Community Builders - Dejan Lukic
+Community IT Academy - William Mortada
+CompuCorp - Camilo Rodriguez, Guanhuan Chen, Kacper Warda, Jamie Novick, Michael
+    Devery, Mukesh Ram, Omar Abu Hussein
 Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove
 Dave D
+Dave Greenberg
 David Hayes
+Deepak Srivastava
+Denver DataMan - Steve Kessler
 Dhanesh Dhuri
+Daniël van Vuuren
 Dmitry Smirnov
+Donald Lobo
+E-Dynamics - Franky Van Liedekerke
+Eaiman Shoshi
+Effy Elden
+Electronic Frontier Foundation - Mark Burdett
 Elin Waring
-Emphanos LLC - Allen Shaw
+Emphanos LLC
+Ergon Logic Enterprises - Christopher Gervais
+Erich Schulz
 Esantanche
+Francesc Bassas i Bullich
 Freeform Solutions - Lola Slade, Stephanie Gray, Herb van den Dool
 Future First - David Knoll, John Prescott
-Fuzion NZ - Chris Burgess, Eileen McNaughton, Peter Davis, Torrance Hodgson
+Fuzion - Peter Davis, Torrance Hodgson, Jitendra Purohit
 Giant Rabbit - Peter Haight
-Ginkgo Street Labs - Frank Gomez, Galata Tona, Michael Daryabeygi, Roshani Kothari, Toby Lounsbury
+Ginkgo Street Labs - Frank Gómez, Galata Tona, Michael Daryabeygi, Roshani
+    Kothari
+Gizra - Aron Novak
+Greenleaf Advancement - Guy Iaccarino, Karen Stevenson
+Hartmann Computer Consulting - Peter Hartmann
+iXiam - Luciano Spiegel
 Jake Martin White
+JazzMan
+jernic
+Jérôme Lebleu
+JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb
 Joanne Chester
 Joe McLaughlin
-John P Kirk
+John Kingsnorth
+Joinery - Allen Shaw
+Joost Fock
 Joris
-JMA Consulting - Joe Murray, Pradeep Nayak, Edsel Lopez
-gah242s
-Greenleaf Advancement - Guy Iaccarino
-K Sneed Consulting - Kate Sneed
+Kanzu Code - Carl Andrew Lema
 Kemal Bay
 Ken West
 Kevin Levie
+Kevin Reynen
+Klaas Eikelboom
+Klangsoft - David Reedy Jr
+Kompetenzzentrum Technik-Diversity-Chancengleichheit - Niels Heinemann
 Korlon - Stuart Gaston
-kreynen
-Laryn
-Lesley Evensen (zorgalina)
+K Sneed Consulting - Kate Sneed
+Left Join Labs - Sean Madsen
+Lemniscus - Noah Miller
+Lesley Evensen
 Lighthouse Consulting and Design - Brian Shaughnessy
+Marc Brazeau
 Marty Wright
-Matthew Wire
 Mattias Michaux
 Megaphone Technology Consulting - Jon Goldberg
+Michael Hurwicz
+Mihael Mladenov
+Milton Zurita
+MJW Consulting - Matthew Wire
 Mohit Aggarwal
+MongoDB - A. Jesse Jiryu Davis
+mountev
+myDropWizard - David Snopek
+Nathan Brettell
 National Urban League - Lisa Taliano
+Neuwald Tecnologia da Informação - Arthur Almeida
 Nicholai Burton
 Niels Heinemann
 New York City Council
 New York State Senate - Ken Zalewski
+Noah's Light Foundation - Carlos Loeza
 Northbridge Digital - Oliver Gibson
 Olaf Buddenhagen
+Olivier Hertrich
+Oxfam Germany - Thomas Schüttler
 Palante Technology Cooperative - Joseph Lacey
 Paul Campbell
-Progressive Tech Project - Alice Aguilar, Jamie McClelland
+Pawel Nowak
+PowDevel - Beto Aveiga
+Pradeep Nayak
+Progressive Technology Project - Alice Aguilar, Jamie McClelland
+Randy Tobias
+Redfin Solutions - Chris Wells
 Richard Van Oosterhout
-RocXa
+Rohan Ramesh Katkar
+Romain Thouvenin
+Rupal Javiya
+Samson Alajede
 Saurabh Batra
-Seamus Lee
-Seb35
+Sébastien Beyou
 Semper IT - Karin Gerritsen
+Sharique Ahmed Farooqui
 Shawn Holt
-Skvare - Jeremy Proffitt, Peter Petrik
+Skvare - Jeremy Proffitt, Mark Hanna, Peter Petrik
 Smiling Heart Enterprises - Neil Planchon
+Spry Digital - Ellen Hendricks
 Squiffle Consulting - Aidan Saunders
+Stan Dragnev
 Stephen Palmstrom
 Symbiotic - Mathieu Lutfy, Samuel Vanhove
-Systopia - Björn Endres, Niko Bochan
-Tadpole - Dana Skallman, Kevin Cristiano
+Systopia - Björn Endres, Niko Bochan, Philipp Batroff
+Tadpole Collective - Dana Skallman, Kevin Cristiano
+Team Expansion - Greg Harris
 Tech to the People - Xavier Dutoit
+Third Sector Design - Michael McAndrew
 Thomas Leichtuss
+Thomas Schüttler
 Tim Mallezie
+Timbsoft Technologies - Tunbola Ogunwande
+Tobias Lounsbury
 Torenware Networks - Rob Thorne
-University of Cambridge – Alex Corr, John Kingsnorth
-Veda Consulting - Parvez Saleh, Deepak Srivastava, Kajan
+University of Cambridge – Alex Corr
+Vasantha Kaje
+Veda Consulting - Parvez Saleh, Kajan
+Vedant Rathore
+Vikas Kumar
+Vinu Varshith Sekar
 Wanna Pixel - Nathan Porter, Marisa Porter
-Web Access - Sudha Bisht
-Wikimedia Foundation - Adam Wight
+We Move Europe/Caltha - Tomasz Pietrzkowski
+Web Access - Kurund Jalmi, Sudha Bisht
+Wikimedia Foundation - Adam Wight, Eileen McNaughton, Elliott Eggleston, Maggie
+    Epps
+Will Long
 yurg
-zarandras
 
 ************************************************
 Key Contributors and Sponsors for 4.6
 ************************************************
 
 CiviCRM Team - Atif Shaikh, Coleman Watts, David Greenberg, Donald Lobo,
-               Eileen McNaughton, Jitendra Purohit, Josh Gowan, Kurund Jalmi, 
+               Eileen McNaughton, Jitendra Purohit, Josh Gowan, Kurund Jalmi,
                Michael McAndrew, Monish Deb, Rohan Ramesh Katkar, Tim Otten,
                Yashodha Chaku
-ADG Communications - Steve Binkowski  
+ADG Communications - Steve Binkowski
 AGH Strategies - Andrew Hunt, Jane Hanley, Tommy Bobo, Tyrell Cook
 Agileware - Justin Freeman, Francis Whittle, Iris Abarquez, Vaibhav Sagar
 Alex C
diff --git a/civicrm/CRM/ACL/DAO/ACL.php b/civicrm/CRM/ACL/DAO/ACL.php
index a4e3359c6d..fbb4110cb6 100644
--- a/civicrm/CRM/ACL/DAO/ACL.php
+++ b/civicrm/CRM/ACL/DAO/ACL.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,134 +8,149 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f56c9ad63ff247e68abf2c7c70ff65ba)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_ACL_DAO_ACL constructor.
+ * Database access object for the ACL entity.
  */
 class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_acl';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * ACL Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * Is this ACL entry Allow  (0) or Deny (1) ?
    *
    * @var boolean
    */
   public $deny;
+
   /**
    * Table of the object possessing this ACL entry (Contact, Group, or ACL Group)
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * ID of the object possessing this ACL
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * What operation does this ACL entry control?
    *
    * @var string
    */
   public $operation;
+
   /**
    * The table of the object controlled by this ACL entry
    *
    * @var string
    */
   public $object_table;
+
   /**
    * The ID of the object controlled by this ACL entry
    *
    * @var int unsigned
    */
   public $object_id;
+
   /**
    * If this is a grant/revoke entry, what table are we granting?
    *
    * @var string
    */
   public $acl_table;
+
   /**
    * ID of the ACL or ACL group being granted/revoked
    *
    * @var int unsigned
    */
   public $acl_id;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_acl';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL ID') ,
+          'title' => ts('ACL ID'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ACL Name') ,
+          'title' => ts('ACL Name'),
           'description' => 'ACL Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -167,70 +158,70 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'deny' => array(
+          ],
+        ],
+        'deny' => [
           'name' => 'deny',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Deny ACL?') ,
+          'title' => ts('Deny ACL?'),
           'description' => 'Is this ACL entry Allow  (0) or Deny (1) ?',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Radio',
-          ) ,
-        ) ,
-        'entity_table' => array(
+          ],
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ACL Entity') ,
+          'title' => ts('ACL Entity'),
           'description' => 'Table of the object possessing this ACL entry (Contact, Group, or ACL Group)',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'ID of the object possessing this ACL',
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'operation' => array(
+        ],
+        'operation' => [
           'name' => 'operation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ACL Operation') ,
+          'title' => ts('ACL Operation'),
           'description' => 'What operation does this ACL entry control?',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_ACL_BAO_ACL::operation',
-          )
-        ) ,
-        'object_table' => array(
+          ]
+        ],
+        'object_table' => [
           'name' => 'object_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ACL Object') ,
+          'title' => ts('ACL Object'),
           'description' => 'The table of the object controlled by this ACL entry',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -238,21 +229,21 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'object_id' => array(
+        ],
+        'object_id' => [
           'name' => 'object_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL Object ID') ,
+          'title' => ts('ACL Object ID'),
           'description' => 'The ID of the object controlled by this ACL entry',
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'acl_table' => array(
+        ],
+        'acl_table' => [
           'name' => 'acl_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ACL Table') ,
+          'title' => ts('ACL Table'),
           'description' => 'If this is a grant/revoke entry, what table are we granting?',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -260,63 +251,67 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'acl_id' => array(
+        ],
+        'acl_id' => [
           'name' => 'acl_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL Group ID') ,
+          'title' => ts('ACL Group ID'),
           'description' => 'ID of the ACL or ACL group being granted/revoked',
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('ACL Is Active?') ,
+          'title' => ts('ACL Is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_acl',
           'entity' => 'ACL',
           'bao' => 'CRM_ACL_BAO_ACL',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -324,10 +319,11 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -335,24 +331,30 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_acl_id' => array(
+    $indices = [
+      'index_acl_id' => [
         'name' => 'index_acl_id',
-        'field' => array(
+        'field' => [
           0 => 'acl_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_acl::0::acl_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/ACL/DAO/Cache.php b/civicrm/CRM/ACL/DAO/Cache.php
index 16c1af6755..c505046dc4 100644
--- a/civicrm/CRM/ACL/DAO/Cache.php
+++ b/civicrm/CRM/ACL/DAO/Cache.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,156 +8,168 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f65002b394a3b1f9c18de75751364acc)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_ACL_DAO_Cache constructor.
+ * Database access object for the Cache entity.
  */
 class CRM_ACL_DAO_Cache extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_acl_cache';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign Key to Contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Foreign Key to ACL
    *
    * @var int unsigned
    */
   public $acl_id;
+
   /**
    * When was this cache entry last modified
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_acl_cache';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'acl_id', 'civicrm_acl', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'acl_id', 'civicrm_acl', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Cache ID') ,
+          'title' => ts('Cache ID'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_ACL_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Cache Contact') ,
+          'title' => ts('Cache Contact'),
           'description' => 'Foreign Key to Contact',
           'table_name' => 'civicrm_acl_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_ACL_BAO_Cache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'acl_id' => array(
+        ],
+        'acl_id' => [
           'name' => 'acl_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Cache ACL') ,
+          'title' => ts('Cache ACL'),
           'description' => 'Foreign Key to ACL',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_ACL_BAO_Cache',
           'localizable' => 0,
           'FKClassName' => 'CRM_ACL_DAO_ACL',
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Cache Modified Date') ,
+          'title' => ts('Cache Modified Date'),
           'description' => 'When was this cache entry last modified',
-          'required' => false,
+          'required' => FALSE,
           'table_name' => 'civicrm_acl_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_ACL_BAO_Cache',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -189,10 +177,11 @@ class CRM_ACL_DAO_Cache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_cache', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -200,24 +189,30 @@ class CRM_ACL_DAO_Cache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_cache', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_acl_id' => array(
+    $indices = [
+      'index_acl_id' => [
         'name' => 'index_acl_id',
-        'field' => array(
+        'field' => [
           0 => 'acl_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_acl_cache::0::acl_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/ACL/DAO/EntityRole.php b/civicrm/CRM/ACL/DAO/EntityRole.php
index 5ecda4016a..d807024237 100644
--- a/civicrm/CRM/ACL/DAO/EntityRole.php
+++ b/civicrm/CRM/ACL/DAO/EntityRole.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,172 +8,185 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:b6780a8cf74433fd38a0c7f9e6161986)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_ACL_DAO_EntityRole constructor.
+ * Database access object for the EntityRole entity.
  */
 class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_acl_entity_role';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign Key to ACL Role (which is an option value pair and hence an implicit FK)
    *
    * @var int unsigned
    */
   public $acl_role_id;
+
   /**
    * Table of the object joined to the ACL Role (Contact or Group)
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * ID of the group/contact object being joined
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_acl_entity_role';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity Role') ,
+          'title' => ts('Entity Role'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_entity_role',
           'entity' => 'EntityRole',
           'bao' => 'CRM_ACL_BAO_EntityRole',
           'localizable' => 0,
-        ) ,
-        'acl_role_id' => array(
+        ],
+        'acl_role_id' => [
           'name' => 'acl_role_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL Role ID') ,
+          'title' => ts('ACL Role ID'),
           'description' => 'Foreign Key to ACL Role (which is an option value pair and hence an implicit FK)',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_entity_role',
           'entity' => 'EntityRole',
           'bao' => 'CRM_ACL_BAO_EntityRole',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Table of the object joined to the ACL Role (Contact or Group)',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_acl_entity_role',
           'entity' => 'EntityRole',
           'bao' => 'CRM_ACL_BAO_EntityRole',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL Entity ID') ,
+          'title' => ts('ACL Entity ID'),
           'description' => 'ID of the group/contact object being joined',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_entity_role',
           'entity' => 'EntityRole',
           'bao' => 'CRM_ACL_BAO_EntityRole',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('ACL Entity Role is Active') ,
+          'title' => ts('ACL Entity Role is Active'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_acl_entity_role',
           'entity' => 'EntityRole',
           'bao' => 'CRM_ACL_BAO_EntityRole',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -205,10 +194,11 @@ class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_entity_role', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_entity_role', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -216,33 +206,39 @@ class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_entity_role', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_entity_role', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_role' => array(
+    $indices = [
+      'index_role' => [
         'name' => 'index_role',
-        'field' => array(
+        'field' => [
           0 => 'acl_role_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_acl_entity_role::0::acl_role_id',
-      ) ,
-      'index_entity' => array(
+      ],
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_acl_entity_role::0::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Activity/BAO/Activity.php b/civicrm/CRM/Activity/BAO/Activity.php
index 787a1c955d..28c4f45666 100644
--- a/civicrm/CRM/Activity/BAO/Activity.php
+++ b/civicrm/CRM/Activity/BAO/Activity.php
@@ -596,13 +596,6 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
 
     CRM_Contact_BAO_GroupContactCache::opportunisticCacheFlush();
 
-    if (!empty($params['id'])) {
-      CRM_Utils_Hook::post('edit', 'Activity', $activity->id, $activity);
-    }
-    else {
-      CRM_Utils_Hook::post('create', 'Activity', $activity->id, $activity);
-    }
-
     // if the subject contains a ‘[case #…]’ string, file that activity on the related case (CRM-5916)
     $matches = array();
     $subjectToMatch = CRM_Utils_Array::value('subject', $params);
@@ -626,6 +619,12 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
         self::logActivityAction($activity, "Case details for {$matches[1]} not found while recording an activity on case.");
       }
     }
+    if (!empty($params['id'])) {
+      CRM_Utils_Hook::post('edit', 'Activity', $activity->id, $activity);
+    }
+    else {
+      CRM_Utils_Hook::post('create', 'Activity', $activity->id, $activity);
+    }
 
     return $result;
   }
@@ -2198,7 +2197,8 @@ WHERE      activity.id IN ($activityIds)";
           $subject .= " - {$entityObj->source}";
         }
 
-        return $subject;
+        // Amount and source could exceed max length of subject column.
+        return CRM_Utils_String::ellipsify($subject, 255);
     }
   }
 
diff --git a/civicrm/CRM/Activity/DAO/Activity.php b/civicrm/CRM/Activity/DAO/Activity.php
index d619c2e990..ce006eac72 100644
--- a/civicrm/CRM/Activity/DAO/Activity.php
+++ b/civicrm/CRM/Activity/DAO/Activity.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,359 +8,385 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:dfa63754ef6ea1a9c7148e735dd6ff8a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Activity_DAO_Activity constructor.
+ * Database access object for the Activity entity.
  */
 class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_activity';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique  Other Activity ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.
    *
    * @var int unsigned
    */
   public $source_record_id;
+
   /**
    * FK to civicrm_option_value.id, that has to be valid, registered activity type.
    *
    * @var int unsigned
    */
   public $activity_type_id;
+
   /**
    * The subject/purpose/short description of the activity.
    *
    * @var string
    */
   public $subject;
+
   /**
    * Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.
    *
    * @var datetime
    */
   public $activity_date_time;
+
   /**
    * Planned or actual duration of activity expressed in minutes. Conglomerate of former duration_hours and duration_minutes.
    *
    * @var int unsigned
    */
   public $duration;
+
   /**
    * Location of the activity (optional, open text).
    *
    * @var string
    */
   public $location;
+
   /**
    * Phone ID of the number called (optional - used if an existing phone number is selected).
    *
    * @var int unsigned
    */
   public $phone_id;
+
   /**
    * Phone number in case the number does not exist in the civicrm_phone table.
    *
    * @var string
    */
   public $phone_number;
+
   /**
    * Details about the activity (agenda, notes, etc).
    *
    * @var longtext
    */
   public $details;
+
   /**
    * ID of the status this activity is currently in. Foreign key to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * ID of the priority given to this activity. Foreign key to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $priority_id;
+
   /**
    * Parent meeting ID (if this is a follow-up item). This is not currently implemented
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
    * Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.
    *
    * @var int unsigned
    */
   public $medium_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_auto;
+
   /**
    * FK to Relationship ID
    *
    * @var int unsigned
    */
   public $relationship_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_current_revision;
+
   /**
    * Activity ID of the first activity record in versioning chain.
    *
    * @var int unsigned
    */
   public $original_id;
+
   /**
    * Currently being used to store result id for survey activity, FK to option value.
    *
    * @var string
    */
   public $result;
+
   /**
-   *
    * @var boolean
    */
   public $is_deleted;
+
   /**
    * The campaign for which this activity has been triggered.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Assign a specific level of engagement to this activity. Used for tracking constituents in ladder of engagement.
    *
    * @var int unsigned
    */
   public $engagement_level;
+
   /**
-   *
    * @var int
    */
   public $weight;
+
   /**
    * Activity marked as favorite.
    *
    * @var boolean
    */
   public $is_star;
+
   /**
    * When was the activity was created.
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When was the activity (or closely related entity) was created or modified or deleted.
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_activity';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'phone_id', 'civicrm_phone', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_activity', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'relationship_id', 'civicrm_relationship', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'original_id', 'civicrm_activity', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'phone_id', 'civicrm_phone', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_activity', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'relationship_id', 'civicrm_relationship', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'original_id', 'civicrm_activity', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'activity_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'activity_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity ID') ,
+          'title' => ts('Activity ID'),
           'description' => 'Unique  Other Activity ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_activity.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-        'source_record_id' => array(
+        ],
+        'source_record_id' => [
           'name' => 'source_record_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Source Record') ,
+          'title' => ts('Source Record'),
           'description' => 'Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-        'activity_type_id' => array(
+        ],
+        'activity_type_id' => [
           'name' => 'activity_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity Type ID') ,
+          'title' => ts('Activity Type ID'),
           'description' => 'FK to civicrm_option_value.id, that has to be valid, registered activity type.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_activity.activity_type_id',
           'headerPattern' => '/(activity.)?type(.id$)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'activity_type',
             'optionEditPath' => 'civicrm/admin/options/activity_type',
-          )
-        ) ,
-        'activity_subject' => array(
+          ]
+        ],
+        'activity_subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Subject') ,
+          'title' => ts('Subject'),
           'description' => 'The subject/purpose/short description of the activity.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.subject',
           'headerPattern' => '/(activity.)?subject/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'activity_date_time' => array(
+          ],
+        ],
+        'activity_date_time' => [
           'name' => 'activity_date_time',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Activity Date') ,
+          'title' => ts('Activity Date'),
           'description' => 'Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.activity_date_time',
           'headerPattern' => '/(activity.)?date(.time$)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'activity_duration' => array(
+          ],
+        ],
+        'activity_duration' => [
           'name' => 'duration',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Duration') ,
+          'title' => ts('Duration'),
           'description' => 'Planned or actual duration of activity expressed in minutes. Conglomerate of former duration_hours and duration_minutes.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.duration',
           'headerPattern' => '/(activity.)?duration(s)?$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'activity_location' => array(
+          ],
+        ],
+        'activity_location' => [
           'name' => 'location',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Location') ,
+          'title' => ts('Location'),
           'description' => 'Location of the activity (optional, open text).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.location',
           'headerPattern' => '/(activity.)?location$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'phone_id' => array(
+          ],
+        ],
+        'phone_id' => [
           'name' => 'phone_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone (called) ID') ,
+          'title' => ts('Phone (called) ID'),
           'description' => 'Phone ID of the number called (optional - used if an existing phone number is selected).',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'phone_number' => array(
+          ],
+        ],
+        'phone_number' => [
           'name' => 'phone_number',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Phone (called) Number') ,
+          'title' => ts('Phone (called) Number'),
           'description' => 'Phone number in case the number does not exist in the civicrm_phone table.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -392,126 +394,126 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'activity_details' => array(
+          ],
+        ],
+        'activity_details' => [
           'name' => 'details',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Details') ,
+          'title' => ts('Details'),
           'description' => 'Details about the activity (agenda, notes, etc).',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.details',
           'headerPattern' => '/(activity.)?detail(s)?$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'activity_status_id' => array(
+          ],
+        ],
+        'activity_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity Status') ,
+          'title' => ts('Activity Status'),
           'description' => 'ID of the status this activity is currently in. Foreign key to civicrm_option_value.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.status_id',
           'headerPattern' => '/(activity.)?status(.label$)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'activity_status',
             'optionEditPath' => 'civicrm/admin/options/activity_status',
-          )
-        ) ,
-        'priority_id' => array(
+          ]
+        ],
+        'priority_id' => [
           'name' => 'priority_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Priority') ,
+          'title' => ts('Priority'),
           'description' => 'ID of the priority given to this activity. Foreign key to civicrm_option_value.',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'priority',
             'optionEditPath' => 'civicrm/admin/options/priority',
-          )
-        ) ,
-        'parent_id' => array(
+          ]
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent Activity Id') ,
+          'title' => ts('Parent Activity Id'),
           'description' => 'Parent meeting ID (if this is a follow-up item). This is not currently implemented',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Activity_DAO_Activity',
-        ) ,
-        'activity_is_test' => array(
+        ],
+        'activity_is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_activity.is_test',
           'headerPattern' => '/(is.)?test(.activity)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'activity_medium_id' => array(
+          ],
+        ],
+        'activity_medium_id' => [
           'name' => 'medium_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity Medium') ,
+          'title' => ts('Activity Medium'),
           'description' => 'Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.',
           'default' => 'NULL',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'encounter_medium',
             'optionEditPath' => 'civicrm/admin/options/encounter_medium',
-          )
-        ) ,
-        'is_auto' => array(
+          ]
+        ],
+        'is_auto' => [
           'name' => 'is_auto',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Auto') ,
+          'title' => ts('Auto'),
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-        'relationship_id' => array(
+        ],
+        'relationship_id' => [
           'name' => 'relationship_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship Id') ,
+          'title' => ts('Relationship Id'),
           'description' => 'FK to Relationship ID',
           'default' => 'NULL',
           'table_name' => 'civicrm_activity',
@@ -519,40 +521,40 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Relationship',
-        ) ,
-        'is_current_revision' => array(
+        ],
+        'is_current_revision' => [
           'name' => 'is_current_revision',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is this activity a current revision in versioning chain?') ,
-          'import' => true,
+          'title' => ts('Is this activity a current revision in versioning chain?'),
+          'import' => TRUE,
           'where' => 'civicrm_activity.is_current_revision',
           'headerPattern' => '/(is.)?(current.)?(revision|version(ing)?)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'original_id' => array(
+          ],
+        ],
+        'original_id' => [
           'name' => 'original_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Original Activity ID ') ,
+          'title' => ts('Original Activity ID '),
           'description' => 'Activity ID of the first activity record in versioning chain.',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Activity_DAO_Activity',
-        ) ,
-        'activity_result' => array(
+        ],
+        'activity_result' => [
           'name' => 'result',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Result') ,
+          'title' => ts('Result'),
           'description' => 'Currently being used to store result id for survey activity, FK to option value.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -560,107 +562,107 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'activity_is_deleted' => array(
+          ],
+        ],
+        'activity_is_deleted' => [
           'name' => 'is_deleted',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Activity is in the Trash') ,
-          'import' => true,
+          'title' => ts('Activity is in the Trash'),
+          'import' => TRUE,
           'where' => 'civicrm_activity.is_deleted',
           'headerPattern' => '/(activity.)?(trash|deleted)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'activity_campaign_id' => array(
+          ],
+        ],
+        'activity_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this activity has been triggered.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'activity_engagement_level' => array(
+          ]
+        ],
+        'activity_engagement_level' => [
           'name' => 'engagement_level',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Engagement Index') ,
+          'title' => ts('Engagement Index'),
           'description' => 'Assign a specific level of engagement to this activity. Used for tracking constituents in ladder of engagement.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.engagement_level',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'engagement_index',
             'optionEditPath' => 'civicrm/admin/options/engagement_index',
-          )
-        ) ,
-        'weight' => array(
+          ]
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_star' => array(
+          ],
+        ],
+        'is_star' => [
           'name' => 'is_star',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Starred') ,
+          'title' => ts('Is Starred'),
           'description' => 'Activity marked as favorite.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_activity.is_star',
           'headerPattern' => '/(activity.)?(star|favorite)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-        'activity_created_date' => array(
+        ],
+        'activity_created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'When was the activity was created.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_activity.created_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -669,14 +671,14 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-        'activity_modified_date' => array(
+        ],
+        'activity_modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When was the activity (or closely related entity) was created or modified or deleted.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_activity.modified_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -685,40 +687,44 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -726,10 +732,11 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'activity', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'activity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -737,72 +744,78 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'activity', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'activity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_source_record_id' => array(
+    $indices = [
+      'UI_source_record_id' => [
         'name' => 'UI_source_record_id',
-        'field' => array(
+        'field' => [
           0 => 'source_record_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::source_record_id',
-      ) ,
-      'UI_activity_type_id' => array(
+      ],
+      'UI_activity_type_id' => [
         'name' => 'UI_activity_type_id',
-        'field' => array(
+        'field' => [
           0 => 'activity_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::activity_type_id',
-      ) ,
-      'index_activity_date_time' => array(
+      ],
+      'index_activity_date_time' => [
         'name' => 'index_activity_date_time',
-        'field' => array(
+        'field' => [
           0 => 'activity_date_time',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::activity_date_time',
-      ) ,
-      'index_status_id' => array(
+      ],
+      'index_status_id' => [
         'name' => 'index_status_id',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::status_id',
-      ) ,
-      'index_medium_id' => array(
+      ],
+      'index_medium_id' => [
         'name' => 'index_medium_id',
-        'field' => array(
+        'field' => [
           0 => 'medium_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::medium_id',
-      ) ,
-      'index_is_current_revision' => array(
+      ],
+      'index_is_current_revision' => [
         'name' => 'index_is_current_revision',
-        'field' => array(
+        'field' => [
           0 => 'is_current_revision',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::is_current_revision',
-      ) ,
-      'index_is_deleted' => array(
+      ],
+      'index_is_deleted' => [
         'name' => 'index_is_deleted',
-        'field' => array(
+        'field' => [
           0 => 'is_deleted',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::is_deleted',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Activity/DAO/ActivityContact.php b/civicrm/CRM/Activity/DAO/ActivityContact.php
index bb95eb6fdd..77618bafb4 100644
--- a/civicrm/CRM/Activity/DAO/ActivityContact.php
+++ b/civicrm/CRM/Activity/DAO/ActivityContact.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,168 +8,180 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7a410e20f48318deeb83f3dd1900983a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Activity_DAO_ActivityContact constructor.
+ * Database access object for the ActivityContact entity.
  */
 class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_activity_contact';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Activity contact id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign key to the activity for this record.
    *
    * @var int unsigned
    */
   public $activity_id;
+
   /**
    * Foreign key to the contact for this record.
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Nature of this contact's role in the activity: 1 assignee, 2 creator, 3 focus or target.
    *
    * @var int unsigned
    */
   public $record_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_activity_contact';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'activity_id', 'civicrm_activity', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'activity_id', 'civicrm_activity', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity Contact ID') ,
+          'title' => ts('Activity Contact ID'),
           'description' => 'Activity contact id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_activity_contact',
           'entity' => 'ActivityContact',
           'bao' => 'CRM_Activity_BAO_ActivityContact',
           'localizable' => 0,
-        ) ,
-        'activity_id' => array(
+        ],
+        'activity_id' => [
           'name' => 'activity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity ID') ,
+          'title' => ts('Activity ID'),
           'description' => 'Foreign key to the activity for this record.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_activity_contact',
           'entity' => 'ActivityContact',
           'bao' => 'CRM_Activity_BAO_ActivityContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Activity_DAO_Activity',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID (match to contact)') ,
+          'title' => ts('Contact ID (match to contact)'),
           'description' => 'Foreign key to the contact for this record.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_activity_contact.contact_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_activity_contact',
           'entity' => 'ActivityContact',
           'bao' => 'CRM_Activity_BAO_ActivityContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'record_type_id' => array(
+        ],
+        'record_type_id' => [
           'name' => 'record_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Record Type ID') ,
+          'title' => ts('Record Type ID'),
           'description' => 'Nature of this contact\'s role in the activity: 1 assignee, 2 creator, 3 focus or target.',
           'table_name' => 'civicrm_activity_contact',
           'entity' => 'ActivityContact',
           'bao' => 'CRM_Activity_BAO_ActivityContact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'activity_contacts',
             'optionEditPath' => 'civicrm/admin/options/activity_contacts',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -201,10 +189,11 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'activity_contact', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'activity_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -212,36 +201,42 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'activity_contact', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'activity_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_activity_contact' => array(
+    $indices = [
+      'UI_activity_contact' => [
         'name' => 'UI_activity_contact',
-        'field' => array(
+        'field' => [
           0 => 'contact_id',
           1 => 'activity_id',
           2 => 'record_type_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_activity_contact::1::contact_id::activity_id::record_type_id',
-      ) ,
-      'index_record_type' => array(
+      ],
+      'index_record_type' => [
         'name' => 'index_record_type',
-        'field' => array(
+        'field' => [
           0 => 'activity_id',
           1 => 'record_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_activity_contact::0::activity_id::record_type_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Activity/Import/Form/MapField.php b/civicrm/CRM/Activity/Import/Form/MapField.php
index 752e4a9607..488970061a 100644
--- a/civicrm/CRM/Activity/Import/Form/MapField.php
+++ b/civicrm/CRM/Activity/Import/Form/MapField.php
@@ -339,8 +339,7 @@ class CRM_Activity_Import_Form_MapField extends CRM_Import_Form_MapField {
         $errors['saveMappingName'] = ts('Name is required to save Import Mapping');
       }
       else {
-        $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', 'Import Activity', 'name');
-        if (CRM_Core_BAO_Mapping::checkMapping($nameField, $mappingTypeId)) {
+        if (CRM_Core_BAO_Mapping::checkMapping($nameField, CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Activity'))) {
           $errors['saveMappingName'] = ts('Duplicate Import Mapping Name');
         }
       }
@@ -441,10 +440,7 @@ class CRM_Activity_Import_Form_MapField extends CRM_Import_Form_MapField {
       $mappingParams = array(
         'name' => $params['saveMappingName'],
         'description' => $params['saveMappingDesc'],
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Import Activity',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Activity'),
       );
       $saveMapping = CRM_Core_BAO_Mapping::add($mappingParams);
 
diff --git a/civicrm/CRM/Activity/StateMachine/Search.php b/civicrm/CRM/Activity/StateMachine/Search.php
index 6aa81146fe..992a79986b 100644
--- a/civicrm/CRM/Activity/StateMachine/Search.php
+++ b/civicrm/CRM/Activity/StateMachine/Search.php
@@ -76,7 +76,7 @@ class CRM_Activity_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Activity/Task.php b/civicrm/CRM/Activity/Task.php
index dbb2e6307d..f291090898 100644
--- a/civicrm/CRM/Activity/Task.php
+++ b/civicrm/CRM/Activity/Task.php
@@ -93,7 +93,10 @@ class CRM_Activity_Task {
           'result' => FALSE,
         ),
         5 => array(
-          'title' => ts('Email - send now'),
+          'title' => ts('Email - send now (to %1 or less)', array(
+            1 => Civi::settings()
+              ->get('simple_mail_limit'),
+          )),
           'class' => array(
             'CRM_Activity_Form_Task_PickOption',
             'CRM_Activity_Form_Task_Email',
diff --git a/civicrm/CRM/Admin/Form/PaymentProcessor.php b/civicrm/CRM/Admin/Form/PaymentProcessor.php
index 64fd697ea8..061e6fff06 100644
--- a/civicrm/CRM/Admin/Form/PaymentProcessor.php
+++ b/civicrm/CRM/Admin/Form/PaymentProcessor.php
@@ -41,7 +41,12 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
 
   protected $_fields = NULL;
 
-  protected $_ppDAO;
+  protected $_paymentProcessorDAO;
+
+  /**
+   * @var int $_paymentProcessorType Payment processor Type ID
+   */
+  protected $_paymentProcessorType;
 
   /**
    * Get the name of the base entity being edited.
@@ -56,30 +61,30 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
     parent::preProcess();
 
     if ($this->_id) {
-      $this->_ppType = CRM_Utils_Request::retrieve('pp', 'String', $this, FALSE, NULL);
-      if (!$this->_ppType) {
-        $this->_ppType = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
+      $this->_paymentProcessorType = CRM_Utils_Request::retrieve('pp', 'String', $this, FALSE, NULL);
+      if (!$this->_paymentProcessorType) {
+        $this->_paymentProcessorType = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
           $this->_id,
           'payment_processor_type_id'
         );
       }
-      $this->set('pp', $this->_ppType);
+      $this->set('pp', $this->_paymentProcessorType);
     }
     else {
-      $this->_ppType = CRM_Utils_Request::retrieve('pp', 'String', $this, TRUE, NULL);
+      $this->_paymentProcessorType = CRM_Utils_Request::retrieve('pp', 'String', $this, TRUE, NULL);
     }
 
-    $this->assign('ppType', $this->_ppType);
+    $this->assign('ppType', $this->_paymentProcessorType);
     $ppTypeName = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessorType',
-      $this->_ppType,
+      $this->_paymentProcessorType,
       'name'
     );
     $this->assign('ppTypeName', $ppTypeName);
 
-    $this->_ppDAO = new CRM_Financial_DAO_PaymentProcessorType();
-    $this->_ppDAO->id = $this->_ppType;
+    $this->_paymentProcessorDAO = new CRM_Financial_DAO_PaymentProcessorType();
+    $this->_paymentProcessorDAO->id = $this->_paymentProcessorType;
 
-    $this->_ppDAO->find(TRUE);
+    $this->_paymentProcessorDAO->find(TRUE);
 
     if ($this->_id) {
       $refreshURL = CRM_Utils_System::url('civicrm/admin/paymentProcessor',
@@ -101,26 +106,27 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       $refreshURL .= "&civicrmDestination=$destination";
     }
 
+    $this->refreshURL = $refreshURL;
     $this->assign('refreshURL', $refreshURL);
 
-    $this->assign('is_recur', $this->_ppDAO->is_recur);
+    $this->assign('is_recur', $this->_paymentProcessorDAO->is_recur);
 
     $this->_fields = array(
       array(
         'name' => 'user_name',
-        'label' => $this->_ppDAO->user_name_label,
+        'label' => $this->_paymentProcessorDAO->user_name_label,
       ),
       array(
         'name' => 'password',
-        'label' => $this->_ppDAO->password_label,
+        'label' => $this->_paymentProcessorDAO->password_label,
       ),
       array(
         'name' => 'signature',
-        'label' => $this->_ppDAO->signature_label,
+        'label' => $this->_paymentProcessorDAO->signature_label,
       ),
       array(
         'name' => 'subject',
-        'label' => $this->_ppDAO->subject_label,
+        'label' => $this->_paymentProcessorDAO->subject_label,
       ),
       array(
         'name' => 'url_site',
@@ -130,7 +136,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       ),
     );
 
-    if ($this->_ppDAO->is_recur) {
+    if ($this->_paymentProcessorDAO->is_recur) {
       $this->_fields[] = array(
         'name' => 'url_recur',
         'label' => ts('Recurring Payments URL'),
@@ -139,7 +145,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       );
     }
 
-    if (!empty($this->_ppDAO->url_button_default)) {
+    if (!empty($this->_paymentProcessorDAO->url_button_default)) {
       $this->_fields[] = array(
         'name' => 'url_button',
         'label' => ts('Button URL'),
@@ -148,7 +154,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       );
     }
 
-    if (!empty($this->_ppDAO->url_api_default)) {
+    if (!empty($this->_paymentProcessorDAO->url_api_default)) {
       $this->_fields[] = array(
         'name' => 'url_api',
         'label' => ts('API URL'),
@@ -187,8 +193,11 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       $attributes['description']
     );
 
-    $types = CRM_Core_PseudoConstant::paymentProcessorType();
-    $this->add('select', 'payment_processor_type_id', ts('Payment Processor Type'), $types, TRUE,
+    $this->add('select',
+      'payment_processor_type_id',
+      ts('Payment Processor Type'),
+      CRM_Financial_BAO_PaymentProcessor::buildOptions('payment_processor_type_id'),
+      TRUE,
       array('onchange' => "reload(true)")
     );
 
@@ -305,18 +314,18 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
 
     if (!$this->_id) {
       $defaults['is_active'] = $defaults['is_default'] = 1;
-      $defaults['url_site'] = $this->_ppDAO->url_site_default;
-      $defaults['url_api'] = $this->_ppDAO->url_api_default;
-      $defaults['url_recur'] = $this->_ppDAO->url_recur_default;
-      $defaults['url_button'] = $this->_ppDAO->url_button_default;
-      $defaults['test_url_site'] = $this->_ppDAO->url_site_test_default;
-      $defaults['test_url_api'] = $this->_ppDAO->url_api_test_default;
-      $defaults['test_url_recur'] = $this->_ppDAO->url_recur_test_default;
-      $defaults['test_url_button'] = $this->_ppDAO->url_button_test_default;
-      $defaults['payment_instrument_id'] = $this->_ppDAO->payment_instrument_id;
+      $defaults['url_site'] = $this->_paymentProcessorDAO->url_site_default;
+      $defaults['url_api'] = $this->_paymentProcessorDAO->url_api_default;
+      $defaults['url_recur'] = $this->_paymentProcessorDAO->url_recur_default;
+      $defaults['url_button'] = $this->_paymentProcessorDAO->url_button_default;
+      $defaults['test_url_site'] = $this->_paymentProcessorDAO->url_site_test_default;
+      $defaults['test_url_api'] = $this->_paymentProcessorDAO->url_api_test_default;
+      $defaults['test_url_recur'] = $this->_paymentProcessorDAO->url_recur_test_default;
+      $defaults['test_url_button'] = $this->_paymentProcessorDAO->url_button_test_default;
+      $defaults['payment_instrument_id'] = $this->_paymentProcessorDAO->payment_instrument_id;
       // When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
-      if ($this->_ppType) {
-        $defaults['payment_processor_type_id'] = $this->_ppType;
+      if ($this->_paymentProcessorType) {
+        $defaults['payment_processor_type_id'] = $this->_paymentProcessorType;
       }
       return $defaults;
     }
@@ -330,10 +339,16 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
     }
 
     CRM_Core_DAO::storeValues($dao, $defaults);
-    // When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
-    if ($this->_ppType) {
-      $defaults['payment_processor_type_id'] = $this->_ppType;
+    // If payment processor ID does not exist, $paymentProcessorName will be FALSE
+    $paymentProcessorName = CRM_Core_PseudoConstant::getName('CRM_Financial_BAO_PaymentProcessor', 'payment_processor_type_id', $this->_paymentProcessorType);
+    if ($this->_paymentProcessorType && $paymentProcessorName) {
+      // When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
+      $defaults['payment_processor_type_id'] = $this->_paymentProcessorType;
+    }
+    else {
+      CRM_Core_Session::setStatus('Payment Processor Type (ID=' . $this->_paymentProcessorType . ') not found. Did you disable the payment processor extension?', 'Missing Payment Processor', 'alert');
     }
+
     $cards = json_decode(CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
           $this->_id,
           'accepted_credit_cards'
@@ -383,9 +398,26 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       CRM_Core_DAO::executeQuery($query);
     }
 
+    if ($this->_paymentProcessorType !== $values['payment_processor_type_id']) {
+      // If we changed the payment processor type, need to update the object as well
+      $this->_paymentProcessorType = $values['payment_processor_type_id'];
+      $this->_paymentProcessorDAO = new CRM_Financial_DAO_PaymentProcessorType();
+      $this->_paymentProcessorDAO->id = $values['payment_processor_type_id'];
+      $this->_paymentProcessorDAO->find(TRUE);
+    }
     $this->updatePaymentProcessor($values, $domainID, FALSE);
     $this->updatePaymentProcessor($values, $domainID, TRUE);
-    CRM_Core_Session::setStatus(ts('Payment processor %1 has been saved.', array(1 => "<em>{$values['name']}</em>")), ts('Saved'), 'success');
+
+    $processor = civicrm_api3('payment_processor', 'getsingle', array('name' => $values['name'], 'is_test' => 0));
+    $errors = Civi\Payment\System::singleton()->checkProcessorConfig($processor);
+    if ($errors) {
+      CRM_Core_Session::setStatus($errors, 'Payment processor configuration invalid', 'error');
+      Civi::log()->error('Payment processor configuration invalid: ' . $errors);
+      CRM_Core_Session::singleton()->pushUserContext($this->refreshURL);
+    }
+    else {
+      CRM_Core_Session::setStatus(ts('Payment processor %1 has been saved.', array(1 => "<em>{$values['name']}</em>")), ts('Saved'), 'success');
+    }
   }
 
   /**
@@ -421,11 +453,11 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
       'is_test' => $test,
       'is_active' => 0,
       'is_default' => 0,
-      'is_recur' => $this->_ppDAO->is_recur,
-      'billing_mode' => $this->_ppDAO->billing_mode,
-      'class_name' => $this->_ppDAO->class_name,
-      'payment_type' => $this->_ppDAO->payment_type,
-      'payment_instrument_id' => $this->_ppDAO->payment_instrument_id,
+      'is_recur' => $this->_paymentProcessorDAO->is_recur,
+      'billing_mode' => $this->_paymentProcessorDAO->billing_mode,
+      'class_name' => $this->_paymentProcessorDAO->class_name,
+      'payment_type' => $this->_paymentProcessorDAO->payment_type,
+      'payment_instrument_id' => $this->_paymentProcessorDAO->payment_instrument_id,
       'financial_account_id' => $values['financial_account_id'],
       'accepted_credit_cards' => $creditCards,
     ), $values);
diff --git a/civicrm/CRM/Admin/Form/Setting/Smtp.php b/civicrm/CRM/Admin/Form/Setting/Smtp.php
index 84c8728287..4bfa646424 100644
--- a/civicrm/CRM/Admin/Form/Setting/Smtp.php
+++ b/civicrm/CRM/Admin/Form/Setting/Smtp.php
@@ -52,6 +52,7 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting {
     $this->addRadio('outBound_option', ts('Select Mailer'), $outBoundOption);
 
     CRM_Utils_System::setTitle(ts('Settings - Outbound Mail'));
+    $this->add('checkbox', 'allow_mail_from_logged_in_contact', ts('Allow Mail to be sent from logged in contact\'s email address'));
     $this->add('text', 'sendmail_path', ts('Sendmail Path'));
     $this->add('text', 'sendmail_args', ts('Sendmail Argument'));
     $this->add('text', 'smtpServer', ts('SMTP Server'));
@@ -79,6 +80,9 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting {
 
     $formValues = $this->controller->exportValues($this->_name);
 
+    Civi::settings()->set('allow_mail_from_logged_in_contact', (!empty($formValues['allow_mail_from_logged_in_contact'])));
+    unset($formValues['allow_mail_from_logged_in_contact']);
+
     $buttonName = $this->controller->getButtonName();
     // check if test button
     if ($buttonName == $this->_testButtonName) {
@@ -259,6 +263,7 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting {
         }
       }
     }
+    $this->_defaults['allow_mail_from_logged_in_contact'] = Civi::settings()->get('allow_mail_from_logged_in_contact');
     return $this->_defaults;
   }
 
diff --git a/civicrm/CRM/Admin/Page/AJAX.php b/civicrm/CRM/Admin/Page/AJAX.php
index 6a326c5904..3b1d779f82 100644
--- a/civicrm/CRM/Admin/Page/AJAX.php
+++ b/civicrm/CRM/Admin/Page/AJAX.php
@@ -305,26 +305,31 @@ class CRM_Admin_Page_AJAX {
     $substring = CRM_Utils_Type::escape(CRM_Utils_Array::value('str', $_GET), 'String');
     $result = array();
 
-    $whereClauses = array(
-      'is_tagset <> 1',
-      $parent ? "parent_id = $parent" : 'parent_id IS NULL',
-    );
+    $whereClauses = array('is_tagset <> 1');
+    $orderColumn = 'name';
 
     // fetch all child tags in Array('parent_tag' => array('child_tag_1', 'child_tag_2', ...)) format
     $childTagIDs = CRM_Core_BAO_Tag::getChildTags($substring);
     $parentIDs = array_keys($childTagIDs);
 
-    if ($substring) {
+    if ($parent) {
+      $whereClauses[] = "parent_id = $parent";
+    }
+    elseif ($substring) {
       $whereClauses['substring'] = " name LIKE '%$substring%' ";
       if (!empty($parentIDs)) {
-        $whereClauses['substring'] = sprintf("( %s OR id IN (%s) )", $whereClauses['substring'], implode(',', $parentIDs));
+        $whereClauses['substring'] = sprintf(" %s OR id IN (%s) ", $whereClauses['substring'], implode(',', $parentIDs));
       }
+      $orderColumn = 'id';
+    }
+    else {
+      $whereClauses[] = "parent_id IS NULL";
     }
 
     $dao = CRM_Utils_SQL_Select::from('civicrm_tag')
             ->where($whereClauses)
             ->groupBy('id')
-            ->orderBy('name')
+            ->orderBy($orderColumn)
             ->execute();
 
     while ($dao->fetch()) {
@@ -369,6 +374,10 @@ class CRM_Admin_Page_AJAX {
       }
     }
 
+    if ($substring) {
+      $result = array_values(array_unique($result));
+    }
+
     if (!empty($_REQUEST['is_unit_test'])) {
       return $result;
     }
diff --git a/civicrm/CRM/Batch/BAO/Batch.php b/civicrm/CRM/Batch/BAO/Batch.php
index 47901523d3..cbe84d0698 100644
--- a/civicrm/CRM/Batch/BAO/Batch.php
+++ b/civicrm/CRM/Batch/BAO/Batch.php
@@ -594,8 +594,10 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
    *   Associated array of batch ids.
    * @param string $exportFormat
    *   Export format.
+   * @param bool $downloadFile
+   *   Download export file?.
    */
-  public static function exportFinancialBatch($batchIds, $exportFormat) {
+  public static function exportFinancialBatch($batchIds, $exportFormat, $downloadFile) {
     if (empty($batchIds)) {
       CRM_Core_Error::fatal(ts('No batches were selected.'));
       return;
@@ -615,6 +617,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
       CRM_Core_Error::fatal("Could not locate exporter: $exporterClass");
     }
     $export = array();
+    $exporter->_isDownloadFile = $downloadFile;
     foreach ($batchIds as $batchId) {
       // export only batches whose status is set to Exported.
       $result = civicrm_api3('Batch', 'getcount', array(
diff --git a/civicrm/CRM/Batch/DAO/Batch.php b/civicrm/CRM/Batch/DAO/Batch.php
index 9adce55180..fa9a16a014 100644
--- a/civicrm/CRM/Batch/DAO/Batch.php
+++ b/civicrm/CRM/Batch/DAO/Batch.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,171 +8,191 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a9d49cd47b4a388ca88aa2af363f952d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Batch_DAO_Batch constructor.
+ * Database access object for the Batch entity.
  */
 class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_batch';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique Address ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Variable name/programmatic handle for this batch.
    *
    * @var string
    */
   public $name;
+
   /**
    * Friendly Name.
    *
    * @var string
    */
   public $title;
+
   /**
    * Description of this batch set.
    *
    * @var text
    */
   public $description;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * When was this item created
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $modified_id;
+
   /**
    * When was this item created
    *
    * @var datetime
    */
   public $modified_date;
+
   /**
    * FK to Saved Search ID
    *
    * @var int unsigned
    */
   public $saved_search_id;
+
   /**
    * fk to Batch Status options in civicrm_option_values
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * fk to Batch Type options in civicrm_option_values
    *
    * @var int unsigned
    */
   public $type_id;
+
   /**
    * fk to Batch mode options in civicrm_option_values
    *
    * @var int unsigned
    */
   public $mode_id;
+
   /**
    * Total amount for this batch.
    *
    * @var float
    */
   public $total;
+
   /**
    * Number of items in a batch.
    *
    * @var int unsigned
    */
   public $item_count;
+
   /**
    * fk to Payment Instrument options in civicrm_option_values
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
-   *
    * @var datetime
    */
   public $exported_date;
+
   /**
    * cache entered data
    *
    * @var longtext
    */
   public $data;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_batch';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'modified_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'saved_search_id', 'civicrm_saved_search', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'saved_search_id', 'civicrm_saved_search', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch ID') ,
+          'title' => ts('Batch ID'),
           'description' => 'Unique Address ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Batch Name') ,
+          'title' => ts('Batch Name'),
           'description' => 'Variable name/programmatic handle for this batch.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -204,14 +200,14 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'title' => array(
+          ],
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Batch Title') ,
+          'title' => ts('Batch Title'),
           'description' => 'Friendly Name.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -219,14 +215,14 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Batch Description') ,
+          'title' => ts('Batch Description'),
           'description' => 'Description of this batch set.',
           'rows' => 4,
           'cols' => 80,
@@ -234,220 +230,224 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'created_id' => array(
+          ],
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Created By') ,
+          'title' => ts('Batch Created By'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Batch Created Date') ,
+          'title' => ts('Batch Created Date'),
           'description' => 'When was this item created',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'modified_id' => array(
+          ],
+        ],
+        'modified_id' => [
           'name' => 'modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Modified By') ,
+          'title' => ts('Batch Modified By'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Batch Modified Date') ,
+          'title' => ts('Batch Modified Date'),
           'description' => 'When was this item created',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-        ) ,
-        'saved_search_id' => array(
+        ],
+        'saved_search_id' => [
           'name' => 'saved_search_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Smart Group') ,
+          'title' => ts('Batch Smart Group'),
           'description' => 'FK to Saved Search ID',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_SavedSearch',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'status_id' => array(
+          ],
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Status') ,
+          'title' => ts('Batch Status'),
           'description' => 'fk to Batch Status options in civicrm_option_values',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'batch_status',
             'optionEditPath' => 'civicrm/admin/options/batch_status',
-          )
-        ) ,
-        'type_id' => array(
+          ]
+        ],
+        'type_id' => [
           'name' => 'type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Type') ,
+          'title' => ts('Batch Type'),
           'description' => 'fk to Batch Type options in civicrm_option_values',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'batch_type',
             'optionEditPath' => 'civicrm/admin/options/batch_type',
-          )
-        ) ,
-        'mode_id' => array(
+          ]
+        ],
+        'mode_id' => [
           'name' => 'mode_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Mode') ,
+          'title' => ts('Batch Mode'),
           'description' => 'fk to Batch mode options in civicrm_option_values',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'batch_mode',
             'optionEditPath' => 'civicrm/admin/options/batch_mode',
-          )
-        ) ,
-        'total' => array(
+          ]
+        ],
+        'total' => [
           'name' => 'total',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Batch Total') ,
+          'title' => ts('Batch Total'),
           'description' => 'Total amount for this batch.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'item_count' => array(
+          ],
+        ],
+        'item_count' => [
           'name' => 'item_count',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Number of Items') ,
+          'title' => ts('Batch Number of Items'),
           'description' => 'Number of items in a batch.',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'payment_instrument_id' => array(
+          ],
+        ],
+        'payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch Payment Method') ,
+          'title' => ts('Batch Payment Method'),
           'description' => 'fk to Payment Instrument options in civicrm_option_values',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-        'exported_date' => array(
+          ]
+        ],
+        'exported_date' => [
           'name' => 'exported_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Batch Exported Date') ,
+          'title' => ts('Batch Exported Date'),
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Batch Data') ,
+          'title' => ts('Batch Data'),
           'description' => 'cache entered data',
           'table_name' => 'civicrm_batch',
           'entity' => 'Batch',
           'bao' => 'CRM_Batch_BAO_Batch',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -455,10 +455,11 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'batch', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'batch', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -466,25 +467,31 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'batch', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'batch', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_batch::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Batch/DAO/EntityBatch.php b/civicrm/CRM/Batch/DAO/EntityBatch.php
index 2ba28e1601..4ee6b4382c 100644
--- a/civicrm/CRM/Batch/DAO/EntityBatch.php
+++ b/civicrm/CRM/Batch/DAO/EntityBatch.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,93 +8,101 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f96c0410a5561b46d8aba0fce509ef6a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Batch_DAO_EntityBatch constructor.
+ * Database access object for the EntityBatch entity.
  */
 class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_entity_batch';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to civicrm_batch
    *
    * @var int unsigned
    */
   public $batch_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_entity_batch';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'batch_id', 'civicrm_batch', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'batch_id', 'civicrm_batch', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('EntityBatch ID') ,
+          'title' => ts('EntityBatch ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_batch',
           'entity' => 'EntityBatch',
           'bao' => 'CRM_Batch_BAO_EntityBatch',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('EntityBatch Table') ,
+          'title' => ts('EntityBatch Table'),
           'description' => 'physical tablename for entity being joined to file, e.g. civicrm_contact',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -126,68 +110,72 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
           'entity' => 'EntityBatch',
           'bao' => 'CRM_Batch_BAO_EntityBatch',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_batch',
           'entity' => 'EntityBatch',
           'bao' => 'CRM_Batch_BAO_EntityBatch',
           'localizable' => 0,
-        ) ,
-        'batch_id' => array(
+        ],
+        'batch_id' => [
           'name' => 'batch_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Batch ID') ,
+          'title' => ts('Batch ID'),
           'description' => 'FK to civicrm_batch',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_batch',
           'entity' => 'EntityBatch',
           'bao' => 'CRM_Batch_BAO_EntityBatch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Batch_DAO_Batch',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_batch',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -195,10 +183,11 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_batch', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_batch', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -206,36 +195,42 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_batch', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_batch', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_entity_batch::0::entity_table::entity_id',
-      ) ,
-      'UI_batch_entity' => array(
+      ],
+      'UI_batch_entity' => [
         'name' => 'UI_batch_entity',
-        'field' => array(
+        'field' => [
           0 => 'batch_id',
           1 => 'entity_id',
           2 => 'entity_table',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_entity_batch::1::batch_id::entity_id::entity_table',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Batch/Form/Entry.php b/civicrm/CRM/Batch/Form/Entry.php
index d53b4deee7..7e58b23d08 100644
--- a/civicrm/CRM/Batch/Form/Entry.php
+++ b/civicrm/CRM/Batch/Form/Entry.php
@@ -82,6 +82,15 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
    */
   public $_fields = array();
 
+  /**
+   * Monetary fields that may be submitted.
+   *
+   * These should get a standardised format in the beginPostProcess function.
+   *
+   * These fields are common to many forms. Some may override this.
+   */
+  protected $submittableMoneyFields = ['total_amount', 'net_amount', 'non_deductible_amount', 'fee_amount'];
+
   /**
    * Build all the data structures needed to build the form.
    */
@@ -144,11 +153,8 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
 
     // remove file type field and then limit fields
     $suppressFields = FALSE;
-    $removehtmlTypes = array('File', 'Autocomplete-Select');
     foreach ($this->_fields as $name => $field) {
-      if ($cfID = CRM_Core_BAO_CustomField::getKeyID($name) &&
-        in_array($this->_fields[$name]['html_type'], $removehtmlTypes)
-      ) {
+      if ($cfID = CRM_Core_BAO_CustomField::getKeyID($name) && $this->_fields[$name]['html_type'] == 'Autocomplete-Select') {
         $suppressFields = TRUE;
         unset($this->_fields[$name]);
       }
@@ -266,7 +272,7 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
     $buttonName = $this->controller->getButtonName('submit');
 
     if ($suppressFields && $buttonName != '_qf_Entry_next') {
-      CRM_Core_Session::setStatus(ts("File or Autocomplete-Select type field(s) in the selected profile are not supported for Update multiple records."), ts('Some Fields Excluded'), 'info');
+      CRM_Core_Session::setStatus(ts("File type field(s) in the selected profile are not supported for Update multiple records."), ts('Some Fields Excluded'), 'info');
     }
   }
 
@@ -443,6 +449,14 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
    */
   private function processContribution(&$params) {
 
+    foreach ($this->submittableMoneyFields as $moneyField) {
+      foreach ($params['field'] as $index => $fieldValues) {
+        if (isset($fieldValues[$moneyField])) {
+          $params['field'][$index][$moneyField] = CRM_Utils_Rule::cleanMoney($params['field'][$index][$moneyField]);
+        }
+      }
+    }
+    $params['actualBatchTotal'] = CRM_Utils_Rule::cleanMoney($params['actualBatchTotal']);
     // get the price set associated with offline contribution record.
     $priceSetId = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', 'default_contribution_amount', 'id', 'name');
     $this->_priceSet = current(CRM_Price_BAO_PriceSet::getSetDetail($priceSetId));
@@ -540,6 +554,7 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
           }
         }
         $value['line_item'] = $lineItem;
+        $value['skipCleanMoney'] = TRUE;
         //finally call contribution create for all the magic
         $contribution = CRM_Contribute_BAO_Contribution::create($value);
         $batchTypes = CRM_Core_Pseudoconstant::get('CRM_Batch_DAO_Batch', 'type_id', array('flip' => 1), 'validate');
diff --git a/civicrm/CRM/Campaign/DAO/Campaign.php b/civicrm/CRM/Campaign/DAO/Campaign.php
index 2e80da94a1..99b0bd359e 100644
--- a/civicrm/CRM/Campaign/DAO/Campaign.php
+++ b/civicrm/CRM/Campaign/DAO/Campaign.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,218 +8,239 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:02b05b18f25c40f15b6992e2f853f5da)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Campaign_DAO_Campaign constructor.
+ * Database access object for the Campaign entity.
  */
 class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_campaign';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique Campaign ID.
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the Campaign.
    *
    * @var string
    */
   public $name;
+
   /**
    * Title of the Campaign.
    *
    * @var string
    */
   public $title;
+
   /**
    * Full description of Campaign.
    *
    * @var text
    */
   public $description;
+
   /**
    * Date and time that Campaign starts.
    *
    * @var datetime
    */
   public $start_date;
+
   /**
    * Date and time that Campaign ends.
    *
    * @var datetime
    */
   public $end_date;
+
   /**
    * Campaign Type ID.Implicit FK to civicrm_option_value where option_group = campaign_type
    *
    * @var int unsigned
    */
   public $campaign_type_id;
+
   /**
    * Campaign status ID.Implicit FK to civicrm_option_value where option_group = campaign_status
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
    * @var string
    */
   public $external_identifier;
+
   /**
    * Optional parent id for this Campaign.
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Is this Campaign enabled or disabled/cancelled?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * FK to civicrm_contact, who created this Campaign.
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time that Campaign was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * FK to civicrm_contact, who recently edited this Campaign.
    *
    * @var int unsigned
    */
   public $last_modified_id;
+
   /**
    * Date and time that Campaign was edited last time.
    *
    * @var datetime
    */
   public $last_modified_date;
+
   /**
    * General goals for Campaign.
    *
    * @var text
    */
   public $goal_general;
+
   /**
    * The target revenue for this campaign.
    *
    * @var float
    */
   public $goal_revenue;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_campaign';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'last_modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'last_modified_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign ID') ,
+          'title' => ts('Campaign ID'),
           'description' => 'Unique Campaign ID.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Campaign Name') ,
+          'title' => ts('Campaign Name'),
           'description' => 'Name of the Campaign.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'title' => array(
+          ],
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Campaign Title') ,
+          'title' => ts('Campaign Title'),
           'description' => 'Title of the Campaign.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.title',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Campaign Description') ,
+          'title' => ts('Campaign Description'),
           'description' => 'Full description of Campaign.',
           'rows' => 8,
           'cols' => 60,
@@ -251,254 +248,258 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'start_date' => array(
+          ],
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Campaign Start Date') ,
+          'title' => ts('Campaign Start Date'),
           'description' => 'Date and time that Campaign starts.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.start_date',
           'headerPattern' => '/^start|(s(tart\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'end_date' => array(
+          ],
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Campaign End Date') ,
+          'title' => ts('Campaign End Date'),
           'description' => 'Date and time that Campaign ends.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.end_date',
           'headerPattern' => '/^end|(e(nd\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'campaign_type_id' => array(
+          ],
+        ],
+        'campaign_type_id' => [
           'name' => 'campaign_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign Type') ,
+          'title' => ts('Campaign Type'),
           'description' => 'Campaign Type ID.Implicit FK to civicrm_option_value where option_group = campaign_type',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.campaign_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'campaign_type',
             'optionEditPath' => 'civicrm/admin/options/campaign_type',
-          )
-        ) ,
-        'status_id' => array(
+          ]
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign Status') ,
+          'title' => ts('Campaign Status'),
           'description' => 'Campaign status ID.Implicit FK to civicrm_option_value where option_group = campaign_status',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'campaign_status',
             'optionEditPath' => 'civicrm/admin/options/campaign_status',
-          )
-        ) ,
-        'external_identifier' => array(
+          ]
+        ],
+        'external_identifier' => [
           'name' => 'external_identifier',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Campaign External ID') ,
+          'title' => ts('Campaign External ID'),
           'description' => 'Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.external_identifier',
           'headerPattern' => '/external\s?id/i',
           'dataPattern' => '/^\d{11,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'parent_id' => array(
+          ],
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent Campaign') ,
+          'title' => ts('Parent Campaign'),
           'description' => 'Optional parent id for this Campaign.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_campaign.parent_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Campaign Active?') ,
+          'title' => ts('Is Campaign Active?'),
           'description' => 'Is this Campaign enabled or disabled/cancelled?',
           'default' => '1',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'created_id' => array(
+          ],
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign Created By') ,
+          'title' => ts('Campaign Created By'),
           'description' => 'FK to civicrm_contact, who created this Campaign.',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Campaign Created Date') ,
+          'title' => ts('Campaign Created Date'),
           'description' => 'Date and time that Campaign was created.',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'last_modified_id' => array(
+          ],
+        ],
+        'last_modified_id' => [
           'name' => 'last_modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign Modified By') ,
+          'title' => ts('Campaign Modified By'),
           'description' => 'FK to civicrm_contact, who recently edited this Campaign.',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'last_modified_date' => array(
+        ],
+        'last_modified_date' => [
           'name' => 'last_modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Campaign Modified Date') ,
+          'title' => ts('Campaign Modified Date'),
           'description' => 'Date and time that Campaign was edited last time.',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-        ) ,
-        'goal_general' => array(
+        ],
+        'goal_general' => [
           'name' => 'goal_general',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Campaign Goals') ,
+          'title' => ts('Campaign Goals'),
           'description' => 'General goals for Campaign.',
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'goal_revenue' => array(
+          ],
+        ],
+        'goal_revenue' => [
           'name' => 'goal_revenue',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Goal Revenue') ,
+          'title' => ts('Goal Revenue'),
           'description' => 'The target revenue for this campaign.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_campaign',
           'entity' => 'Campaign',
           'bao' => 'CRM_Campaign_BAO_Campaign',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -506,10 +507,11 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'campaign', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'campaign', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -517,41 +519,47 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'campaign', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'campaign', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_campaign_type_id' => array(
+    $indices = [
+      'UI_campaign_type_id' => [
         'name' => 'UI_campaign_type_id',
-        'field' => array(
+        'field' => [
           0 => 'campaign_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_campaign::0::campaign_type_id',
-      ) ,
-      'UI_campaign_status_id' => array(
+      ],
+      'UI_campaign_status_id' => [
         'name' => 'UI_campaign_status_id',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_campaign::0::status_id',
-      ) ,
-      'UI_external_identifier' => array(
+      ],
+      'UI_external_identifier' => [
         'name' => 'UI_external_identifier',
-        'field' => array(
+        'field' => [
           0 => 'external_identifier',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_campaign::1::external_identifier',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Campaign/DAO/CampaignGroup.php b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
index 9597c09736..e6dda96f31 100644
--- a/civicrm/CRM/Campaign/DAO/CampaignGroup.php
+++ b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,116 +8,125 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:16989135f9745e57028278a41cc303ea)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Campaign_DAO_CampaignGroup constructor.
+ * Database access object for the CampaignGroup entity.
  */
 class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_campaign_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Campaign Group id.
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign key to the activity Campaign.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Type of Group.
    *
    * @var string
    */
   public $group_type;
+
   /**
    * Name of table where item being referenced is stored.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Entity id of referenced table.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_campaign_group';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign Group ID') ,
+          'title' => ts('Campaign Group ID'),
           'description' => 'Campaign Group id.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_campaign_group',
           'entity' => 'CampaignGroup',
           'bao' => 'CRM_Campaign_DAO_CampaignGroup',
           'localizable' => 0,
-        ) ,
-        'campaign_id' => array(
+        ],
+        'campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'Foreign key to the activity Campaign.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_campaign_group',
           'entity' => 'CampaignGroup',
           'bao' => 'CRM_Campaign_DAO_CampaignGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'group_type' => array(
+          ]
+        ],
+        'group_type' => [
           'name' => 'group_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Campaign Group Type') ,
+          'title' => ts('Campaign Group Type'),
           'description' => 'Type of Group.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -150,17 +135,17 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
           'entity' => 'CampaignGroup',
           'bao' => 'CRM_Campaign_DAO_CampaignGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getCampaignGroupTypes',
-          )
-        ) ,
-        'entity_table' => array(
+          ]
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Name of table where item being referenced is stored.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -169,51 +154,55 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
           'entity' => 'CampaignGroup',
           'bao' => 'CRM_Campaign_DAO_CampaignGroup',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'Entity id of referenced table.',
           'default' => 'NULL',
           'table_name' => 'civicrm_campaign_group',
           'entity' => 'CampaignGroup',
           'bao' => 'CRM_Campaign_DAO_CampaignGroup',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -221,10 +210,11 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'campaign_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'campaign_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -232,15 +222,21 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'campaign_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'campaign_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Campaign/DAO/Survey.php b/civicrm/CRM/Campaign/DAO/Survey.php
index f0c128bd22..30ad453f18 100644
--- a/civicrm/CRM/Campaign/DAO/Survey.php
+++ b/civicrm/CRM/Campaign/DAO/Survey.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,208 +8,232 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:55aa9d31d08f8b5353d42dde1278b7f2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Campaign_DAO_Survey constructor.
+ * Database access object for the Survey entity.
  */
 class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_survey';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Survey id.
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Title of the Survey.
    *
    * @var string
    */
   public $title;
+
   /**
    * Foreign key to the Campaign.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Implicit FK to civicrm_option_value where option_group = activity_type
    *
    * @var int unsigned
    */
   public $activity_type_id;
+
   /**
    * Recontact intervals for each status.
    *
    * @var text
    */
   public $recontact_interval;
+
   /**
    * Script instructions for volunteers to use for the survey.
    *
    * @var text
    */
   public $instructions;
+
   /**
    * Number of days for recurrence of release.
    *
    * @var int unsigned
    */
   public $release_frequency;
+
   /**
    * Maximum number of contacts to allow for survey.
    *
    * @var int unsigned
    */
   public $max_number_of_contacts;
+
   /**
    * Default number of contacts to allow for survey.
    *
    * @var int unsigned
    */
   public $default_number_of_contacts;
+
   /**
    * Is this survey enabled or disabled/cancelled?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this default survey?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * FK to civicrm_contact, who created this Survey.
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time that Survey was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * FK to civicrm_contact, who recently edited this Survey.
    *
    * @var int unsigned
    */
   public $last_modified_id;
+
   /**
    * Date and time that Survey was edited last time.
    *
    * @var datetime
    */
   public $last_modified_date;
+
   /**
    * Used to store option group id.
    *
    * @var int unsigned
    */
   public $result_id;
+
   /**
    * Bypass the email verification.
    *
    * @var boolean
    */
   public $bypass_confirm;
+
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
    * @var string
    */
   public $thankyou_title;
+
   /**
    * text and html allowed. displayed above result on success page
    *
    * @var text
    */
   public $thankyou_text;
+
   /**
    * Can people share the petition through social media?
    *
    * @var boolean
    */
   public $is_share;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_survey';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'last_modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'last_modified_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey ID') ,
+          'title' => ts('Survey ID'),
           'description' => 'Survey id.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Survey Title') ,
+          'title' => ts('Survey Title'),
           'description' => 'Title of the Survey.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_survey.title',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 1,
-        ) ,
-        'campaign_id' => array(
+        ],
+        'campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey Campaign ID') ,
+          'title' => ts('Survey Campaign ID'),
           'description' => 'Foreign key to the Campaign.',
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
@@ -241,39 +241,39 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'activity_type_id' => array(
+          ]
+        ],
+        'activity_type_id' => [
           'name' => 'activity_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity Type') ,
+          'title' => ts('Activity Type'),
           'description' => 'Implicit FK to civicrm_option_value where option_group = activity_type',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_survey.activity_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'activity_type',
             'optionEditPath' => 'civicrm/admin/options/activity_type',
-          )
-        ) ,
-        'recontact_interval' => array(
+          ]
+        ],
+        'recontact_interval' => [
           'name' => 'recontact_interval',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Follow up Interval') ,
+          'title' => ts('Follow up Interval'),
           'description' => 'Recontact intervals for each status.',
           'rows' => 20,
           'cols' => 80,
@@ -281,14 +281,14 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'instructions' => array(
+          ],
+        ],
+        'instructions' => [
           'name' => 'instructions',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Instructions') ,
+          'title' => ts('Instructions'),
           'description' => 'Script instructions for volunteers to use for the survey.',
           'rows' => 20,
           'cols' => 80,
@@ -296,131 +296,131 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'release_frequency' => array(
+          ],
+        ],
+        'release_frequency' => [
           'name' => 'release_frequency',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey Hold Duration') ,
+          'title' => ts('Survey Hold Duration'),
           'description' => 'Number of days for recurrence of release.',
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'max_number_of_contacts' => array(
+        ],
+        'max_number_of_contacts' => [
           'name' => 'max_number_of_contacts',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum number of contacts') ,
+          'title' => ts('Maximum number of contacts'),
           'description' => 'Maximum number of contacts to allow for survey.',
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'default_number_of_contacts' => array(
+        ],
+        'default_number_of_contacts' => [
           'name' => 'default_number_of_contacts',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Default number of contacts') ,
+          'title' => ts('Default number of contacts'),
           'description' => 'Default number of contacts to allow for survey.',
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Survey Is Active') ,
+          'title' => ts('Survey Is Active'),
           'description' => 'Is this survey enabled or disabled/cancelled?',
           'default' => '1',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Default Survey') ,
+          'title' => ts('Is Default Survey'),
           'description' => 'Is this default survey?',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey Created By') ,
+          'title' => ts('Survey Created By'),
           'description' => 'FK to civicrm_contact, who created this Survey.',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Campaign Created Date') ,
+          'title' => ts('Campaign Created Date'),
           'description' => 'Date and time that Survey was created.',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'last_modified_id' => array(
+        ],
+        'last_modified_id' => [
           'name' => 'last_modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey Modified') ,
+          'title' => ts('Survey Modified'),
           'description' => 'FK to civicrm_contact, who recently edited this Survey.',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'last_modified_date' => array(
+        ],
+        'last_modified_date' => [
           'name' => 'last_modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Survey Modified On') ,
+          'title' => ts('Survey Modified On'),
           'description' => 'Date and time that Survey was edited last time.',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'result_id' => array(
+        ],
+        'result_id' => [
           'name' => 'result_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Survey Result') ,
+          'title' => ts('Survey Result'),
           'description' => 'Used to store option group id.',
           'default' => 'NULL',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'bypass_confirm' => array(
+        ],
+        'bypass_confirm' => [
           'name' => 'bypass_confirm',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('No Email Verification') ,
+          'title' => ts('No Email Verification'),
           'description' => 'Bypass the email verification.',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-        'thankyou_title' => array(
+        ],
+        'thankyou_title' => [
           'name' => 'thankyou_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Thank-you Title') ,
+          'title' => ts('Thank-you Title'),
           'description' => 'Title for Thank-you page (header title tag, and display at the top of the page).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -428,11 +428,11 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 1,
-        ) ,
-        'thankyou_text' => array(
+        ],
+        'thankyou_text' => [
           'name' => 'thankyou_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Thank-you Text') ,
+          'title' => ts('Thank-you Text'),
           'description' => 'text and html allowed. displayed above result on success page',
           'rows' => 8,
           'cols' => 60,
@@ -440,54 +440,58 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_share' => array(
+          ],
+        ],
+        'is_share' => [
           'name' => 'is_share',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is shared through social media') ,
+          'title' => ts('Is shared through social media'),
           'description' => 'Can people share the petition through social media?',
           'default' => '1',
           'table_name' => 'civicrm_survey',
           'entity' => 'Survey',
           'bao' => 'CRM_Campaign_BAO_Survey',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -495,10 +499,11 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'survey', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'survey', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -506,24 +511,30 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'survey', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'survey', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_activity_type_id' => array(
+    $indices = [
+      'UI_activity_type_id' => [
         'name' => 'UI_activity_type_id',
-        'field' => array(
+        'field' => [
           0 => 'activity_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_survey::0::activity_type_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Campaign/StateMachine/Search.php b/civicrm/CRM/Campaign/StateMachine/Search.php
index 4c04c01a7f..3ff6997b46 100644
--- a/civicrm/CRM/Campaign/StateMachine/Search.php
+++ b/civicrm/CRM/Campaign/StateMachine/Search.php
@@ -78,7 +78,7 @@ class CRM_Campaign_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Case/BAO/Case.php b/civicrm/CRM/Case/BAO/Case.php
index 4a9aa6e03b..2dea994936 100644
--- a/civicrm/CRM/Case/BAO/Case.php
+++ b/civicrm/CRM/Case/BAO/Case.php
@@ -407,51 +407,64 @@ WHERE cc.contact_id = %1 AND civicrm_case_type.name = '{$caseType}'";
    *
    * @return string
    */
-  public static function getCaseActivityQuery($type = 'upcoming', $userID = NULL, $condition = NULL) {
-    if (!$userID) {
-      $session = CRM_Core_Session::singleton();
-      $userID = $session->get('userID');
-    }
+  public static function getCaseActivityCountQuery($type = 'upcoming', $userID, $condition = NULL) {
+    return sprintf(" SELECT COUNT(*) FROM (%s) temp ", self::getCaseActivityQuery($type, $userID, $condition));
+  }
 
-    $query = "SELECT
-civicrm_case.id as case_id,
-civicrm_case.subject as case_subject,
-civicrm_contact.id as contact_id,
-civicrm_contact.sort_name as sort_name,
-civicrm_phone.phone as phone,
-civicrm_contact.contact_type as contact_type,
-civicrm_contact.contact_sub_type as contact_sub_type,
-t_act.activity_type_id,
-c_type.title as case_type,
-civicrm_case.case_type_id as case_type_id,
-cov_status.label as case_status,
-cov_status.label as case_status_name,
-t_act.status_id,
-civicrm_case.start_date as case_start_date,
-case_relation_type.label_b_a as case_role, ";
+  /**
+   * @param string $type
+   * @param int $userID
+   * @param string $condition
+   * @param string $limit
+   *
+   * @return string
+   */
+  public static function getCaseActivityQuery($type = 'upcoming', $userID, $condition = NULL, $limit = NULL, $order = NULL) {
+    $selectClauses = array(
+      'civicrm_case.id as case_id',
+      'civicrm_case.subject as case_subject',
+      'civicrm_contact.id as contact_id',
+      'civicrm_contact.sort_name as sort_name',
+      'civicrm_phone.phone as phone',
+      'civicrm_contact.contact_type as contact_type',
+      'civicrm_contact.contact_sub_type as contact_sub_type',
+      't_act.activity_type_id',
+      'c_type.title as case_type',
+      'civicrm_case.case_type_id as case_type_id',
+      'cov_status.label as case_status',
+      'cov_status.label as case_status_name',
+      't_act.status_id',
+      'civicrm_case.start_date as case_start_date',
+      'case_relation_type.label_b_a as case_role',
+    );
 
     if ($type == 'upcoming') {
-      $query .= "
-t_act.desired_date as case_scheduled_activity_date,
-t_act.id as case_scheduled_activity_id,
-t_act.act_type_name as case_scheduled_activity_type_name,
-t_act.act_type AS case_scheduled_activity_type ";
+      $selectClauses = array_merge($selectClauses, array(
+        't_act.desired_date as case_scheduled_activity_date',
+        't_act.id as case_scheduled_activity_id',
+        't_act.act_type_name as case_scheduled_activity_type_name',
+        't_act.act_type AS case_scheduled_activity_type',
+      ));
     }
     elseif ($type == 'recent') {
-      $query .= "
-t_act.desired_date as case_recent_activity_date,
-t_act.id as case_recent_activity_id,
-t_act.act_type_name as case_recent_activity_type_name,
-t_act.act_type AS case_recent_activity_type ";
+      $selectClauses = array_merge($selectClauses, array(
+        't_act.desired_date as case_recent_activity_date',
+        't_act.id as case_recent_activity_id',
+        't_act.act_type_name as case_recent_activity_type_name',
+        't_act.act_type AS case_recent_activity_type',
+      ));
     }
     elseif ($type == 'any') {
-      $query .= "
-t_act.desired_date as case_activity_date,
-t_act.id as case_activity_id,
-t_act.act_type_name as case_activity_type_name,
-t_act.act_type AS case_activity_type ";
+      $selectClauses = array_merge($selectClauses, array(
+        't_act.desired_date as case_activity_date',
+        't_act.id as case_activity_id',
+        't_act.act_type_name as case_activity_type_name',
+        't_act.act_type AS case_activity_type',
+      ));
     }
 
+    $query = CRM_Contact_BAO_Query::appendAnyValueToSelect($selectClauses, 'case_id');
+
     $query .= " FROM civicrm_case
                   INNER JOIN civicrm_case_contact ON civicrm_case.id = civicrm_case_contact.case_id
                   INNER JOIN civicrm_contact ON civicrm_case_contact.contact_id = civicrm_contact.id ";
@@ -535,17 +548,27 @@ LEFT JOIN civicrm_option_group aog ON aog.name='activity_type'
 
     if ($condition) {
       // CRM-8749 backwards compatibility - callers of this function expect to start $condition with "AND"
-      $query .= " WHERE (1) $condition ";
+      $query .= " WHERE (1) AND $condition ";
     }
+    $query .= " GROUP BY case_id ";
 
-    if ($type == 'upcoming') {
-      $query .= " ORDER BY case_scheduled_activity_date ASC ";
+    if ($order) {
+      $query .= $order;
     }
-    elseif ($type == 'recent') {
-      $query .= " ORDER BY case_recent_activity_date ASC ";
+    else {
+      if ($type == 'upcoming') {
+        $query .= " ORDER BY case_scheduled_activity_date ASC ";
+      }
+      elseif ($type == 'recent') {
+        $query .= " ORDER BY case_recent_activity_date ASC ";
+      }
+      elseif ($type == 'any') {
+        $query .= " ORDER BY case_activity_date ASC ";
+      }
     }
-    elseif ($type == 'any') {
-      $query .= " ORDER BY case_activity_date ASC ";
+
+    if ($limit) {
+      $query .= $limit;
     }
 
     return $query;
@@ -555,29 +578,37 @@ LEFT JOIN civicrm_option_group aog ON aog.name='activity_type'
    * Retrieve cases related to particular contact or whole contact used in Dashboard and Tab.
    *
    * @param bool $allCases
-   *
-   * @param int $userID
-   *
-   * @param string $type
-   *   /upcoming,recent,all/.
-   *
+   * @param array $params
    * @param string $context
+   * @param bool $getCount
    *
    * @return array
    *   Array of Cases
    */
-  public static function getCases($allCases = TRUE, $userID = NULL, $type = 'upcoming', $context = 'dashboard') {
+  public static function getCases($allCases = TRUE, $params = array(), $context = 'dashboard', $getCount = FALSE) {
     $condition = NULL;
     $casesList = array();
 
     //validate access for own cases.
     if (!self::accessCiviCase()) {
-      return $casesList;
+      return $getCount ? 0 : $casesList;
     }
 
-    if (!$userID) {
-      $session = CRM_Core_Session::singleton();
-      $userID = $session->get('userID');
+    $type = CRM_Utils_Array::value('type', $params, 'upcoming');
+    $userID = CRM_Core_Session::singleton()->get('userID');
+
+    $caseActivityTypeColumn = 'case_activity_type_name';
+    $caseActivityDateColumn = 'case_activity_date';
+    $caseActivityIDColumn = 'case_activity_id';
+    if ($type == 'upcoming') {
+      $caseActivityDateColumn = 'case_scheduled_activity_date';
+      $caseActivityTypeColumn = 'case_scheduled_activity_type';
+      $caseActivityIDColumn = 'case_scheduled_activity_id';
+    }
+    elseif ($type == 'recent') {
+      $caseActivityDateColumn = 'case_recent_activity_date';
+      $caseActivityTypeColumn = 'case_recent_activity_type';
+      $caseActivityIDColumn = 'case_recent_activity_id';
     }
 
     //validate access for all cases.
@@ -585,62 +616,50 @@ LEFT JOIN civicrm_option_group aog ON aog.name='activity_type'
       $allCases = FALSE;
     }
 
-    $condition = " AND civicrm_case.is_deleted = 0 AND civicrm_contact.is_deleted <> 1";
+    $whereClauses = array('civicrm_case.is_deleted = 0 AND civicrm_contact.is_deleted <> 1');
 
     if (!$allCases) {
-      $condition .= " AND case_relationship.contact_id_b = {$userID} ";
+      $whereClauses[] .= " case_relationship.contact_id_b = {$userID} ";
     }
-    if ($type == 'upcoming' || $type == 'any') {
-      $closedId = CRM_Core_PseudoConstant::getKey('CRM_Case_BAO_Case', 'case_status_id', 'Closed');
-      $condition .= "
-AND civicrm_case.status_id != $closedId";
+    if (empty($params['status_id']) && ($type == 'upcoming' || $type == 'any')) {
+      $whereClauses[] = " civicrm_case.status_id != " . CRM_Core_PseudoConstant::getKey('CRM_Case_BAO_Case', 'case_status_id', 'Closed');
     }
 
-    $query = self::getCaseActivityQuery($type, $userID, $condition);
-
-    $queryParams = array();
-    $result = CRM_Core_DAO::executeQuery($query,
-      $queryParams
-    );
-
-    $caseStatus = CRM_Core_OptionGroup::values('case_status', FALSE, FALSE, FALSE, " AND v.name = 'Urgent' ");
-
-    $resultFields = array(
-      'contact_id',
-      'contact_type',
-      'sort_name',
-      'phone',
-      'case_id',
-      'case_subject',
-      'case_type',
-      'case_type_id',
-      'status_id',
-      'case_status',
-      'case_status_name',
-      'activity_type_id',
-      'case_start_date',
-      'case_role',
-    );
+    foreach (array('case_type_id', 'status_id') as $column) {
+      if (!empty($params[$column])) {
+        $whereClauses[] = sprintf("civicrm_case.%s IN (%s)", $column, $params[$column]);
+      }
+    }
+    $condition = implode(' AND ', $whereClauses);
 
-    if ($type == 'upcoming') {
-      $resultFields[] = 'case_scheduled_activity_date';
-      $resultFields[] = 'case_scheduled_activity_type_name';
-      $resultFields[] = 'case_scheduled_activity_type';
-      $resultFields[] = 'case_scheduled_activity_id';
+    $totalCount = CRM_Core_DAO::singleValueQuery(self::getCaseActivityCountQuery($type, $userID, $condition));
+    if ($getCount) {
+      return $totalCount;
     }
-    elseif ($type == 'recent') {
-      $resultFields[] = 'case_recent_activity_date';
-      $resultFields[] = 'case_recent_activity_type_name';
-      $resultFields[] = 'case_recent_activity_type';
-      $resultFields[] = 'case_recent_activity_id';
+    $casesList['total'] = $totalCount;
+
+    $limit = '';
+    if (!empty($params['rp'])) {
+      $params['offset'] = ($params['page'] - 1) * $params['rp'];
+      $params['rowCount'] = $params['rp'];
+      if (!empty($params['rowCount']) && $params['rowCount'] > 0) {
+        $limit = " LIMIT {$params['offset']}, {$params['rowCount']} ";
+      }
     }
-    elseif ($type == 'any') {
-      $resultFields[] = 'case_activity_date';
-      $resultFields[] = 'case_activity_type_name';
-      $resultFields[] = 'case_activity_type';
-      $resultFields[] = 'case_activity_id';
+
+    $order = NULL;
+    if (!empty($params['sortBy'])) {
+      if (strstr($params['sortBy'], 'date ')) {
+        $params['sortBy'] = str_replace('date', $caseActivityDateColumn, $params['sortBy']);
+      }
+      $order = "ORDER BY " . $params['sortBy'];
     }
 
+    $query = self::getCaseActivityQuery($type, $userID, $condition, $limit, $order);
+    $result = CRM_Core_DAO::executeQuery($query);
+
+    $caseStatus = CRM_Core_OptionGroup::values('case_status', FALSE, FALSE, FALSE, " AND v.name = 'Urgent' ");
+
     // we're going to use the usual actions, so doesn't make sense to duplicate definitions
     $actions = CRM_Case_Selector_Search::links();
 
@@ -656,55 +675,74 @@ AND civicrm_case.status_id != $closedId";
     }
     $mask = CRM_Core_Action::mask($permissions);
 
-    while ($result->fetch()) {
-      foreach ($resultFields as $donCare => $field) {
-        $casesList[$result->case_id][$field] = $result->$field;
-        if ($field == 'contact_type') {
-          $casesList[$result->case_id]['contact_type_icon'] = CRM_Contact_BAO_Contact_Utils::getImage($result->contact_sub_type ? $result->contact_sub_type : $result->contact_type
-          );
-          $casesList[$result->case_id]['action'] = CRM_Core_Action::formLink($actions['primaryActions'], $mask,
-            array(
-              'id' => $result->case_id,
-              'cid' => $result->contact_id,
-              'cxt' => $context,
-            ),
-            ts('more'),
-            FALSE,
-            'case.actions.primary',
-            'Case',
-            $result->case_id
-          );
-        }
-        elseif ($field == 'case_status') {
-          if (in_array($result->$field, $caseStatus)) {
-            $casesList[$result->case_id]['class'] = "status-urgent";
+    $caseTypes = CRM_Case_PseudoConstant::caseType('name');
+    foreach ($result->fetchAll() as $key => $case) {
+      $casesList[$key] = array();
+      $casesList[$key]['DT_RowId'] = $case['case_id'];
+      $casesList[$key]['DT_RowAttr'] = array('data-entity' => 'case', 'data-id' => $case['case_id']);
+      $casesList[$key]['DT_RowClass'] = "crm-entity";
+
+      $casesList[$key]['activity_list'] = sprintf('<a title="%s" class="crm-expand-row" href="%s"></a>',
+        ts('Activities'),
+        CRM_Utils_System::url('civicrm/case/details', array('caseid' => $case['case_id'], 'cid' => $case['contact_id'], 'type' => $type))
+      );
+
+      $phone = empty($case['phone']) ? '' : '<br /><span class="description">' . $case['phone'] . '</span>';
+      $casesList[$key]['contact_id'] = sprintf('<a href="%s">%s</a>%s<br /><span class="description">%s: %d</span>',
+        CRM_Utils_System::url('civicrm/contact/view', array('cid' => $case['contact_id'])),
+        $case['sort_name'],
+        $phone,
+        ts('Case ID'),
+        $case['case_id']
+      );
+      $casesList[$key]['subject'] = $case['case_subject'];
+      $casesList[$key]['case_status'] = in_array($case['case_status'], $caseStatus) ? sprintf('<strong>%s</strong>', strtoupper($case['case_status'])) : $case['case_status'];
+      $casesList[$key]['case_type'] = $case['case_type'];
+      $casesList[$key]['case_role'] = CRM_Utils_Array::value('case_role', $case, '---');
+      $casesList[$key]['manager'] = self::getCaseManagerContact($caseTypes[$case['case_type_id']], $case['case_id']);
+
+      $casesList[$key]['date'] = $case[$caseActivityTypeColumn];
+      if (($actId = CRM_Utils_Array::value('case_scheduled_activity_id', $case)) ||
+        ($actId = CRM_Utils_Array::value('case_recent_activity_id', $case))
+      ) {
+        if (self::checkPermission($actId, 'view', $case['activity_type_id'], $userID)) {
+          if ($type == 'recent') {
+            $casesList[$key]['date'] = sprintf('<a class="action-item crm-hover-button" href="%s" title="%s">%s</a>',
+              CRM_Utils_System::url('civicrm/case/activity/view', array('reset' => 1, 'cid' => $case['contact_id'], 'aid' => $case[$caseActivityIDColumn])),
+              ts('View activity'),
+              $case[$caseActivityTypeColumn]
+            );
           }
           else {
-            $casesList[$result->case_id]['class'] = "status-normal";
+            $status = CRM_Utils_Date::overdue($case[$caseActivityDateColumn]) ? 'status-overdue' : 'status-scheduled';
+            $casesList[$key]['date'] = sprintf('<a class="crm-popup %s" href="%s" title="%s">%s</a> &nbsp;&nbsp;',
+             $status,
+              CRM_Utils_System::url('civicrm/case/activity/view', array('reset' => 1, 'cid' => $case['contact_id'], 'aid' => $case[$caseActivityIDColumn])),
+              ts('View activity'),
+              $case[$caseActivityTypeColumn]
+            );
           }
         }
+        if (self::checkPermission($actId, 'edit', $case['activity_type_id'], $userID)) {
+          $casesList[$key]['date'] .= sprintf('<a class="action-item crm-hover-button" href="%s" title="%s"><i class="crm-i fa-pencil"></i></a>',
+            CRM_Utils_System::url('civicrm/case/activity', array('reset' => 1, 'cid' => $case['contact_id'], 'caseid' => $case['case_id'], 'action' => 'update')),
+            ts('Edit activity')
+          );
+        }
       }
-      //CRM-4510.
-      $caseTypes = CRM_Case_PseudoConstant::caseType('name');
-      $caseManagerContact = self::getCaseManagerContact($caseTypes[$result->case_type_id], $result->case_id);
-      if (!empty($caseManagerContact)) {
-        $casesList[$result->case_id]['casemanager_id'] = CRM_Utils_Array::value('casemanager_id', $caseManagerContact);
-        $casesList[$result->case_id]['casemanager'] = CRM_Utils_Array::value('casemanager', $caseManagerContact);
-      }
-
-      //do check user permissions for edit/view activity.
-      if (($actId = CRM_Utils_Array::value('case_scheduled_activity_id', $casesList[$result->case_id])) ||
-        ($actId = CRM_Utils_Array::value('case_recent_activity_id', $casesList[$result->case_id]))
-      ) {
-        $casesList[$result->case_id]["case_{$type}_activity_editable"] = self::checkPermission($actId,
-          'edit',
-          $casesList[$result->case_id]['activity_type_id'], $userID
-        );
-        $casesList[$result->case_id]["case_{$type}_activity_viewable"] = self::checkPermission($actId,
-          'view',
-          $casesList[$result->case_id]['activity_type_id'], $userID
-        );
-      }
+      $casesList[$key]['date'] .= "<br/>" . CRM_Utils_Date::customFormat($case[$caseActivityDateColumn]);
+      $casesList[$key]['links'] = CRM_Core_Action::formLink($actions['primaryActions'], $mask,
+        array(
+          'id' => $case['case_id'],
+          'cid' => $case['contact_id'],
+          'cxt' => $context,
+        ),
+        ts('more'),
+        FALSE,
+        'case.actions.primary',
+        'Case',
+        $case['case_id']
+      );
     }
 
     return $casesList;
@@ -714,10 +752,9 @@ AND civicrm_case.status_id != $closedId";
    * Get the summary of cases counts by type and status.
    *
    * @param bool $allCases
-   * @param int $userID
    * @return array
    */
-  public static function getCasesSummary($allCases = TRUE, $userID) {
+  public static function getCasesSummary($allCases = TRUE) {
     $caseSummary = array();
 
     //validate access for civicase.
@@ -725,6 +762,8 @@ AND civicrm_case.status_id != $closedId";
       return $caseSummary;
     }
 
+    $userID = CRM_Core_Session::singleton()->get('userID');
+
     //validate access for all cases.
     if ($allCases && !CRM_Core_Permission::check('access all cases and activities')) {
       $allCases = FALSE;
@@ -1545,8 +1584,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
     $caseID = implode(',', $cases['case_id']);
     $contactID = implode(',', $cases['contact_id']);
 
-    $condition = "
- AND civicrm_case_contact.contact_id IN( {$contactID} )
+    $condition = " civicrm_case_contact.contact_id IN( {$contactID} )
  AND civicrm_case.id IN( {$caseID})
  AND civicrm_case.is_deleted     = {$cases['case_deleted']}";
 
@@ -1842,8 +1880,8 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @param int $caseId
    *   Case id.
    *
-   * @return array
-   *   array of contact on success otherwise empty
+   * @return string
+   *   html hyperlink of manager contact view page
    *
    */
   public static function getCaseManagerContact($caseType, $caseId) {
@@ -1851,7 +1889,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
       return NULL;
     }
 
-    $caseManagerContact = array();
+    $caseManagerName = '---';
     $xmlProcessor = new CRM_Case_XMLProcessor_Process();
 
     $managerRoleId = $xmlProcessor->getCaseManagerRoleId($caseType);
@@ -1872,12 +1910,14 @@ SELECT civicrm_contact.id as casemanager_id,
 
       $dao = CRM_Core_DAO::executeQuery($managerRoleQuery, $managerRoleParams);
       if ($dao->fetch()) {
-        $caseManagerContact['casemanager_id'] = $dao->casemanager_id;
-        $caseManagerContact['casemanager'] = $dao->casemanager;
+        $caseManagerName = sprintf('<a href="%s">%s</a>',
+          CRM_Utils_System::url('civicrm/contact/view', array('cid' => $dao->casemanager_id)),
+          $dao->casemanager
+        );
       }
     }
 
-    return $caseManagerContact;
+    return $caseManagerName;
   }
 
   /**
@@ -1980,8 +2020,7 @@ SELECT civicrm_contact.id as casemanager_id,
     $doFilterCases = FALSE;
     if (!CRM_Core_Permission::check('access all cases and activities')) {
       $doFilterCases = TRUE;
-      $session = CRM_Core_Session::singleton();
-      $filterCases = CRM_Case_BAO_Case::getCases(FALSE, $session->get('userID'));
+      $filterCases = CRM_Case_BAO_Case::getCases(FALSE);
     }
 
     //2. fetch the details of related cases.
@@ -1989,7 +2028,8 @@ SELECT civicrm_contact.id as casemanager_id,
     SELECT  relCase.id as id,
             civicrm_case_type.title as case_type,
             client.display_name as client_name,
-            client.id as client_id
+            client.id as client_id,
+            relCase.status_id
       FROM  civicrm_case relCase
  INNER JOIN  civicrm_case_contact relCaseContact ON ( relCase.id = relCaseContact.case_id )
  INNER JOIN  civicrm_contact      client         ON ( client.id = relCaseContact.contact_id )
@@ -1999,6 +2039,7 @@ SELECT civicrm_contact.id as casemanager_id,
     $dao = CRM_Core_DAO::executeQuery($query);
     $contactViewUrl = CRM_Utils_System::url("civicrm/contact/view", "reset=1&cid=");
     $hasViewContact = CRM_Core_Permission::giveMeAllACLs();
+    $statuses = CRM_Case_BAO_Case::buildOptions('status_id');
 
     while ($dao->fetch()) {
       $caseView = NULL;
@@ -2016,6 +2057,7 @@ SELECT civicrm_contact.id as casemanager_id,
         'case_id' => $dao->id,
         'case_type' => $dao->case_type,
         'client_name' => $clientView,
+        'case_status' => $statuses[$dao->status_id],
         'links' => $caseView,
       );
     }
@@ -3193,7 +3235,9 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
   public static function getReceiptFrom($activityID) {
     $name = $address = NULL;
 
-    if (!empty($activityID)) {
+    if (!empty($activityID) && (Civi::settings()->get('allow_mail_from_logged_in_contact'))) {
+      // This breaks SPF/DMARC if email is sent from an email address that the server is not authorised to send from.
+      //    so we can disable this behaviour with the "allow_mail_from_logged_in_contact" setting.
       // There is always a 'Added by' contact for a activity,
       //  so we can safely use ActivityContact.Getvalue API
       $sourceContactId = civicrm_api3('ActivityContact', 'getvalue', array(
diff --git a/civicrm/CRM/Case/BAO/Query.php b/civicrm/CRM/Case/BAO/Query.php
index 59a4f4efb7..753702893f 100644
--- a/civicrm/CRM/Case/BAO/Query.php
+++ b/civicrm/CRM/Case/BAO/Query.php
@@ -698,6 +698,9 @@ case_relation_type.id = case_relationship.relationship_type_id )";
       $accessAllCases = TRUE;
       $caseOwner = array(1 => ts('Search All Cases'), 2 => ts('Only My Cases'));
       $form->addRadio('case_owner', ts('Cases'), $caseOwner);
+      if ($form->get('context') != 'dashboard') {
+        $form->add('checkbox', 'upcoming', ts('Search Cases with Upcoming Activities'));
+      }
     }
     $form->assign('accessAllCases', $accessAllCases);
 
diff --git a/civicrm/CRM/Case/DAO/Case.php b/civicrm/CRM/Case/DAO/Case.php
index 66bf0d6aff..d54b69eaf5 100644
--- a/civicrm/CRM/Case/DAO/Case.php
+++ b/civicrm/CRM/Case/DAO/Case.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,213 +8,226 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:2a046fd795b19790f45c5d9dde06a538)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Case_DAO_Case constructor.
+ * Database access object for the Case entity.
  */
 class CRM_Case_DAO_Case extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_case';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Case ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_case_type.id
    *
    * @var int unsigned
    */
   public $case_type_id;
+
   /**
    * Short name of the case.
    *
    * @var string
    */
   public $subject;
+
   /**
    * Date on which given case starts.
    *
    * @var date
    */
   public $start_date;
+
   /**
    * Date on which given case ends.
    *
    * @var date
    */
   public $end_date;
+
   /**
    * Details about the meeting (agenda, notes, etc).
    *
    * @var text
    */
   public $details;
+
   /**
    * Id of case status.
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_deleted;
+
   /**
    * When was the case was created.
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When was the case (or closely related entity) was created or modified or deleted.
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_case';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'case_type_id', 'civicrm_case_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'case_type_id', 'civicrm_case_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'case_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'case_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case ID') ,
+          'title' => ts('Case ID'),
           'description' => 'Unique Case ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_case.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-        ) ,
-        'case_type_id' => array(
+        ],
+        'case_type_id' => [
           'name' => 'case_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case Type') ,
+          'title' => ts('Case Type'),
           'description' => 'FK to civicrm_case_type.id',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_case.case_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
           'FKClassName' => 'CRM_Case_DAO_CaseType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_case_type',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'case_subject' => array(
+          ]
+        ],
+        'case_subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Case Subject') ,
+          'title' => ts('Case Subject'),
           'description' => 'Short name of the case.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_case.subject',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'case_start_date' => array(
+          ],
+        ],
+        'case_start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Case Start Date') ,
+          'title' => ts('Case Start Date'),
           'description' => 'Date on which given case starts.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_case.start_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'case_end_date' => array(
+          ],
+        ],
+        'case_end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Case End Date') ,
+          'title' => ts('Case End Date'),
           'description' => 'Date on which given case ends.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_case.end_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'details' => array(
+          ],
+        ],
+        'details' => [
           'name' => 'details',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Details') ,
+          'title' => ts('Details'),
           'description' => 'Details about the meeting (agenda, notes, etc).',
           'rows' => 8,
           'cols' => 60,
@@ -246,54 +235,54 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'case_status_id' => array(
+          ],
+        ],
+        'case_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case Status') ,
+          'title' => ts('Case Status'),
           'description' => 'Id of case status.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_case.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'case_status',
             'optionEditPath' => 'civicrm/admin/options/case_status',
-          )
-        ) ,
-        'case_deleted' => array(
+          ]
+        ],
+        'case_deleted' => [
           'name' => 'is_deleted',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Case is in the Trash') ,
-          'import' => true,
+          'title' => ts('Case is in the Trash'),
+          'import' => TRUE,
           'where' => 'civicrm_case.is_deleted',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_case',
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-        ) ,
-        'case_created_date' => array(
+        ],
+        'case_created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'When was the case was created.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_case.created_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -302,14 +291,14 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-        ) ,
-        'case_modified_date' => array(
+        ],
+        'case_modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When was the case (or closely related entity) was created or modified or deleted.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_case.modified_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -318,40 +307,44 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
           'entity' => 'Case',
           'bao' => 'CRM_Case_BAO_Case',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -359,10 +352,11 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -370,32 +364,38 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_case_type_id' => array(
+    $indices = [
+      'index_case_type_id' => [
         'name' => 'index_case_type_id',
-        'field' => array(
+        'field' => [
           0 => 'case_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_case::0::case_type_id',
-      ) ,
-      'index_is_deleted' => array(
+      ],
+      'index_is_deleted' => [
         'name' => 'index_is_deleted',
-        'field' => array(
+        'field' => [
           0 => 'is_deleted',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_case::0::is_deleted',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Case/DAO/CaseActivity.php b/civicrm/CRM/Case/DAO/CaseActivity.php
index 6645ab4b25..352e134e0d 100644
--- a/civicrm/CRM/Case/DAO/CaseActivity.php
+++ b/civicrm/CRM/Case/DAO/CaseActivity.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,140 +8,151 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:80c6c66652f17c130b2eddcfb32c8f3d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Case_DAO_CaseActivity constructor.
+ * Database access object for the CaseActivity entity.
  */
 class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_case_activity';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique case-activity association id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Case ID of case-activity association.
    *
    * @var int unsigned
    */
   public $case_id;
+
   /**
    * Activity ID of case-activity association.
    *
    * @var int unsigned
    */
   public $activity_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_case_activity';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'case_id', 'civicrm_case', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'activity_id', 'civicrm_activity', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'case_id', 'civicrm_case', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'activity_id', 'civicrm_activity', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case Activity ID') ,
+          'title' => ts('Case Activity ID'),
           'description' => 'Unique case-activity association id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_activity',
           'entity' => 'CaseActivity',
           'bao' => 'CRM_Case_DAO_CaseActivity',
           'localizable' => 0,
-        ) ,
-        'case_id' => array(
+        ],
+        'case_id' => [
           'name' => 'case_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case') ,
+          'title' => ts('Case'),
           'description' => 'Case ID of case-activity association.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_activity',
           'entity' => 'CaseActivity',
           'bao' => 'CRM_Case_DAO_CaseActivity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Case_DAO_Case',
-        ) ,
-        'activity_id' => array(
+        ],
+        'activity_id' => [
           'name' => 'activity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Activity ID') ,
+          'title' => ts('Activity ID'),
           'description' => 'Activity ID of case-activity association.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_activity',
           'entity' => 'CaseActivity',
           'bao' => 'CRM_Case_DAO_CaseActivity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Activity_DAO_Activity',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -173,10 +160,11 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_activity', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_activity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -184,25 +172,31 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_activity', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_activity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_case_activity_id' => array(
+    $indices = [
+      'UI_case_activity_id' => [
         'name' => 'UI_case_activity_id',
-        'field' => array(
+        'field' => [
           0 => 'case_id',
           1 => 'activity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_case_activity::0::case_id::activity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Case/DAO/CaseContact.php b/civicrm/CRM/Case/DAO/CaseContact.php
index 8454e5b72c..9c297170eb 100644
--- a/civicrm/CRM/Case/DAO/CaseContact.php
+++ b/civicrm/CRM/Case/DAO/CaseContact.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,143 +8,154 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:def2443e49db4d131c39c07e2045fbb3)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Case_DAO_CaseContact constructor.
+ * Database access object for the CaseContact entity.
  */
 class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_case_contact';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique case-contact association id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Case ID of case-contact association.
    *
    * @var int unsigned
    */
   public $case_id;
+
   /**
    * Contact ID of contact record given case belongs to.
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_case_contact';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'case_id', 'civicrm_case', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'case_id', 'civicrm_case', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case Contact ID') ,
+          'title' => ts('Case Contact ID'),
           'description' => 'Unique case-contact association id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_contact',
           'entity' => 'CaseContact',
           'bao' => 'CRM_Case_BAO_CaseContact',
           'localizable' => 0,
-        ) ,
-        'case_id' => array(
+        ],
+        'case_id' => [
           'name' => 'case_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case') ,
+          'title' => ts('Case'),
           'description' => 'Case ID of case-contact association.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_contact',
           'entity' => 'CaseContact',
           'bao' => 'CRM_Case_BAO_CaseContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Case_DAO_Case',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Contact ID of contact record given case belongs to.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_contact',
           'entity' => 'CaseContact',
           'bao' => 'CRM_Case_BAO_CaseContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -176,10 +163,11 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_contact', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -187,26 +175,32 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_contact', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_case_contact_id' => array(
+    $indices = [
+      'UI_case_contact_id' => [
         'name' => 'UI_case_contact_id',
-        'field' => array(
+        'field' => [
           0 => 'case_id',
           1 => 'contact_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_case_contact::1::case_id::contact_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Case/DAO/CaseType.php b/civicrm/CRM/Case/DAO/CaseType.php
index ac84133ab9..8ee224bf4a 100644
--- a/civicrm/CRM/Case/DAO/CaseType.php
+++ b/civicrm/CRM/Case/DAO/CaseType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,128 +8,139 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a9a547708dfca9da8c4421dd5edac6ac)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Case_DAO_CaseType constructor.
+ * Database access object for the CaseType entity.
  */
 class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_case_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Autoincremented type id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Machine name for Case Type
    *
    * @var string
    */
   public $name;
+
   /**
    * Natural language name for Case Type
    *
    * @var string
    */
   public $title;
+
   /**
    * Description of the Case Type
    *
    * @var string
    */
   public $description;
+
   /**
    * Is this entry active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this case type a predefined system type?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Ordering of the case types
    *
    * @var int
    */
   public $weight;
+
   /**
    * xml definition of case type
    *
    * @var blob
    */
   public $definition;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_case_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Case Type ID') ,
+          'title' => ts('Case Type ID'),
           'description' => 'Autoincremented type id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Case Type Name') ,
+          'title' => ts('Case Type Name'),
           'description' => 'Machine name for Case Type',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Case Type Title') ,
+          'title' => ts('Case Type Title'),
           'description' => 'Natural language name for Case Type',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Case Type Description') ,
+          'title' => ts('Case Type Description'),
           'description' => 'Description of the Case Type',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -161,82 +148,86 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 1,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Case Type Is Active') ,
+          'title' => ts('Case Type Is Active'),
           'description' => 'Is this entry active?',
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Case Type Is Reserved') ,
+          'title' => ts('Case Type Is Reserved'),
           'description' => 'Is this case type a predefined system type?',
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Ordering of the case types',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-        'definition' => array(
+        ],
+        'definition' => [
           'name' => 'definition',
           'type' => CRM_Utils_Type::T_BLOB,
-          'title' => ts('Case Type Definition') ,
+          'title' => ts('Case Type Definition'),
           'description' => 'xml definition of case type',
           'table_name' => 'civicrm_case_type',
           'entity' => 'CaseType',
           'bao' => 'CRM_Case_BAO_CaseType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -244,10 +235,11 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'case_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -255,25 +247,31 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'case_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'case_type_name' => array(
+    $indices = [
+      'case_type_name' => [
         'name' => 'case_type_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_case_type::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Case/Form/Activity.php b/civicrm/CRM/Case/Form/Activity.php
index 7a0809cc8c..9bebe8b97e 100644
--- a/civicrm/CRM/Case/Form/Activity.php
+++ b/civicrm/CRM/Case/Form/Activity.php
@@ -100,8 +100,8 @@ class CRM_Case_Form_Activity extends CRM_Activity_Form_Activity {
     if ($this->_caseId &&
       !CRM_Core_Permission::check('access all cases and activities')
     ) {
-      $session = CRM_Core_Session::singleton();
-      $allCases = CRM_Case_BAO_Case::getCases(TRUE, $session->get('userID'), 'any');
+      $params = array('type' => 'any');
+      $allCases = CRM_Case_BAO_Case::getCases(TRUE, $params);
       if (count(array_intersect($this->_caseId, array_keys($allCases))) == 0) {
         CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
       }
diff --git a/civicrm/CRM/Case/Form/Activity/ChangeCaseStatus.php b/civicrm/CRM/Case/Form/Activity/ChangeCaseStatus.php
index 8006b0c37b..57361dcd61 100644
--- a/civicrm/CRM/Case/Form/Activity/ChangeCaseStatus.php
+++ b/civicrm/CRM/Case/Form/Activity/ChangeCaseStatus.php
@@ -45,6 +45,12 @@ class CRM_Case_Form_Activity_ChangeCaseStatus {
     if (!isset($form->_caseId)) {
       CRM_Core_Error::fatal(ts('Case Id not found.'));
     }
+
+    $form->addElement('checkbox', 'updateLinkedCases', NULL, NULL, array('class' => 'select-row'));
+
+    $caseID = CRM_Utils_Array::first($form->_caseId);
+    $cases = CRM_Case_BAO_Case::getRelatedCases($caseID);
+    $form->assign('linkedCases', $cases);
   }
 
   /**
@@ -136,23 +142,33 @@ class CRM_Case_Form_Activity_ChangeCaseStatus {
   /**
    * Process the form submission.
    *
-   *
    * @param CRM_Core_Form $form
    * @param array $params
    */
   public static function beginPostProcess(&$form, &$params) {
     $params['id'] = CRM_Utils_Array::value('case_id', $params);
+
+    if ($params['updateLinkedCases'] === '1') {
+      $caseID = CRM_Utils_Array::first($form->_caseId);
+      $cases = CRM_Case_BAO_Case::getRelatedCases($caseID);
+
+      foreach ($cases as $currentCase) {
+        if ($currentCase['status_id'] != $params['case_status_id']) {
+          $form->_caseId[] = $currentCase['case_id'];
+        }
+      }
+    }
   }
 
   /**
    * Process the form submission.
    *
-   *
    * @param CRM_Core_Form $form
    * @param array $params
    * @param CRM_Activity_BAO_Activity $activity
    */
   public static function endPostProcess(&$form, &$params, $activity) {
+
     $groupingValues = CRM_Core_OptionGroup::values('case_status', FALSE, TRUE, FALSE, NULL, 'value');
 
     // Set case end_date if we're closing the case. Clear end_date if we're (re)opening it.
diff --git a/civicrm/CRM/Case/Form/AddToCaseAsRole.php b/civicrm/CRM/Case/Form/AddToCaseAsRole.php
new file mode 100644
index 0000000000..d62dd92ad1
--- /dev/null
+++ b/civicrm/CRM/Case/Form/AddToCaseAsRole.php
@@ -0,0 +1,93 @@
+<?php
+
+/**
+ * Class CRM_Case_Form_AddToCaseAsRole
+ */
+class CRM_Case_Form_AddToCaseAsRole extends CRM_Contact_Form_Task {
+
+  /**
+   * @inheritdoc
+   */
+  public function buildQuickForm() {
+
+    $roleTypes = $this->getRoleTypes();
+    $this->add(
+      'select',
+      'role_type',
+      ts('Relationship Type'),
+      array('' => ts('- select type -')) + $roleTypes,
+      TRUE,
+      array('class' => 'crm-select2 twenty')
+    );
+
+    $this->addEntityRef(
+      'assign_to',
+      ts('Assign to'),
+      array('entity' => 'case'),
+      TRUE
+    );
+
+    $this->addButtons(array(
+      array(
+        'type' => 'submit',
+        'name' => ts('Submit'),
+        'isDefault' => TRUE,
+      ),
+      array(
+        'type' => 'cancel',
+        'name' => ts('Cancel'),
+      ),
+    ));
+  }
+
+  /**
+   * Returns list of configured role types for individuals.
+   *
+   * @return array
+   *   List of role types
+   */
+  private function getRoleTypes() {
+    $relType = CRM_Contact_BAO_Relationship::getRelationType('Individual');
+    $roleTypes = array();
+
+    foreach ($relType as $k => $v) {
+      $roleTypes[substr($k, 0, strpos($k, '_'))] = $v;
+    }
+
+    return $roleTypes;
+  }
+
+  /**
+   * @inheritdoc
+   */
+  public function postProcess() {
+    $values = $this->controller->exportValues();
+
+    $caseId = (int) $values['assign_to'];
+    $roleTypeId = (int) $values['role_type'];
+    $contacts = $this->_contactIds;
+
+    $clients = CRM_Case_BAO_Case::getCaseClients($caseId);
+
+    $params = array(
+      'contact_id_a' => $clients[0],
+      'contact_id_b' => $contacts,
+      'case_id' => $caseId,
+      'relationship_type_id' => $roleTypeId,
+    );
+
+    CRM_Contact_BAO_Relationship::createMultiple($params, 'a');
+
+    $url = CRM_Utils_System::url(
+      'civicrm/contact/view/case',
+      array(
+        'cid' => $clients[0],
+        'id' => $caseId,
+        'reset' => 1,
+        'action' => 'view',
+      )
+    );
+    CRM_Utils_System::redirect($url);
+  }
+
+}
diff --git a/civicrm/CRM/Case/Form/Case.php b/civicrm/CRM/Case/Form/Case.php
index 65532de6ff..55d2122fe0 100644
--- a/civicrm/CRM/Case/Form/Case.php
+++ b/civicrm/CRM/Case/Form/Case.php
@@ -354,7 +354,7 @@ class CRM_Case_Form_Case extends CRM_Core_Form {
       $params['subject'] = $params['activity_subject'];
     }
     $caseObj = CRM_Case_BAO_Case::create($params);
-    $params['case_id'] = $caseObj->id;
+    $this->_caseId = $params['case_id'] = $caseObj->id;
     // unset any ids, custom data
     unset($params['id'], $params['custom']);
 
diff --git a/civicrm/CRM/Case/Page/AJAX.php b/civicrm/CRM/Case/Page/AJAX.php
index cd30c11488..2d643559fd 100644
--- a/civicrm/CRM/Case/Page/AJAX.php
+++ b/civicrm/CRM/Case/Page/AJAX.php
@@ -186,4 +186,30 @@ class CRM_Case_Page_AJAX {
     CRM_Utils_System::civiExit();
   }
 
+  public static function getCases() {
+    $requiredParameters = array(
+      'type' => 'String',
+    );
+    $optionalParameters = array(
+      'case_type_id' => 'String',
+      'status_id' => 'String',
+      'all' => 'Positive',
+    );
+    $params = CRM_Core_Page_AJAX::defaultSortAndPagerParams();
+    $params += CRM_Core_Page_AJAX::validateParams($requiredParameters, $optionalParameters);
+
+    $allCases = (bool) $params['all'];
+
+    $cases = CRM_Case_BAO_Case::getCases($allCases, $params);
+
+    $casesDT = array(
+      'recordsFiltered' => $cases['total'],
+      'recordsTotal' => $cases['total'],
+    );
+    unset($cases['total']);
+    $casesDT['data'] = $cases;
+
+    CRM_Utils_JSON::output($casesDT);
+  }
+
 }
diff --git a/civicrm/CRM/Case/Page/DashBoard.php b/civicrm/CRM/Case/Page/DashBoard.php
index da548c7711..9ce8d4bd09 100644
--- a/civicrm/CRM/Case/Page/DashBoard.php
+++ b/civicrm/CRM/Case/Page/DashBoard.php
@@ -58,7 +58,7 @@ class CRM_Case_Page_DashBoard extends CRM_Core_Page {
     }
 
     $session = CRM_Core_Session::singleton();
-    $allCases = CRM_Utils_Request::retrieve('all', 'Positive', $session);
+    $allCases = CRM_Utils_Request::retrieve('all', 'Positive', $this);
 
     CRM_Utils_System::setTitle(ts('CiviCase Dashboard'));
 
@@ -66,9 +66,10 @@ class CRM_Case_Page_DashBoard extends CRM_Core_Page {
 
     //validate access for all cases.
     if ($allCases && !CRM_Core_Permission::check('access all cases and activities')) {
-      $allCases = FALSE;
+      $allCases = 0;
       CRM_Core_Session::setStatus(ts('You are not authorized to access all cases and activities.'), ts('Sorry'), 'error');
     }
+    $this->assign('all', $allCases);
     if (!$allCases) {
       $this->assign('myCases', TRUE);
     }
@@ -82,22 +83,27 @@ class CRM_Case_Page_DashBoard extends CRM_Core_Page {
     ) {
       $this->assign('newClient', TRUE);
     }
-    $summary = CRM_Case_BAO_Case::getCasesSummary($allCases, $userID);
-    $upcoming = CRM_Case_BAO_Case::getCases($allCases, $userID, 'upcoming');
-    $recent = CRM_Case_BAO_Case::getCases($allCases, $userID, 'recent');
+    $summary = CRM_Case_BAO_Case::getCasesSummary($allCases);
+    $upcoming = CRM_Case_BAO_Case::getCases($allCases, array(), 'dashboard', TRUE);
+    $recent = CRM_Case_BAO_Case::getCases($allCases, array('type' => 'recent'), 'dashboard', TRUE);
 
-    foreach ($upcoming as $key => $value) {
-      if (strtotime($value['case_scheduled_activity_date']) < time()) {
-        $upcoming[$key]['activity_status'] = 'status-overdue';
-      }
-    }
     $this->assign('casesSummary', $summary);
     if (!empty($upcoming)) {
-      $this->assign('upcomingCases', $upcoming);
+      $this->assign('upcomingCases', TRUE);
     }
     if (!empty($recent)) {
-      $this->assign('recentCases', $recent);
+      $this->assign('recentCases', TRUE);
     }
+
+    $controller = new CRM_Core_Controller_Simple('CRM_Case_Form_Search',
+      ts('Case'), CRM_Core_Action::BROWSE,
+      NULL,
+      FALSE, FALSE, TRUE
+    );
+    $controller->set('context', 'dashboard');
+    $controller->setEmbedded(TRUE);
+    $controller->process();
+    $controller->run();
   }
 
   /**
diff --git a/civicrm/CRM/Case/Page/Tab.php b/civicrm/CRM/Case/Page/Tab.php
index 64599e6a7c..8be97d37d8 100644
--- a/civicrm/CRM/Case/Page/Tab.php
+++ b/civicrm/CRM/Case/Page/Tab.php
@@ -67,8 +67,7 @@ class CRM_Case_Page_Tab extends CRM_Core_Page {
       if ($this->_id && ($this->_action & CRM_Core_Action::VIEW)) {
         //user might have special permissions to view this case, CRM-5666
         if (!CRM_Core_Permission::check('access all cases and activities')) {
-          $session = CRM_Core_Session::singleton();
-          $userCases = CRM_Case_BAO_Case::getCases(FALSE, $session->get('userID'), 'any');
+          $userCases = CRM_Case_BAO_Case::getCases(FALSE, array('type' => 'any'));
           if (!array_key_exists($this->_id, $userCases)) {
             CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
           }
diff --git a/civicrm/CRM/Case/Selector/Search.php b/civicrm/CRM/Case/Selector/Search.php
index 990503e5c1..99fc2c2267 100644
--- a/civicrm/CRM/Case/Selector/Search.php
+++ b/civicrm/CRM/Case/Selector/Search.php
@@ -349,12 +349,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
 
       //adding case manager to case selector.CRM-4510.
       $caseType = CRM_Case_BAO_Case::getCaseType($result->case_id, 'name');
-      $caseManagerContact = CRM_Case_BAO_Case::getCaseManagerContact($caseType, $result->case_id);
-
-      if (!empty($caseManagerContact)) {
-        $row['casemanager_id'] = CRM_Utils_Array::value('casemanager_id', $caseManagerContact);
-        $row['casemanager'] = CRM_Utils_Array::value('casemanager', $caseManagerContact);
-      }
+      $row['casemanager'] = CRM_Case_BAO_Case::getCaseManagerContact($caseType, $result->case_id);
 
       if (isset($result->case_status_id) &&
         array_key_exists($result->case_status_id, $caseStatus)
diff --git a/civicrm/CRM/Case/StateMachine/Search.php b/civicrm/CRM/Case/StateMachine/Search.php
index 0cfa120af7..54488648b9 100644
--- a/civicrm/CRM/Case/StateMachine/Search.php
+++ b/civicrm/CRM/Case/StateMachine/Search.php
@@ -80,7 +80,7 @@ class CRM_Case_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Case/xml/Menu/Case.xml b/civicrm/CRM/Case/xml/Menu/Case.xml
index 386cdc131d..91d5ceb984 100644
--- a/civicrm/CRM/Case/xml/Menu/Case.xml
+++ b/civicrm/CRM/Case/xml/Menu/Case.xml
@@ -136,4 +136,8 @@
     <path>civicrm/ajax/delcaserole</path>
     <page_callback>CRM_Case_Page_AJAX::deleteCaseRoles</page_callback>
   </item>
+  <item>
+    <path>civicrm/ajax/get-cases</path>
+    <page_callback>CRM_Case_Page_AJAX::getCases</page_callback>
+  </item>
 </menu>
diff --git a/civicrm/CRM/Contact/BAO/Contact.php b/civicrm/CRM/Contact/BAO/Contact.php
index ee0f3fa3b1..8cafef35bc 100644
--- a/civicrm/CRM/Contact/BAO/Contact.php
+++ b/civicrm/CRM/Contact/BAO/Contact.php
@@ -1046,11 +1046,12 @@ WHERE     civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer');
     if (!$id) {
       return FALSE;
     }
-    $query = "
-UPDATE civicrm_contact
-SET image_URL=NULL
-WHERE id={$id}; ";
-    CRM_Core_DAO::executeQuery($query);
+
+    $contact = new self();
+    $contact->id = $id;
+    $contact->image_URL = 'null';
+    $contact->save();
+
     return TRUE;
   }
 
@@ -3524,8 +3525,9 @@ LEFT JOIN civicrm_address add2 ON ( add1.master_id = add2.id )
     $obj = new $daoName();
     $obj->id = $id;
     $obj->find();
+    $hookParams = [];
     if ($obj->fetch()) {
-      CRM_Utils_Hook::pre('delete', $type, $id, CRM_Core_DAO::$_nullArray);
+      CRM_Utils_Hook::pre('delete', $type, $id, $hookParams);
       $contactId = $obj->contact_id;
       $obj->delete();
     }
diff --git a/civicrm/CRM/Contact/BAO/Contact/Location.php b/civicrm/CRM/Contact/BAO/Contact/Location.php
index 7405537b44..a06971c9c8 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Location.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Location.php
@@ -45,29 +45,19 @@ class CRM_Contact_BAO_Contact_Location {
    *   Array of display_name, email, location type and location id if found, or (null,null,null, null)
    */
   public static function getEmailDetails($id, $isPrimary = TRUE, $locationTypeID = NULL) {
-    $primaryClause = NULL;
+    $params = array(
+      'location_type_id' => $locationTypeID,
+      'contact_id' => $id,
+      'return' => array('contact_id.display_name', 'email', 'location_type_id', 'id'),
+    );
     if ($isPrimary) {
-      $primaryClause = " AND civicrm_email.is_primary = 1";
+      $params['is_primary'] = 1;
     }
+    $emails = civicrm_api3('Email', 'get', $params);
 
-    $locationClause = NULL;
-    if ($locationTypeID) {
-      $locationClause = " AND civicrm_email.location_type_id = $locationTypeID";
-    }
-
-    $sql = "
-SELECT    civicrm_contact.display_name,
-          civicrm_email.email,
-          civicrm_email.location_type_id,
-          civicrm_email.id
-FROM      civicrm_contact
-LEFT JOIN civicrm_email ON ( civicrm_contact.id = civicrm_email.contact_id {$primaryClause} {$locationClause} )
-WHERE     civicrm_contact.id = %1";
-
-    $params = array(1 => array($id, 'Integer'));
-    $dao = CRM_Core_DAO::executeQuery($sql, $params);
-    if ($dao->fetch()) {
-      return array($dao->display_name, $dao->email, $dao->location_type_id, $dao->id);
+    if ($emails['count'] > 0) {
+      $email = reset($emails['values']);
+      return array($email['contact_id.display_name'], $email['email'], $email['location_type_id'], $email['id']);
     }
     return array(NULL, NULL, NULL, NULL);
   }
diff --git a/civicrm/CRM/Contact/BAO/Group.php b/civicrm/CRM/Contact/BAO/Group.php
index d513ba2605..05e78491fc 100644
--- a/civicrm/CRM/Contact/BAO/Group.php
+++ b/civicrm/CRM/Contact/BAO/Group.php
@@ -356,16 +356,13 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       $params['name'] = CRM_Utils_String::titleToVar($params['title']);
     }
 
+    if (!empty($params['parents'])) {
+      $params['parents'] = CRM_Utils_Array::convertCheckboxFormatToArray((array) $params['parents']);
+    }
+
     // convert params if array type
     if (isset($params['group_type'])) {
-      if (is_array($params['group_type'])) {
-        $params['group_type'] = CRM_Core_DAO::VALUE_SEPARATOR . implode(CRM_Core_DAO::VALUE_SEPARATOR,
-            CRM_Utils_Array::convertCheckboxFormatToArray($params['group_type'])
-          ) . CRM_Core_DAO::VALUE_SEPARATOR;
-      }
-      else {
-        $params['group_type'] = CRM_Core_DAO::VALUE_SEPARATOR . $params['group_type'] . CRM_Core_DAO::VALUE_SEPARATOR;
-      }
+      $params['group_type'] = CRM_Utils_Array::convertCheckboxFormatToArray((array) $params['group_type']);
     }
     else {
       $params['group_type'] = NULL;
@@ -391,17 +388,8 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       }
     }
     $group = new CRM_Contact_BAO_Group();
-    $group->copyValues($params);
-    //@todo very hacky fix for the fact this function wants to receive 'parents' as an array further down but
-    // needs it as a separated string for the DB. Preferred approaches are having the copyParams or save fn
-    // use metadata to translate the array to the appropriate DB type or altering the param in the api layer,
-    // or at least altering the param in same section as 'group_type' rather than repeating here. However, further down
-    // we need the $params one to be in it's original form & we are not sure what test coverage we have on that
-    if (isset($group->parents) && is_array($group->parents)) {
-      $group->parents = CRM_Core_DAO::VALUE_SEPARATOR . implode(CRM_Core_DAO::VALUE_SEPARATOR,
-          array_keys($group->parents)
-        ) . CRM_Core_DAO::VALUE_SEPARATOR;
-    }
+    $group->copyValues($params, TRUE);
+
     if (empty($params['id']) &&
       !$nameParam
     ) {
@@ -437,14 +425,11 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       ) {
         // if no parent present and the group doesn't already have any parents,
         // make sure site group goes as parent
-        $params['parents'] = array($domainGroupID => 1);
-      }
-      elseif (array_key_exists('parents', $params) && !is_array($params['parents'])) {
-        $params['parents'] = array($params['parents'] => 1);
+        $params['parents'] = array($domainGroupID);
       }
 
       if (!empty($params['parents'])) {
-        foreach ($params['parents'] as $parentId => $dnc) {
+        foreach ($params['parents'] as $parentId) {
           if ($parentId && !CRM_Contact_BAO_GroupNesting::isParentChild($parentId, $group->id)) {
             CRM_Contact_BAO_GroupNesting::add($parentId, $group->id);
           }
@@ -673,10 +658,7 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       if (!$ssId) {
         //save record in mapping table
         $mappingParams = array(
-          'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-            'Search Builder',
-            'name'
-          ),
+          'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Search Builder'),
         );
         $mapping = CRM_Core_BAO_Mapping::add($mappingParams);
         $mappingId = $mapping->id;
@@ -731,10 +713,7 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
         'id' => $mappingId,
         'name' => CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group', $smartGroupId, 'name', 'id'),
         'description' => CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group', $smartGroupId, 'description', 'id'),
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Search Builder',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Search Builder'),
       );
       CRM_Core_BAO_Mapping::add($mappingParams);
     }
diff --git a/civicrm/CRM/Contact/BAO/ProximityQuery.php b/civicrm/CRM/Contact/BAO/ProximityQuery.php
index 0418f5ab2e..e41ab733f5 100644
--- a/civicrm/CRM/Contact/BAO/ProximityQuery.php
+++ b/civicrm/CRM/Contact/BAO/ProximityQuery.php
@@ -273,6 +273,8 @@ ACOS(
       'state_province' => 0,
       'country' => 0,
       'distance_unit' => 0,
+      'geo_code_1' => 0,
+      'geo_code_2' => 0,
     );
 
     $proximityAddress = array();
@@ -333,15 +335,14 @@ ACOS(
       )
     );
 
-    $fnName = isset($config->geocodeMethod) ? $config->geocodeMethod : NULL;
-    if (empty($fnName)) {
-      CRM_Core_Error::fatal(ts('Proximity searching requires you to set a valid geocoding provider'));
-    }
-
     $query->_tables['civicrm_address'] = $query->_whereTables['civicrm_address'] = 1;
 
-    require_once str_replace('_', DIRECTORY_SEPARATOR, $fnName) . '.php';
-    $fnName::format($proximityAddress);
+    if (empty($proximityAddress['geo_code_1']) || empty($proximityAddress['geo_code_2'])) {
+      if (!CRM_Core_BAO_Address::addGeocoderData($proximityAddress)) {
+        throw new CRM_Core_Exception(ts('Proximity searching requires you to set a valid geocoding provider'));
+      }
+    }
+
     if (
       !is_numeric(CRM_Utils_Array::value('geo_code_1', $proximityAddress)) ||
       !is_numeric(CRM_Utils_Array::value('geo_code_2', $proximityAddress))
diff --git a/civicrm/CRM/Contact/BAO/Query.php b/civicrm/CRM/Contact/BAO/Query.php
index b4c5951fb6..5435aa3c2f 100644
--- a/civicrm/CRM/Contact/BAO/Query.php
+++ b/civicrm/CRM/Contact/BAO/Query.php
@@ -2002,6 +2002,8 @@ class CRM_Contact_BAO_Query {
       case 'prox_postal_code':
       case 'prox_state_province_id':
       case 'prox_country_id':
+      case 'prox_geo_code_1':
+      case 'prox_geo_code_2':
         // handled by the proximity_distance clause
         return;
 
@@ -2142,6 +2144,7 @@ class CRM_Contact_BAO_Query {
       }
 
       $this->_where[$grouping][] = self::buildClause($where, $op, $value);
+      $this->_tables[$aName] = $this->_whereTables[$aName] = 1;
       list($qillop, $qillVal) = self::buildQillForFieldValue('CRM_Core_DAO_Address', "state_province_id", $value, $op);
       $this->_qill[$grouping][] = ts("%1 %2 %3", array(1 => $field['title'], 2 => $qillop, 3 => $qillVal));
     }
@@ -2170,6 +2173,7 @@ class CRM_Contact_BAO_Query {
       }
 
       $this->_where[$grouping][] = self::buildClause($where, $op, $value, 'Positive');
+      $this->_tables[$aName] = $this->_whereTables[$aName] = 1;
 
       list($qillop, $qillVal) = CRM_Contact_BAO_Query::buildQillForFieldValue(NULL, $name, $value, $op);
       $this->_qill[$grouping][] = ts("%1 %2 %3", array(1 => $field['title'], 2 => $qillop, 3 => $qillVal));
@@ -4048,17 +4052,31 @@ WHERE  $smartGroupClause
       }
     }
 
-    $rTypeValues = array();
+    $rTypeValues = $relTypes = $relTypesIds = array();
     if (!empty($relationType)) {
-      $rel = explode('_', $relationType[2]);
-      self::$_relType = $rel[1];
-      $params = array('id' => $rel[0]);
-      $rType = CRM_Contact_BAO_RelationshipType::retrieve($params, $rTypeValues);
+      $relationType[2] = (array) $relationType[2];
+      foreach ($relationType[2] as $relType) {
+        $rel = explode('_', $relType);
+        self::$_relType .= $rel[1];
+        $params = array('id' => $rel[0]);
+        $typeValues = array();
+        $rTypeValue = CRM_Contact_BAO_RelationshipType::retrieve($params, $typeValues);
+        if (!empty($rTypeValue)) {
+          $rTypeValues[] = $rTypeValue;
+          $relTypesIds[] = $rel[0];
+          $relTypes[] = $relType;
+        }
+      }
     }
-    if (!empty($rTypeValues) && $rTypeValues['name_a_b'] == $rTypeValues['name_b_a']) {
-      // if we don't know which end of the relationship we are dealing with we'll create a temp table
-      //@todo unless we are dealing with a target group
-      self::$_relType = 'reciprocal';
+    if (!empty($rTypeValues)) {
+      foreach ($rTypeValues as $rTypeValue) {
+        $rTypeValue = (array) $rTypeValue;
+        if ($rTypeValue['name_a_b'] == $rTypeValue['name_b_a']) {
+          // if we don't know which end of the relationship we are dealing with we'll create a temp table
+          //@todo unless we are dealing with a target group
+          self::$_relType = 'reciprocal';
+        }
+      }
     }
     // if we are creating a temp table we build our own where for the relationship table
     $relationshipTempTable = NULL;
@@ -4075,12 +4093,17 @@ WHERE  $smartGroupClause
         $where[$grouping][] = "( contact_b.sort_name $nameClause AND contact_b.id != contact_a.id )";
       }
     }
-
     $allRelationshipType = CRM_Contact_BAO_Relationship::getContactRelationshipType(NULL, 'null', NULL, NULL, TRUE);
-
     if ($nameClause || !$targetGroup) {
       if (!empty($relationType)) {
-        $this->_qill[$grouping][] = $allRelationshipType[$relationType[2]] . " $name";
+        $relQill = '';
+        foreach ($relTypes as $rel) {
+          if (!empty($relQill)) {
+            $relQill .= ' OR ';
+          }
+          $relQill .= $allRelationshipType[$rel];
+        }
+        $this->_qill[$grouping][] = 'Relationship Type(s) ' . $relQill . " $name";
       }
       else {
         $this->_qill[$grouping][] = $name;
@@ -4113,7 +4136,14 @@ WHERE  $smartGroupClause
         }
       }
       if (!empty($relationType)) {
-        $this->_qill[$grouping][] = $allRelationshipType[$relationType[2]] . " ( " . implode(", ", $qillNames) . " )";
+        $relQill = '';
+        foreach ($relTypes as $rel) {
+          if (!empty($relQill)) {
+            $relQill .= ' OR ';
+          }
+          $relQill .= $allRelationshipType[$rel];
+        }
+        $this->_qill[$grouping][] = 'Relationship Type(s) ' . $relQill . " ( " . implode(", ", $qillNames) . " )";
       }
       else {
         $this->_qill[$grouping][] = implode(", ", $qillNames);
@@ -4163,8 +4193,8 @@ civicrm_relationship.is_permission_a_b = 0
 
     $this->addRelationshipDateClauses($grouping, $where);
     $this->addRelationshipActivePeriodClauses($grouping, $where);
-    if (!empty($relationType) && !empty($rType) && isset($rType->id)) {
-      $where[$grouping][] = 'civicrm_relationship.relationship_type_id = ' . $rType->id;
+    if (!empty($relTypes)) {
+      $where[$grouping][] = 'civicrm_relationship.relationship_type_id IN (' . implode(',', $relTypesIds) . ')';
     }
     $this->_tables['civicrm_relationship'] = $this->_whereTables['civicrm_relationship'] = 1;
     $this->_useDistinct = TRUE;
@@ -4194,7 +4224,6 @@ civicrm_relationship.is_permission_a_b = 0
       ";
       CRM_Core_DAO::executeQuery($sql);
     }
-
   }
 
   /**
@@ -5012,16 +5041,8 @@ SELECT COUNT( conts.total_amount ) as total_count,
     if ($context == 'search') {
       $where .= " AND contact_a.is_deleted = 0 ";
     }
-    CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes);
-    if (!empty($financialTypes)) {
-      $where .= " AND civicrm_contribution.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ") AND li.id IS NULL";
-      $from .= " LEFT JOIN civicrm_line_item li
-                      ON civicrm_contribution.id = li.contribution_id AND
-                         li.entity_table = 'civicrm_contribution' AND li.financial_type_id NOT IN (" . implode(',', array_keys($financialTypes)) . ") ";
-    }
-    else {
-      $where .= " AND civicrm_contribution.financial_type_id IN (0)";
-    }
+
+    $query = $this->appendFinancialTypeWhereAndFromToQueryStrings($where, $from);
 
     // make sure contribution is completed - CRM-4989
     $completedWhere = $where . " AND civicrm_contribution.contribution_status_id = 1 ";
@@ -5152,6 +5173,28 @@ SELECT COUNT( conts.total_amount ) as cancel_count,
     return $summary;
   }
 
+  /**
+   * Append financial ACL limits to the query from & where clauses, if applicable.
+   *
+   * @param string $where
+   * @param string $from
+   */
+  public function appendFinancialTypeWhereAndFromToQueryStrings(&$where, &$from) {
+    if (!CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) {
+      return;
+    }
+    CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes);
+    if (!empty($financialTypes)) {
+      $where .= " AND civicrm_contribution.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ") AND li.id IS NULL";
+      $from .= " LEFT JOIN civicrm_line_item li
+                  ON civicrm_contribution.id = li.contribution_id AND
+                     li.entity_table = 'civicrm_contribution' AND li.financial_type_id NOT IN (" . implode(',', array_keys($financialTypes)) . ") ";
+    }
+    else {
+      $where .= " AND civicrm_contribution.financial_type_id IN (0)";
+    }
+  }
+
   /**
    * Getter for the qill object.
    *
diff --git a/civicrm/CRM/Contact/BAO/SavedSearch.php b/civicrm/CRM/Contact/BAO/SavedSearch.php
index 04fe04ef7c..bdba332fe8 100644
--- a/civicrm/CRM/Contact/BAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/BAO/SavedSearch.php
@@ -92,6 +92,17 @@ class CRM_Contact_BAO_SavedSearch extends CRM_Contact_DAO_SavedSearch {
    *   the values of the posted saved search used as default values in various Search Form
    */
   public static function getFormValues($id) {
+    $specialDateFields = array(
+      'event_start_date_low' => 'event_date_low',
+      'event_end_date_high' => 'event_date_high',
+      'participant_register_date_low' => 'participant_date_low',
+      'participant_register_date_high' => 'participant_date_high',
+      'case_from_start_date_low' => 'case_from_date_low',
+      'case_from_start_date_high' => 'case_from_date_high',
+      'case_to_end_date_low' => 'case_to_date_low',
+      'case_to_end_date_high' => 'case_to_date_high',
+    );
+
     $fv = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_SavedSearch', $id, 'form_values');
     $result = NULL;
     if ($fv) {
@@ -119,6 +130,11 @@ class CRM_Contact_BAO_SavedSearch extends CRM_Contact_DAO_SavedSearch {
             $result[$id] = NULL;
             $result["{$entityName}_date_relative"] = $result['relative_dates'][$entityName];
           }
+          elseif (!empty($specialDateFields[$id])) {
+            $entityName = strstr($specialDateFields[$id], '_date', TRUE);
+            $result[$id] = NULL;
+            $result["{$entityName}_relative"] = $result['relative_dates'][$entityName];
+          }
           else {
             $result[$id] = $value;
             $result["{$entityName}_date_relative"] = 0;
@@ -411,9 +427,13 @@ LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_
    */
   public static function saveRelativeDates(&$queryParams, $formValues) {
     $relativeDates = array('relative_dates' => array());
+    $specialDateFields = array('event_relative', 'case_from_relative', 'case_to_relative', 'participant_relative');
     foreach ($formValues as $id => $value) {
-      if (preg_match('/_date_relative$/', $id) && !empty($value)) {
+      if ((preg_match('/_date_relative$/', $id) || in_array($id, $specialDateFields)) && !empty($value)) {
         $entityName = strstr($id, '_date', TRUE);
+        if (empty($entityName)) {
+          $entityName = strstr($id, '_relative', TRUE);
+        }
         $relativeDates['relative_dates'][$entityName] = $value;
       }
     }
diff --git a/civicrm/CRM/Contact/DAO/ACLContactCache.php b/civicrm/CRM/Contact/DAO/ACLContactCache.php
index 0a16ea51c1..6a0a1a7f60 100644
--- a/civicrm/CRM/Contact/DAO/ACLContactCache.php
+++ b/civicrm/CRM/Contact/DAO/ACLContactCache.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,164 +8,176 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:09f2e2cc85dd5a51fa2c23ec4f8dc6ee)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_ACLContactCache constructor.
+ * Database access object for the ACLContactCache entity.
  */
 class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_acl_contact_cache';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_contact (could be null for anon user)
    *
    * @var int unsigned
    */
   public $user_id;
+
   /**
    * FK to civicrm_contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * What operation does this user have permission on?
    *
    * @var string
    */
   public $operation;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_acl_contact_cache';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'user_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'user_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ACL Contact Cache ID') ,
+          'title' => ts('ACL Contact Cache ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_contact_cache',
           'entity' => 'ACLContactCache',
           'bao' => 'CRM_Contact_DAO_ACLContactCache',
           'localizable' => 0,
-        ) ,
-        'user_id' => array(
+        ],
+        'user_id' => [
           'name' => 'user_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to civicrm_contact (could be null for anon user)',
           'table_name' => 'civicrm_acl_contact_cache',
           'entity' => 'ACLContactCache',
           'bao' => 'CRM_Contact_DAO_ACLContactCache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to civicrm_contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_acl_contact_cache',
           'entity' => 'ACLContactCache',
           'bao' => 'CRM_Contact_DAO_ACLContactCache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'operation' => array(
+        ],
+        'operation' => [
           'name' => 'operation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Operation') ,
+          'title' => ts('Operation'),
           'description' => 'What operation does this user have permission on?',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
           'table_name' => 'civicrm_acl_contact_cache',
           'entity' => 'ACLContactCache',
           'bao' => 'CRM_Contact_DAO_ACLContactCache',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_ACL_BAO_ACL::operation',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -197,10 +185,11 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_contact_cache', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'acl_contact_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -208,27 +197,33 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_contact_cache', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'acl_contact_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_user_contact_operation' => array(
+    $indices = [
+      'UI_user_contact_operation' => [
         'name' => 'UI_user_contact_operation',
-        'field' => array(
+        'field' => [
           0 => 'user_id',
           1 => 'contact_id',
           2 => 'operation',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_acl_contact_cache::1::user_id::contact_id::operation',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/Contact.php b/civicrm/CRM/Contact/DAO/Contact.php
index 837f0a3cd7..334d90a018 100644
--- a/civicrm/CRM/Contact/DAO/Contact.php
+++ b/civicrm/CRM/Contact/DAO/Contact.php
@@ -1,414 +1,439 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
  *
  * Generated from xml/schema/CRM/Contact/Contact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:395cdbb5eaf3b1f74fb87f93269d8336)
+ * (GenCodeChecksum:8ace6d508a6e4412f52c6cbd2978b072)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_Contact constructor.
+ * Database access object for the Contact entity.
  */
 class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contact';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Contact ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Type of Contact.
    *
    * @var string
    */
   public $contact_type;
+
   /**
    * May be used to over-ride contact view and edit templates.
    *
    * @var string
    */
   public $contact_sub_type;
+
   /**
-   *
    * @var boolean
    */
   public $do_not_email;
+
   /**
-   *
    * @var boolean
    */
   public $do_not_phone;
+
   /**
-   *
    * @var boolean
    */
   public $do_not_mail;
+
   /**
-   *
    * @var boolean
    */
   public $do_not_sms;
+
   /**
-   *
    * @var boolean
    */
   public $do_not_trade;
+
   /**
    * Has the contact opted out from receiving all bulk email from the organization or site domain?
    *
    * @var boolean
    */
   public $is_opt_out;
+
   /**
    * May be used for SSN, EIN/TIN, Household ID (census) or other applicable unique legal/government ID.
    *
    * @var string
    */
   public $legal_identifier;
+
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
    * @var string
    */
   public $external_identifier;
+
   /**
    * Name used for sorting different contact types
    *
    * @var string
    */
   public $sort_name;
+
   /**
    * Formatted name representing preferred format for display/print/other output.
    *
    * @var string
    */
   public $display_name;
+
   /**
    * Nickname.
    *
    * @var string
    */
   public $nick_name;
+
   /**
    * Legal Name.
    *
    * @var string
    */
   public $legal_name;
+
   /**
    * optional URL for preferred image (photo, logo, etc.) to display for this contact.
    *
    * @var text
    */
   public $image_URL;
+
   /**
    * What is the preferred mode of communication.
    *
    * @var string
    */
   public $preferred_communication_method;
+
   /**
    * Which language is preferred for communication. FK to languages in civicrm_option_value.
    *
    * @var string
    */
   public $preferred_language;
+
   /**
    * What is the preferred mode of sending an email.
    *
    * @var string
    */
   public $preferred_mail_format;
+
   /**
    * Key for validating requests related to this contact.
    *
    * @var string
    */
   public $hash;
+
   /**
    * API Key for validating requests related to this contact.
    *
    * @var string
    */
   public $api_key;
+
   /**
    * where contact come from, e.g. import, donate module insert...
    *
    * @var string
    */
   public $source;
+
   /**
    * First Name.
    *
    * @var string
    */
   public $first_name;
+
   /**
    * Middle Name.
    *
    * @var string
    */
   public $middle_name;
+
   /**
    * Last Name.
    *
    * @var string
    */
   public $last_name;
+
   /**
    * Prefix or Title for name (Ms, Mr...). FK to prefix ID
    *
    * @var int unsigned
    */
   public $prefix_id;
+
   /**
    * Suffix for name (Jr, Sr...). FK to suffix ID
    *
    * @var int unsigned
    */
   public $suffix_id;
+
   /**
    * Formal (academic or similar) title in front of name. (Prof., Dr. etc.)
    *
    * @var string
    */
   public $formal_title;
+
   /**
    * Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.
    *
    * @var int unsigned
    */
   public $communication_style_id;
+
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Email Greeting.
    *
    * @var int unsigned
    */
   public $email_greeting_id;
+
   /**
    * Custom Email Greeting.
    *
    * @var string
    */
   public $email_greeting_custom;
+
   /**
    * Cache Email Greeting.
    *
    * @var string
    */
   public $email_greeting_display;
+
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Postal Greeting.
    *
    * @var int unsigned
    */
   public $postal_greeting_id;
+
   /**
    * Custom Postal greeting.
    *
    * @var string
    */
   public $postal_greeting_custom;
+
   /**
    * Cache Postal greeting.
    *
    * @var string
    */
   public $postal_greeting_display;
+
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Addressee.
    *
    * @var int unsigned
    */
   public $addressee_id;
+
   /**
    * Custom Addressee.
    *
    * @var string
    */
   public $addressee_custom;
+
   /**
    * Cache Addressee.
    *
    * @var string
    */
   public $addressee_display;
+
   /**
    * Job Title
    *
    * @var string
    */
   public $job_title;
+
   /**
    * FK to gender ID
    *
    * @var int unsigned
    */
   public $gender_id;
+
   /**
    * Date of birth
    *
    * @var date
    */
   public $birth_date;
+
   /**
-   *
    * @var boolean
    */
   public $is_deceased;
+
   /**
    * Date of deceased
    *
    * @var date
    */
   public $deceased_date;
+
   /**
    * Household Name.
    *
    * @var string
    */
   public $household_name;
+
   /**
    * Optional FK to Primary Contact for this household.
    *
    * @var int unsigned
    */
   public $primary_contact_id;
+
   /**
    * Organization Name.
    *
    * @var string
    */
   public $organization_name;
+
   /**
    * Standard Industry Classification Code.
    *
    * @var string
    */
   public $sic_code;
+
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
    * @var string
    */
   public $user_unique_id;
+
   /**
    * OPTIONAL FK to civicrm_contact record.
    *
    * @var int unsigned
    */
   public $employer_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_deleted;
+
   /**
    * When was the contact was created.
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When was the contact (or closely related entity) was created or modified or deleted.
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contact';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'primary_contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'employer_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'primary_contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'employer_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Unique Contact ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contact.id',
           'headerPattern' => '/internal|contact?|id$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-        ) ,
-        'contact_type' => array(
+        ],
+        'contact_type' => [
           'name' => 'contact_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type') ,
+          'title' => ts('Contact Type'),
           'description' => 'Type of Contact.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.contact_type',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -416,196 +441,196 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NULL',
-          )
-        ) ,
-        'contact_sub_type' => array(
+          ]
+        ],
+        'contact_sub_type' => [
           'name' => 'contact_sub_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Subtype') ,
+          'title' => ts('Contact Subtype'),
           'description' => 'May be used to over-ride contact view and edit templates.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.contact_sub_type',
           'headerPattern' => '/C(ontact )?(subtype|sub-type|sub type)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_BOOKEND,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NOT NULL',
-          )
-        ) ,
-        'do_not_email' => array(
+          ]
+        ],
+        'do_not_email' => [
           'name' => 'do_not_email',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Do Not Email') ,
-          'import' => true,
+          'title' => ts('Do Not Email'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.do_not_email',
           'headerPattern' => '/d(o )?(not )?(email)/i',
           'dataPattern' => '/^\d{1,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'do_not_phone' => array(
+          ],
+        ],
+        'do_not_phone' => [
           'name' => 'do_not_phone',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Do Not Phone') ,
-          'import' => true,
+          'title' => ts('Do Not Phone'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.do_not_phone',
           'headerPattern' => '/d(o )?(not )?(call|phone)/i',
           'dataPattern' => '/^\d{1,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'do_not_mail' => array(
+          ],
+        ],
+        'do_not_mail' => [
           'name' => 'do_not_mail',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Do Not Mail') ,
-          'import' => true,
+          'title' => ts('Do Not Mail'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.do_not_mail',
           'headerPattern' => '/^(d(o\s)?n(ot\s)?mail)|(\w*)?bulk\s?(\w*)$/i',
           'dataPattern' => '/^\d{1,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'do_not_sms' => array(
+          ],
+        ],
+        'do_not_sms' => [
           'name' => 'do_not_sms',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Do Not Sms') ,
-          'import' => true,
+          'title' => ts('Do Not Sms'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.do_not_sms',
           'headerPattern' => '/d(o )?(not )?(sms)/i',
           'dataPattern' => '/^\d{1,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'do_not_trade' => array(
+          ],
+        ],
+        'do_not_trade' => [
           'name' => 'do_not_trade',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Do Not Trade') ,
-          'import' => true,
+          'title' => ts('Do Not Trade'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.do_not_trade',
           'headerPattern' => '/d(o )?(not )?(trade)/i',
           'dataPattern' => '/^\d{1,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_opt_out' => array(
+          ],
+        ],
+        'is_opt_out' => [
           'name' => 'is_opt_out',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('No Bulk Emails (User Opt Out)') ,
+          'title' => ts('No Bulk Emails (User Opt Out)'),
           'description' => 'Has the contact opted out from receiving all bulk email from the organization or site domain?',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contact.is_opt_out',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'legal_identifier' => array(
+          ],
+        ],
+        'legal_identifier' => [
           'name' => 'legal_identifier',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Legal Identifier') ,
+          'title' => ts('Legal Identifier'),
           'description' => 'May be used for SSN, EIN/TIN, Household ID (census) or other applicable unique legal/government ID.
     ',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.legal_identifier',
           'headerPattern' => '/legal\s?id/i',
           'dataPattern' => '/\w+?\d{5,}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'external_identifier' => array(
+          ],
+        ],
+        'external_identifier' => [
           'name' => 'external_identifier',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('External Identifier') ,
+          'title' => ts('External Identifier'),
           'description' => 'Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.',
           'maxlength' => 64,
           'size' => 8,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.external_identifier',
           'headerPattern' => '/external\s?id/i',
           'dataPattern' => '/^\d{11,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'sort_name' => array(
+          ],
+        ],
+        'sort_name' => [
           'name' => 'sort_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Sort Name') ,
+          'title' => ts('Sort Name'),
           'description' => 'Name used for sorting different contact types',
           'maxlength' => 128,
           'size' => 30,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.sort_name',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -613,18 +638,18 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'display_name' => array(
+          ],
+        ],
+        'display_name' => [
           'name' => 'display_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Display Name') ,
+          'title' => ts('Display Name'),
           'description' => 'Formatted name representing preferred format for display/print/other output.',
           'maxlength' => 128,
           'size' => 30,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.display_name',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -632,150 +657,150 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'nick_name' => array(
+          ],
+        ],
+        'nick_name' => [
           'name' => 'nick_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Nickname') ,
+          'title' => ts('Nickname'),
           'description' => 'Nickname.',
           'maxlength' => 128,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.nick_name',
           'headerPattern' => '/n(ick\s)name|nick$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'legal_name' => array(
+          ],
+        ],
+        'legal_name' => [
           'name' => 'legal_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Legal Name') ,
+          'title' => ts('Legal Name'),
           'description' => 'Legal Name.',
           'maxlength' => 128,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.legal_name',
           'headerPattern' => '/^legal|(l(egal\s)?name)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'image_URL' => array(
+          ],
+        ],
+        'image_URL' => [
           'name' => 'image_URL',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Image Url') ,
+          'title' => ts('Image Url'),
           'description' => 'optional URL for preferred image (photo, logo, etc.) to display for this contact.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.image_URL',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'File',
-          ) ,
-        ) ,
-        'preferred_communication_method' => array(
+          ],
+        ],
+        'preferred_communication_method' => [
           'name' => 'preferred_communication_method',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Preferred Communication Method') ,
+          'title' => ts('Preferred Communication Method'),
           'description' => 'What is the preferred mode of communication.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.preferred_communication_method',
           'headerPattern' => '/^p(ref\w*\s)?c(omm\w*)|( meth\w*)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_BOOKEND,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'preferred_communication_method',
             'optionEditPath' => 'civicrm/admin/options/preferred_communication_method',
-          )
-        ) ,
-        'preferred_language' => array(
+          ]
+        ],
+        'preferred_language' => [
           'name' => 'preferred_language',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Preferred Language') ,
+          'title' => ts('Preferred Language'),
           'description' => 'Which language is preferred for communication. FK to languages in civicrm_option_value.',
           'maxlength' => 5,
           'size' => CRM_Utils_Type::SIX,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.preferred_language',
           'headerPattern' => '/^lang/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'languages',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/languages',
-          )
-        ) ,
-        'preferred_mail_format' => array(
+          ]
+        ],
+        'preferred_mail_format' => [
           'name' => 'preferred_mail_format',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Preferred Mail Format') ,
+          'title' => ts('Preferred Mail Format'),
           'description' => 'What is the preferred mode of sending an email.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.preferred_mail_format',
           'headerPattern' => '/^p(ref\w*\s)?m(ail\s)?f(orm\w*)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'Both',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::pmf',
-          )
-        ) ,
-        'hash' => array(
+          ]
+        ],
+        'hash' => [
           'name' => 'hash',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Hash') ,
+          'title' => ts('Contact Hash'),
           'description' => 'Key for validating requests related to this contact.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.hash',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -783,11 +808,11 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-        ) ,
-        'api_key' => array(
+        ],
+        'api_key' => [
           'name' => 'api_key',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Api Key') ,
+          'title' => ts('Api Key'),
           'description' => 'API Key for validating requests related to this contact.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -795,157 +820,157 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-        ) ,
-        'contact_source' => array(
+        ],
+        'contact_source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Source') ,
+          'title' => ts('Contact Source'),
           'description' => 'where contact come from, e.g. import, donate module insert...',
           'maxlength' => 255,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.source',
           'headerPattern' => '/(C(ontact\s)?Source)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'first_name' => array(
+          ],
+        ],
+        'first_name' => [
           'name' => 'first_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('First Name') ,
+          'title' => ts('First Name'),
           'description' => 'First Name.',
           'maxlength' => 64,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.first_name',
           'headerPattern' => '/^first|(f(irst\s)?name)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'middle_name' => array(
+          ],
+        ],
+        'middle_name' => [
           'name' => 'middle_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Middle Name') ,
+          'title' => ts('Middle Name'),
           'description' => 'Middle Name.',
           'maxlength' => 64,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.middle_name',
           'headerPattern' => '/^middle|(m(iddle\s)?name)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'last_name' => array(
+          ],
+        ],
+        'last_name' => [
           'name' => 'last_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Last Name') ,
+          'title' => ts('Last Name'),
           'description' => 'Last Name.',
           'maxlength' => 64,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.last_name',
           'headerPattern' => '/^last|(l(ast\s)?name)$/i',
           'dataPattern' => '/^\w+(\s\w+)?+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'prefix_id' => array(
+          ],
+        ],
+        'prefix_id' => [
           'name' => 'prefix_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Individual Prefix') ,
+          'title' => ts('Individual Prefix'),
           'description' => 'Prefix or Title for name (Ms, Mr...). FK to prefix ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.prefix_id',
           'headerPattern' => '/^(prefix|title)/i',
           'dataPattern' => '/^(mr|ms|mrs|sir|dr)\.?$/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'individual_prefix',
             'optionEditPath' => 'civicrm/admin/options/individual_prefix',
-          )
-        ) ,
-        'suffix_id' => array(
+          ]
+        ],
+        'suffix_id' => [
           'name' => 'suffix_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Individual Suffix') ,
+          'title' => ts('Individual Suffix'),
           'description' => 'Suffix for name (Jr, Sr...). FK to suffix ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.suffix_id',
           'headerPattern' => '/^suffix$/i',
           'dataPattern' => '/^(sr|jr)\.?|i{2,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'individual_suffix',
             'optionEditPath' => 'civicrm/admin/options/individual_suffix',
-          )
-        ) ,
-        'formal_title' => array(
+          ]
+        ],
+        'formal_title' => [
           'name' => 'formal_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Formal Title') ,
+          'title' => ts('Formal Title'),
           'description' => 'Formal (academic or similar) title in front of name. (Prof., Dr. etc.)',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.formal_title',
           'headerPattern' => '/^title/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'communication_style_id' => array(
+          ],
+        ],
+        'communication_style_id' => [
           'name' => 'communication_style_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Communication Style') ,
+          'title' => ts('Communication Style'),
           'description' => 'Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.communication_style_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -953,52 +978,56 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'communication_style',
             'optionEditPath' => 'civicrm/admin/options/communication_style',
-          )
-        ) ,
-        'email_greeting_id' => array(
+          ]
+        ],
+        'email_greeting_id' => [
           'name' => 'email_greeting_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email Greeting ID') ,
+          'title' => ts('Email Greeting ID'),
           'description' => 'FK to civicrm_option_value.id, that has to be valid registered Email Greeting.',
+          'export' => TRUE,
+          'where' => 'civicrm_contact.email_greeting_id',
+          'headerPattern' => '',
+          'dataPattern' => '',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'email_greeting',
             'optionEditPath' => 'civicrm/admin/options/email_greeting',
-          )
-        ) ,
-        'email_greeting_custom' => array(
+          ]
+        ],
+        'email_greeting_custom' => [
           'name' => 'email_greeting_custom',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Email Greeting Custom') ,
+          'title' => ts('Email Greeting Custom'),
           'description' => 'Custom Email Greeting.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.email_greeting_custom',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'email_greeting_display' => array(
+          ],
+        ],
+        'email_greeting_display' => [
           'name' => 'email_greeting_display',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Email Greeting') ,
+          'title' => ts('Email Greeting'),
           'description' => 'Cache Email Greeting.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1006,51 +1035,55 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'postal_greeting_id' => array(
+          ],
+        ],
+        'postal_greeting_id' => [
           'name' => 'postal_greeting_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Postal Greeting ID') ,
+          'title' => ts('Postal Greeting ID'),
           'description' => 'FK to civicrm_option_value.id, that has to be valid registered Postal Greeting.',
+          'export' => TRUE,
+          'where' => 'civicrm_contact.postal_greeting_id',
+          'headerPattern' => '',
+          'dataPattern' => '',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'postal_greeting',
             'optionEditPath' => 'civicrm/admin/options/postal_greeting',
-          )
-        ) ,
-        'postal_greeting_custom' => array(
+          ]
+        ],
+        'postal_greeting_custom' => [
           'name' => 'postal_greeting_custom',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Postal Greeting Custom') ,
+          'title' => ts('Postal Greeting Custom'),
           'description' => 'Custom Postal greeting.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.postal_greeting_custom',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'postal_greeting_display' => array(
+          ],
+        ],
+        'postal_greeting_display' => [
           'name' => 'postal_greeting_display',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Postal Greeting') ,
+          'title' => ts('Postal Greeting'),
           'description' => 'Cache Postal greeting.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1058,48 +1091,52 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'addressee_id' => array(
+          ],
+        ],
+        'addressee_id' => [
           'name' => 'addressee_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Addressee ID') ,
+          'title' => ts('Addressee ID'),
           'description' => 'FK to civicrm_option_value.id, that has to be valid registered Addressee.',
+          'export' => TRUE,
+          'where' => 'civicrm_contact.addressee_id',
+          'headerPattern' => '',
+          'dataPattern' => '',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'addressee',
             'optionEditPath' => 'civicrm/admin/options/addressee',
-          )
-        ) ,
-        'addressee_custom' => array(
+          ]
+        ],
+        'addressee_custom' => [
           'name' => 'addressee_custom',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Addressee Custom') ,
+          'title' => ts('Addressee Custom'),
           'description' => 'Custom Addressee.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.addressee_custom',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'addressee_display' => array(
+          ],
+        ],
+        'addressee_display' => [
           'name' => 'addressee_display',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Addressee') ,
+          'title' => ts('Addressee'),
           'description' => 'Cache Addressee.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1107,208 +1144,208 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'job_title' => array(
+          ],
+        ],
+        'job_title' => [
           'name' => 'job_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Job Title') ,
+          'title' => ts('Job Title'),
           'description' => 'Job Title',
           'maxlength' => 255,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.job_title',
           'headerPattern' => '/^job|(j(ob\s)?title)$/i',
           'dataPattern' => '//',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'gender_id' => array(
+          ],
+        ],
+        'gender_id' => [
           'name' => 'gender_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Gender') ,
+          'title' => ts('Gender'),
           'description' => 'FK to gender ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.gender_id',
           'headerPattern' => '/^gender$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'gender',
             'optionEditPath' => 'civicrm/admin/options/gender',
-          )
-        ) ,
-        'birth_date' => array(
+          ]
+        ],
+        'birth_date' => [
           'name' => 'birth_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Birth Date') ,
+          'title' => ts('Birth Date'),
           'description' => 'Date of birth',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.birth_date',
           'headerPattern' => '/^birth|(b(irth\s)?date)|D(\W*)O(\W*)B(\W*)$/i',
           'dataPattern' => '/\d{4}-?\d{2}-?\d{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'birth',
-          ) ,
-        ) ,
-        'is_deceased' => array(
+          ],
+        ],
+        'is_deceased' => [
           'name' => 'is_deceased',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Deceased') ,
-          'import' => true,
+          'title' => ts('Deceased'),
+          'import' => TRUE,
           'where' => 'civicrm_contact.is_deceased',
           'headerPattern' => '/i(s\s)?d(eceased)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'deceased_date' => array(
+          ],
+        ],
+        'deceased_date' => [
           'name' => 'deceased_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Deceased Date') ,
+          'title' => ts('Deceased Date'),
           'description' => 'Date of deceased',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.deceased_date',
           'headerPattern' => '/^deceased|(d(eceased\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'birth',
-          ) ,
-        ) ,
-        'household_name' => array(
+          ],
+        ],
+        'household_name' => [
           'name' => 'household_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Household Name') ,
+          'title' => ts('Household Name'),
           'description' => 'Household Name.',
           'maxlength' => 128,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.household_name',
           'headerPattern' => '/^household|(h(ousehold\s)?name)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'primary_contact_id' => array(
+          ],
+        ],
+        'primary_contact_id' => [
           'name' => 'primary_contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Household Primary Contact ID') ,
+          'title' => ts('Household Primary Contact ID'),
           'description' => 'Optional FK to Primary Contact for this household.',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'organization_name' => array(
+          ],
+        ],
+        'organization_name' => [
           'name' => 'organization_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Organization Name') ,
+          'title' => ts('Organization Name'),
           'description' => 'Organization Name.',
           'maxlength' => 128,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.organization_name',
           'headerPattern' => '/^organization|(o(rganization\s)?name)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'sic_code' => array(
+          ],
+        ],
+        'sic_code' => [
           'name' => 'sic_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Sic Code') ,
+          'title' => ts('Sic Code'),
           'description' => 'Standard Industry Classification Code.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.sic_code',
           'headerPattern' => '/^sic|(s(ic\s)?code)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'user_unique_id' => array(
+          ],
+        ],
+        'user_unique_id' => [
           'name' => 'user_unique_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Unique ID (OpenID)') ,
+          'title' => ts('Unique ID (OpenID)'),
           'description' => 'the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contact.user_unique_id',
           'headerPattern' => '/^Open\s?ID|u(niq\w*)?\s?ID/i',
           'dataPattern' => '/^[\w\/\:\.]+$/',
-          'export' => true,
+          'export' => TRUE,
           'rule' => 'url',
           'table_name' => 'civicrm_contact',
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'current_employer_id' => array(
+          ],
+        ],
+        'current_employer_id' => [
           'name' => 'employer_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Current Employer') ,
+          'title' => ts('Current Employer'),
           'description' => 'OPTIONAL FK to civicrm_contact record.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contact.employer_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -1317,16 +1354,16 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'contact_is_deleted' => array(
+          ],
+        ],
+        'contact_is_deleted' => [
           'name' => 'is_deleted',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Contact is in Trash') ,
-          'required' => true,
-          'export' => true,
+          'title' => ts('Contact is in Trash'),
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_contact.is_deleted',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -1334,17 +1371,17 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'created_date' => array(
+          ],
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'When was the contact was created.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_contact.created_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -1353,14 +1390,14 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When was the contact (or closely related entity) was created or modified or deleted.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_contact.modified_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -1369,40 +1406,44 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
           'entity' => 'Contact',
           'bao' => 'CRM_Contact_BAO_Contact',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -1410,10 +1451,11 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contact', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -1421,155 +1463,161 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contact', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_contact_type' => array(
+    $indices = [
+      'index_contact_type' => [
         'name' => 'index_contact_type',
-        'field' => array(
+        'field' => [
           0 => 'contact_type',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::contact_type',
-      ) ,
-      'index_contact_sub_type' => array(
+      ],
+      'index_contact_sub_type' => [
         'name' => 'index_contact_sub_type',
-        'field' => array(
+        'field' => [
           0 => 'contact_sub_type',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::contact_sub_type',
-      ) ,
-      'UI_external_identifier' => array(
+      ],
+      'UI_external_identifier' => [
         'name' => 'UI_external_identifier',
-        'field' => array(
+        'field' => [
           0 => 'external_identifier',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contact::1::external_identifier',
-      ) ,
-      'index_sort_name' => array(
+      ],
+      'index_sort_name' => [
         'name' => 'index_sort_name',
-        'field' => array(
+        'field' => [
           0 => 'sort_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::sort_name',
-      ) ,
-      'index_preferred_communication_method' => array(
+      ],
+      'index_preferred_communication_method' => [
         'name' => 'index_preferred_communication_method',
-        'field' => array(
+        'field' => [
           0 => 'preferred_communication_method',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::preferred_communication_method',
-      ) ,
-      'index_hash' => array(
+      ],
+      'index_hash' => [
         'name' => 'index_hash',
-        'field' => array(
+        'field' => [
           0 => 'hash',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::hash',
-      ) ,
-      'index_api_key' => array(
+      ],
+      'index_api_key' => [
         'name' => 'index_api_key',
-        'field' => array(
+        'field' => [
           0 => 'api_key',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::api_key',
-      ) ,
-      'index_first_name' => array(
+      ],
+      'index_first_name' => [
         'name' => 'index_first_name',
-        'field' => array(
+        'field' => [
           0 => 'first_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::first_name',
-      ) ,
-      'index_last_name' => array(
+      ],
+      'index_last_name' => [
         'name' => 'index_last_name',
-        'field' => array(
+        'field' => [
           0 => 'last_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::last_name',
-      ) ,
-      'UI_prefix' => array(
+      ],
+      'UI_prefix' => [
         'name' => 'UI_prefix',
-        'field' => array(
+        'field' => [
           0 => 'prefix_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::prefix_id',
-      ) ,
-      'UI_suffix' => array(
+      ],
+      'UI_suffix' => [
         'name' => 'UI_suffix',
-        'field' => array(
+        'field' => [
           0 => 'suffix_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::suffix_id',
-      ) ,
-      'index_communication_style_id' => array(
+      ],
+      'index_communication_style_id' => [
         'name' => 'index_communication_style_id',
-        'field' => array(
+        'field' => [
           0 => 'communication_style_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::communication_style_id',
-      ) ,
-      'UI_gender' => array(
+      ],
+      'UI_gender' => [
         'name' => 'UI_gender',
-        'field' => array(
+        'field' => [
           0 => 'gender_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::gender_id',
-      ) ,
-      'index_is_deceased' => array(
+      ],
+      'index_is_deceased' => [
         'name' => 'index_is_deceased',
-        'field' => array(
+        'field' => [
           0 => 'is_deceased',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::is_deceased',
-      ) ,
-      'index_household_name' => array(
+      ],
+      'index_household_name' => [
         'name' => 'index_household_name',
-        'field' => array(
+        'field' => [
           0 => 'household_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::household_name',
-      ) ,
-      'index_organization_name' => array(
+      ],
+      'index_organization_name' => [
         'name' => 'index_organization_name',
-        'field' => array(
+        'field' => [
           0 => 'organization_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::organization_name',
-      ) ,
-      'index_is_deleted_sort_name' => array(
+      ],
+      'index_is_deleted_sort_name' => [
         'name' => 'index_is_deleted_sort_name',
-        'field' => array(
+        'field' => [
           0 => 'is_deleted',
           1 => 'sort_name',
           2 => 'id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contact::0::is_deleted::sort_name::id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/ContactType.php b/civicrm/CRM/Contact/DAO/ContactType.php
index efc21bcb8e..85eccc56c7 100644
--- a/civicrm/CRM/Contact/DAO/ContactType.php
+++ b/civicrm/CRM/Contact/DAO/ContactType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,116 +8,128 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0323c01f0e0b176df66fe4fa02e0a342)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_ContactType constructor.
+ * Database access object for the ContactType entity.
  */
 class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contact_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Contact Type ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Internal name of Contact Type (or Subtype).
    *
    * @var string
    */
   public $name;
+
   /**
    * localized Name of Contact Type.
    *
    * @var string
    */
   public $label;
+
   /**
    * localized Optional verbose description of the type.
    *
    * @var text
    */
   public $description;
+
   /**
    * URL of image if any.
    *
    * @var string
    */
   public $image_URL;
+
   /**
    * Optional FK to parent contact type.
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Is this entry active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this contact type a predefined system type
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contact_type';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_contact_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_contact_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact Type ID') ,
+          'title' => ts('Contact Type ID'),
           'description' => 'Contact Type ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Internal name of Contact Type (or Subtype).',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -149,11 +137,11 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type Label') ,
+          'title' => ts('Contact Type Label'),
           'description' => 'localized Name of Contact Type.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -161,11 +149,11 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Contact Type Description') ,
+          'title' => ts('Contact Type Description'),
           'description' => 'localized Optional verbose description of the type.',
           'rows' => 2,
           'cols' => 60,
@@ -173,14 +161,14 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'image_URL' => array(
+          ],
+        ],
+        'image_URL' => [
           'name' => 'image_URL',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type Image URL') ,
+          'title' => ts('Contact Type Image URL'),
           'description' => 'URL of image if any.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -188,77 +176,81 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact Type Parent') ,
+          'title' => ts('Contact Type Parent'),
           'description' => 'Optional FK to parent contact type.',
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_ContactType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'id',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NULL',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Contact Type Is Active?') ,
+          'title' => ts('Contact Type Is Active?'),
           'description' => 'Is this entry active?',
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Contact Type is Reserved?') ,
+          'title' => ts('Contact Type is Reserved?'),
           'description' => 'Is this contact type a predefined system type',
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -266,10 +258,11 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contact_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contact_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -277,25 +270,31 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contact_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contact_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'contact_type' => array(
+    $indices = [
+      'contact_type' => [
         'name' => 'contact_type',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contact_type::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/DashboardContact.php b/civicrm/CRM/Contact/DAO/DashboardContact.php
index 951be62061..e03a23879f 100644
--- a/civicrm/CRM/Contact/DAO/DashboardContact.php
+++ b/civicrm/CRM/Contact/DAO/DashboardContact.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,186 +8,199 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:bcefe0743f9e78a86266236b31f37fe4)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_DashboardContact constructor.
+ * Database access object for the DashboardContact entity.
  */
 class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_dashboard_contact';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Dashboard ID
    *
    * @var int unsigned
    */
   public $dashboard_id;
+
   /**
    * Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * column no for this widget
    *
    * @var boolean
    */
   public $column_no;
+
   /**
    * Is this widget active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Ordering of the widgets.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_dashboard_contact';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'dashboard_id', 'civicrm_dashboard', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'dashboard_id', 'civicrm_dashboard', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dashboard Contact ID') ,
-          'required' => true,
+          'title' => ts('Dashboard Contact ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
-        ) ,
-        'dashboard_id' => array(
+        ],
+        'dashboard_id' => [
           'name' => 'dashboard_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dashboard') ,
+          'title' => ts('Dashboard'),
           'description' => 'Dashboard ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Dashboard',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dashboard Contact') ,
+          'title' => ts('Dashboard Contact'),
           'description' => 'Contact ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'column_no' => array(
+        ],
+        'column_no' => [
           'name' => 'column_no',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Column No') ,
+          'title' => ts('Column No'),
           'description' => 'column no for this widget',
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Dashlet is Active?') ,
+          'title' => ts('Dashlet is Active?'),
           'description' => 'Is this widget active?',
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Ordering of the widgets.',
           'table_name' => 'civicrm_dashboard_contact',
           'entity' => 'DashboardContact',
           'bao' => 'CRM_Contact_BAO_DashboardContact',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -219,10 +208,11 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dashboard_contact', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dashboard_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -230,26 +220,32 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dashboard_contact', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dashboard_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_dashboard_id_contact_id' => array(
+    $indices = [
+      'index_dashboard_id_contact_id' => [
         'name' => 'index_dashboard_id_contact_id',
-        'field' => array(
+        'field' => [
           0 => 'dashboard_id',
           1 => 'contact_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_dashboard_contact::1::dashboard_id::contact_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/Group.php b/civicrm/CRM/Contact/DAO/Group.php
index f77b220fc6..3c67ae0684 100644
--- a/civicrm/CRM/Contact/DAO/Group.php
+++ b/civicrm/CRM/Contact/DAO/Group.php
@@ -1,220 +1,219 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
  *
  * Generated from xml/schema/CRM/Contact/Group.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:848664fcd390bd178325b0d991c8e947)
+ * (GenCodeChecksum:6db3c227371b68fadd9eb82c6e96ebfe)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_Group constructor.
+ * Database access object for the Group entity.
  */
 class CRM_Contact_DAO_Group extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Group ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Internal name of Group.
    *
    * @var string
    */
   public $name;
+
   /**
    * Name of Group.
    *
    * @var string
    */
   public $title;
+
   /**
    * Optional verbose description of the group.
    *
    * @var text
    */
   public $description;
+
   /**
    * Module or process which created this group.
    *
    * @var string
    */
   public $source;
+
   /**
    * FK to saved search table.
    *
    * @var int unsigned
    */
   public $saved_search_id;
+
   /**
    * Is this entry active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * In what context(s) is this field visible.
    *
    * @var string
    */
   public $visibility;
+
   /**
    * the sql where clause if a saved search acl
    *
    * @var text
    */
   public $where_clause;
+
   /**
    * the tables to be included in a select data
    *
    * @var text
    */
   public $select_tables;
+
   /**
    * the tables to be included in the count statement
    *
    * @var text
    */
   public $where_tables;
+
   /**
    * FK to group type
    *
    * @var string
    */
   public $group_type;
+
   /**
    * Date when we created the cache for a smart group
    *
    * @var timestamp
    */
   public $cache_date;
+
   /**
    * Date and time when we need to refresh the cache next.
    *
    * @var timestamp
    */
   public $refresh_date;
+
   /**
    * IDs of the parent(s)
    *
    * @var text
    */
   public $parents;
+
   /**
    * IDs of the child(ren)
    *
    * @var text
    */
   public $children;
+
   /**
    * Is this group hidden?
    *
    * @var boolean
    */
   public $is_hidden;
+
   /**
-   *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * FK to contact table.
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * FK to contact table.
    *
    * @var int unsigned
    */
   public $modified_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_group';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'saved_search_id', 'civicrm_saved_search', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'saved_search_id', 'civicrm_saved_search', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'modified_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group ID') ,
+          'title' => ts('Group ID'),
           'description' => 'Group ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Name') ,
+          'title' => ts('Group Name'),
           'description' => 'Internal name of Group.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -222,11 +221,11 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Title') ,
+          'title' => ts('Group Title'),
           'description' => 'Name of Group.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -234,11 +233,11 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Group Description') ,
+          'title' => ts('Group Description'),
           'description' => 'Optional verbose description of the group.',
           'rows' => 2,
           'cols' => 60,
@@ -246,14 +245,14 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'source' => array(
+          ],
+        ],
+        'source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Source') ,
+          'title' => ts('Group Source'),
           'description' => 'Module or process which created this group.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -261,32 +260,32 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'saved_search_id' => array(
+        ],
+        'saved_search_id' => [
           'name' => 'saved_search_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Saved Search ID') ,
+          'title' => ts('Saved Search ID'),
           'description' => 'FK to saved search table.',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_SavedSearch',
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Group Enabled') ,
+          'title' => ts('Group Enabled'),
           'description' => 'Is this entry active?',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'visibility' => array(
+        ],
+        'visibility' => [
           'name' => 'visibility',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Visibility Setting') ,
+          'title' => ts('Group Visibility Setting'),
           'description' => 'In what context(s) is this field visible.',
           'maxlength' => 24,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -295,49 +294,49 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::groupVisibility',
-          )
-        ) ,
-        'where_clause' => array(
+          ]
+        ],
+        'where_clause' => [
           'name' => 'where_clause',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Group Where Clause') ,
+          'title' => ts('Group Where Clause'),
           'description' => 'the sql where clause if a saved search acl',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'select_tables' => array(
+        ],
+        'select_tables' => [
           'name' => 'select_tables',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Tables For Select Clause') ,
+          'title' => ts('Tables For Select Clause'),
           'description' => 'the tables to be included in a select data',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'where_tables' => array(
+        ],
+        'where_tables' => [
           'name' => 'where_tables',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Tables For Where Clause') ,
+          'title' => ts('Tables For Where Clause'),
           'description' => 'the tables to be included in the count statement',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'group_type' => array(
+        ],
+        'group_type' => [
           'name' => 'group_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Type') ,
+          'title' => ts('Group Type'),
           'description' => 'FK to group type',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -346,127 +345,135 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_BOOKEND,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'group_type',
             'optionEditPath' => 'civicrm/admin/options/group_type',
-          )
-        ) ,
-        'cache_date' => array(
+          ]
+        ],
+        'cache_date' => [
           'name' => 'cache_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Group Cache Date') ,
+          'title' => ts('Group Cache Date'),
           'description' => 'Date when we created the cache for a smart group',
-          'required' => false,
+          'required' => FALSE,
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'refresh_date' => array(
+        ],
+        'refresh_date' => [
           'name' => 'refresh_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Next Group Refresh Time') ,
+          'title' => ts('Next Group Refresh Time'),
           'description' => 'Date and time when we need to refresh the cache next.',
-          'required' => false,
+          'required' => FALSE,
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'parents' => array(
+        ],
+        'parents' => [
           'name' => 'parents',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Group Parents') ,
+          'title' => ts('Group Parents'),
           'description' => 'IDs of the parent(s)',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'children' => array(
+          'serialize' => self::SERIALIZE_COMMA,
+          'pseudoconstant' => [
+            'callback' => 'CRM_Core_PseudoConstant::allGroup',
+          ]
+        ],
+        'children' => [
           'name' => 'children',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Group Children') ,
+          'title' => ts('Group Children'),
           'description' => 'IDs of the child(ren)',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'is_hidden' => array(
+        ],
+        'is_hidden' => [
           'name' => 'is_hidden',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Group is Hidden') ,
+          'title' => ts('Group is Hidden'),
           'description' => 'Is this group hidden?',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Group is Reserved') ,
+          'title' => ts('Group is Reserved'),
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Created By') ,
+          'title' => ts('Group Created By'),
           'description' => 'FK to contact table.',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'modified_id' => array(
+        ],
+        'modified_id' => [
           'name' => 'modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Modified By') ,
+          'title' => ts('Group Modified By'),
           'description' => 'FK to contact table.',
           'table_name' => 'civicrm_group',
           'entity' => 'Group',
           'bao' => 'CRM_Contact_BAO_Group',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -474,10 +481,11 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -485,42 +493,48 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_group_type' => array(
+    $indices = [
+      'index_group_type' => [
         'name' => 'index_group_type',
-        'field' => array(
+        'field' => [
           0 => 'group_type',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_group::0::group_type',
-      ) ,
-      'UI_title' => array(
+      ],
+      'UI_title' => [
         'name' => 'UI_title',
-        'field' => array(
+        'field' => [
           0 => 'title',
-        ) ,
-        'localizable' => true,
-        'unique' => true,
+        ],
+        'localizable' => TRUE,
+        'unique' => TRUE,
         'sig' => 'civicrm_group::1::title',
-      ) ,
-      'UI_name' => array(
+      ],
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_group::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/GroupContact.php b/civicrm/CRM/Contact/DAO/GroupContact.php
index 380588a7d3..a53545599b 100644
--- a/civicrm/CRM/Contact/DAO/GroupContact.php
+++ b/civicrm/CRM/Contact/DAO/GroupContact.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,139 +8,149 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:2545d3926c711a25b5075a6ac980ed99)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_GroupContact constructor.
+ * Database access object for the GroupContact entity.
  */
 class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_group_contact';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_group
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * FK to civicrm_contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * status of contact relative to membership in group
    *
    * @var string
    */
   public $status;
+
   /**
    * Optional location to associate with this membership
    *
    * @var int unsigned
    */
   public $location_id;
+
   /**
    * Optional email to associate with this membership
    *
    * @var int unsigned
    */
   public $email_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_group_contact';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'location_id', 'civicrm_loc_block', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'email_id', 'civicrm_email', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'location_id', 'civicrm_loc_block', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'email_id', 'civicrm_email', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Contact ID') ,
+          'title' => ts('Group Contact ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact',
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group ID') ,
+          'title' => ts('Group ID'),
           'description' => 'FK to civicrm_group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact',
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'contact_id' => array(
+          ]
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to civicrm_contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact',
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'status' => array(
+        ],
+        'status' => [
           'name' => 'status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Contact Status') ,
+          'title' => ts('Group Contact Status'),
           'description' => 'status of contact relative to membership in group',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -172,68 +158,72 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::groupContactStatus',
-          )
-        ) ,
-        'location_id' => array(
+          ]
+        ],
+        'location_id' => [
           'name' => 'location_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Contact Location') ,
+          'title' => ts('Group Contact Location'),
           'description' => 'Optional location to associate with this membership',
           'table_name' => 'civicrm_group_contact',
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_LocBlock',
-        ) ,
-        'email_id' => array(
+        ],
+        'email_id' => [
           'name' => 'email_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Contact Email') ,
+          'title' => ts('Group Contact Email'),
           'description' => 'Optional email to associate with this membership',
           'table_name' => 'civicrm_group_contact',
           'entity' => 'GroupContact',
           'bao' => 'CRM_Contact_BAO_GroupContact',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -241,10 +231,11 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_contact', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -252,26 +243,32 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_contact', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_contact', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contact_group' => array(
+    $indices = [
+      'UI_contact_group' => [
         'name' => 'UI_contact_group',
-        'field' => array(
+        'field' => [
           0 => 'contact_id',
           1 => 'group_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_group_contact::1::contact_id::group_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/GroupContactCache.php b/civicrm/CRM/Contact/DAO/GroupContactCache.php
index d85be450bd..70970ac225 100644
--- a/civicrm/CRM/Contact/DAO/GroupContactCache.php
+++ b/civicrm/CRM/Contact/DAO/GroupContactCache.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,148 +8,159 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:2ee24826ad267586e2e757ce3b0442a1)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_GroupContactCache constructor.
+ * Database access object for the GroupContactCache entity.
  */
 class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_group_contact_cache';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_group
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * FK to civicrm_contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_group_contact_cache';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Contact Cache ID') ,
+          'title' => ts('Group Contact Cache ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact_cache',
           'entity' => 'GroupContactCache',
           'bao' => 'CRM_Contact_BAO_GroupContactCache',
           'localizable' => 0,
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group') ,
+          'title' => ts('Group'),
           'description' => 'FK to civicrm_group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact_cache',
           'entity' => 'GroupContactCache',
           'bao' => 'CRM_Contact_BAO_GroupContactCache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'contact_id' => array(
+          ]
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to civicrm_contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_contact_cache',
           'entity' => 'GroupContactCache',
           'bao' => 'CRM_Contact_BAO_GroupContactCache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -181,10 +168,11 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_contact_cache', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_contact_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -192,26 +180,32 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_contact_cache', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_contact_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contact_group' => array(
+    $indices = [
+      'UI_contact_group' => [
         'name' => 'UI_contact_group',
-        'field' => array(
+        'field' => [
           0 => 'contact_id',
           1 => 'group_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_group_contact_cache::1::contact_id::group_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/GroupNesting.php b/civicrm/CRM/Contact/DAO/GroupNesting.php
index 255e80ac99..40d736164f 100644
--- a/civicrm/CRM/Contact/DAO/GroupNesting.php
+++ b/civicrm/CRM/Contact/DAO/GroupNesting.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,140 +8,151 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:00fc9bc828e1b87acf20aa16b24b1bac)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_GroupNesting constructor.
+ * Database access object for the GroupNesting entity.
  */
 class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_group_nesting';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Relationship ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * ID of the child group
    *
    * @var int unsigned
    */
   public $child_group_id;
+
   /**
    * ID of the parent group
    *
    * @var int unsigned
    */
   public $parent_group_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_group_nesting';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'child_group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'child_group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_group_id', 'civicrm_group', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Nesting ID') ,
+          'title' => ts('Group Nesting ID'),
           'description' => 'Relationship ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_nesting',
           'entity' => 'GroupNesting',
           'bao' => 'CRM_Contact_BAO_GroupNesting',
           'localizable' => 0,
-        ) ,
-        'child_group_id' => array(
+        ],
+        'child_group_id' => [
           'name' => 'child_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Child Group') ,
+          'title' => ts('Child Group'),
           'description' => 'ID of the child group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_nesting',
           'entity' => 'GroupNesting',
           'bao' => 'CRM_Contact_BAO_GroupNesting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-        ) ,
-        'parent_group_id' => array(
+        ],
+        'parent_group_id' => [
           'name' => 'parent_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent Group') ,
+          'title' => ts('Parent Group'),
           'description' => 'ID of the parent group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_nesting',
           'entity' => 'GroupNesting',
           'bao' => 'CRM_Contact_BAO_GroupNesting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -173,10 +160,11 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_nesting', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_nesting', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -184,15 +172,21 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_nesting', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_nesting', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/GroupOrganization.php b/civicrm/CRM/Contact/DAO/GroupOrganization.php
index 718a2bfda2..49bb7b4240 100644
--- a/civicrm/CRM/Contact/DAO/GroupOrganization.php
+++ b/civicrm/CRM/Contact/DAO/GroupOrganization.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,148 +8,159 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8fcd7c11b9077c52f8d932eb20379618)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_GroupOrganization constructor.
+ * Database access object for the GroupOrganization entity.
  */
 class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_group_organization';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Relationship ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * ID of the group
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * ID of the Organization Contact
    *
    * @var int unsigned
    */
   public $organization_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_group_organization';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'organization_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'organization_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Organization ID') ,
+          'title' => ts('Group Organization ID'),
           'description' => 'Relationship ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_organization',
           'entity' => 'GroupOrganization',
           'bao' => 'CRM_Contact_BAO_GroupOrganization',
           'localizable' => 0,
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group') ,
+          'title' => ts('Group'),
           'description' => 'ID of the group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_organization',
           'entity' => 'GroupOrganization',
           'bao' => 'CRM_Contact_BAO_GroupOrganization',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'organization_id' => array(
+          ]
+        ],
+        'organization_id' => [
           'name' => 'organization_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Organization') ,
+          'title' => ts('Organization'),
           'description' => 'ID of the Organization Contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_group_organization',
           'entity' => 'GroupOrganization',
           'bao' => 'CRM_Contact_BAO_GroupOrganization',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -181,10 +168,11 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_organization', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'group_organization', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -192,26 +180,32 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_organization', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'group_organization', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_group_organization' => array(
+    $indices = [
+      'UI_group_organization' => [
         'name' => 'UI_group_organization',
-        'field' => array(
+        'field' => [
           0 => 'group_id',
           1 => 'organization_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_group_organization::1::group_id::organization_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/Relationship.php b/civicrm/CRM/Contact/DAO/Relationship.php
index 5953567a02..20f4bef28d 100644
--- a/civicrm/CRM/Contact/DAO/Relationship.php
+++ b/civicrm/CRM/Contact/DAO/Relationship.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,72 +8,82 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a5a833da9d5016f0aeb06ba7c1058b3c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_Relationship constructor.
+ * Database access object for the Relationship entity.
  */
 class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_relationship';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Relationship ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * id of the first contact
    *
    * @var int unsigned
    */
   public $contact_id_a;
+
   /**
    * id of the second contact
    *
    * @var int unsigned
    */
   public $contact_id_b;
+
   /**
    * id of the relationship
    *
    * @var int unsigned
    */
   public $relationship_type_id;
+
   /**
    * date when the relationship started
    *
    * @var date
    */
   public $start_date;
+
   /**
    * date when the relationship ended
    *
    * @var date
    */
   public $end_date;
+
   /**
    * is the relationship active ?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Optional verbose description for the relationship.
    *
    * @var string
    */
   public $description;
+
   /**
    * is contact a has permission to view / edit contact and
    related data for contact b ?
@@ -105,6 +91,7 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    * @var boolean
    */
   public $is_permission_a_b;
+
   /**
    * is contact b has permission to view / edit contact and
    related data for contact a ?
@@ -112,141 +99,145 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    * @var boolean
    */
   public $is_permission_b_a;
+
   /**
    * FK to civicrm_case
    *
    * @var int unsigned
    */
   public $case_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_relationship';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id_a', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id_b', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'relationship_type_id', 'civicrm_relationship_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'case_id', 'civicrm_case', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id_a', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id_b', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'relationship_type_id', 'civicrm_relationship_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'case_id', 'civicrm_case', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship ID') ,
+          'title' => ts('Relationship ID'),
           'description' => 'Relationship ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-        ) ,
-        'contact_id_a' => array(
+        ],
+        'contact_id_a' => [
           'name' => 'contact_id_a',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact A') ,
+          'title' => ts('Contact A'),
           'description' => 'id of the first contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'contact_id_b' => array(
+        ],
+        'contact_id_b' => [
           'name' => 'contact_id_b',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact B') ,
+          'title' => ts('Contact B'),
           'description' => 'id of the second contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'relationship_type_id' => array(
+          ],
+        ],
+        'relationship_type_id' => [
           'name' => 'relationship_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship Type') ,
+          'title' => ts('Relationship Type'),
           'description' => 'id of the relationship',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_RelationshipType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'start_date' => array(
+          ],
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Relationship Start Date') ,
+          'title' => ts('Relationship Start Date'),
           'description' => 'date when the relationship started',
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'end_date' => array(
+          ],
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Relationship End Date') ,
+          'title' => ts('Relationship End Date'),
           'description' => 'date when the relationship ended',
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Relationship Is Active') ,
+          'title' => ts('Relationship Is Active'),
           'description' => 'is the relationship active ?',
           'default' => '1',
           'table_name' => 'civicrm_relationship',
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Description') ,
+          'title' => ts('Relationship Description'),
           'description' => 'Optional verbose description for the relationship.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -254,14 +245,14 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_permission_a_b' => array(
+          ],
+        ],
+        'is_permission_a_b' => [
           'name' => 'is_permission_a_b',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Contact A has Permission Over Contact B') ,
+          'title' => ts('Contact A has Permission Over Contact B'),
           'description' => 'is contact a has permission to view / edit contact and
       related data for contact b ?
     ',
@@ -269,14 +260,14 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_permission_b_a' => array(
+          ],
+        ],
+        'is_permission_b_a' => [
           'name' => 'is_permission_b_a',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Contact B has Permission Over Contact A') ,
+          'title' => ts('Contact B has Permission Over Contact A'),
           'description' => 'is contact b has permission to view / edit contact and
       related data for contact a ?
     ',
@@ -284,14 +275,14 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           'entity' => 'Relationship',
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'case_id' => array(
+          ],
+        ],
+        'case_id' => [
           'name' => 'case_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship Case') ,
+          'title' => ts('Relationship Case'),
           'description' => 'FK to civicrm_case',
           'default' => 'NULL',
           'table_name' => 'civicrm_relationship',
@@ -299,40 +290,44 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           'bao' => 'CRM_Contact_BAO_Relationship',
           'localizable' => 0,
           'FKClassName' => 'CRM_Case_DAO_Case',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -340,10 +335,11 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'relationship', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'relationship', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -351,15 +347,21 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'relationship', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'relationship', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/RelationshipType.php b/civicrm/CRM/Contact/DAO/RelationshipType.php
index 16e0125fe1..df6adbf379 100644
--- a/civicrm/CRM/Contact/DAO/RelationshipType.php
+++ b/civicrm/CRM/Contact/DAO/RelationshipType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,126 +8,141 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8fb00d8376af049ce62bc57ca01bc1bf)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_RelationshipType constructor.
+ * Database access object for the RelationshipType entity.
  */
 class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_relationship_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * name for relationship of contact_a to contact_b.
    *
    * @var string
    */
   public $name_a_b;
+
   /**
    * label for relationship of contact_a to contact_b.
    *
    * @var string
    */
   public $label_a_b;
+
   /**
    * Optional name for relationship of contact_b to contact_a.
    *
    * @var string
    */
   public $name_b_a;
+
   /**
    * Optional label for relationship of contact_b to contact_a.
    *
    * @var string
    */
   public $label_b_a;
+
   /**
    * Optional verbose description of the relationship type.
    *
    * @var string
    */
   public $description;
+
   /**
    * If defined, contact_a in a relationship of this type must be a specific contact_type.
    *
    * @var string
    */
   public $contact_type_a;
+
   /**
    * If defined, contact_b in a relationship of this type must be a specific contact_type.
    *
    * @var string
    */
   public $contact_type_b;
+
   /**
    * If defined, contact_sub_type_a in a relationship of this type must be a specific contact_sub_type.
    *
    * @var string
    */
   public $contact_sub_type_a;
+
   /**
    * If defined, contact_sub_type_b in a relationship of this type must be a specific contact_sub_type.
    *
    * @var string
    */
   public $contact_sub_type_b;
+
   /**
    * Is this relationship type a predefined system type (can not be changed or de-activated)?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this relationship type currently active (i.e. can be used when creating or editing relationships)?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_relationship_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship Type ID') ,
+          'title' => ts('Relationship Type ID'),
           'description' => 'Primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_relationship_type',
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-        ) ,
-        'name_a_b' => array(
+        ],
+        'name_a_b' => [
           'name' => 'name_a_b',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Type Name A to B') ,
+          'title' => ts('Relationship Type Name A to B'),
           'description' => 'name for relationship of contact_a to contact_b.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -159,11 +150,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-        ) ,
-        'label_a_b' => array(
+        ],
+        'label_a_b' => [
           'name' => 'label_a_b',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Type Label A to B') ,
+          'title' => ts('Relationship Type Label A to B'),
           'description' => 'label for relationship of contact_a to contact_b.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -171,11 +162,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 1,
-        ) ,
-        'name_b_a' => array(
+        ],
+        'name_b_a' => [
           'name' => 'name_b_a',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Type Name B to A') ,
+          'title' => ts('Relationship Type Name B to A'),
           'description' => 'Optional name for relationship of contact_b to contact_a.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -183,11 +174,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-        ) ,
-        'label_b_a' => array(
+        ],
+        'label_b_a' => [
           'name' => 'label_b_a',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Type Label B to A') ,
+          'title' => ts('Relationship Type Label B to A'),
           'description' => 'Optional label for relationship of contact_b to contact_a.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -195,11 +186,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Description') ,
+          'title' => ts('Relationship Description'),
           'description' => 'Optional verbose description of the relationship type.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -207,11 +198,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 1,
-        ) ,
-        'contact_type_a' => array(
+        ],
+        'contact_type_a' => [
           'name' => 'contact_type_a',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type for Contact A') ,
+          'title' => ts('Contact Type for Contact A'),
           'description' => 'If defined, contact_a in a relationship of this type must be a specific contact_type.',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -219,20 +210,20 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NULL',
-          )
-        ) ,
-        'contact_type_b' => array(
+          ]
+        ],
+        'contact_type_b' => [
           'name' => 'contact_type_b',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type for Contact B') ,
+          'title' => ts('Contact Type for Contact B'),
           'description' => 'If defined, contact_b in a relationship of this type must be a specific contact_type.',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -240,20 +231,20 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NULL',
-          )
-        ) ,
-        'contact_sub_type_a' => array(
+          ]
+        ],
+        'contact_sub_type_a' => [
           'name' => 'contact_sub_type_a',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Subtype A') ,
+          'title' => ts('Contact Subtype A'),
           'description' => 'If defined, contact_sub_type_a in a relationship of this type must be a specific contact_sub_type.
     ',
           'maxlength' => 64,
@@ -262,20 +253,20 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NOT NULL',
-          )
-        ) ,
-        'contact_sub_type_b' => array(
+          ]
+        ],
+        'contact_sub_type_b' => [
           'name' => 'contact_sub_type_b',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Subtype B') ,
+          'title' => ts('Contact Subtype B'),
           'description' => 'If defined, contact_sub_type_b in a relationship of this type must be a specific contact_sub_type.
     ',
           'maxlength' => 64,
@@ -284,30 +275,30 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NOT NULL',
-          )
-        ) ,
-        'is_reserved' => array(
+          ]
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Relationship Type is Reserved') ,
+          'title' => ts('Relationship Type is Reserved'),
           'description' => 'Is this relationship type a predefined system type (can not be changed or de-activated)?',
           'table_name' => 'civicrm_relationship_type',
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Relationship Type is Active') ,
+          'title' => ts('Relationship Type is Active'),
           'description' => 'Is this relationship type currently active (i.e. can be used when creating or editing relationships)?
     ',
           'default' => '1',
@@ -315,40 +306,44 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
           'entity' => 'RelationshipType',
           'bao' => 'CRM_Contact_BAO_RelationshipType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -356,10 +351,11 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'relationship_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'relationship_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -367,34 +363,40 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'relationship_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'relationship_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name_a_b' => array(
+    $indices = [
+      'UI_name_a_b' => [
         'name' => 'UI_name_a_b',
-        'field' => array(
+        'field' => [
           0 => 'name_a_b',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_relationship_type::1::name_a_b',
-      ) ,
-      'UI_name_b_a' => array(
+      ],
+      'UI_name_b_a' => [
         'name' => 'UI_name_b_a',
-        'field' => array(
+        'field' => [
           0 => 'name_b_a',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_relationship_type::1::name_b_a',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/SavedSearch.php b/civicrm/CRM/Contact/DAO/SavedSearch.php
index bfecfb6bbc..0755741e05 100644
--- a/civicrm/CRM/Contact/DAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/DAO/SavedSearch.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,208 +8,223 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0341555885ddaf5dbc8e4d6cfe1d899c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_SavedSearch constructor.
+ * Database access object for the SavedSearch entity.
  */
 class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_saved_search';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Saved Search ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Submitted form values for this search
    *
    * @var text
    */
   public $form_values;
+
   /**
    * Foreign key to civicrm_mapping used for saved search-builder searches.
    *
    * @var int unsigned
    */
   public $mapping_id;
+
   /**
    * Foreign key to civicrm_option value table used for saved custom searches.
    *
    * @var int unsigned
    */
   public $search_custom_id;
+
   /**
    * the sql where clause if a saved search acl
    *
    * @var text
    */
   public $where_clause;
+
   /**
    * the tables to be included in a select data
    *
    * @var text
    */
   public $select_tables;
+
   /**
    * the tables to be included in the count statement
    *
    * @var text
    */
   public $where_tables;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_saved_search';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mapping_id', 'civicrm_mapping', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mapping_id', 'civicrm_mapping', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Saved Search ID') ,
+          'title' => ts('Saved Search ID'),
           'description' => 'Saved Search ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
-        ) ,
-        'form_values' => array(
+        ],
+        'form_values' => [
           'name' => 'form_values',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Submitted Form Values') ,
+          'title' => ts('Submitted Form Values'),
           'description' => 'Submitted form values for this search',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_saved_search.form_values',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'mapping_id' => array(
+        ],
+        'mapping_id' => [
           'name' => 'mapping_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mapping ID') ,
+          'title' => ts('Mapping ID'),
           'description' => 'Foreign key to civicrm_mapping used for saved search-builder searches.',
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Mapping',
-        ) ,
-        'search_custom_id' => array(
+        ],
+        'search_custom_id' => [
           'name' => 'search_custom_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Value ID') ,
+          'title' => ts('Option Value ID'),
           'description' => 'Foreign key to civicrm_option value table used for saved custom searches.',
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
-        ) ,
-        'where_clause' => array(
+        ],
+        'where_clause' => [
           'name' => 'where_clause',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Where Clause') ,
+          'title' => ts('Where Clause'),
           'description' => 'the sql where clause if a saved search acl',
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
-        ) ,
-        'select_tables' => array(
+        ],
+        'select_tables' => [
           'name' => 'select_tables',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Select Tables') ,
+          'title' => ts('Select Tables'),
           'description' => 'the tables to be included in a select data',
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'where_tables' => array(
+        ],
+        'where_tables' => [
           'name' => 'where_tables',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Where Tables') ,
+          'title' => ts('Where Tables'),
           'description' => 'the tables to be included in the count statement',
           'table_name' => 'civicrm_saved_search',
           'entity' => 'SavedSearch',
           'bao' => 'CRM_Contact_BAO_SavedSearch',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -241,10 +232,11 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'saved_search', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'saved_search', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -252,15 +244,21 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'saved_search', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'saved_search', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
index 0890772cca..0fc2f90fb7 100644
--- a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
+++ b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,154 +8,165 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8b7f0a4e3593bc26947b4bb6cf54c2d2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contact_DAO_SubscriptionHistory constructor.
+ * Database access object for the SubscriptionHistory entity.
  */
 class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_subscription_history';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Internal Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Contact Id
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Group Id
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * Date of the (un)subscription
    *
    * @var timestamp
    */
   public $date;
+
   /**
    * How the (un)subscription was triggered
    *
    * @var string
    */
   public $method;
+
   /**
    * The state of the contact within the group
    *
    * @var string
    */
   public $status;
+
   /**
    * IP address or other tracking info
    *
    * @var string
    */
   public $tracking;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_subscription_history';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Membership History ID') ,
+          'title' => ts('Group Membership History ID'),
           'description' => 'Internal Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_subscription_history',
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Contact Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_subscription_history',
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group') ,
+          'title' => ts('Group'),
           'description' => 'Group Id',
           'table_name' => 'civicrm_subscription_history',
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'date' => array(
+          ]
+        ],
+        'date' => [
           'name' => 'date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Group Membership Action Date') ,
+          'title' => ts('Group Membership Action Date'),
           'description' => 'Date of the (un)subscription',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_subscription_history',
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
-        ) ,
-        'method' => array(
+        ],
+        'method' => [
           'name' => 'method',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Membership Action') ,
+          'title' => ts('Group Membership Action'),
           'description' => 'How the (un)subscription was triggered',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -187,17 +174,17 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getSubscriptionHistoryMethods',
-          )
-        ) ,
-        'status' => array(
+          ]
+        ],
+        'status' => [
           'name' => 'status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Membership Status') ,
+          'title' => ts('Group Membership Status'),
           'description' => 'The state of the contact within the group',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -205,14 +192,14 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::groupContactStatus',
-          )
-        ) ,
-        'tracking' => array(
+          ]
+        ],
+        'tracking' => [
           'name' => 'tracking',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Membership Tracking') ,
+          'title' => ts('Group Membership Tracking'),
           'description' => 'IP address or other tracking info',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -220,40 +207,44 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
           'entity' => 'SubscriptionHistory',
           'bao' => 'CRM_Contact_BAO_SubscriptionHistory',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -261,10 +252,11 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'subscription_history', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'subscription_history', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -272,15 +264,21 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'subscription_history', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'subscription_history', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contact/Form/DedupeRules.php b/civicrm/CRM/Contact/Form/DedupeRules.php
index 9f032958bf..ff12c07eb7 100644
--- a/civicrm/CRM/Contact/Form/DedupeRules.php
+++ b/civicrm/CRM/Contact/Form/DedupeRules.php
@@ -58,10 +58,12 @@ class CRM_Contact_Form_DedupeRules extends CRM_Admin_Form {
     }
     $this->_options = CRM_Core_SelectValues::getDedupeRuleTypes();
     $this->_rgid = CRM_Utils_Request::retrieve('id', 'Positive', $this, FALSE, 0);
+
+    // check if $contactType is valid
     $contactTypes = civicrm_api3('Contact', 'getOptions', array('field' => "contact_type", 'context' => "validate"));
     $contactType = CRM_Utils_Request::retrieve('contact_type', 'String', $this, FALSE, 0);
     if (CRM_Utils_Array::value($contactType, $contactTypes['values'])) {
-      $this->_contactType = CRM_Utils_Array::value($contactType, $contactTypes['values']);
+      $this->_contactType = $contactType;
     }
     elseif (!empty($contactType)) {
       throw new CRM_Core_Exception('Contact Type is Not valid');
diff --git a/civicrm/CRM/Contact/Form/Domain.php b/civicrm/CRM/Contact/Form/Domain.php
index c041cef4c6..cd3d2ec7f9 100644
--- a/civicrm/CRM/Contact/Form/Domain.php
+++ b/civicrm/CRM/Contact/Form/Domain.php
@@ -118,19 +118,6 @@ class CRM_Contact_Form_Domain extends CRM_Core_Form {
       $params['id'] = $this->_id;
       CRM_Core_BAO_Domain::retrieve($params, $domainDefaults);
       $this->_contactId = $domainDefaults['contact_id'];
-      //get the default domain from email address. fix CRM-3552
-      $optionValues = array();
-      $grpParams['name'] = 'from_email_address';
-      CRM_Core_OptionValue::getValues($grpParams, $optionValues);
-      foreach ($optionValues as $Id => $value) {
-        if ($value['is_default'] && $value['is_active']) {
-          $this->_fromEmailId = $Id;
-          $list = explode('"', $value['label']);
-          $domainDefaults['email_name'] = CRM_Utils_Array::value(1, $list);
-          $domainDefaults['email_address'] = CRM_Utils_Mail::pluckEmailFromHeader($value['label']);
-          break;
-        }
-      }
 
       unset($params['id']);
       $locParams = array('contact_id' => $domainDefaults['contact_id']);
@@ -156,9 +143,6 @@ class CRM_Contact_Form_Domain extends CRM_Core_Form {
   public function buildQuickForm() {
     $this->addField('name', array('label' => ts('Organization Name')), TRUE);
     $this->addField('description', array('label' => ts('Description'), 'size' => 30));
-    $this->add('text', 'email_name', ts('FROM Name'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'), TRUE);
-    $this->add('text', 'email_address', ts('FROM Email Address'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'), TRUE);
-    $this->addRule('email_address', ts('Domain Email Address must use a valid email address format (e.g. \'info@example.org\').'), 'email');
 
     //build location blocks.
     CRM_Contact_Form_Location::buildQuickForm($this);
@@ -207,16 +191,6 @@ class CRM_Contact_Form_Domain extends CRM_Core_Form {
       $errors = array();
     }
 
-    //fix for CRM-3552,
-    //as we use "fromName"<emailaddresss> format for domain email.
-    if (strpos($fields['email_name'], '"') !== FALSE) {
-      $errors['email_name'] = ts('Double quotes are not allow in from name.');
-    }
-
-    // Check for default from email address and organization (domain) name. Force them to change it.
-    if ($fields['email_address'] == 'info@EXAMPLE.ORG') {
-      $errors['email_address'] = ts('Please enter a valid default FROM email address for system-generated emails.');
-    }
     if ($fields['name'] == 'Default Domain Name') {
       $errors['name'] = ts('Please enter the name of the organization or entity which owns this CiviCRM site.');
     }
@@ -275,36 +249,6 @@ class CRM_Contact_Form_Domain extends CRM_Core_Form {
 
     CRM_Core_BAO_Domain::edit($params, $this->_id);
 
-    //set domain from email address, CRM-3552
-    $emailName = '"' . $params['email_name'] . '" <' . $params['email_address'] . '>';
-
-    $emailParams = array(
-      'label' => $emailName,
-      'description' => $params['description'],
-      'is_active' => 1,
-      'is_default' => 1,
-    );
-
-    $groupParams = array('name' => 'from_email_address');
-
-    //get the option value wt.
-    if ($this->_fromEmailId) {
-      $action = $this->_action;
-      $emailParams['weight'] = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue', $this->_fromEmailId, 'weight');
-    }
-    else {
-      //add from email address.
-      $action = CRM_Core_Action::ADD;
-      $grpId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', 'from_email_address', 'id', 'name');
-      $fieldValues = array('option_group_id' => $grpId);
-      $emailParams['weight'] = CRM_Utils_Weight::getDefaultWeight('CRM_Core_DAO_OptionValue', $fieldValues);
-    }
-
-    //reset default within domain.
-    $emailParams['reset_default_for'] = array('domain_id' => CRM_Core_Config::domainID());
-
-    CRM_Core_OptionValue::addOptionValue($emailParams, $groupParams, $action, $this->_fromEmailId);
-
     CRM_Core_Session::setStatus(ts("Domain information for '%1' has been saved.", array(1 => $domain->name)), ts('Saved'), 'success');
     $session = CRM_Core_Session::singleton();
     $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin', 'reset=1'));
diff --git a/civicrm/CRM/Contact/Form/Edit/Address.php b/civicrm/CRM/Contact/Form/Edit/Address.php
index d7b0275ad9..c3da42fa62 100644
--- a/civicrm/CRM/Contact/Form/Edit/Address.php
+++ b/civicrm/CRM/Contact/Form/Edit/Address.php
@@ -153,7 +153,7 @@ class CRM_Contact_Form_Edit_Address {
 
     // CRM-11665 geocode override option
     $geoCode = FALSE;
-    if (!empty($config->geocodeMethod)) {
+    if (CRM_Utils_GeocodeProvider::getUsableClassName()) {
       $geoCode = TRUE;
       $form->addElement('checkbox',
         "address[$blockId][manual_geo_code]",
diff --git a/civicrm/CRM/Contact/Form/Location.php b/civicrm/CRM/Contact/Form/Location.php
index eb3cdcbb29..c80eb609d1 100644
--- a/civicrm/CRM/Contact/Form/Location.php
+++ b/civicrm/CRM/Contact/Form/Location.php
@@ -81,7 +81,6 @@ class CRM_Contact_Form_Location {
 
     //build 1 instance of all blocks, without using ajax ...
     foreach ($form->_blocks as $blockName => $label) {
-      require_once str_replace('_', DIRECTORY_SEPARATOR, 'CRM_Contact_Form_Edit_' . $blockName) . '.php';
       $name = strtolower($blockName);
 
       $instances = array(1);
diff --git a/civicrm/CRM/Contact/Form/Search/Criteria.php b/civicrm/CRM/Contact/Form/Search/Criteria.php
index f876e40e81..1adc51377b 100644
--- a/civicrm/CRM/Contact/Form/Search/Criteria.php
+++ b/civicrm/CRM/Contact/Form/Search/Criteria.php
@@ -355,7 +355,7 @@ class CRM_Contact_Form_Search_Criteria {
     }
 
     // extend addresses with proximity search
-    if (!empty($config->geocodeMethod)) {
+    if (CRM_Utils_GeocodeProvider::getUsableClassName()) {
       $form->addElement('text', 'prox_distance', ts('Find contacts within'), array('class' => 'six'));
       $form->addElement('select', 'prox_distance_unit', NULL, array(
         'miles' => ts('Miles'),
@@ -416,7 +416,7 @@ class CRM_Contact_Form_Search_Criteria {
 
     $allRelationshipType = array();
     $allRelationshipType = CRM_Contact_BAO_Relationship::getContactRelationshipType(NULL, NULL, NULL, NULL, TRUE);
-    $form->add('select', 'relation_type_id', ts('Relationship Type'), array('' => ts('- select -')) + $allRelationshipType, FALSE, array('class' => 'crm-select2'));
+    $form->add('select', 'relation_type_id', ts('Relationship Type'), array('' => ts('- select -')) + $allRelationshipType, FALSE, array('multiple' => TRUE, 'class' => 'crm-select2'));
     $form->addElement('text', 'relation_target_name', ts('Target Contact'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name'));
     // relation status
     $relStatusOption = array(ts('Active'), ts('Inactive'), ts('All'));
diff --git a/civicrm/CRM/Contact/Form/Search/Custom.php b/civicrm/CRM/Contact/Form/Search/Custom.php
index e82d7ad71f..4af599800f 100644
--- a/civicrm/CRM/Contact/Form/Search/Custom.php
+++ b/civicrm/CRM/Contact/Form/Search/Custom.php
@@ -83,6 +83,8 @@ class CRM_Contact_Form_Search_Custom extends CRM_Contact_Form_Search {
     // instantiate the new class
     $this->_customClass = new $this->_customSearchClass($this->_formValues);
 
+    $this->addFormRule(array($this->_customClass, 'formRule'), $this);
+
     // CRM-12747
     if (isset($this->_customClass->_permissionedComponent) &&
       !self::isPermissioned($this->_customClass->_permissionedComponent)
@@ -91,6 +93,13 @@ class CRM_Contact_Form_Search_Custom extends CRM_Contact_Form_Search {
     }
   }
 
+  /**
+   * Add local and global form rules.
+   */
+  public function addRules() {
+    $this->addFormRule(array($this->_customClass, 'formRule'));
+  }
+
   /**
    * Set the default values of various form elements.
    *
diff --git a/civicrm/CRM/Contact/Form/Search/Custom/Base.php b/civicrm/CRM/Contact/Form/Search/Custom/Base.php
index 19c1a91a4d..74ed765057 100644
--- a/civicrm/CRM/Contact/Form/Search/Custom/Base.php
+++ b/civicrm/CRM/Contact/Form/Search/Custom/Base.php
@@ -257,4 +257,18 @@ class CRM_Contact_Form_Search_Custom_Base {
     }
   }
 
+  /**
+   * Validate form input.
+   *
+   * @param array $fields
+   * @param array $files
+   * @param CRM_Core_Form $self
+   *
+   * @return array
+   *   Input errors from the form.
+   */
+  public function formRule($fields, $files, $self) {
+    return [];
+  }
+
 }
diff --git a/civicrm/CRM/Contact/Form/Search/Custom/Group.php b/civicrm/CRM/Contact/Form/Search/Custom/Group.php
index 9637fb6066..3c28ac5482 100644
--- a/civicrm/CRM/Contact/Form/Search/Custom/Group.php
+++ b/civicrm/CRM/Contact/Form/Search/Custom/Group.php
@@ -260,6 +260,12 @@ class CRM_Contact_Form_Search_Custom_Group extends CRM_Contact_Form_Search_Custo
       }
       $includedGroups = implode(',', $allGroups);
 
+      //CRM-15049 - Include child group ids.
+      $childGroupIds = CRM_Contact_BAO_Group::getChildGroupIds($this->_includeGroups);
+      if (count($childGroupIds) > 0) {
+        $this->_includeGroups = array_merge($this->_includeGroups, $childGroupIds);
+      }
+
       if (!empty($this->_includeGroups)) {
         $iGroups = implode(',', $this->_includeGroups);
       }
diff --git a/civicrm/CRM/Contact/Form/Search/Custom/Proximity.php b/civicrm/CRM/Contact/Form/Search/Custom/Proximity.php
index 8375adee01..b2389a3d05 100644
--- a/civicrm/CRM/Contact/Form/Search/Custom/Proximity.php
+++ b/civicrm/CRM/Contact/Form/Search/Custom/Proximity.php
@@ -26,6 +26,9 @@
  */
 
 /**
+ *
+ * This search now functions as a subset of advanced search since at some point it
+ * was added to advanced search.
  *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -55,24 +58,7 @@ class CRM_Contact_Form_Search_Custom_Proximity extends CRM_Contact_Form_Search_C
 
     if (!empty($this->_formValues)) {
       // add the country and state
-      if (!empty($this->_formValues['country_id'])) {
-        $this->_formValues['country'] = CRM_Core_PseudoConstant::country($this->_formValues['country_id']);
-      }
-
-      if (!empty($this->_formValues['state_province_id'])) {
-        $this->_formValues['state_province'] = CRM_Core_PseudoConstant::stateProvince($this->_formValues['state_province_id']);
-      }
-
-      // use the address to get the latitude and longitude
-      CRM_Utils_Geocode_Google::format($this->_formValues);
-
-      if (!is_numeric(CRM_Utils_Array::value('geo_code_1', $this->_formValues)) ||
-        !is_numeric(CRM_Utils_Array::value('geo_code_2', $this->_formValues)) ||
-        !isset($this->_formValues['distance'])
-      ) {
-        CRM_Core_Error::fatal(ts('Could not geocode input'));
-      }
-
+      self::addGeocodingData($this->_formValues);
       $this->_latitude = $this->_formValues['geo_code_1'];
       $this->_longitude = $this->_formValues['geo_code_2'];
 
@@ -98,6 +84,15 @@ class CRM_Contact_Form_Search_Custom_Proximity extends CRM_Contact_Form_Search_C
     );
   }
 
+  /**
+   * Get the query object for this selector.
+   *
+   * @return CRM_Contact_BAO_Query
+   */
+  public function getQueryObj() {
+    return $this->_query;
+  }
+
   /**
    * @param CRM_Core_Form $form
    */
@@ -135,6 +130,9 @@ class CRM_Contact_Form_Search_Custom_Proximity extends CRM_Contact_Form_Search_C
     $country = array('' => ts('- select -')) + CRM_Core_PseudoConstant::country();
     $form->add('select', 'country_id', ts('Country'), $country, TRUE, array('class' => 'crm-select2'));
 
+    $form->add('text', 'geo_code_1', ts('Latitude'));
+    $form->add('text', 'geo_code_2', ts('Longitude'));
+
     $group = array('' => ts('- any group -')) + CRM_Core_PseudoConstant::nestedGroup();
     $form->addElement('select', 'group', ts('Group'), $group, array('class' => 'crm-select2 huge'));
 
@@ -176,20 +174,7 @@ class CRM_Contact_Form_Search_Custom_Proximity extends CRM_Contact_Form_Search_C
     $offset = 0, $rowcount = 0, $sort = NULL,
     $includeContactIDs = FALSE, $justIDs = FALSE
   ) {
-    if ($justIDs) {
-      $selectClause = "contact_a.id as contact_id";
-    }
-    else {
-      $selectClause = "
-contact_a.id           as contact_id    ,
-contact_a.sort_name    as sort_name     ,
-address.street_address as street_address,
-address.city           as city          ,
-address.postal_code    as postal_code   ,
-state_province.name    as state_province,
-country.name           as country
-";
-    }
+    $selectClause = $justIDs ? "contact_a.id as contact_id" : NULL;
 
     return $this->sql($selectClause,
       $offset, $rowcount, $sort,
@@ -198,66 +183,79 @@ country.name           as country
   }
 
   /**
+   * Override sql() function to use the Query object rather than generating on the form.
+   *
+   * @param string $selectClause
+   * @param int $offset
+   * @param int $rowcount
+   * @param null $sort
+   * @param bool $includeContactIDs
+   * @param null $groupBy
+   *
    * @return string
    */
-  public function from() {
-    $this->buildACLClause('contact_a');
-    $f = "
-FROM      civicrm_contact contact_a
-LEFT JOIN civicrm_address address ON ( address.contact_id       = contact_a.id AND
-                                       address.is_primary       = 1 )
-LEFT JOIN civicrm_state_province state_province ON state_province.id = address.state_province_id
-LEFT JOIN civicrm_country country               ON country.id        = address.country_id {$this->_aclFrom}
-";
-
-    // This prevents duplicate rows when contacts have more than one tag any you select "any tag"
-    if ($this->_tag) {
-      $f .= "
-LEFT JOIN civicrm_entity_tag t ON (t.entity_table='civicrm_contact' AND contact_a.id = t.entity_id)
-";
+  public function sql(
+    $selectClause,
+    $offset = 0,
+    $rowcount = 0,
+    $sort = NULL,
+    $includeContactIDs = FALSE,
+    $groupBy = NULL
+  ) {
+
+    $isCountOnly = FALSE;
+    if ($selectClause === 'count(distinct contact_a.id) as total') {
+      $isCountOnly = TRUE;
     }
-    if ($this->_group) {
-      $f .= "
-LEFT JOIN civicrm_group_contact cgc ON ( cgc.contact_id = contact_a.id AND cgc.status = 'Added')
-";
+
+    $searchParams = [
+      ['prox_distance_unit', '=', $this->_formValues['prox_distance_unit'], 0, 0],
+      ['prox_distance', '=', $this->_formValues['distance'], 0, 0],
+      ['prox_geo_code_1', '=', $this->_formValues['geo_code_1'], 0, 0],
+      ['prox_geo_code_2', '=', $this->_formValues['geo_code_2'], 0, 0],
+    ];
+    if (!empty($this->_formValues['group'])) {
+      $searchParams[] = ['group', '=', ['IN', (array) $this->_formValues['group']][1], 0, 0];
+    }
+    if (!empty($this->_formValues['tag'])) {
+      $searchParams[] = ['contact_tags', '=', ['IN', (array) $this->_formValues['tag']][1], 0, 0];
     }
 
-    return $f;
+    $display = array_fill_keys(['city', 'state_province', 'country', 'postal_code', 'street_address', 'display_name', 'sort_name'], 1);
+    if ($selectClause === 'contact_a.id as contact_id') {
+      // Not sure when this would happen but calling all with 'justIDs' gets us here.
+      $display = ['contact_id' => 1];
+    }
+
+    $this->_query = new CRM_Contact_BAO_Query($searchParams, $display);
+    return $this->_query->searchQuery(
+      $offset,
+      $rowcount,
+      $sort,
+      $isCountOnly,
+      $includeContactIDs,
+      FALSE,
+      $isCountOnly,
+      $returnQuery = TRUE
+    );
+
   }
 
+  /**
+   * @return string
+   */
+  public function from() {
+    //unused
+    return '';
+  }
   /**
    * @param bool $includeContactIDs
    *
    * @return string
    */
   public function where($includeContactIDs = FALSE) {
-    $params = array();
-    $clause = array();
-
-    $where = CRM_Contact_BAO_ProximityQuery::where($this->_latitude,
-      $this->_longitude,
-      $this->_distance,
-      'address'
-    );
-
-    if ($this->_tag) {
-      $where .= "
-AND t.tag_id = {$this->_tag}
-";
-    }
-    if ($this->_group) {
-      $where .= "
-AND cgc.group_id = {$this->_group}
- ";
-    }
-
-    $where .= " AND contact_a.is_deleted != 1 ";
-
-    if ($this->_aclWhere) {
-      $where .= " AND {$this->_aclWhere} ";
-    }
-
-    return $this->whereClause($where, $params);
+    //unused
+    return '';
   }
 
   /**
@@ -314,10 +312,42 @@ AND cgc.group_id = {$this->_group}
   }
 
   /**
-   * @param string $tableAlias
+   * Validate form input.
+   *
+   * @param array $fields
+   * @param array $files
+   * @param CRM_Core_Form $self
+   *
+   * @return array
+   *   Input errors from the form.
+   */
+  public function formRule($fields, $files, $self) {
+    $this->addGeocodingData($fields);
+
+    if (!is_numeric(CRM_Utils_Array::value('geo_code_1', $fields)) ||
+      !is_numeric(CRM_Utils_Array::value('geo_code_2', $fields)) ||
+      !isset($fields['distance'])
+    ) {
+      $errorMessage = ts('Could not determine co-ordinates for provided data');
+      return array_fill_keys(['street_address', 'city', 'postal_code', 'country_id', 'state_province_id'], $errorMessage);
+    }
+    return [];
+  }
+
+  /**
+   * Add the geocoding data to the fields supplied.
+   *
+   * @param array $fields
    */
-  public function buildACLClause($tableAlias = 'contact') {
-    list($this->_aclFrom, $this->_aclWhere) = CRM_Contact_BAO_Contact_Permission::cacheClause($tableAlias);
+  protected function addGeocodingData(&$fields) {
+    if (!empty($fields['country_id'])) {
+      $fields['country'] = CRM_Core_PseudoConstant::country($fields['country_id']);
+    }
+
+    if (!empty($fields['state_province_id'])) {
+      $fields['state_province'] = CRM_Core_PseudoConstant::stateProvince($fields['state_province_id']);
+    }
+    CRM_Core_BAO_Address::addGeocoderData($fields);
   }
 
 }
diff --git a/civicrm/CRM/Contact/Form/Task.php b/civicrm/CRM/Contact/Form/Task.php
index 0d33c818c9..853e1cb00e 100644
--- a/civicrm/CRM/Contact/Form/Task.php
+++ b/civicrm/CRM/Contact/Form/Task.php
@@ -298,11 +298,9 @@ class CRM_Contact_Form_Task extends CRM_Core_Form {
     }
 
     $selectorName = $this->controller->selectorName();
-    require_once str_replace('_', DIRECTORY_SEPARATOR, $selectorName) . '.php';
 
     $fv = $this->get('formValues');
     $customClass = $this->get('customSearchClass');
-    require_once 'CRM/Core/BAO/Mapping.php';
     $returnProperties = CRM_Core_BAO_Mapping::returnProperties(self::$_searchFormValues);
 
     $selector = new $selectorName($customClass, $fv, NULL, $returnProperties);
@@ -318,7 +316,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form {
     if (!$queryOperator) {
       $queryOperator = 'AND';
     }
-    $dao = $selector->contactIDQuery($params, $this->_action, $sortID,
+    $dao = $selector->contactIDQuery($params, $sortID,
       CRM_Utils_Array::value('display_relationship_type', $fv),
       $queryOperator
     );
diff --git a/civicrm/CRM/Contact/Form/Task/EmailCommon.php b/civicrm/CRM/Contact/Form/Task/EmailCommon.php
index 88be4a082b..e57efd9d01 100644
--- a/civicrm/CRM/Contact/Form/Task/EmailCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/EmailCommon.php
@@ -44,21 +44,16 @@ class CRM_Contact_Form_Task_EmailCommon {
   public $_toContactEmails = array();
 
   /**
-   * Generate an array of Domain email addresses.
+   * @deprecated Generate an array of Domain email addresses.
    * @return array $domainEmails;
    */
   public static function domainEmails() {
-    $domainEmails = array();
-    $domainFrom = CRM_Core_OptionGroup::values('from_email_address');
-    foreach (array_keys($domainFrom) as $k) {
-      $domainEmail = $domainFrom[$k];
-      $domainEmails[$domainEmail] = htmlspecialchars($domainEmail);
-    }
-    return $domainEmails;
+    Civi::log()->warning('Deprecated function, use CRM_Core_BAO_Email::domainEmails()', array('civi.tag' => 'deprecated'));
+    return CRM_Core_BAO_Email::domainEmails();
   }
 
   /**
-   * Pre Process Form Addresses to be used in QUickfomr
+   * Pre Process Form Addresses to be used in Quickform
    * @param CRM_Core_Form $form
    * @param bool $bounce determine if we want to throw a status bounce.
    */
@@ -72,60 +67,27 @@ class CRM_Contact_Form_Task_EmailCommon {
       $form->_single = TRUE;
     }
 
-    $form->_emails = $emails = array();
+    $form->_emails = array();
 
     $contactID = CRM_Core_Session::singleton()->getLoggedInContactID();
-    $fromDisplayName  = CRM_Core_Session::singleton()->getLoggedInContactDisplayName();
-
     $form->_contactIds = array($contactID);
-    $contactEmails = CRM_Core_BAO_Email::allEmails($contactID);
 
-    $form->_onHold = array();
+    $fromEmailValues = CRM_Core_BAO_Email::getFromEmail();
 
-    foreach ($contactEmails as $emailId => $item) {
-      $email = $item['email'];
-      if (!$email && (count($emails) < 1)) {
-        // set it if no emails are present at all
-        $form->_noEmails = TRUE;
-      }
-      else {
-        if ($email) {
-          if (in_array($email, $emails)) {
-            // CRM-3624
-            continue;
-          }
-
-          $emails[$emailId] = '"' . $fromDisplayName . '" <' . $email . '> ';
-          $form->_onHold[$emailId] = $item['on_hold'];
-          $form->_noEmails = FALSE;
-        }
-      }
-      if (!empty($email)) {
-        $form->_emails[$emailId] = $emails[$emailId];
-        $emails[$emailId] .= $item['locationType'];
-
-        if ($item['is_primary']) {
-          $emails[$emailId] .= ' ' . ts('(preferred)');
-        }
-        $emails[$emailId] = htmlspecialchars($emails[$emailId]);
-      }
+    $form->_noEmails = FALSE;
+    if (empty($fromEmailValues)) {
+      $form->_noEmails = TRUE;
     }
-
     $form->assign('noEmails', $form->_noEmails);
 
     if ($bounce) {
       if ($form->_noEmails) {
-        CRM_Core_Error::statusBounce(ts('Your user record does not have a valid email address'));
+        CRM_Core_Error::statusBounce(ts('Your user record does not have a valid email address and no from addresses have been configured.'));
       }
     }
 
-    // now add domain from addresses
-    $domainEmails = self::domainEmails();
-    foreach ($domainEmails as $domainEmail => $email) {
-      $form->_emails[$domainEmail] = $domainEmail;
-    }
-    $form->_fromEmails = CRM_Utils_Array::crmArrayMerge($emails, $domainEmails);
-    $form->_fromEmails = array_filter($form->_fromEmails);
+    $form->_emails = $fromEmailValues;
+    $form->_fromEmails = $fromEmailValues;
     if (is_numeric(key($form->_fromEmails))) {
       // Add signature
       $defaultEmail = civicrm_api3('email', 'getsingle', array('id' => key($form->_fromEmails)));
@@ -287,7 +249,7 @@ class CRM_Contact_Form_Task_EmailCommon {
 
     $form->add('text', 'subject', ts('Subject'), 'size=50 maxlength=254', TRUE);
 
-    $form->add('select', 'fromEmailAddress', ts('From'), $form->_fromEmails, TRUE, array('class' => 'crm-select2 huge'));
+    $form->add('select', 'from_email_address', ts('From'), $form->_fromEmails, TRUE);
 
     CRM_Mailing_BAO_Mailing::commonCompose($form);
 
@@ -427,7 +389,7 @@ class CRM_Contact_Form_Task_EmailCommon {
   public static function submit(&$form, $formValues) {
     self::saveMessageTemplate($formValues);
 
-    $from = CRM_Utils_Array::value($formValues['fromEmailAddress'], $form->_emails);
+    $from = CRM_Utils_Array::value('from_email_address', $formValues);
     $subject = $formValues['subject'];
 
     // CRM-13378: Append CC and BCC information at the end of Activity Details and format cc and bcc fields
diff --git a/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php b/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php
index ae6d83ef53..eb3b9ee6fc 100644
--- a/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php
@@ -58,6 +58,7 @@ class CRM_Contact_Form_Task_PDFLetterCommon {
    * @param CRM_Core_Form $form
    */
   public static function preProcess(&$form) {
+    CRM_Contact_Form_Task_EmailCommon::preProcessFromAddress($form);
     $messageText = array();
     $messageSubject = array();
     $dao = new CRM_Core_BAO_MessageTemplate();
diff --git a/civicrm/CRM/Contact/Form/Task/SaveSearch.php b/civicrm/CRM/Contact/Form/Task/SaveSearch.php
index bff3f0d129..54be7e0d02 100644
--- a/civicrm/CRM/Contact/Form/Task/SaveSearch.php
+++ b/civicrm/CRM/Contact/Form/Task/SaveSearch.php
@@ -158,10 +158,7 @@ class CRM_Contact_Form_Task_SaveSearch extends CRM_Contact_Form_Task {
       if (!$this->_id) {
         //save record in mapping table
         $mappingParams = array(
-          'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-            'Search Builder',
-            'name'
-          ),
+          'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Search Builder'),
         );
         $mapping = CRM_Core_BAO_Mapping::add($mappingParams);
         $mappingId = $mapping->id;
@@ -240,10 +237,7 @@ class CRM_Contact_Form_Task_SaveSearch extends CRM_Contact_Form_Task {
         'id' => $mappingId,
         'name' => CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group', $group->id, 'name', 'id'),
         'description' => CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group', $group->id, 'description', 'id'),
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Search Builder',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Search Builder'),
       );
       CRM_Core_BAO_Mapping::add($mappingParams);
     }
diff --git a/civicrm/CRM/Contact/Import/Form/DataSource.php b/civicrm/CRM/Contact/Import/Form/DataSource.php
index dbbf7d6abc..131c00fa73 100644
--- a/civicrm/CRM/Contact/Import/Form/DataSource.php
+++ b/civicrm/CRM/Contact/Import/Form/DataSource.php
@@ -203,7 +203,7 @@ class CRM_Contact_Import_Form_DataSource extends CRM_Core_Form {
 
     $config = CRM_Core_Config::singleton();
     $geoCode = FALSE;
-    if (!empty($config->geocodeMethod)) {
+    if (CRM_Utils_GeocodeProvider::getUsableClassName()) {
       $geoCode = TRUE;
       $this->addElement('checkbox', 'doGeocodeAddress', ts('Geocode addresses during import?'));
     }
diff --git a/civicrm/CRM/Contact/Import/Parser/Contact.php b/civicrm/CRM/Contact/Import/Parser/Contact.php
index a6925e439a..3468592260 100644
--- a/civicrm/CRM/Contact/Import/Parser/Contact.php
+++ b/civicrm/CRM/Contact/Import/Parser/Contact.php
@@ -474,7 +474,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
     $this->_unparsedStreetAddressContacts = array();
     if (!$doGeocodeAddress) {
       // CRM-5854, reset the geocode method to null to prevent geocoding
-      $config->geocodeMethod = '';
+      CRM_Utils_GeocodeProvider::disableForSession();
     }
 
     // first make sure this is a valid line
diff --git a/civicrm/CRM/Contact/Page/AJAX.php b/civicrm/CRM/Contact/Page/AJAX.php
index cfdff39d0f..6f9123fac6 100644
--- a/civicrm/CRM/Contact/Page/AJAX.php
+++ b/civicrm/CRM/Contact/Page/AJAX.php
@@ -388,6 +388,7 @@ class CRM_Contact_Page_AJAX {
       }
 
       if ($queryString) {
+        $result = array();
         $offset = CRM_Utils_Array::value('offset', $_GET, 0);
         $rowCount = Civi::settings()->get('search_autocomplete_count');
 
@@ -450,9 +451,7 @@ LIMIT {$offset}, {$rowCount}
             );
           }
         }
-        if ($result) {
-          CRM_Utils_JSON::output($result);
-        }
+        CRM_Utils_JSON::output($result);
       }
     }
     CRM_Utils_System::civiExit();
@@ -483,6 +482,7 @@ LIMIT {$offset}, {$rowCount}
     }
 
     if ($queryString) {
+      $result = array();
       $offset = CRM_Utils_Array::value('offset', $_GET, 0);
       $rowCount = CRM_Utils_Array::value('rowcount', $_GET, 20);
 
@@ -519,9 +519,6 @@ LIMIT {$offset}, {$rowCount}
           'id' => (CRM_Utils_Array::value('id', $_GET)) ? "{$dao->id}::{$dao->phone}" : '"' . $dao->name . '" <' . $dao->phone . '>',
         );
       }
-    }
-
-    if ($result) {
       CRM_Utils_JSON::output($result);
     }
     CRM_Utils_System::civiExit();
diff --git a/civicrm/CRM/Contact/Selector.php b/civicrm/CRM/Contact/Selector.php
index a34e8a32f8..483d6e8349 100644
--- a/civicrm/CRM/Contact/Selector.php
+++ b/civicrm/CRM/Contact/Selector.php
@@ -1182,14 +1182,13 @@ SELECT DISTINCT 'civicrm_contact', contact_a.id, contact_a.id, '$cacheKey', cont
 
   /**
    * @param array $params
-   * @param $action
    * @param int $sortID
    * @param null $displayRelationshipType
    * @param string $queryOperator
    *
    * @return CRM_Contact_DAO_Contact
    */
-  public function contactIDQuery($params, $action, $sortID, $displayRelationshipType = NULL, $queryOperator = 'AND') {
+  public function contactIDQuery($params, $sortID, $displayRelationshipType = NULL, $queryOperator = 'AND') {
     $sortOrder = &$this->getSortOrder($this->_action);
     $sort = new CRM_Utils_Sort($sortOrder, $sortID);
 
diff --git a/civicrm/CRM/Contact/Selector/Custom.php b/civicrm/CRM/Contact/Selector/Custom.php
index b1cc490e88..628d13aaa5 100644
--- a/civicrm/CRM/Contact/Selector/Custom.php
+++ b/civicrm/CRM/Contact/Selector/Custom.php
@@ -424,7 +424,7 @@ class CRM_Contact_Selector_Custom extends CRM_Contact_Selector {
    *
    * @return Object
    */
-  public function contactIDQuery($params, $action, $sortID, $displayRelationshipType = NULL, $queryOperator = 'AND') {
+  public function contactIDQuery($params, $sortID, $displayRelationshipType = NULL, $queryOperator = 'AND') {
     // $action, $displayRelationshipType and $queryOperator are unused. I have
     // no idea why they are there.
 
diff --git a/civicrm/CRM/Contact/StateMachine/Search.php b/civicrm/CRM/Contact/StateMachine/Search.php
index 61bed6a482..545b6e93d3 100644
--- a/civicrm/CRM/Contact/StateMachine/Search.php
+++ b/civicrm/CRM/Contact/StateMachine/Search.php
@@ -92,7 +92,7 @@ class CRM_Contact_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Contact/Task.php b/civicrm/CRM/Contact/Task.php
index 99f3a790a5..8b2dbe0c1d 100644
--- a/civicrm/CRM/Contact/Task.php
+++ b/civicrm/CRM/Contact/Task.php
@@ -61,7 +61,8 @@ class CRM_Contact_Task {
     RESTORE = 23,
     DELETE_PERMANENTLY = 24,
     COMMUNICATION_PREFS = 25,
-    INDIVIDUAL_CONTACTS = 26;
+    INDIVIDUAL_CONTACTS = 26,
+    ADD_TO_CASE = 27;
 
   /**
    * The task array
@@ -275,10 +276,17 @@ class CRM_Contact_Task {
         );
       }
 
+      if (CRM_Core_Permission::access('CiviCase')) {
+        self::$_tasks[self::ADD_TO_CASE] = array(
+          'title' => 'Add to case as role',
+          'class' => 'CRM_Case_Form_AddToCaseAsRole',
+          'result' => FALSE,
+        );
+      }
+
       self::$_tasks += CRM_Core_Component::taskList();
 
       CRM_Utils_Hook::searchTasks('contact', self::$_tasks);
-
     }
   }
 
diff --git a/civicrm/CRM/Contribute/BAO/Contribution.php b/civicrm/CRM/Contribute/BAO/Contribution.php
index 8f10d7c89d..936f4ed968 100644
--- a/civicrm/CRM/Contribute/BAO/Contribution.php
+++ b/civicrm/CRM/Contribute/BAO/Contribution.php
@@ -132,6 +132,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
     else {
       // @todo put a deprecated here - this should be done in the form layer.
       $params['skipCleanMoney'] = FALSE;
+      Civi::log()->warning('Deprecated code path. Money should always be clean before it hits the BAO.', array('civi.tag' => 'deprecated'));
     }
 
     foreach ($moneyFields as $field) {
@@ -2618,6 +2619,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
       if (!empty($this->_relatedObjects['membership'])) {
         foreach ($this->_relatedObjects['membership'] as $membership) {
           if ($membership->id) {
+            $values['membership_id'] = $membership->id;
             $values['isMembership'] = TRUE;
             $values['membership_assign'] = TRUE;
 
@@ -4104,7 +4106,7 @@ WHERE eft.financial_trxn_id IN ({$trxnId}, {$baseTrxnId['financialTrxnId']})
     }
 
     $paymentBalance = CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType($id, $entity, FALSE, $total);
-    $contribution = civicrm_api3('Contribution', 'getsingle', array('id' => $id, 'return' => array('is_pay_later', 'contribution_status_id', 'financial_type_id')));
+    $contribution = civicrm_api3('Contribution', 'getsingle', array('id' => $contributionId, 'return' => array('is_pay_later', 'contribution_status_id', 'financial_type_id')));
 
     $info['payLater'] = $contribution['is_pay_later'];
     $info['contribution_status'] = $contribution['contribution_status'];
@@ -4752,7 +4754,7 @@ WHERE eft.financial_trxn_id IN ({$trxnId}, {$baseTrxnId['financialTrxnId']})
    * @return array
    */
   public static function generateFromEmailAndName($input, $contribution) {
-    // Use input valuse if supplied.
+    // Use input value if supplied.
     if (!empty($input['receipt_from_email'])) {
       return array(CRM_Utils_array::value('receipt_from_name', $input, ''), $input['receipt_from_email']);
     }
@@ -4940,7 +4942,7 @@ WHERE eft.financial_trxn_id IN ({$trxnId}, {$baseTrxnId['financialTrxnId']})
     $contributionStatus = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'contribution_status_id', array(
       'labelColumn' => 'name',
     ));
-    foreach ($contributions as $k => $contribution) {
+    foreach ($contributions as $contribution) {
       if (!($contributionStatus[$contribution->contribution_status_id] == 'Partially paid'
         || CRM_Utils_Array::value($contributionStatusId, $contributionStatus) == 'Partially paid')
       ) {
@@ -5692,7 +5694,10 @@ LIMIT 1;";
    *
    */
   public static function createProportionalEntry($entityParams, $eftParams) {
-    $paid = $entityParams['line_item_amount'] * ($entityParams['trxn_total_amount'] / $entityParams['contribution_total_amount']);
+    $paid = 0;
+    if ($entityParams['contribution_total_amount'] != 0) {
+      $paid = $entityParams['line_item_amount'] * ($entityParams['trxn_total_amount'] / $entityParams['contribution_total_amount']);
+    }
     // Record Entity Financial Trxn; CRM-20145
     $eftParams['amount'] = CRM_Contribute_BAO_Contribution_Utils::formatAmount($paid);
     civicrm_api3('EntityFinancialTrxn', 'create', $eftParams);
diff --git a/civicrm/CRM/Contribute/BAO/ContributionRecur.php b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
index 8fb586fc95..320ed6910c 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
@@ -897,11 +897,20 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
    * @return array
    */
   public static function calculateRecurLineItems($recurId, $total_amount, $financial_type_id) {
-    $originalContributionID = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_Contribution', $recurId, 'id', 'contribution_recur_id');
-    $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($originalContributionID);
+    $originalContribution = civicrm_api3('Contribution', 'getsingle', array(
+    'contribution_recur_id' => $recurId,
+    'contribution_test' => '',
+    'options' => ['limit' => 1],
+    'return' => ['id', 'financial_type_id'],
+    ));
+    $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($originalContribution['id']);
     $lineSets = array();
     if (count($lineItems) == 1) {
       foreach ($lineItems as $index => $lineItem) {
+        if ($lineItem['financial_type_id'] != $originalContribution['financial_type_id']) {
+          // CRM-20685, Repeattransaction produces incorrect Financial Type ID (in specific circumstance) - if number of lineItems = 1, So this conditional will set the financial_type_id as the original if line_item and contribution comes with different data.
+          $financial_type_id = $lineItem['financial_type_id'];
+        }
         if ($financial_type_id) {
           // CRM-17718 allow for possibility of changed financial type ID having been set prior to calling this.
           $lineItem['financial_type_id'] = $financial_type_id;
diff --git a/civicrm/CRM/Contribute/BAO/Query.php b/civicrm/CRM/Contribute/BAO/Query.php
index 23c32b4fcd..fc7f0348d2 100644
--- a/civicrm/CRM/Contribute/BAO/Query.php
+++ b/civicrm/CRM/Contribute/BAO/Query.php
@@ -186,7 +186,7 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
       case 'contribution_date_high_time':
         // process to / from date
         $query->dateQueryBuilder($values,
-          'civicrm_contribution', 'contribution_date', 'receive_date', 'Contribution Date'
+          'civicrm_contribution', 'contribution_date', 'receive_date', ts('Contribution Date')
         );
         return;
 
@@ -227,6 +227,17 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
         $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1;
         return;
 
+      case 'contribution_cancel_date':
+      case 'contribution_cancel_date_low':
+      case 'contribution_cancel_date_low_time':
+      case 'contribution_cancel_date_high':
+      case 'contribution_cancel_date_high_time':
+        // process to / from date
+        $query->dateQueryBuilder($values,
+          'civicrm_contribution', 'contribution_cancel_date', 'cancel_date', ts('Cancelled / Refunded Date')
+        );
+        return;
+
       case 'financial_type_id':
         // @todo we need to make this resemble a hook approach.
         CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes);
@@ -730,8 +741,11 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
    *
    * The default return properties array returns far too many fields for 'everyday use. Every field you add to this array
    * kills a small kitten so add carefully.
+   *
+   * @param array $queryParams
+   * @return array
    */
-  public static function selectorReturnProperties() {
+  public static function selectorReturnProperties($queryParams) {
     $properties = array(
       'contact_type' => 1,
       'contact_sub_type' => 1,
@@ -758,7 +772,7 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
       'cancel_date' => 1,
       'contribution_recur_id' => 1,
     );
-    if (self::isSoftCreditOptionEnabled()) {
+    if (self::isSoftCreditOptionEnabled($queryParams)) {
       $properties = array_merge($properties, self::softCreditReturnProperties());
     }
 
@@ -902,6 +916,11 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
     $form->add('text', 'contribution_amount_high', ts('To'), array('size' => 8, 'maxlength' => 8));
     $form->addRule('contribution_amount_high', ts('Please enter a valid money value (e.g. %1).', array(1 => CRM_Utils_Money::format('99.99', ' '))), 'money');
 
+    // Adding Cancelled Contribution fields -- CRM-21343
+    $form->add('text', 'contribution_cancel_reason', ts('Cancellation / Refund Reason'), array('size' => 40));
+    CRM_Core_Form_Date::buildDateRange($form, 'contribution_cancel_date', 1, '_low', '_high', ts('From:'), FALSE);
+    $form->addElement('hidden', 'contribution_cancel_date_range_error');
+
     // Adding select option for curreny type -- CRM-4711
     $form->add('select', 'contribution_currency_type',
       ts('Currency Type'),
@@ -924,8 +943,11 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
       FALSE, array('class' => 'crm-select2', 'multiple' => 'multiple', 'placeholder' => ts('- any -'))
     );
 
-    $form->addSelect('payment_instrument_id',
-      array('entity' => 'contribution', 'multiple' => 'multiple', 'label' => ts('Payment Method'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
+    // use contribution_payment_instrument_id instead of payment_instrument_id
+    // Contribution Edit form (pop-up on contribution/Contact(display Result as Contribution) open on search form),
+    // then payment method change action not working properly because of same html ID present two time on one page
+    $form->addSelect('contribution_payment_instrument_id',
+      array('entity' => 'contribution', 'field' => 'payment_instrument_id', 'multiple' => 'multiple', 'label' => ts('Payment Method'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
     );
 
     $form->add('select',
@@ -934,8 +956,6 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
       CRM_Contribute_PseudoConstant::pcPage(), FALSE, array('class' => 'crm-select2', 'multiple' => 'multiple', 'placeholder' => ts('- any -')));
 
     $statusValues = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'contribution_status_id');
-    // Remove status values that are only used for recurring contributions or pledges (In Progress, Overdue).
-    unset($statusValues['5'], $statusValues['6']);
     $form->add('select', 'contribution_status_id',
       ts('Contribution Status'), $statusValues,
       FALSE, array('class' => 'crm-select2', 'multiple' => 'multiple')
@@ -1076,11 +1096,12 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
   public static function formRule($fields, $files, $form) {
     $errors = array();
 
-    if (empty($fields['contribution_date_high']) || empty($fields['contribution_date_low'])) {
-      return TRUE;
+    if (!empty($fields['contribution_date_high']) && !empty($fields['contribution_date_low'])) {
+      CRM_Utils_Rule::validDateRange($fields, 'contribution_date', $errors, ts('Date Received'));
+    }
+    if (!empty($fields['contribution_cancel_date_high']) && !empty($fields['contribution_cancel_date_low'])) {
+      CRM_Utils_Rule::validDateRange($fields, 'contribution_cancel_date', $errors, ts('Cancel Date'));
     }
-
-    CRM_Utils_Rule::validDateRange($fields, 'contribution_date', $errors, ts('Date Received'));
 
     return empty($errors) ? TRUE : $errors;
   }
diff --git a/civicrm/CRM/Contribute/DAO/Contribution.php b/civicrm/CRM/Contribute/DAO/Contribution.php
index 6744a69fa9..f217ba7630 100644
--- a/civicrm/CRM/Contribute/DAO/Contribution.php
+++ b/civicrm/CRM/Contribute/DAO/Contribution.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,274 +8,302 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:45a20d00d01766a61687cbac5cef1482)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_Contribution constructor.
+ * Database access object for the Contribution entity.
  */
 class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Contribution ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to Financial Type for (total_amount - non_deductible_amount).
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * The Contribution Page which triggered this contribution
    *
    * @var int unsigned
    */
   public $contribution_page_id;
+
   /**
    * FK to Payment Instrument
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
    * Date contribution was received - not necessarily the creation date of the record
    *
    * @var datetime
    */
   public $receive_date;
+
   /**
    * Portion of total amount which is NOT tax deductible. Equal to total_amount for non-deductible financial types.
    *
    * @var float
    */
   public $non_deductible_amount;
+
   /**
    * Total amount of this contribution. Use market value for non-monetary gifts.
    *
    * @var float
    */
   public $total_amount;
+
   /**
    * actual processor fee if known - may be 0.
    *
    * @var float
    */
   public $fee_amount;
+
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
    * @var float
    */
   public $net_amount;
+
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
    * @var string
    */
   public $trxn_id;
+
   /**
    * unique invoice id, system generated or passed in
    *
    * @var string
    */
   public $invoice_id;
+
   /**
    * Human readable invoice number
    *
    * @var string
    */
   public $invoice_number;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * when was gift cancelled
    *
    * @var datetime
    */
   public $cancel_date;
+
   /**
-   *
    * @var text
    */
   public $cancel_reason;
+
   /**
    * when (if) receipt was sent. populated automatically for online donations w/ automatic receipting
    *
    * @var datetime
    */
   public $receipt_date;
+
   /**
    * when (if) was donor thanked
    *
    * @var datetime
    */
   public $thankyou_date;
+
   /**
    * Origin of this Contribution.
    *
    * @var string
    */
   public $source;
+
   /**
-   *
    * @var text
    */
   public $amount_level;
+
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each contribution made in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
    * @var int unsigned
    */
   public $contribution_recur_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
-   *
    * @var boolean
    */
   public $is_pay_later;
+
   /**
-   *
    * @var int unsigned
    */
   public $contribution_status_id;
+
   /**
    * Conditional foreign key to civicrm_address.id. We insert an address record for each contribution when we have associated billing name and address data.
    *
    * @var int unsigned
    */
   public $address_id;
+
   /**
-   *
    * @var string
    */
   public $check_number;
+
   /**
    * The campaign for which this contribution has been triggered.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * unique credit note id, system generated or passed in
    *
    * @var string
    */
   public $creditnote_id;
+
   /**
    * Total tax amount of this contribution.
    *
    * @var float
    */
   public $tax_amount;
+
   /**
    * Stores the date when revenue should be recognized.
    *
    * @var datetime
    */
   public $revenue_recognition_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_page_id', 'civicrm_contribution_page', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_recur_id', 'civicrm_contribution_recur', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'address_id', 'civicrm_address', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_page_id', 'civicrm_contribution_page', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_recur_id', 'civicrm_contribution_recur', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'address_id', 'civicrm_address', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'contribution_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'contribution_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution ID') ,
+          'title' => ts('Contribution ID'),
           'description' => 'Contribution ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-        ) ,
-        'contribution_contact_id' => array(
+        ],
+        'contribution_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.contact_id',
           'headerPattern' => '/contact(.?id)?/i',
           'dataPattern' => '/^\d+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'financial_type_id' => array(
+          ],
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type for (total_amount - non_deductible_amount).',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution.financial_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -308,45 +312,45 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'contribution_page_id' => array(
+          ]
+        ],
+        'contribution_page_id' => [
           'name' => 'contribution_page_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page ID') ,
+          'title' => ts('Contribution Page ID'),
           'description' => 'The Contribution Page which triggered this contribution',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.contribution_page_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionPage',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contribution_page',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'payment_instrument_id' => array(
+          ]
+        ],
+        'payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Method ID') ,
+          'title' => ts('Payment Method ID'),
           'description' => 'FK to Payment Instrument',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution.payment_instrument_id',
           'headerPattern' => '/^payment|(p(ayment\s)?instrument)$/i',
           'dataPattern' => '',
@@ -354,326 +358,326 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-        'receive_date' => array(
+          ]
+        ],
+        'receive_date' => [
           'name' => 'receive_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Date Received') ,
+          'title' => ts('Date Received'),
           'description' => 'Date contribution was received - not necessarily the creation date of the record',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.receive_date',
           'headerPattern' => '/receive(.?date)?/i',
           'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'non_deductible_amount' => array(
+          ],
+        ],
+        'non_deductible_amount' => [
           'name' => 'non_deductible_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Non-deductible Amount') ,
+          'title' => ts('Non-deductible Amount'),
           'description' => 'Portion of total amount which is NOT tax deductible. Equal to total_amount for non-deductible financial types.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution.non_deductible_amount',
           'headerPattern' => '/non?.?deduct/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'total_amount' => array(
+          ],
+        ],
+        'total_amount' => [
           'name' => 'total_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Total Amount') ,
+          'title' => ts('Total Amount'),
           'description' => 'Total amount of this contribution. Use market value for non-monetary gifts.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution.total_amount',
           'headerPattern' => '/^total|(.?^am(ou)?nt)/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'fee_amount' => array(
+          ],
+        ],
+        'fee_amount' => [
           'name' => 'fee_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Fee Amount') ,
+          'title' => ts('Fee Amount'),
           'description' => 'actual processor fee if known - may be 0.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution.fee_amount',
           'headerPattern' => '/fee(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'net_amount' => array(
+          ],
+        ],
+        'net_amount' => [
           'name' => 'net_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Net Amount') ,
+          'title' => ts('Net Amount'),
           'description' => 'actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution.net_amount',
           'headerPattern' => '/net(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'trxn_id' => array(
+          ],
+        ],
+        'trxn_id' => [
           'name' => 'trxn_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Transaction ID') ,
+          'title' => ts('Transaction ID'),
           'description' => 'unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.trxn_id',
           'headerPattern' => '/tr(ansactio|x)n(.?id)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'invoice_id' => array(
+          ],
+        ],
+        'invoice_id' => [
           'name' => 'invoice_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Invoice Reference') ,
+          'title' => ts('Invoice Reference'),
           'description' => 'unique invoice id, system generated or passed in',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.invoice_id',
           'headerPattern' => '/invoice(.?id)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'invoice_number' => array(
+          ],
+        ],
+        'invoice_number' => [
           'name' => 'invoice_number',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Invoice Number') ,
+          'title' => ts('Invoice Number'),
           'description' => 'Human readable invoice number',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.invoice_number',
           'headerPattern' => '/invoice(.?number)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'currency' => array(
+          ],
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.currency',
           'headerPattern' => '/cur(rency)?/i',
           'dataPattern' => '/^[A-Z]{3}$/i',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'cancel_date' => array(
+          ]
+        ],
+        'cancel_date' => [
           'name' => 'cancel_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Cancel Date') ,
+          'title' => ts('Cancel Date'),
           'description' => 'when was gift cancelled',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.cancel_date',
           'headerPattern' => '/cancel(.?date)?/i',
           'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'cancel_reason' => array(
+          ],
+        ],
+        'cancel_reason' => [
           'name' => 'cancel_reason',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Cancel Reason') ,
-          'import' => true,
+          'title' => ts('Cancel Reason'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution.cancel_reason',
           'headerPattern' => '/(cancel.?)?reason/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'receipt_date' => array(
+          ],
+        ],
+        'receipt_date' => [
           'name' => 'receipt_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Receipt Date') ,
+          'title' => ts('Receipt Date'),
           'description' => 'when (if) receipt was sent. populated automatically for online donations w/ automatic receipting',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.receipt_date',
           'headerPattern' => '/receipt(.?date)?/i',
           'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'thankyou_date' => array(
+          ],
+        ],
+        'thankyou_date' => [
           'name' => 'thankyou_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Thank-you Date') ,
+          'title' => ts('Thank-you Date'),
           'description' => 'when (if) was donor thanked',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.thankyou_date',
           'headerPattern' => '/thank(s|(.?you))?(.?date)?/i',
           'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'contribution_source' => array(
+          ],
+        ],
+        'contribution_source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contribution Source') ,
+          'title' => ts('Contribution Source'),
           'description' => 'Origin of this Contribution.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.source',
           'headerPattern' => '/source/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'amount_level' => array(
+          ],
+        ],
+        'amount_level' => [
           'name' => 'amount_level',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Amount Label') ,
-          'import' => true,
+          'title' => ts('Amount Label'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution.amount_level',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'contribution_recur_id' => array(
+          ],
+        ],
+        'contribution_recur_id' => [
           'name' => 'contribution_recur_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Recurring Contribution ID') ,
+          'title' => ts('Recurring Contribution ID'),
           'description' => 'Conditional foreign key to civicrm_contribution_recur id. Each contribution made in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution.contribution_recur_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -682,69 +686,69 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionRecur',
-        ) ,
-        'is_test' => array(
+        ],
+        'is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution.is_test',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_pay_later' => array(
+          ],
+        ],
+        'is_pay_later' => [
           'name' => 'is_pay_later',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Pay Later') ,
-          'import' => true,
+          'title' => ts('Is Pay Later'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution.is_pay_later',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'contribution_status_id' => array(
+          ],
+        ],
+        'contribution_status_id' => [
           'name' => 'contribution_status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Status ID') ,
-          'import' => true,
+          'title' => ts('Contribution Status ID'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution.contribution_status_id',
           'headerPattern' => '/status/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'contribution_status',
             'optionEditPath' => 'civicrm/admin/options/contribution_status',
-          )
-        ) ,
-        'contribution_address_id' => array(
+          ]
+        ],
+        'contribution_address_id' => [
           'name' => 'address_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Address') ,
+          'title' => ts('Contribution Address'),
           'description' => 'Conditional foreign key to civicrm_address.id. We insert an address record for each contribution when we have associated billing name and address data.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution.address_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -753,144 +757,148 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Address',
-        ) ,
-        'contribution_check_number' => array(
+        ],
+        'contribution_check_number' => [
           'name' => 'check_number',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Check Number') ,
+          'title' => ts('Check Number'),
           'maxlength' => 255,
           'size' => 6,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.check_number',
           'headerPattern' => '/check(.?number)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'contribution_campaign_id' => array(
+          ],
+        ],
+        'contribution_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this contribution has been triggered.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'creditnote_id' => array(
+          ]
+        ],
+        'creditnote_id' => [
           'name' => 'creditnote_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Credit Note ID') ,
+          'title' => ts('Credit Note ID'),
           'description' => 'unique credit note id, system generated or passed in',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.creditnote_id',
           'headerPattern' => '/creditnote(.?id)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'tax_amount' => array(
+          ],
+        ],
+        'tax_amount' => [
           'name' => 'tax_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Tax Amount') ,
+          'title' => ts('Tax Amount'),
           'description' => 'Total tax amount of this contribution.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution.tax_amount',
           'headerPattern' => '/tax(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'revenue_recognition_date' => array(
+          ],
+        ],
+        'revenue_recognition_date' => [
           'name' => 'revenue_recognition_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Revenue Recognition Date') ,
+          'title' => ts('Revenue Recognition Date'),
           'description' => 'Stores the date when revenue should be recognized.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution.revenue_recognition_date',
           'headerPattern' => '/revenue(.?date)?/i',
           'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution',
           'entity' => 'Contribution',
           'bao' => 'CRM_Contribute_BAO_Contribution',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -898,10 +906,11 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -909,91 +918,97 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contrib_payment_instrument_id' => array(
+    $indices = [
+      'UI_contrib_payment_instrument_id' => [
         'name' => 'UI_contrib_payment_instrument_id',
-        'field' => array(
+        'field' => [
           0 => 'payment_instrument_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::payment_instrument_id',
-      ) ,
-      'index_total_amount_receive_date' => array(
+      ],
+      'index_total_amount_receive_date' => [
         'name' => 'index_total_amount_receive_date',
-        'field' => array(
+        'field' => [
           0 => 'total_amount',
           1 => 'receive_date',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::total_amount::receive_date',
-      ) ,
-      'index_source' => array(
+      ],
+      'index_source' => [
         'name' => 'index_source',
-        'field' => array(
+        'field' => [
           0 => 'source',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::source',
-      ) ,
-      'UI_contrib_trxn_id' => array(
+      ],
+      'UI_contrib_trxn_id' => [
         'name' => 'UI_contrib_trxn_id',
-        'field' => array(
+        'field' => [
           0 => 'trxn_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contribution::1::trxn_id',
-      ) ,
-      'UI_contrib_invoice_id' => array(
+      ],
+      'UI_contrib_invoice_id' => [
         'name' => 'UI_contrib_invoice_id',
-        'field' => array(
+        'field' => [
           0 => 'invoice_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contribution::1::invoice_id',
-      ) ,
-      'index_contribution_status' => array(
+      ],
+      'index_contribution_status' => [
         'name' => 'index_contribution_status',
-        'field' => array(
+        'field' => [
           0 => 'contribution_status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::contribution_status_id',
-      ) ,
-      'received_date' => array(
+      ],
+      'received_date' => [
         'name' => 'received_date',
-        'field' => array(
+        'field' => [
           0 => 'receive_date',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::receive_date',
-      ) ,
-      'check_number' => array(
+      ],
+      'check_number' => [
         'name' => 'check_number',
-        'field' => array(
+        'field' => [
           0 => 'check_number',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::check_number',
-      ) ,
-      'index_creditnote_id' => array(
+      ],
+      'index_creditnote_id' => [
         'name' => 'index_creditnote_id',
-        'field' => array(
+        'field' => [
           0 => 'creditnote_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution::0::creditnote_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/ContributionPage.php b/civicrm/CRM/Contribute/DAO/ContributionPage.php
index d26a27bc0a..35fa5ca615 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionPage.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionPage.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,340 +8,389 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:2bc7d9380c552fe9995f8403f757cd09)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_ContributionPage constructor.
+ * Database access object for the ContributionPage entity.
  */
 class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution_page';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Contribution Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Contribution Page title. For top of page display
    *
    * @var string
    */
   public $title;
+
   /**
    * Text and html allowed. Displayed below title.
    *
    * @var text
    */
   public $intro_text;
+
   /**
    * default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Payment Processors configured for this contribution Page
    *
    * @var string
    */
   public $payment_processor;
+
   /**
    * if true - processing logic must reject transaction at confirmation stage if pay method != credit card
    *
    * @var boolean
    */
   public $is_credit_card_only;
+
   /**
    * if true - allows real-time monetary transactions otherwise non-monetary transactions
    *
    * @var boolean
    */
   public $is_monetary;
+
   /**
    * if true - allows recurring contributions, valid only for PayPal_Standard
    *
    * @var boolean
    */
   public $is_recur;
+
   /**
    * if false, the confirm page in contribution pages gets skipped
    *
    * @var boolean
    */
   public $is_confirm_enabled;
+
   /**
    * Supported recurring frequency units.
    *
    * @var string
    */
   public $recur_frequency_unit;
+
   /**
    * if true - supports recurring intervals
    *
    * @var boolean
    */
   public $is_recur_interval;
+
   /**
    * if true - asks user for recurring installments
    *
    * @var boolean
    */
   public $is_recur_installments;
+
   /**
    * if true - user is able to adjust payment start date
    *
    * @var boolean
    */
   public $adjust_recur_start_date;
+
   /**
    * if true - allows the user to send payment directly to the org later
    *
    * @var boolean
    */
   public $is_pay_later;
+
   /**
    * The text displayed to the user in the main form
    *
    * @var text
    */
   public $pay_later_text;
+
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
    * @var text
    */
   public $pay_later_receipt;
+
   /**
    * is partial payment enabled for this online contribution page
    *
    * @var boolean
    */
   public $is_partial_payment;
+
   /**
    * Initial amount label for partial payment
    *
    * @var string
    */
   public $initial_amount_label;
+
   /**
    * Initial amount help text for partial payment
    *
    * @var text
    */
   public $initial_amount_help_text;
+
   /**
    * Minimum initial amount for partial payment
    *
    * @var float
    */
   public $min_initial_amount;
+
   /**
    * if true, page will include an input text field where user can enter their own amount
    *
    * @var boolean
    */
   public $is_allow_other_amount;
+
   /**
    * FK to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $default_amount_id;
+
   /**
    * if other amounts allowed, user can configure minimum allowed.
    *
    * @var float
    */
   public $min_amount;
+
   /**
    * if other amounts allowed, user can configure maximum allowed.
    *
    * @var float
    */
   public $max_amount;
+
   /**
    * The target goal for this page, allows people to build a goal meter
    *
    * @var float
    */
   public $goal_amount;
+
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
    * @var string
    */
   public $thankyou_title;
+
   /**
    * text and html allowed. displayed above result on success page
    *
    * @var text
    */
   public $thankyou_text;
+
   /**
    * Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.
    *
    * @var text
    */
   public $thankyou_footer;
+
   /**
    * if true, receipt is automatically emailed to contact on success
    *
    * @var boolean
    */
   public $is_email_receipt;
+
   /**
    * FROM email name used for receipts generated by contributions to this contribution page.
    *
    * @var string
    */
   public $receipt_from_name;
+
   /**
    * FROM email address used for receipts generated by contributions to this contribution page.
    *
    * @var string
    */
   public $receipt_from_email;
+
   /**
    * comma-separated list of email addresses to cc each time a receipt is sent
    *
    * @var string
    */
   public $cc_receipt;
+
   /**
    * comma-separated list of email addresses to bcc each time a receipt is sent
    *
    * @var string
    */
   public $bcc_receipt;
+
   /**
    * text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now
    *
    * @var text
    */
   public $receipt_text;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.
    *
    * @var text
    */
   public $footer_text;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $amount_block_is_active;
+
   /**
    * Date and time that this page starts.
    *
    * @var datetime
    */
   public $start_date;
+
   /**
    * Date and time that this page ends. May be NULL if no defined end date/time
    *
    * @var datetime
    */
   public $end_date;
+
   /**
    * FK to civicrm_contact, who created this contribution page
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time that contribution page was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * The campaign for which we are collecting contributions with this page.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Can people share the contribution page through social media?
    *
    * @var boolean
    */
   public $is_share;
+
   /**
    * if true - billing block is required for online contribution page
    *
    * @var boolean
    */
   public $is_billing_required;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution_page';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page ID') ,
+          'title' => ts('Contribution Page ID'),
           'description' => 'Contribution Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contribution Page Title') ,
+          'title' => ts('Contribution Page Title'),
           'description' => 'Contribution Page title. For top of page display',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -373,11 +398,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'intro_text' => array(
+        ],
+        'intro_text' => [
           'name' => 'intro_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Contribution Page Introduction Text') ,
+          'title' => ts('Contribution Page Introduction Text'),
           'description' => 'Text and html allowed. Displayed below title.',
           'rows' => 6,
           'cols' => 50,
@@ -385,33 +410,33 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'financial_type_id' => array(
+          ],
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'payment_processor' => array(
+          ]
+        ],
+        'payment_processor' => [
           'name' => 'payment_processor',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Payment Processor') ,
+          'title' => ts('Payment Processor'),
           'description' => 'Payment Processors configured for this contribution Page',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -419,61 +444,61 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_payment_processor',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'is_credit_card_only' => array(
+          ]
+        ],
+        'is_credit_card_only' => [
           'name' => 'is_credit_card_only',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Credit Card Only?') ,
+          'title' => ts('Is Credit Card Only?'),
           'description' => 'if true - processing logic must reject transaction at confirmation stage if pay method != credit card',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_monetary' => array(
+        ],
+        'is_monetary' => [
           'name' => 'is_monetary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Monetary') ,
+          'title' => ts('Is Monetary'),
           'description' => 'if true - allows real-time monetary transactions otherwise non-monetary transactions',
           'default' => '1',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_recur' => array(
+        ],
+        'is_recur' => [
           'name' => 'is_recur',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Recurring') ,
+          'title' => ts('Is Recurring'),
           'description' => 'if true - allows recurring contributions, valid only for PayPal_Standard',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_confirm_enabled' => array(
+        ],
+        'is_confirm_enabled' => [
           'name' => 'is_confirm_enabled',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Confirmation Page?') ,
+          'title' => ts('Confirmation Page?'),
           'description' => 'if false, the confirm page in contribution pages gets skipped',
           'default' => '1',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'recur_frequency_unit' => array(
+        ],
+        'recur_frequency_unit' => [
           'name' => 'recur_frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Recurring Frequency') ,
+          'title' => ts('Recurring Frequency'),
           'description' => 'Supported recurring frequency units.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -482,89 +507,89 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'recur_frequency_units',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/recur_frequency_units',
-          )
-        ) ,
-        'is_recur_interval' => array(
+          ]
+        ],
+        'is_recur_interval' => [
           'name' => 'is_recur_interval',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Support Recurring Intervals') ,
+          'title' => ts('Support Recurring Intervals'),
           'description' => 'if true - supports recurring intervals',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_recur_installments' => array(
+        ],
+        'is_recur_installments' => [
           'name' => 'is_recur_installments',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Recurring Installments?') ,
+          'title' => ts('Recurring Installments?'),
           'description' => 'if true - asks user for recurring installments',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'adjust_recur_start_date' => array(
+        ],
+        'adjust_recur_start_date' => [
           'name' => 'adjust_recur_start_date',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Adjust Recurring Start Date') ,
+          'title' => ts('Adjust Recurring Start Date'),
           'description' => 'if true - user is able to adjust payment start date',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_pay_later' => array(
+        ],
+        'is_pay_later' => [
           'name' => 'is_pay_later',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Pay Later') ,
+          'title' => ts('Pay Later'),
           'description' => 'if true - allows the user to send payment directly to the org later',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'pay_later_text' => array(
+        ],
+        'pay_later_text' => [
           'name' => 'pay_later_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Pay Later Text') ,
+          'title' => ts('Pay Later Text'),
           'description' => 'The text displayed to the user in the main form',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'pay_later_receipt' => array(
+        ],
+        'pay_later_receipt' => [
           'name' => 'pay_later_receipt',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Pay Later Receipt') ,
+          'title' => ts('Pay Later Receipt'),
           'description' => 'The receipt sent to the user instead of the normal receipt text',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'is_partial_payment' => array(
+        ],
+        'is_partial_payment' => [
           'name' => 'is_partial_payment',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Partial Payment') ,
+          'title' => ts('Allow Partial Payment'),
           'description' => 'is partial payment enabled for this online contribution page',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'initial_amount_label' => array(
+        ],
+        'initial_amount_label' => [
           'name' => 'initial_amount_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Initial Amount Label') ,
+          'title' => ts('Initial Amount Label'),
           'description' => 'Initial amount label for partial payment',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -572,97 +597,97 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'initial_amount_help_text' => array(
+        ],
+        'initial_amount_help_text' => [
           'name' => 'initial_amount_help_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Initial Amount Help Text') ,
+          'title' => ts('Initial Amount Help Text'),
           'description' => 'Initial amount help text for partial payment',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'min_initial_amount' => array(
+        ],
+        'min_initial_amount' => [
           'name' => 'min_initial_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Min Initial Amount') ,
+          'title' => ts('Min Initial Amount'),
           'description' => 'Minimum initial amount for partial payment',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_allow_other_amount' => array(
+        ],
+        'is_allow_other_amount' => [
           'name' => 'is_allow_other_amount',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Other Amounts') ,
+          'title' => ts('Allow Other Amounts'),
           'description' => 'if true, page will include an input text field where user can enter their own amount',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'default_amount_id' => array(
+        ],
+        'default_amount_id' => [
           'name' => 'default_amount_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Default Amount') ,
+          'title' => ts('Default Amount'),
           'description' => 'FK to civicrm_option_value.',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'min_amount' => array(
+        ],
+        'min_amount' => [
           'name' => 'min_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Minimum Amount') ,
+          'title' => ts('Minimum Amount'),
           'description' => 'if other amounts allowed, user can configure minimum allowed.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'max_amount' => array(
+        ],
+        'max_amount' => [
           'name' => 'max_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Maximum Amount') ,
+          'title' => ts('Maximum Amount'),
           'description' => 'if other amounts allowed, user can configure maximum allowed.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'goal_amount' => array(
+        ],
+        'goal_amount' => [
           'name' => 'goal_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Goal Amount') ,
+          'title' => ts('Goal Amount'),
           'description' => 'The target goal for this page, allows people to build a goal meter',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'thankyou_title' => array(
+        ],
+        'thankyou_title' => [
           'name' => 'thankyou_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Thank-you Title') ,
+          'title' => ts('Thank-you Title'),
           'description' => 'Title for Thank-you page (header title tag, and display at the top of the page).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -670,11 +695,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'thankyou_text' => array(
+        ],
+        'thankyou_text' => [
           'name' => 'thankyou_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Thank-you Text') ,
+          'title' => ts('Thank-you Text'),
           'description' => 'text and html allowed. displayed above result on success page',
           'rows' => 8,
           'cols' => 60,
@@ -682,14 +707,14 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'thankyou_footer' => array(
+          ],
+        ],
+        'thankyou_footer' => [
           'name' => 'thankyou_footer',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Thank-you Footer') ,
+          'title' => ts('Thank-you Footer'),
           'description' => 'Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.',
           'rows' => 8,
           'cols' => 60,
@@ -697,24 +722,24 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'is_email_receipt' => array(
+          ],
+        ],
+        'is_email_receipt' => [
           'name' => 'is_email_receipt',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Send email Receipt') ,
+          'title' => ts('Send email Receipt'),
           'description' => 'if true, receipt is automatically emailed to contact on success',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'receipt_from_name' => array(
+        ],
+        'receipt_from_name' => [
           'name' => 'receipt_from_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Receipt From') ,
+          'title' => ts('Receipt From'),
           'description' => 'FROM email name used for receipts generated by contributions to this contribution page.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -722,11 +747,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-        ) ,
-        'receipt_from_email' => array(
+        ],
+        'receipt_from_email' => [
           'name' => 'receipt_from_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Receipt From email') ,
+          'title' => ts('Receipt From email'),
           'description' => 'FROM email address used for receipts generated by contributions to this contribution page.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -734,11 +759,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'cc_receipt' => array(
+        ],
+        'cc_receipt' => [
           'name' => 'cc_receipt',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Receipt cc') ,
+          'title' => ts('Receipt cc'),
           'description' => 'comma-separated list of email addresses to cc each time a receipt is sent',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -746,11 +771,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'bcc_receipt' => array(
+        ],
+        'bcc_receipt' => [
           'name' => 'bcc_receipt',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Receipt bcc') ,
+          'title' => ts('Receipt bcc'),
           'description' => 'comma-separated list of email addresses to bcc each time a receipt is sent',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -758,11 +783,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'receipt_text' => array(
+        ],
+        'receipt_text' => [
           'name' => 'receipt_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Receipt Text') ,
+          'title' => ts('Receipt Text'),
           'description' => 'text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now',
           'rows' => 6,
           'cols' => 50,
@@ -770,24 +795,24 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Page Active?') ,
+          'title' => ts('Is Page Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'footer_text' => array(
+        ],
+        'footer_text' => [
           'name' => 'footer_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Footer Text') ,
+          'title' => ts('Footer Text'),
           'description' => 'Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.',
           'rows' => 6,
           'cols' => 50,
@@ -795,66 +820,66 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'amount_block_is_active' => array(
+          ],
+        ],
+        'amount_block_is_active' => [
           'name' => 'amount_block_is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Amount Block Active?') ,
+          'title' => ts('Is Amount Block Active?'),
           'description' => 'Is this property active?',
           'default' => '1',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'start_date' => array(
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Contribution Page Start Date') ,
+          'title' => ts('Contribution Page Start Date'),
           'description' => 'Date and time that this page starts.',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'end_date' => array(
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Contribution Page End Date') ,
+          'title' => ts('Contribution Page End Date'),
           'description' => 'Date and time that this page ends. May be NULL if no defined end date/time',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page Created By') ,
+          'title' => ts('Contribution Page Created By'),
           'description' => 'FK to civicrm_contact, who created this contribution page',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Contribution Page Created Date') ,
+          'title' => ts('Contribution Page Created Date'),
           'description' => 'Date and time that contribution page was created.',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contribution Page Currency') ,
+          'title' => ts('Contribution Page Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -863,86 +888,90 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'campaign_id' => array(
+          ]
+        ],
+        'campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page Campaign ID') ,
+          'title' => ts('Contribution Page Campaign ID'),
           'description' => 'The campaign for which we are collecting contributions with this page.',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'is_share' => array(
+          ]
+        ],
+        'is_share' => [
           'name' => 'is_share',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Contribution Page Shared?') ,
+          'title' => ts('Is Contribution Page Shared?'),
           'description' => 'Can people share the contribution page through social media?',
           'default' => '1',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-        'is_billing_required' => array(
+        ],
+        'is_billing_required' => [
           'name' => 'is_billing_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is billing block required') ,
+          'title' => ts('Is billing block required'),
           'description' => 'if true - billing block is required for online contribution page',
           'table_name' => 'civicrm_contribution_page',
           'entity' => 'ContributionPage',
           'bao' => 'CRM_Contribute_BAO_ContributionPage',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -950,10 +979,11 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_page', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_page', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -961,15 +991,21 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_page', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_page', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/ContributionProduct.php b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
index 9061090543..2402e6a16a 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionProduct.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,148 +8,157 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8ef29c5c92b3ffb2a678bd4c585a3d0e)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_ContributionProduct constructor.
+ * Database access object for the ContributionProduct entity.
  */
 class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution_product';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
-   *
    * @var int unsigned
    */
   public $product_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * Option value selected if applicable - e.g. color, size etc.
    *
    * @var string
    */
   public $product_option;
+
   /**
-   *
    * @var int
    */
   public $quantity;
+
   /**
    * Optional. Can be used to record the date this product was fulfilled or shipped.
    *
    * @var date
    */
   public $fulfilled_date;
+
   /**
    * Actual start date for a time-delimited premium (subscription, service or membership)
    *
    * @var date
    */
   public $start_date;
+
   /**
    * Actual end date for a time-delimited premium (subscription, service or membership)
    *
    * @var date
    */
   public $end_date;
+
   /**
-   *
    * @var text
    */
   public $comment;
+
   /**
    * FK to Financial Type(for membership price sets only).
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution_product';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Product ID') ,
-          'required' => true,
+          'title' => ts('Contribution Product ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_product',
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'product_id' => array(
+        ],
+        'product_id' => [
           'name' => 'product_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Product ID') ,
-          'required' => true,
+          'title' => ts('Product ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_product',
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution ID') ,
-          'required' => true,
+          'title' => ts('Contribution ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_product',
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-        'product_option' => array(
+        ],
+        'product_option' => [
           'name' => 'product_option',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Product Option') ,
+          'title' => ts('Product Option'),
           'description' => 'Option value selected if applicable - e.g. color, size etc.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution_product.product_option',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -181,12 +166,12 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'quantity' => array(
+        ],
+        'quantity' => [
           'name' => 'quantity',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Quantity') ,
-          'export' => true,
+          'title' => ts('Quantity'),
+          'export' => TRUE,
           'where' => 'civicrm_contribution_product.quantity',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -194,13 +179,13 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'fulfilled_date' => array(
+        ],
+        'fulfilled_date' => [
           'name' => 'fulfilled_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Fulfilled Date') ,
+          'title' => ts('Fulfilled Date'),
           'description' => 'Optional. Can be used to record the date this product was fulfilled or shipped.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution_product.fulfilled_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -208,13 +193,13 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'contribution_start_date' => array(
+        ],
+        'contribution_start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Start date for premium') ,
+          'title' => ts('Start date for premium'),
           'description' => 'Actual start date for a time-delimited premium (subscription, service or membership)',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution_product.start_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -222,13 +207,13 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'contribution_end_date' => array(
+        ],
+        'contribution_end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('End date for premium') ,
+          'title' => ts('End date for premium'),
           'description' => 'Actual end date for a time-delimited premium (subscription, service or membership)',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_contribution_product.end_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -236,20 +221,20 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'comment' => array(
+        ],
+        'comment' => [
           'name' => 'comment',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Premium comment') ,
+          'title' => ts('Premium comment'),
           'table_name' => 'civicrm_contribution_product',
           'entity' => 'ContributionProduct',
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type(for membership price sets only).',
           'default' => 'NULL',
           'table_name' => 'civicrm_contribution_product',
@@ -257,45 +242,49 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_DAO_ContributionProduct',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -303,10 +292,11 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_product', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -314,15 +304,21 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_product', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/ContributionRecur.php b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
index 5bdae065b5..d14b7f5ce4 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,268 +8,298 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a1007a4585bac4fcb04ce47535aecec0)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_ContributionRecur constructor.
+ * Database access object for the ContributionRecur entity.
  */
 class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution_recur';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Contribution Recur ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign key to civicrm_contact.id .
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Amount to be contributed or charged each recurrence.
    *
    * @var float
    */
   public $amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * Time units for recurrence of payment.
    *
    * @var string
    */
   public $frequency_unit;
+
   /**
    * Number of time units for recurrence of payment.
    *
    * @var int unsigned
    */
   public $frequency_interval;
+
   /**
    * Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.
    *
    * @var int unsigned
    */
   public $installments;
+
   /**
    * The date the first scheduled recurring contribution occurs.
    *
    * @var datetime
    */
   public $start_date;
+
   /**
    * When this recurring contribution record was created.
    *
    * @var datetime
    */
   public $create_date;
+
   /**
    * Last updated date for this record. mostly the last time a payment was received
    *
    * @var datetime
    */
   public $modified_date;
+
   /**
    * Date this recurring contribution was cancelled by contributor- if we can get access to it
    *
    * @var datetime
    */
   public $cancel_date;
+
   /**
    * Date this recurring contribution finished successfully
    *
    * @var datetime
    */
   public $end_date;
+
   /**
    * Possibly needed to store a unique identifier for this recurring payment order - if this is available from the processor??
    *
    * @var string
    */
   public $processor_id;
+
   /**
    * Optionally used to store a link to a payment token used for this recurring contribution.
    *
    * @var int unsigned
    */
   public $payment_token_id;
+
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
    * @var string
    */
   public $trxn_id;
+
   /**
    * unique invoice id, system generated or passed in
    *
    * @var string
    */
   public $invoice_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $contribution_status_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
    * Day in the period when the payment should be charged e.g. 1st of month, 15th etc.
    *
    * @var int unsigned
    */
   public $cycle_day;
+
   /**
    * Next scheduled date
    *
    * @var datetime
    */
   public $next_sched_contribution_date;
+
   /**
    * Number of failed charge attempts since last success. Business rule could be set to deactivate on more than x failures.
    *
    * @var int unsigned
    */
   public $failure_count;
+
   /**
    * Date to retry failed attempt
    *
    * @var datetime
    */
   public $failure_retry_date;
+
   /**
    * Some systems allow contributor to set a number of installments - but then auto-renew the subscription or commitment if they do not cancel.
    *
    * @var boolean
    */
   public $auto_renew;
+
   /**
    * Foreign key to civicrm_payment_processor.id
    *
    * @var int unsigned
    */
   public $payment_processor_id;
+
   /**
    * FK to Financial Type
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * FK to Payment Instrument
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
    * The campaign for which this contribution has been triggered.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * if true, receipt is automatically emailed to contact on each successful payment
    *
    * @var boolean
    */
   public $is_email_receipt;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution_recur';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'payment_token_id', 'civicrm_payment_token', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'payment_processor_id', 'civicrm_payment_processor', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'payment_token_id', 'civicrm_payment_token', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'payment_processor_id', 'civicrm_payment_processor', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Recurring Contribution ID') ,
+          'title' => ts('Recurring Contribution ID'),
           'description' => 'Contribution Recur ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Foreign key to civicrm_contact.id .',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'amount' => array(
+        ],
+        'amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount') ,
+          'title' => ts('Amount'),
           'description' => 'Amount to be contributed or charged each recurrence.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'currency' => array(
+          ],
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -302,20 +308,20 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'frequency_unit' => array(
+          ]
+        ],
+        'frequency_unit' => [
           'name' => 'frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Frequency Unit') ,
+          'title' => ts('Frequency Unit'),
           'description' => 'Time units for recurrence of payment.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -324,113 +330,113 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'recur_frequency_units',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/recur_frequency_units',
-          )
-        ) ,
-        'frequency_interval' => array(
+          ]
+        ],
+        'frequency_interval' => [
           'name' => 'frequency_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Interval (number of units)') ,
+          'title' => ts('Interval (number of units)'),
           'description' => 'Number of time units for recurrence of payment.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'installments' => array(
+          ],
+        ],
+        'installments' => [
           'name' => 'installments',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Number of Installments') ,
+          'title' => ts('Number of Installments'),
           'description' => 'Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'start_date' => array(
+          ],
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Recurring Contribution Started Date') ,
+          'title' => ts('Recurring Contribution Started Date'),
           'description' => 'The date the first scheduled recurring contribution occurs.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'create_date' => array(
+          ],
+        ],
+        'create_date' => [
           'name' => 'create_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Recurring Contribution Created Date') ,
+          'title' => ts('Recurring Contribution Created Date'),
           'description' => 'When this recurring contribution record was created.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'modified_date' => array(
+          ],
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Recurring Contribution Modified Date') ,
+          'title' => ts('Recurring Contribution Modified Date'),
           'description' => 'Last updated date for this record. mostly the last time a payment was received',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'cancel_date' => array(
+          ],
+        ],
+        'cancel_date' => [
           'name' => 'cancel_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Recurring Contribution Cancel Date') ,
+          'title' => ts('Recurring Contribution Cancel Date'),
           'description' => 'Date this recurring contribution was cancelled by contributor- if we can get access to it',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'end_date' => array(
+          ],
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Recurring Contribution End Date') ,
+          'title' => ts('Recurring Contribution End Date'),
           'description' => 'Date this recurring contribution finished successfully',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'processor_id' => array(
+          ],
+        ],
+        'processor_id' => [
           'name' => 'processor_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Processor ID') ,
+          'title' => ts('Processor ID'),
           'description' => 'Possibly needed to store a unique identifier for this recurring payment order - if this is available from the processor??',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -438,22 +444,22 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-        ) ,
-        'payment_token_id' => array(
+        ],
+        'payment_token_id' => [
           'name' => 'payment_token_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Token ID') ,
+          'title' => ts('Payment Token ID'),
           'description' => 'Optionally used to store a link to a payment token used for this recurring contribution.',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_PaymentToken',
-        ) ,
-        'trxn_id' => array(
+        ],
+        'trxn_id' => [
           'name' => 'trxn_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Transaction ID') ,
+          'title' => ts('Transaction ID'),
           'description' => 'unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -461,11 +467,11 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-        ) ,
-        'invoice_id' => array(
+        ],
+        'invoice_id' => [
           'name' => 'invoice_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Invoice ID') ,
+          'title' => ts('Invoice ID'),
           'description' => 'unique invoice id, system generated or passed in',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -473,128 +479,128 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-        ) ,
-        'contribution_status_id' => array(
+        ],
+        'contribution_status_id' => [
           'name' => 'contribution_status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Recurring Contribution Status') ,
-          'import' => true,
+          'title' => ts('Recurring Contribution Status'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution_recur.contribution_status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'contribution_status',
             'optionEditPath' => 'civicrm/admin/options/contribution_status',
-          )
-        ) ,
-        'is_test' => array(
+          ]
+        ],
+        'is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_contribution_recur.is_test',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'cycle_day' => array(
+          ],
+        ],
+        'cycle_day' => [
           'name' => 'cycle_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Number of Cycle Day') ,
+          'title' => ts('Number of Cycle Day'),
           'description' => 'Day in the period when the payment should be charged e.g. 1st of month, 15th etc.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'next_sched_contribution_date' => array(
+          ],
+        ],
+        'next_sched_contribution_date' => [
           'name' => 'next_sched_contribution_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Next Scheduled Contribution Date') ,
+          'title' => ts('Next Scheduled Contribution Date'),
           'description' => 'Next scheduled date',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'failure_count' => array(
+          ],
+        ],
+        'failure_count' => [
           'name' => 'failure_count',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Number of Failures') ,
+          'title' => ts('Number of Failures'),
           'description' => 'Number of failed charge attempts since last success. Business rule could be set to deactivate on more than x failures.',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'failure_retry_date' => array(
+          ],
+        ],
+        'failure_retry_date' => [
           'name' => 'failure_retry_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Retry Failed Attempt Date') ,
+          'title' => ts('Retry Failed Attempt Date'),
           'description' => 'Date to retry failed attempt',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'auto_renew' => array(
+          ],
+        ],
+        'auto_renew' => [
           'name' => 'auto_renew',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Auto Renew') ,
+          'title' => ts('Auto Renew'),
           'description' => 'Some systems allow contributor to set a number of installments - but then auto-renew the subscription or commitment if they do not cancel.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'payment_processor_id' => array(
+          ],
+        ],
+        'payment_processor_id' => [
           'name' => 'payment_processor_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor') ,
+          'title' => ts('Payment Processor'),
           'description' => 'Foreign key to civicrm_payment_processor.id',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_PaymentProcessor',
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type',
-          'export' => false,
+          'export' => FALSE,
           'where' => 'civicrm_contribution_recur.financial_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -603,97 +609,101 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'payment_instrument_id' => array(
+          ]
+        ],
+        'payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Method') ,
+          'title' => ts('Payment Method'),
           'description' => 'FK to Payment Instrument',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-        'contribution_campaign_id' => array(
+          ]
+        ],
+        'contribution_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this contribution has been triggered.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_contribution_recur.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'is_email_receipt' => array(
+          ]
+        ],
+        'is_email_receipt' => [
           'name' => 'is_email_receipt',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Send email Receipt?') ,
+          'title' => ts('Send email Receipt?'),
           'description' => 'if true, receipt is automatically emailed to contact on each successful payment',
           'default' => '1',
           'table_name' => 'civicrm_contribution_recur',
           'entity' => 'ContributionRecur',
           'bao' => 'CRM_Contribute_BAO_ContributionRecur',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -701,10 +711,11 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_recur', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_recur', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -712,50 +723,56 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_recur', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_recur', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contrib_trxn_id' => array(
+    $indices = [
+      'UI_contrib_trxn_id' => [
         'name' => 'UI_contrib_trxn_id',
-        'field' => array(
+        'field' => [
           0 => 'trxn_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contribution_recur::1::trxn_id',
-      ) ,
-      'UI_contrib_invoice_id' => array(
+      ],
+      'UI_contrib_invoice_id' => [
         'name' => 'UI_contrib_invoice_id',
-        'field' => array(
+        'field' => [
           0 => 'invoice_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_contribution_recur::1::invoice_id',
-      ) ,
-      'index_contribution_status' => array(
+      ],
+      'index_contribution_status' => [
         'name' => 'index_contribution_status',
-        'field' => array(
+        'field' => [
           0 => 'contribution_status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution_recur::0::contribution_status_id',
-      ) ,
-      'UI_contribution_recur_payment_instrument_id' => array(
+      ],
+      'UI_contribution_recur_payment_instrument_id' => [
         'name' => 'UI_contribution_recur_payment_instrument_id',
-        'field' => array(
+        'field' => [
           0 => 'payment_instrument_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution_recur::0::payment_instrument_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/ContributionSoft.php b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
index 2d8f1f692b..edfc4fc6f8 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionSoft.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,181 +8,192 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:eb1e493dc7ff4da34167ad0828d61fd4)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_ContributionSoft constructor.
+ * Database access object for the ContributionSoft entity.
  */
 class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution_soft';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Soft Contribution ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to contribution table.
    *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Amount of this soft contribution.
    *
    * @var float
    */
   public $amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * FK to civicrm_pcp.id
    *
    * @var int unsigned
    */
   public $pcp_id;
+
   /**
-   *
    * @var boolean
    */
   public $pcp_display_in_roll;
+
   /**
-   *
    * @var string
    */
   public $pcp_roll_nickname;
+
   /**
-   *
    * @var string
    */
   public $pcp_personal_note;
+
   /**
    * Soft Credit Type ID.Implicit FK to civicrm_option_value where option_group = soft_credit_type.
    *
    * @var int unsigned
    */
   public $soft_credit_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution_soft';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'pcp_id', 'civicrm_pcp', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'pcp_id', 'civicrm_pcp', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'contribution_soft_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'contribution_soft_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Soft Contribution ID') ,
+          'title' => ts('Soft Contribution ID'),
           'description' => 'Soft Contribution ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contribution_soft.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Soft Contribution - Contribution') ,
+          'title' => ts('Soft Contribution - Contribution'),
           'description' => 'FK to contribution table.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-        'contribution_soft_contact_id' => array(
+        ],
+        'contribution_soft_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_contribution_soft.contact_id',
           'headerPattern' => '/contact(.?id)?/i',
           'dataPattern' => '/^\d+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'amount' => array(
+        ],
+        'amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Soft Contribution Amount') ,
+          'title' => ts('Soft Contribution Amount'),
           'description' => 'Amount of this soft contribution.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_contribution_soft.amount',
           'headerPattern' => '/total(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Soft Contribution Currency') ,
+          'title' => ts('Soft Contribution Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -215,20 +202,20 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'pcp_id' => array(
+          ]
+        ],
+        'pcp_id' => [
           'name' => 'pcp_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Soft Contribution PCP') ,
+          'title' => ts('Soft Contribution PCP'),
           'description' => 'FK to civicrm_pcp.id',
           'default' => 'NULL',
           'table_name' => 'civicrm_contribution_soft',
@@ -236,25 +223,25 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
           'FKClassName' => 'CRM_PCP_DAO_PCP',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_pcp',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'pcp_display_in_roll' => array(
+          ]
+        ],
+        'pcp_display_in_roll' => [
           'name' => 'pcp_display_in_roll',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Soft Contribution Display on PCP') ,
+          'title' => ts('Soft Contribution Display on PCP'),
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-        ) ,
-        'pcp_roll_nickname' => array(
+        ],
+        'pcp_roll_nickname' => [
           'name' => 'pcp_roll_nickname',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Soft Contribution PCP Nickname') ,
+          'title' => ts('Soft Contribution PCP Nickname'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'NULL',
@@ -262,11 +249,11 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-        ) ,
-        'pcp_personal_note' => array(
+        ],
+        'pcp_personal_note' => [
           'name' => 'pcp_personal_note',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Soft Contribution PCP Note') ,
+          'title' => ts('Soft Contribution PCP Note'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'NULL',
@@ -274,55 +261,59 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-        ) ,
-        'soft_credit_type_id' => array(
+        ],
+        'soft_credit_type_id' => [
           'name' => 'soft_credit_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Soft Credit Type') ,
+          'title' => ts('Soft Credit Type'),
           'description' => 'Soft Credit Type ID.Implicit FK to civicrm_option_value where option_group = soft_credit_type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_contribution_soft',
           'entity' => 'ContributionSoft',
           'bao' => 'CRM_Contribute_BAO_ContributionSoft',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'soft_credit_type',
             'optionEditPath' => 'civicrm/admin/options/soft_credit_type',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -330,10 +321,11 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_soft', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_soft', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -341,24 +333,30 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_soft', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_soft', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_id' => array(
+    $indices = [
+      'index_id' => [
         'name' => 'index_id',
-        'field' => array(
+        'field' => [
           0 => 'pcp_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_contribution_soft::0::pcp_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/Premium.php b/civicrm/CRM/Contribute/DAO/Premium.php
index 8de2ba9601..5631c954fb 100644
--- a/civicrm/CRM/Contribute/DAO/Premium.php
+++ b/civicrm/CRM/Contribute/DAO/Premium.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,164 +8,176 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:86a5118380bd35cee851da735f699ac2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_Premium constructor.
+ * Database access object for the Premium entity.
  */
 class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_premiums';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Joins these premium settings to another object. Always civicrm_contribution_page for now.
    *
    * @var string
    */
   public $entity_table;
+
   /**
-   *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Is the Premiums feature enabled for this page?
    *
    * @var boolean
    */
   public $premiums_active;
+
   /**
    * Title for Premiums section.
    *
    * @var string
    */
   public $premiums_intro_title;
+
   /**
    * Displayed in <div> at top of Premiums section of page. Text and HTML allowed.
    *
    * @var text
    */
   public $premiums_intro_text;
+
   /**
    * This email address is included in receipts if it is populated and a premium has been selected.
    *
    * @var string
    */
   public $premiums_contact_email;
+
   /**
    * This phone number is included in receipts if it is populated and a premium has been selected.
    *
    * @var string
    */
   public $premiums_contact_phone;
+
   /**
    * Boolean. Should we automatically display minimum contribution amount text after the premium descriptions.
    *
    * @var boolean
    */
   public $premiums_display_min_contribution;
+
   /**
    * Label displayed for No Thank-you option in premiums block (e.g. No thank you)
    *
    * @var string
    */
   public $premiums_nothankyou_label;
+
   /**
-   *
    * @var int unsigned
    */
   public $premiums_nothankyou_position;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_premiums';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Premium ID') ,
-          'required' => true,
+          'title' => ts('Premium ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Premium Entity') ,
+          'title' => ts('Premium Entity'),
           'description' => 'Joins these premium settings to another object. Always civicrm_contribution_page for now.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Premium entity ID') ,
-          'required' => true,
+          'title' => ts('Premium entity ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'premiums_active' => array(
+        ],
+        'premiums_active' => [
           'name' => 'premiums_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Premium Active?') ,
+          'title' => ts('Is Premium Active?'),
           'description' => 'Is the Premiums feature enabled for this page?',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'premiums_intro_title' => array(
+        ],
+        'premiums_intro_title' => [
           'name' => 'premiums_intro_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title for Premiums section') ,
+          'title' => ts('Title for Premiums section'),
           'description' => 'Title for Premiums section.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -197,21 +185,21 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 1,
-        ) ,
-        'premiums_intro_text' => array(
+        ],
+        'premiums_intro_text' => [
           'name' => 'premiums_intro_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Premium Introductory Text') ,
+          'title' => ts('Premium Introductory Text'),
           'description' => 'Displayed in <div> at top of Premiums section of page. Text and HTML allowed.',
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 1,
-        ) ,
-        'premiums_contact_email' => array(
+        ],
+        'premiums_contact_email' => [
           'name' => 'premiums_contact_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Premium Contact Email') ,
+          'title' => ts('Premium Contact Email'),
           'description' => 'This email address is included in receipts if it is populated and a premium has been selected.',
           'maxlength' => 100,
           'size' => CRM_Utils_Type::HUGE,
@@ -219,11 +207,11 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'premiums_contact_phone' => array(
+        ],
+        'premiums_contact_phone' => [
           'name' => 'premiums_contact_phone',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Premiums Contact Phone') ,
+          'title' => ts('Premiums Contact Phone'),
           'description' => 'This phone number is included in receipts if it is populated and a premium has been selected.',
           'maxlength' => 50,
           'size' => CRM_Utils_Type::BIG,
@@ -231,22 +219,22 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'premiums_display_min_contribution' => array(
+        ],
+        'premiums_display_min_contribution' => [
           'name' => 'premiums_display_min_contribution',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Display Minimum Contribution?') ,
+          'title' => ts('Display Minimum Contribution?'),
           'description' => 'Boolean. Should we automatically display minimum contribution amount text after the premium descriptions.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-        'premiums_nothankyou_label' => array(
+        ],
+        'premiums_nothankyou_label' => [
           'name' => 'premiums_nothankyou_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('No Thank-you Text') ,
+          'title' => ts('No Thank-you Text'),
           'description' => 'Label displayed for No Thank-you option in premiums block (e.g. No thank you)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -254,50 +242,54 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 1,
-        ) ,
-        'premiums_nothankyou_position' => array(
+        ],
+        'premiums_nothankyou_position' => [
           'name' => 'premiums_nothankyou_position',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('No Thank-you Position') ,
+          'title' => ts('No Thank-you Position'),
           'default' => '1',
           'table_name' => 'civicrm_premiums',
           'entity' => 'Premium',
           'bao' => 'CRM_Contribute_BAO_Premium',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -305,10 +297,11 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'premiums', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'premiums', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -316,15 +309,21 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'premiums', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'premiums', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
index 65e0ca3458..bf04314024 100644
--- a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
+++ b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,133 +8,141 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6c90561115f3fbe406af545ef055f79c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_PremiumsProduct constructor.
+ * Database access object for the PremiumsProduct entity.
  */
 class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_premiums_product';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Contribution ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign key to premiums settings record.
    *
    * @var int unsigned
    */
   public $premiums_id;
+
   /**
    * Foreign key to each product object.
    *
    * @var int unsigned
    */
   public $product_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $weight;
+
   /**
    * FK to Financial Type.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_premiums_product';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'premiums_id', 'civicrm_premiums', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'product_id', 'civicrm_product', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'premiums_id', 'civicrm_premiums', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'product_id', 'civicrm_product', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Premium Product ID') ,
+          'title' => ts('Premium Product ID'),
           'description' => 'Contribution ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums_product',
           'entity' => 'PremiumsProduct',
           'bao' => 'CRM_Contribute_DAO_PremiumsProduct',
           'localizable' => 0,
-        ) ,
-        'premiums_id' => array(
+        ],
+        'premiums_id' => [
           'name' => 'premiums_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Premium') ,
+          'title' => ts('Premium'),
           'description' => 'Foreign key to premiums settings record.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums_product',
           'entity' => 'PremiumsProduct',
           'bao' => 'CRM_Contribute_DAO_PremiumsProduct',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Premium',
-        ) ,
-        'product_id' => array(
+        ],
+        'product_id' => [
           'name' => 'product_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Product') ,
+          'title' => ts('Product'),
           'description' => 'Foreign key to each product object.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums_product',
           'entity' => 'PremiumsProduct',
           'bao' => 'CRM_Contribute_DAO_PremiumsProduct',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Product',
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
-          'required' => true,
+          'title' => ts('Order'),
+          'required' => TRUE,
           'table_name' => 'civicrm_premiums_product',
           'entity' => 'PremiumsProduct',
           'bao' => 'CRM_Contribute_DAO_PremiumsProduct',
           'localizable' => 0,
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_premiums_product',
@@ -166,45 +150,49 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_DAO_PremiumsProduct',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -212,10 +200,11 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'premiums_product', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'premiums_product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -223,15 +212,21 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'premiums_product', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'premiums_product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/Product.php b/civicrm/CRM/Contribute/DAO/Product.php
index fcfdbc7b39..09f301d444 100644
--- a/civicrm/CRM/Contribute/DAO/Product.php
+++ b/civicrm/CRM/Contribute/DAO/Product.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,101 +8,115 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:81e315b903d403508f379dc9c0fcf532)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_Product constructor.
+ * Database access object for the Product entity.
  */
 class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_product';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Required product/premium name
    *
    * @var string
    */
   public $name;
+
   /**
    * Optional description of the product/premium.
    *
    * @var text
    */
   public $description;
+
   /**
    * Optional product sku or code.
    *
    * @var string
    */
   public $sku;
+
   /**
    * Store comma-delimited list of color, size, etc. options for the product.
    *
    * @var text
    */
   public $options;
+
   /**
    * Full or relative URL to uploaded image - fullsize.
    *
    * @var string
    */
   public $image;
+
   /**
    * Full or relative URL to image thumbnail.
    *
    * @var string
    */
   public $thumbnail;
+
   /**
    * Sell price or market value for premiums. For tax-deductible contributions, this will be stored as non_deductible_amount in the contribution record.
    *
    * @var float
    */
   public $price;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * FK to Financial Type.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Minimum contribution required to be eligible to select this premium.
    *
    * @var float
    */
   public $min_contribution;
+
   /**
    * Actual cost of this product. Useful to determine net return from sale or using this as an incentive.
    *
    * @var float
    */
   public $cost;
+
   /**
    * Disabling premium removes it from the premiums_premium join table below.
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Rolling means we set start/end based on current day, fixed means we set start/end for current year or month
    (e.g. 1 year + fixed -> we would set start/end for 1/1/06 thru 12/31/06 for any premium chosen in 2006)
@@ -134,83 +124,90 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * @var string
    */
   public $period_type;
+
   /**
    * Month and day (MMDD) that fixed period type subscription or membership starts.
    *
    * @var int
    */
   public $fixed_period_start_day;
+
   /**
-   *
    * @var string
    */
   public $duration_unit;
+
   /**
    * Number of units for total duration of subscription, service, membership (e.g. 12 Months).
    *
    * @var int
    */
   public $duration_interval;
+
   /**
    * Frequency unit and interval allow option to store actual delivery frequency for a subscription or service.
    *
    * @var string
    */
   public $frequency_unit;
+
   /**
    * Number of units for delivery frequency of subscription, service, membership (e.g. every 3 Months).
    *
    * @var int
    */
   public $frequency_interval;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_product';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Product ID') ,
-          'required' => true,
+          'title' => ts('Product ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'product_name' => array(
+        ],
+        'product_name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Product Name') ,
+          'title' => ts('Product Name'),
           'description' => 'Required product/premium name',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_product.name',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -218,25 +215,25 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Optional description of the product/premium.',
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 1,
-        ) ,
-        'sku' => array(
+        ],
+        'sku' => [
           'name' => 'sku',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SKU') ,
+          'title' => ts('SKU'),
           'description' => 'Optional product sku or code.',
           'maxlength' => 50,
           'size' => CRM_Utils_Type::BIG,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_product.sku',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -244,21 +241,21 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'options' => array(
+        ],
+        'options' => [
           'name' => 'options',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Options') ,
+          'title' => ts('Options'),
           'description' => 'Store comma-delimited list of color, size, etc. options for the product.',
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 1,
-        ) ,
-        'image' => array(
+        ],
+        'image' => [
           'name' => 'image',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Image') ,
+          'title' => ts('Image'),
           'description' => 'Full or relative URL to uploaded image - fullsize.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -266,11 +263,11 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'thumbnail' => array(
+        ],
+        'thumbnail' => [
           'name' => 'thumbnail',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Thumbnail') ,
+          'title' => ts('Thumbnail'),
           'description' => 'Full or relative URL to image thumbnail.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -278,25 +275,25 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'price' => array(
+        ],
+        'price' => [
           'name' => 'price',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Price') ,
+          'title' => ts('Price'),
           'description' => 'Sell price or market value for premiums. For tax-deductible contributions, this will be stored as non_deductible_amount in the contribution record.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -305,20 +302,20 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'financial_type_id' => array(
+          ]
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_product',
@@ -326,55 +323,55 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'min_contribution' => array(
+          ]
+        ],
+        'min_contribution' => [
           'name' => 'min_contribution',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Minimum Contribution') ,
+          'title' => ts('Minimum Contribution'),
           'description' => 'Minimum contribution required to be eligible to select this premium.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'cost' => array(
+        ],
+        'cost' => [
           'name' => 'cost',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Cost') ,
+          'title' => ts('Cost'),
           'description' => 'Actual cost of this product. Useful to determine net return from sale or using this as an incentive.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Disabling premium removes it from the premiums_premium join table below.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'period_type' => array(
+        ],
+        'period_type' => [
           'name' => 'period_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Period Type') ,
+          'title' => ts('Period Type'),
           'description' => 'Rolling means we set start/end based on current day, fixed means we set start/end for current year or month
       (e.g. 1 year + fixed -> we would set start/end for 1/1/06 thru 12/31/06 for any premium chosen in 2006) ',
           'maxlength' => 8,
@@ -384,28 +381,28 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::periodType',
-          )
-        ) ,
-        'fixed_period_start_day' => array(
+          ]
+        ],
+        'fixed_period_start_day' => [
           'name' => 'fixed_period_start_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Fixed Period Start Day') ,
+          'title' => ts('Fixed Period Start Day'),
           'description' => 'Month and day (MMDD) that fixed period type subscription or membership starts.',
           'default' => '0101',
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'duration_unit' => array(
+        ],
+        'duration_unit' => [
           'name' => 'duration_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Duration Unit') ,
+          'title' => ts('Duration Unit'),
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
           'default' => 'year',
@@ -413,27 +410,27 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getPremiumUnits',
-          )
-        ) ,
-        'duration_interval' => array(
+          ]
+        ],
+        'duration_interval' => [
           'name' => 'duration_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Duration Interval') ,
+          'title' => ts('Duration Interval'),
           'description' => 'Number of units for total duration of subscription, service, membership (e.g. 12 Months).',
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-        'frequency_unit' => array(
+        ],
+        'frequency_unit' => [
           'name' => 'frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Frequency Unit') ,
+          'title' => ts('Frequency Unit'),
           'description' => 'Frequency unit and interval allow option to store actual delivery frequency for a subscription or service.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -442,56 +439,60 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getPremiumUnits',
-          )
-        ) ,
-        'frequency_interval' => array(
+          ]
+        ],
+        'frequency_interval' => [
           'name' => 'frequency_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Frequency Interval') ,
+          'title' => ts('Frequency Interval'),
           'description' => 'Number of units for delivery frequency of subscription, service, membership (e.g. every 3 Months).',
           'table_name' => 'civicrm_product',
           'entity' => 'Product',
           'bao' => 'CRM_Contribute_DAO_Product',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -499,10 +500,11 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'product', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -510,15 +512,21 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'product', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'product', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/DAO/Widget.php b/civicrm/CRM/Contribute/DAO/Widget.php
index 3c57207f2e..63394c305f 100644
--- a/civicrm/CRM/Contribute/DAO/Widget.php
+++ b/civicrm/CRM/Contribute/DAO/Widget.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,182 +8,194 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:b47ae223e6fd74db68394139a309be31)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Contribute_DAO_Widget constructor.
+ * Database access object for the Widget entity.
  */
 class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_contribution_widget';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Contribution Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The Contribution Page which triggered this contribution
    *
    * @var int unsigned
    */
   public $contribution_page_id;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Widget title.
    *
    * @var string
    */
   public $title;
+
   /**
    * URL to Widget logo
    *
    * @var string
    */
   public $url_logo;
+
   /**
    * Button title.
    *
    * @var string
    */
   public $button_title;
+
   /**
    * About description.
    *
    * @var text
    */
   public $about;
+
   /**
    * URL to Homepage.
    *
    * @var string
    */
   public $url_homepage;
+
   /**
-   *
    * @var string
    */
   public $color_title;
+
   /**
-   *
    * @var string
    */
   public $color_button;
+
   /**
-   *
    * @var string
    */
   public $color_bar;
+
   /**
-   *
    * @var string
    */
   public $color_main_text;
+
   /**
-   *
    * @var string
    */
   public $color_main;
+
   /**
-   *
    * @var string
    */
   public $color_main_bg;
+
   /**
-   *
    * @var string
    */
   public $color_bg;
+
   /**
-   *
    * @var string
    */
   public $color_about_link;
+
   /**
-   *
    * @var string
    */
   public $color_homepage_link;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_contribution_widget';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_page_id', 'civicrm_contribution_page', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_page_id', 'civicrm_contribution_page', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Widget ID') ,
+          'title' => ts('Widget ID'),
           'description' => 'Contribution Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'contribution_page_id' => array(
+        ],
+        'contribution_page_id' => [
           'name' => 'contribution_page_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page') ,
+          'title' => ts('Contribution Page'),
           'description' => 'The Contribution Page which triggered this contribution',
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionPage',
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Enabled?') ,
+          'title' => ts('Enabled?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Widget Title') ,
+          'title' => ts('Widget Title'),
           'description' => 'Widget title.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -215,11 +203,11 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'url_logo' => array(
+        ],
+        'url_logo' => [
           'name' => 'url_logo',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Widget Image Url') ,
+          'title' => ts('Widget Image Url'),
           'description' => 'URL to Widget logo',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -227,11 +215,11 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'button_title' => array(
+        ],
+        'button_title' => [
           'name' => 'button_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Button Title') ,
+          'title' => ts('Button Title'),
           'description' => 'Button title.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -239,21 +227,21 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'about' => array(
+        ],
+        'about' => [
           'name' => 'about',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'About description.',
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'url_homepage' => array(
+        ],
+        'url_homepage' => [
           'name' => 'url_homepage',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Homepage Url') ,
+          'title' => ts('Homepage Url'),
           'description' => 'URL to Homepage.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -261,139 +249,143 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_title' => array(
+        ],
+        'color_title' => [
           'name' => 'color_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title Color') ,
+          'title' => ts('Title Color'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_button' => array(
+        ],
+        'color_button' => [
           'name' => 'color_button',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Button Colour') ,
+          'title' => ts('Button Colour'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_bar' => array(
+        ],
+        'color_bar' => [
           'name' => 'color_bar',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Bar Color') ,
+          'title' => ts('Bar Color'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_main_text' => array(
+        ],
+        'color_main_text' => [
           'name' => 'color_main_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Main Text Color') ,
+          'title' => ts('Main Text Color'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_main' => array(
+        ],
+        'color_main' => [
           'name' => 'color_main',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Main Colour') ,
+          'title' => ts('Main Colour'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_main_bg' => array(
+        ],
+        'color_main_bg' => [
           'name' => 'color_main_bg',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Backgroup Color') ,
+          'title' => ts('Backgroup Color'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_bg' => array(
+        ],
+        'color_bg' => [
           'name' => 'color_bg',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Other Backgroun Colour') ,
+          'title' => ts('Other Backgroun Colour'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_about_link' => array(
+        ],
+        'color_about_link' => [
           'name' => 'color_about_link',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('About Link Colour') ,
+          'title' => ts('About Link Colour'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-        'color_homepage_link' => array(
+        ],
+        'color_homepage_link' => [
           'name' => 'color_homepage_link',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Homepage Link Colour') ,
+          'title' => ts('Homepage Link Colour'),
           'maxlength' => 10,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_contribution_widget',
           'entity' => 'Widget',
           'bao' => 'CRM_Contribute_BAO_Widget',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -401,10 +393,11 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_widget', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_widget', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -412,15 +405,21 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_widget', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_widget', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Contribute/Form/AbstractEditPayment.php b/civicrm/CRM/Contribute/Form/AbstractEditPayment.php
index 39c664da23..d2ff429626 100644
--- a/civicrm/CRM/Contribute/Form/AbstractEditPayment.php
+++ b/civicrm/CRM/Contribute/Form/AbstractEditPayment.php
@@ -364,6 +364,11 @@ WHERE  contribution_id = {$id}
     elseif (empty($this->_paymentProcessors) || array_keys($this->_paymentProcessors) === array(0)) {
       throw new CRM_Core_Exception(ts('You will need to configure the %1 settings for your Payment Processor before you can submit a credit card transactions.', array(1 => $this->_mode)));
     }
+    //Assign submitted processor value if it is different from the loaded one.
+    if (!empty($this->_submitValues['payment_processor_id'])
+      && $this->_paymentProcessor['id'] != $this->_submitValues['payment_processor_id']) {
+      $this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($this->_submitValues['payment_processor_id']);
+    }
     $this->_processors = array();
     foreach ($this->_paymentProcessors as $id => $processor) {
       // @todo review this. The inclusion of this IF was to address test processors being incorrectly loaded.
diff --git a/civicrm/CRM/Contribute/Form/AdditionalInfo.php b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
index e6423b02f4..d8b6b5ff7f 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalInfo.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
@@ -96,7 +96,7 @@ class CRM_Contribute_Form_AdditionalInfo {
 
     $attributes = CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_Contribution');
 
-    $form->addDateTime('thankyou_date', ts('Thank-you Sent'), FALSE, array('formatType' => 'activityDateTime'));
+    $form->addField('thankyou_date', array('entity' => 'contribution'), FALSE, FALSE);
 
     // add various amounts
     $nonDeductAmount = &$form->add('text', 'non_deductible_amount', ts('Non-deductible Amount'),
diff --git a/civicrm/CRM/Contribute/Form/Contribution.php b/civicrm/CRM/Contribute/Form/Contribution.php
index 28405b41f2..13a9ae4811 100644
--- a/civicrm/CRM/Contribute/Form/Contribution.php
+++ b/civicrm/CRM/Contribute/Form/Contribution.php
@@ -425,28 +425,11 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     else {
       $defaults['refund_trxn_id'] = isset($defaults['trxn_id']) ? $defaults['trxn_id'] : NULL;
     }
-    $dates = array(
-      'receive_date',
-      'receipt_date',
-      'cancel_date',
-      'thankyou_date',
-    );
-    foreach ($dates as $key) {
-      if (!empty($defaults[$key])) {
-        list($defaults[$key], $defaults[$key . '_time'])
-          = CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value($key, $defaults), 'activityDateTime');
-      }
-    }
 
     if (!$this->_id && empty($defaults['receive_date'])) {
-      list($defaults['receive_date'],
-        $defaults['receive_date_time']
-        ) = CRM_Utils_Date::setDateDefaults(NULL, 'activityDateTime');
+      $defaults['receive_date'] = date('Y-m-d H:i:s');
     }
 
-    $this->assign('receive_date', CRM_Utils_Date::processDate(CRM_Utils_Array::value('receive_date', $defaults),
-      CRM_Utils_Array::value('receive_date_time', $defaults)
-    ));
     $currency = CRM_Utils_Array::value('currency', $defaults);
     $this->assign('currency', $currency);
     // Hack to get currency info to the js layer. CRM-11440.
@@ -467,6 +450,23 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
    * Build the form object.
    */
   public function buildQuickForm() {
+    if ($this->_action & CRM_Core_Action::DELETE) {
+      $this->addButtons(array(
+          array(
+            'type' => 'next',
+            'name' => ts('Delete'),
+            'spacing' => '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
+            'isDefault' => TRUE,
+          ),
+          array(
+            'type' => 'cancel',
+            'name' => ts('Cancel'),
+          ),
+        )
+      );
+      return;
+    }
+
     // FIXME: This probably needs to be done in preprocess
     if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()
       && $this->_action & CRM_Core_Action::UPDATE
@@ -599,23 +599,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
 
     $this->applyFilter('__ALL__', 'trim');
 
-    if ($this->_action & CRM_Core_Action::DELETE) {
-      $this->addButtons(array(
-          array(
-            'type' => 'next',
-            'name' => ts('Delete'),
-            'spacing' => '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
-            'isDefault' => TRUE,
-          ),
-          array(
-            'type' => 'cancel',
-            'name' => ts('Cancel'),
-          ),
-        )
-      );
-      return;
-    }
-
     //need to assign custom data type and subtype to the template
     $this->assign('customDataType', 'Contribution');
     $this->assign('customDataSubType', $this->_contributionType);
@@ -705,15 +688,14 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     }
 
     // add various dates
-    $this->addDateTime('receive_date', ts('Received'), FALSE, array('formatType' => 'activityDateTime'));
+    $this->addField('receive_date', array('entity' => 'contribution'), FALSE, FALSE);
+    $this->addField('receipt_date', array('entity' => 'contribution'), FALSE, FALSE);
+    $this->addField('cancel_date', array('entity' => 'contribution', 'label' => ts('Cancelled / Refunded Date')), FALSE, FALSE);
 
     if ($this->_online) {
       $this->assign('hideCalender', TRUE);
     }
 
-    $this->addDateTime('receipt_date', ts('Receipt Date'), FALSE, array('formatType' => 'activityDateTime'));
-    $this->addDateTime('cancel_date', ts('Cancelled / Refunded Date'), FALSE, array('formatType' => 'activityDateTime'));
-
     $this->add('textarea', 'cancel_reason', ts('Cancellation / Refund Reason'), $attributes['cancel_reason']);
 
     $totalAmount = NULL;
@@ -1089,13 +1071,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
       CRM_Core_Config::singleton()->defaultCurrency
     );
 
-    if (!empty($this->_params['receive_date'])) {
-      $this->_params['receive_date'] = CRM_Utils_Date::processDate($this->_params['receive_date'], $this->_params['receive_date_time']);
-    }
-    else {
-      $this->_params['receive_date'] = $now;
-    }
-
     $this->_params['pcp_display_in_roll'] = CRM_Utils_Array::value('pcp_display_in_roll', $params);
     $this->_params['pcp_roll_nickname'] = CRM_Utils_Array::value('pcp_roll_nickname', $params);
     $this->_params['pcp_personal_note'] = CRM_Utils_Array::value('pcp_personal_note', $params);
@@ -1141,11 +1116,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     if (!empty($this->_params['is_email_receipt'])) {
       $this->_params['receipt_date'] = $now;
     }
-    else {
-      $this->_params['receipt_date'] = CRM_Utils_Date::processDate($this->_params['receipt_date'],
-        $params['receipt_date_time'], TRUE
-      );
-    }
 
     $this->set('params', $this->_params);
 
@@ -1318,10 +1288,9 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
   public function testSubmit($params, $action, $creditCardMode = NULL) {
     $defaults = array(
       'soft_credit_contact_id' => array(),
+      'receive_date' => date('Y-m-d H:i:s'),
       'receipt_date' => '',
-      'receipt_date_time' => '',
       'cancel_date' => '',
-      'cancel_date_time' => '',
       'hidden_Premium' => 1,
     );
     $this->_bltID = 5;
@@ -1413,7 +1382,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     // as a point of fragility rather than a logical 'if' clause.
     if ($priceSetId) {
       CRM_Price_BAO_PriceSet::processAmount($this->_priceSet['fields'],
-        $submittedValues, $lineItem[$priceSetId]);
+        $submittedValues, $lineItem[$priceSetId], NULL, $priceSetId);
       // Unset tax amount for offline 'is_quick_config' contribution.
       // @todo WHY  - quick config was conceived as a quick way to configure contribution forms.
       // this is an example of 'other' functionality being hung off it.
@@ -1422,9 +1391,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
       ) {
         unset($submittedValues['tax_amount']);
       }
-      // @todo - look to remove this line. I believe it relates to CRM-16460
-      // and possibly contributes to fixing the issue described there but
-      // would cause breakage for negative values in some cases.
       $submittedValues['total_amount'] = CRM_Utils_Array::value('amount', $submittedValues);
     }
 
@@ -1581,10 +1547,12 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
 
       // get the required field value only.
 
-      $params = $ids = array();
-
-      $params['contact_id'] = $this->_contactID;
-      $params['currency'] = $this->getCurrency($submittedValues);
+      $params = [
+        'contact_id' => $this->_contactID,
+        'currency' => $this->getCurrency($submittedValues),
+        'skipCleanMoney' => TRUE,
+        'id' => $this->_id,
+      ];
 
       //format soft-credit/pcp param first
       CRM_Contribute_BAO_ContributionSoft::formatSoftCreditParams($submittedValues, $this);
@@ -1604,10 +1572,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
         $params[$f] = CRM_Utils_Array::value($f, $formValues);
       }
 
-      // CRM-5740 if priceset is used, no need to cleanup money.
-      if ($priceSetId) {
-        $params['skipCleanMoney'] = 1;
-      }
       $params['revenue_recognition_date'] = NULL;
       if (!empty($formValues['revenue_recognition_date'])
         && count(array_filter($formValues['revenue_recognition_date'])) == 2
@@ -1616,17 +1580,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
           '01-' . implode('-', $formValues['revenue_recognition_date'])
         );
       }
-      $dates = array(
-        'receive_date',
-        'receipt_date',
-        'cancel_date',
-      );
-
-      foreach ($dates as $d) {
-        if (isset($formValues[$d])) {
-          $params[$d] = CRM_Utils_Date::processDate($formValues[$d], CRM_Utils_Array::value($d . '_time', $formValues), TRUE);
-        }
-      }
 
       if (!empty($formValues['is_email_receipt'])) {
         $params['receipt_date'] = date("Y-m-d");
@@ -1651,8 +1604,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
         $params['is_pay_later'] = 0;
       }
 
-      $ids['contribution'] = $params['id'] = $this->_id;
-
       // Add Additional common information to formatted params.
       CRM_Contribute_Form_AdditionalInfo::postProcessCommon($formValues, $params, $this);
       if ($pId) {
@@ -1665,9 +1616,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
       }
       $params['line_item'] = $lineItem;
       $params['payment_processor_id'] = $params['payment_processor'] = CRM_Utils_Array::value('id', $this->_paymentProcessor);
-      if (isset($submittedValues['tax_amount'])) {
-        $params['tax_amount'] = $submittedValues['tax_amount'];
-      }
+      $params['tax_amount'] = CRM_Utils_Array::value('tax_amount', $submittedValues, CRM_Utils_Array::value('tax_amount', $this->_values));
       //create contribution.
       if ($isQuickConfig) {
         $params['is_quick_config'] = 1;
@@ -1678,7 +1627,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
       if (!empty($params['note']) && !empty($submittedValues['note'])) {
         unset($params['note']);
       }
-      $contribution = CRM_Contribute_BAO_Contribution::create($params, $ids);
+      $contribution = CRM_Contribute_BAO_Contribution::create($params);
 
       // process associated membership / participant, CRM-4395
       if ($contribution->id && $action & CRM_Core_Action::UPDATE) {
@@ -1703,7 +1652,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
         $formValues += CRM_Contribute_BAO_ContributionSoft::getSoftContribution($contribution->id);
 
         // to get 'from email id' for send receipt
-        $this->fromEmailId = $formValues['from_email_address'];
+        $this->fromEmailId = CRM_Utils_Array::value('from_email_address', $formValues);
         if (CRM_Contribute_Form_AdditionalInfo::emailReceipt($this, $formValues)) {
           $this->statusMessage[] = ts('A receipt has been emailed to the contributor.');
         }
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
index a8ba2af41f..4018b85863 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
@@ -1991,7 +1991,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
 
     $priceFields = $priceFields[$priceSetID]['fields'];
     $lineItems = array();
-    CRM_Price_BAO_PriceSet::processAmount($priceFields, $paramsProcessedForForm, $lineItems, 'civicrm_contribution');
+    CRM_Price_BAO_PriceSet::processAmount($priceFields, $paramsProcessedForForm, $lineItems, 'civicrm_contribution', $priceSetID);
     $form->_lineItem = array($priceSetID => $lineItems);
     $membershipPriceFieldIDs = array();
     foreach ((array) $lineItems as $lineItem) {
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Main.php b/civicrm/CRM/Contribute/Form/Contribution/Main.php
index 9cf20054ec..f7b04a1ac8 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Main.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Main.php
@@ -1165,7 +1165,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
         $component = 'membership';
       }
 
-      CRM_Price_BAO_PriceSet::processAmount($this->_values['fee'], $params, $lineItem[$priceSetId], $component);
+      CRM_Price_BAO_PriceSet::processAmount($this->_values['fee'], $params, $lineItem[$priceSetId], $component, $priceSetId);
       if ($params['tax_amount']) {
         $this->set('tax_amount', $params['tax_amount']);
       }
diff --git a/civicrm/CRM/Contribute/Form/Search.php b/civicrm/CRM/Contribute/Form/Search.php
index b0174523f6..3eecbe8f5b 100644
--- a/civicrm/CRM/Contribute/Form/Search.php
+++ b/civicrm/CRM/Contribute/Form/Search.php
@@ -166,25 +166,7 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search {
    */
   public function buildQuickForm() {
     parent::buildQuickForm();
-    $this->addSortNameField();
-
-    $this->_group = CRM_Core_PseudoConstant::nestedGroup();
-
-    // multiselect for groups
-    if ($this->_group) {
-      $this->add('select', 'group', ts('Groups'), $this->_group, FALSE,
-        array('id' => 'group', 'multiple' => 'multiple', 'class' => 'crm-select2')
-      );
-    }
-
-    // multiselect for tags
-    $contactTags = CRM_Core_BAO_Tag::getTags();
-
-    if ($contactTags) {
-      $this->add('select', 'contact_tags', ts('Tags'), $contactTags, FALSE,
-        array('id' => 'contact_tags', 'multiple' => 'multiple', 'class' => 'crm-select2')
-      );
-    }
+    $this->addContactSearchFields();
 
     CRM_Contribute_BAO_Query::buildSearchForm($this);
 
@@ -229,6 +211,36 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search {
     return ts('Contributor Name');
   }
 
+  /**
+   * Get the label for the tag field.
+   *
+   * We do this in a function so the 'ts' wraps the whole string to allow
+   * better translation.
+   *
+   * @return string
+   */
+  protected function getTagLabel() {
+    return ts('Contributor Tag(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getGroupLabel() {
+    return ts('Contributor Group(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getContactTypeLabel() {
+    return ts('Contributor Contact Type');
+  }
+
   /**
    * The post processing of the form gets done here.
    *
diff --git a/civicrm/CRM/Contribute/Form/Task/Invoice.php b/civicrm/CRM/Contribute/Form/Task/Invoice.php
index 03ec061b5e..8f2a406dff 100644
--- a/civicrm/CRM/Contribute/Form/Task/Invoice.php
+++ b/civicrm/CRM/Contribute/Form/Task/Invoice.php
@@ -129,6 +129,7 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task {
     $this->_selectedOutput = CRM_Utils_Request::retrieve('select', 'String', $this);
     $this->assign('selectedOutput', $this->_selectedOutput);
 
+    CRM_Contact_Form_Task_EmailCommon::preProcessFromAddress($this);
     if ($this->_selectedOutput == 'email') {
       CRM_Utils_System::setTitle(ts('Email Invoice'));
     }
@@ -141,36 +142,12 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task {
    * Build the form object.
    */
   public function buildQuickForm() {
-    $session = CRM_Core_Session::singleton();
     $this->preventAjaxSubmit();
     if (CRM_Core_Permission::check('administer CiviCRM')) {
       $this->assign('isAdmin', 1);
     }
-    $contactID = $session->get('userID');
-    $contactEmails = CRM_Core_BAO_Email::allEmails($contactID);
-    $emails = array();
-    $fromDisplayName = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact',
-      $contactID, 'display_name'
-    );
-    foreach ($contactEmails as $emailId => $item) {
-      $email = $item['email'];
-      if ($email) {
-        $emails[$emailId] = '"' . $fromDisplayName . '" <' . $email . '> ';
-      }
-      if (isset($emails[$emailId])) {
-        $emails[$emailId] .= $item['locationType'];
-        if ($item['is_primary']) {
-          $emails[$emailId] .= ' ' . ts('(preferred)');
-        }
-        $emails[$emailId] = htmlspecialchars($emails[$emailId]);
-      }
-    }
-    $fromEmailAddress = CRM_Core_OptionGroup::values('from_email_address');
-    foreach ($fromEmailAddress as $key => $email) {
-      $fromEmailAddress[$key] = htmlspecialchars($fromEmailAddress[$key]);
-    }
-    $fromEmail = CRM_Utils_Array::crmArrayMerge($emails, $fromEmailAddress);
-    $this->add('select', 'from_email_address', ts('From Email Address'), array('' => '- select -') + $fromEmail);
+
+    $this->add('select', 'from_email_address', ts('From'), $this->_fromEmails, TRUE);
     if ($this->_selectedOutput != 'email') {
       $this->addElement('radio', 'output', NULL, ts('Email Invoice'), 'email_invoice');
       $this->addElement('radio', 'output', NULL, ts('PDF Invoice'), 'pdf_invoice');
@@ -479,30 +456,8 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task {
         'tplParams' => $tplParams,
         'PDFFilename' => $pdfFileName,
       );
-      $session = CRM_Core_Session::singleton();
-      $contactID = $session->get('userID');
-      //CRM-16319 - we dont store in userID in case the user is doing multiple
-      //transactions etc
-      if (empty($contactID)) {
-        $contactID = $session->get('transaction.userID');
-      }
-      // Fix Invoice email doesnot send out when completed payment using Paypal
-      if (empty($contactID)) {
-        $contactID = current($contactIds);
-      }
-      $contactEmails = CRM_Core_BAO_Email::allEmails($contactID);
-      $emails = array();
-      $fromDisplayName = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact',
-        $contactID, 'display_name'
-      );
 
-      foreach ($contactEmails as $emailId => $item) {
-        $email = $item['email'];
-        if ($email) {
-          $emails[$emailId] = '"' . $fromDisplayName . '" <' . $email . '> ';
-        }
-      }
-      $fromEmail = CRM_Utils_Array::crmArrayMerge($emails, CRM_Core_OptionGroup::values('from_email_address'));
+      $fromEmail = CRM_Core_BAO_Email::getFromEmail();
 
       // from email address
       if (isset($params['from_email_address'])) {
diff --git a/civicrm/CRM/Contribute/Form/Task/PDF.php b/civicrm/CRM/Contribute/Form/Task/PDF.php
index 2455d38fde..69ef1665f2 100644
--- a/civicrm/CRM/Contribute/Form/Task/PDF.php
+++ b/civicrm/CRM/Contribute/Form/Task/PDF.php
@@ -109,7 +109,9 @@ AND    {$this->_componentClause}";
         document.getElementById('selectEmailFrom').style.display = 'block';")
     );
     $this->addElement('radio', 'output', NULL, ts('PDF Receipts'), 'pdf_receipt',
-      array('onClick' => "document.getElementById('selectPdfFormat').style.display = 'block';")
+      array(
+        'onClick' => "document.getElementById('selectPdfFormat').style.display = 'block';
+        document.getElementById('selectEmailFrom').style.display = 'none';")
     );
     $this->addRule('output', ts('Selection required'), 'required');
 
@@ -119,7 +121,7 @@ AND    {$this->_componentClause}";
     $this->add('checkbox', 'receipt_update', ts('Update receipt dates for these contributions'), FALSE);
     $this->add('checkbox', 'override_privacy', ts('Override privacy setting? (Do not email / Do not mail)'), FALSE);
 
-    $this->add('select', 'fromEmailAddress', ts('From Email'), $this->_fromEmails, FALSE, array('class' => 'crm-select2 huge'));
+    $this->add('select', 'from_email_address', ts('From Email'), $this->_fromEmails, FALSE);
 
     $this->addButtons(array(
         array(
@@ -197,11 +199,9 @@ AND    {$this->_componentClause}";
       $objects['contribution']->receive_date = CRM_Utils_Date::isoToMysql($objects['contribution']->receive_date);
 
       $values = array();
-      if (isset($params['fromEmailAddress']) && !$elements['createPdf']) {
+      if (isset($params['from_email_address']) && !$elements['createPdf']) {
         // CRM-19129 Allow useres the choice of From Email to send the receipt from.
-        $fromEmail = $params['fromEmailAddress'];
-        $from = CRM_Utils_Array::value($fromEmail, $this->_emails);
-        $fromDetails = explode(' <', $from);
+        $fromDetails = explode(' <', $params['from_email_address']);
         $input['receipt_from_email'] = substr(trim($fromDetails[1]), 0, -1);
         $input['receipt_from_name'] = str_replace('"', '', $fromDetails[0]);
       }
diff --git a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
index e6b6677d2a..4daa0c6e2c 100644
--- a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
+++ b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
@@ -108,8 +108,8 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
     //enable form element
     $this->assign('suppressForm', FALSE);
 
-    // use contact form as a base
-    CRM_Contact_Form_Task_PDFLetterCommon::buildQuickForm($this);
+    // Build common form elements
+    CRM_Contribute_Form_Task_PDFLetterCommon::buildQuickForm($this);
 
     // specific need for contributions
     $this->add('static', 'more_options_header', NULL, ts('Thank-you Letter Options'));
diff --git a/civicrm/CRM/Contribute/Form/Task/PDFLetterCommon.php b/civicrm/CRM/Contribute/Form/Task/PDFLetterCommon.php
index 370900a74f..98cba059ed 100644
--- a/civicrm/CRM/Contribute/Form/Task/PDFLetterCommon.php
+++ b/civicrm/CRM/Contribute/Form/Task/PDFLetterCommon.php
@@ -6,6 +6,20 @@
  */
 class CRM_Contribute_Form_Task_PDFLetterCommon extends CRM_Contact_Form_Task_PDFLetterCommon {
 
+  /**
+   * Build the form object.
+   *
+   * @var CRM_Core_Form $form
+   */
+  public static function buildQuickForm(&$form) {
+    // use contact form as a base
+    CRM_Contact_Form_Task_PDFLetterCommon::buildQuickForm($form);
+
+    // Contribute PDF tasks allow you to email as well, so we need to add email address to those forms
+    $form->add('select', 'from_email_address', ts('From Email Address'), $form->_fromEmails, TRUE);
+    parent::buildQuickForm($form);
+  }
+
   /**
    * Process the form after the input has been submitted and validated.
    *
@@ -22,7 +36,8 @@ class CRM_Contribute_Form_Task_PDFLetterCommon extends CRM_Contact_Form_Task_PDF
     if (!empty($formValues['email_options'])) {
       $returnProperties['email'] = $returnProperties['on_hold'] = $returnProperties['is_deceased'] = $returnProperties['do_not_email'] = 1;
       $emailParams = array(
-        'subject' => $formValues['subject'],
+        'subject' => CRM_Utils_Array::value('subject', $formValues),
+        'from' => CRM_Utils_Array::value('from_email_address', $formValues),
       );
       // We need display_name for emailLetter() so add to returnProperties here
       $returnProperties['display_name'] = 1;
@@ -368,6 +383,9 @@ class CRM_Contribute_Form_Task_PDFLetterCommon extends CRM_Contact_Form_Task_PDF
         $emails = array_keys($emails);
         $defaults['from'] = array_pop($emails);
       }
+      else {
+        $defaults['from'] = $params['from'];
+      }
       if (!empty($params['subject'])) {
         $defaults['subject'] = $params['subject'];
       }
diff --git a/civicrm/CRM/Contribute/Form/UpdateSubscription.php b/civicrm/CRM/Contribute/Form/UpdateSubscription.php
index dc04b8c6ee..b6a4430ee5 100644
--- a/civicrm/CRM/Contribute/Form/UpdateSubscription.php
+++ b/civicrm/CRM/Contribute/Form/UpdateSubscription.php
@@ -107,7 +107,17 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Core_Form {
     }
 
     if ($this->_subscriptionDetails->membership_id && $this->_subscriptionDetails->auto_renew) {
-      CRM_Core_Error::statusBounce(ts('You cannot update the subscription.'));
+      // Add Membership details to form
+      $membership = civicrm_api3('Membership', 'get', array(
+        'contribution_recur_id' => $this->contributionRecurID,
+      ));
+      if (!empty($membership['count'])) {
+        $membershipDetails = reset($membership['values']);
+        $values['membership_id'] = $membershipDetails['id'];
+        $values['membership_name'] = $membershipDetails['membership_name'];
+      }
+      $this->assign('recurMembership', $values);
+      $this->assign('contactId', $this->_subscriptionDetails->contact_id);
     }
 
     if (!CRM_Core_Permission::check('edit contributions')) {
diff --git a/civicrm/CRM/Contribute/Import/Form/MapField.php b/civicrm/CRM/Contribute/Import/Form/MapField.php
index 8421712d4d..d9c6de574d 100644
--- a/civicrm/CRM/Contribute/Import/Form/MapField.php
+++ b/civicrm/CRM/Contribute/Import/Form/MapField.php
@@ -421,8 +421,7 @@ class CRM_Contribute_Import_Form_MapField extends CRM_Import_Form_MapField {
         $errors['saveMappingName'] = ts('Name is required to save Import Mapping');
       }
       else {
-        $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', 'Import Contribution', 'name');
-        if (CRM_Core_BAO_Mapping::checkMapping($nameField, $mappingTypeId)) {
+        if (CRM_Core_BAO_Mapping::checkMapping($nameField, CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Contribution'))) {
           $errors['saveMappingName'] = ts('Duplicate Import Contribution Mapping Name');
         }
       }
@@ -526,10 +525,7 @@ class CRM_Contribute_Import_Form_MapField extends CRM_Import_Form_MapField {
       $mappingParams = array(
         'name' => $params['saveMappingName'],
         'description' => $params['saveMappingDesc'],
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Import Contribution',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Contribution'),
       );
       $saveMapping = CRM_Core_BAO_Mapping::add($mappingParams);
 
diff --git a/civicrm/CRM/Contribute/PseudoConstant.php b/civicrm/CRM/Contribute/PseudoConstant.php
index f0b50573e3..21f5bfd6e6 100644
--- a/civicrm/CRM/Contribute/PseudoConstant.php
+++ b/civicrm/CRM/Contribute/PseudoConstant.php
@@ -132,12 +132,13 @@ class CRM_Contribute_PseudoConstant extends CRM_Core_PseudoConstant {
 
   /**
    * @deprecated. Please use the buildOptions() method in the appropriate BAO object.
+   * TODO: buildOptions() doesn't replace this as it doesn't support filtering, which is used with this function.
    *
-   * Get all the financial Accounts
+   * Get all/filtered array of the financial Accounts
    *
    *
    * @param int $id
-   * @param int $financialAccountTypeId
+   * @param int $financialAccountTypeId Optional filer to return only financial accounts of type
    * @param string $retrieveColumn
    * @param string $key
    *
diff --git a/civicrm/CRM/Contribute/Selector/Search.php b/civicrm/CRM/Contribute/Selector/Search.php
index d05e92ce08..069dd8a1a5 100644
--- a/civicrm/CRM/Contribute/Selector/Search.php
+++ b/civicrm/CRM/Contribute/Selector/Search.php
@@ -179,7 +179,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
 
     // type of selector
     $this->_action = $action;
-    $returnProperties = CRM_Contribute_BAO_Query::selectorReturnProperties();
+    $returnProperties = CRM_Contribute_BAO_Query::selectorReturnProperties($this->_queryParams);
     $this->_includeSoftCredits = CRM_Contribute_BAO_Query::isSoftCreditOptionEnabled($this->_queryParams);
     $this->_query = new CRM_Contact_BAO_Query(
       $this->_queryParams,
diff --git a/civicrm/CRM/Contribute/StateMachine/Search.php b/civicrm/CRM/Contribute/StateMachine/Search.php
index 6d437472e3..487b82849b 100644
--- a/civicrm/CRM/Contribute/StateMachine/Search.php
+++ b/civicrm/CRM/Contribute/StateMachine/Search.php
@@ -78,7 +78,7 @@ class CRM_Contribute_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array [ 'class' => task classname, 'result' => TRUE ]
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Contribute/Task.php b/civicrm/CRM/Contribute/Task.php
index 9c4f20c5ad..a591f067ca 100644
--- a/civicrm/CRM/Contribute/Task.php
+++ b/civicrm/CRM/Contribute/Task.php
@@ -90,7 +90,10 @@ class CRM_Contribute_Task {
           'result' => TRUE,
         ),
         5 => array(
-          'title' => ts('Email - send now'),
+          'title' => ts('Email - send now (to %1 or less)', array(
+            1 => Civi::settings()
+              ->get('simple_mail_limit'),
+          )),
           'class' => 'CRM_Contribute_Form_Task_Email',
           'result' => TRUE,
         ),
diff --git a/civicrm/CRM/Core/BAO/Address.php b/civicrm/CRM/Core/BAO/Address.php
index edf8d6d695..b66f01a11b 100644
--- a/civicrm/CRM/Core/BAO/Address.php
+++ b/civicrm/CRM/Core/BAO/Address.php
@@ -342,51 +342,46 @@ class CRM_Core_BAO_Address extends CRM_Core_DAO_Address {
       $params['country'] = CRM_Core_PseudoConstant::country($params['country_id']);
     }
 
-    $config = CRM_Core_Config::singleton();
-
     $asp = Civi::settings()->get('address_standardization_provider');
     // clean up the address via USPS web services if enabled
     if ($asp === 'USPS' &&
       $params['country_id'] == 1228
     ) {
       CRM_Utils_Address_USPS::checkAddress($params);
+    }
+    // do street parsing again if enabled, since street address might have changed
+    $parseStreetAddress = CRM_Utils_Array::value(
+      'street_address_parsing',
+      CRM_Core_BAO_Setting::valueOptions(
+        CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
+        'address_options'
+      ),
+      FALSE
+    );
 
-      // do street parsing again if enabled, since street address might have changed
-      $parseStreetAddress = CRM_Utils_Array::value(
-        'street_address_parsing',
-        CRM_Core_BAO_Setting::valueOptions(
-          CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
-          'address_options'
-        ),
-        FALSE
-      );
-
-      if ($parseStreetAddress && !empty($params['street_address'])) {
-        foreach (array(
-                   'street_number',
-                   'street_name',
-                   'street_unit',
-                   'street_number_suffix',
-                 ) as $fld) {
-          unset($params[$fld]);
-        }
-        // main parse string.
-        $parseString = CRM_Utils_Array::value('street_address', $params);
-        $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($parseString);
-
-        // merge parse address in to main address block.
-        $params = array_merge($params, $parsedFields);
+    if ($parseStreetAddress && !empty($params['street_address'])) {
+      foreach (array(
+                 'street_number',
+                 'street_name',
+                 'street_unit',
+                 'street_number_suffix',
+               ) as $fld) {
+        unset($params[$fld]);
       }
-    }
+      // main parse string.
+      $parseString = CRM_Utils_Array::value('street_address', $params);
+      $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($parseString);
 
-    // check if geocode should be skipped (can be forced with an optional parameter through the api)
-    $skip_geocode = (isset($params['skip_geocode']) && $params['skip_geocode']) ? TRUE : FALSE;
+      // merge parse address in to main address block.
+      $params = array_merge($params, $parsedFields);
+    }
 
-    // add latitude and longitude and format address if needed
-    if (!$skip_geocode && !empty($config->geocodeMethod) && ($config->geocodeMethod != 'CRM_Utils_Geocode_OpenStreetMaps') && empty($params['manual_geo_code'])) {
-      $class = $config->geocodeMethod;
-      $class::format($params);
+    // skip_geocode is an optional parameter through the api.
+    // manual_geo_code is on the contact edit form. They do the same thing....
+    if (empty($params['skip_geocode']) && empty($params['manual_geo_code'])) {
+      self::addGeocoderData($params);
     }
+
   }
 
   /**
@@ -1341,4 +1336,24 @@ SELECT is_primary,
     return CRM_Core_PseudoConstant::get(__CLASS__, $fieldName, $params, $context);
   }
 
+  /**
+   * Add data from the configured geocoding provider.
+   *
+   * Generally this means latitude & longitude data.
+   *
+   * @param array $params
+   * @return bool
+   *   TRUE if params could be passed to a provider, else FALSE.
+   */
+  public static function addGeocoderData(&$params) {
+    try {
+      $provider = CRM_Utils_GeocodeProvider::getConfiguredProvider();
+    }
+    catch (CRM_Core_Exception $e) {
+      return FALSE;
+    }
+    $provider::format($params);
+    return TRUE;
+  }
+
 }
diff --git a/civicrm/CRM/Core/BAO/CustomGroup.php b/civicrm/CRM/Core/BAO/CustomGroup.php
index 6bc5fe3825..79ced1dae4 100644
--- a/civicrm/CRM/Core/BAO/CustomGroup.php
+++ b/civicrm/CRM/Core/BAO/CustomGroup.php
@@ -189,7 +189,7 @@ class CRM_Core_BAO_CustomGroup extends CRM_Core_DAO_CustomGroup {
     $group->save();
     if (!isset($params['id'])) {
       if (!isset($params['table_name'])) {
-        $munged_title = strtolower(CRM_Utils_String::munge($group->title, '_', 42));
+        $munged_title = strtolower(CRM_Utils_String::munge($group->title, '_', 13));
         $tableName = "civicrm_value_{$munged_title}_{$group->id}";
       }
       $group->table_name = $tableName;
diff --git a/civicrm/CRM/Core/BAO/Domain.php b/civicrm/CRM/Core/BAO/Domain.php
index 5c519baf1f..9994323a7d 100644
--- a/civicrm/CRM/Core/BAO/Domain.php
+++ b/civicrm/CRM/Core/BAO/Domain.php
@@ -169,9 +169,13 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
    *   name & email for domain
    * @throws Exception
    */
-  public static function getNameAndEmail($skipFatal = FALSE) {
+  public static function getNameAndEmail($skipFatal = FALSE, $returnString = FALSE) {
     $fromEmailAddress = CRM_Core_OptionGroup::values('from_email_address', NULL, NULL, NULL, ' AND is_default = 1');
     if (!empty($fromEmailAddress)) {
+      if ($returnString) {
+        // Return a string like: "Demonstrators Anonymous" <info@example.org>
+        return $fromEmailAddress;
+      }
       foreach ($fromEmailAddress as $key => $value) {
         $email = CRM_Utils_Mail::pluckEmailFromHeader($value);
         $fromArray = explode('"', $value);
@@ -180,12 +184,13 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
       }
       return array($fromName, $email);
     }
-    elseif ($skipFatal) {
-      return array('', '');
+
+    if ($skipFatal) {
+      return array(NULL, NULL);
     }
 
-    $url = CRM_Utils_System::url('civicrm/admin/domain',
-      'action=update&reset=1'
+    $url = CRM_Utils_System::url('civicrm/admin/options/from_email_address',
+      'reset=1'
     );
     $status = ts("There is no valid default from email address configured for the domain. You can configure here <a href='%1'>Configure From Email Address.</a>", array(1 => $url));
 
@@ -287,8 +292,8 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
 
   /**
    * CRM-20308 & CRM-19657
-   * Return domain information / user information for the useage in receipts
-   * Try default from adress then fall back to using logged in user details
+   * Return domain information / user information for the usage in receipts
+   * Try default from address then fall back to using logged in user details
    */
   public static function getDefaultReceiptFrom() {
     $domain = civicrm_api3('domain', 'getsingle', array('id' => CRM_Core_Config::domainID()));
@@ -298,9 +303,14 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
     if (!empty($domain['domain_email'])) {
       return array($domain['name'], $domain['domain_email']);
     }
-    $userID = CRM_Core_Session::singleton()->getLoggedInContactID();
     $userName = '';
     $userEmail = '';
+
+    if (!Civi::settings()->get('allow_mail_from_logged_in_contact')) {
+      return array($userName, $userEmail);
+    }
+
+    $userID = CRM_Core_Session::singleton()->getLoggedInContactID();
     if (!empty($userID)) {
       list($userName, $userEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($userID);
     }
diff --git a/civicrm/CRM/Core/BAO/Email.php b/civicrm/CRM/Core/BAO/Email.php
index 3bfee2724e..2227465cf9 100644
--- a/civicrm/CRM/Core/BAO/Email.php
+++ b/civicrm/CRM/Core/BAO/Email.php
@@ -275,6 +275,20 @@ AND    reset_date IS NULL
     }
   }
 
+  /**
+   * Generate an array of Domain email addresses.
+   * @return array $domainEmails;
+   */
+  public static function domainEmails() {
+    $domainEmails = array();
+    $domainFrom = (array) CRM_Core_OptionGroup::values('from_email_address');
+    foreach (array_keys($domainFrom) as $k) {
+      $domainEmail = $domainFrom[$k];
+      $domainEmails[$domainEmail] = htmlspecialchars($domainEmail);
+    }
+    return $domainEmails;
+  }
+
   /**
    * Build From Email as the combination of all the email ids of the logged in user and
    * the domain email id
@@ -283,22 +297,20 @@ AND    reset_date IS NULL
    *   an array of email ids
    */
   public static function getFromEmail() {
-    $contactID = CRM_Core_Session::singleton()->getLoggedInContactID();
-    $fromEmailValues = array();
-
     // add all configured FROM email addresses
-    $domainFrom = CRM_Core_OptionGroup::values('from_email_address');
-    foreach (array_keys($domainFrom) as $k) {
-      $domainEmail = $domainFrom[$k];
-      $fromEmailValues[$domainEmail] = htmlspecialchars($domainEmail);
+    $fromEmailValues = self::domainEmails();
+
+    if (!Civi::settings()->get('allow_mail_from_logged_in_contact')) {
+      return $fromEmailValues;
     }
 
     // add logged in user's active email ids
+    $contactID = CRM_Core_Session::singleton()->getLoggedInContactID();
     if ($contactID) {
       $contactEmails = self::allEmails($contactID);
-      $fromDisplayName = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'display_name');
+      $fromDisplayName  = CRM_Core_Session::singleton()->getLoggedInContactDisplayName();
 
-      foreach ($contactEmails as $emailVal) {
+      foreach ($contactEmails as $emailId => $emailVal) {
         $email = trim($emailVal['email']);
         if (!$email || $emailVal['on_hold']) {
           continue;
@@ -309,7 +321,7 @@ AND    reset_date IS NULL
         if (!empty($emailVal['is_primary'])) {
           $fromEmailHtml .= ' ' . ts('(preferred)');
         }
-        $fromEmailValues[$fromEmail] = $fromEmailHtml;
+        $fromEmailValues[$emailId] = $fromEmailHtml;
       }
     }
     return $fromEmailValues;
diff --git a/civicrm/CRM/Core/BAO/MessageTemplate.php b/civicrm/CRM/Core/BAO/MessageTemplate.php
index 2b87046c0e..1bc7ec1284 100644
--- a/civicrm/CRM/Core/BAO/MessageTemplate.php
+++ b/civicrm/CRM/Core/BAO/MessageTemplate.php
@@ -406,6 +406,9 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate {
       'text' => $dao->text,
       'html' => $dao->html,
       'format' => $dao->format,
+      'groupName' => $params['groupName'],
+      'valueName' => $params['valueName'],
+      'messageTemplateID' => $params['messageTemplateID'],
     );
     $dao->free();
 
diff --git a/civicrm/CRM/Core/BAO/OptionValue.php b/civicrm/CRM/Core/BAO/OptionValue.php
index 9bb61d0543..429d14ac78 100644
--- a/civicrm/CRM/Core/BAO/OptionValue.php
+++ b/civicrm/CRM/Core/BAO/OptionValue.php
@@ -164,18 +164,19 @@ class CRM_Core_BAO_OptionValue extends CRM_Core_DAO_OptionValue {
    * @param array $params
    *   Reference array contains the values submitted by the form.
    * @param array $ids
-   *   Reference array contains the id.
+   *   deprecated Reference array contains the id.
    *
-   *
-   * @return CRM_Core_DAO_OptionValue
+   * @return \CRM_Core_DAO_OptionValue
+   * @throws \CRM_Core_Exception
    */
   public static function add(&$params, $ids = array()) {
+    $id = CRM_Utils_Array::value('id', $params, CRM_Utils_Array::value('optionValue', $ids));
     // CRM-10921: do not reset attributes to default if this is an update
     //@todo consider if defaults are being set in the right place. 'dumb' defaults like
     // these would be usefully set @ the api layer so they are visible to api users
     // complex defaults like the domain id below would make sense in the setDefauls function
     // but unclear what other ways this function is being used
-    if (empty($ids['optionValue'])) {
+    if (!$id) {
       $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
       $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
       $params['is_optgroup'] = CRM_Utils_Array::value('is_optgroup', $params, FALSE);
@@ -183,9 +184,19 @@ class CRM_Core_BAO_OptionValue extends CRM_Core_DAO_OptionValue {
     }
     // Update custom field data to reflect the new value
     elseif (isset($params['value'])) {
-      CRM_Core_BAO_CustomOption::updateValue($ids['optionValue'], $params['value']);
+      CRM_Core_BAO_CustomOption::updateValue($id, $params['value']);
     }
 
+    // We need to have option_group_id populated for validation so load if necessary.
+    if (empty($params['option_group_id'])) {
+      $params['option_group_id'] = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue',
+        $id, 'option_group_id', 'id'
+      );
+    }
+    $groupName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup',
+      $params['option_group_id'], 'name', 'id'
+    );
+
     // action is taken depending upon the mode
     $optionValue = new CRM_Core_DAO_OptionValue();
     $optionValue->copyValues($params);
@@ -206,33 +217,30 @@ class CRM_Core_BAO_OptionValue extends CRM_Core_DAO_OptionValue {
       CRM_Core_DAO::executeQuery($query, $p);
     }
 
-    // CRM-13814 : evalute option group id
-    if (!array_key_exists('option_group_id', $params) && !empty($ids['optionValue'])) {
-      $groupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue',
-        $ids['optionValue'], 'option_group_id', 'id'
-      );
-    }
-    else {
-      $groupId = $params['option_group_id'];
+    if (empty($params['domain_id']) && in_array($groupName, CRM_Core_OptionGroup::$_domainIDGroups)) {
+      $optionValue->domain_id = CRM_Core_Config::domainID();
     }
 
-    $groupName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup',
-      $groupId, 'name', 'id'
-    );
-    if (empty($ids['optionValue']) && empty($params['id']) && !empty($params['value'])) {
-      $domainSpecifc = in_array($groupName, CRM_Core_OptionGroup::$_domainIDGroups) ? TRUE : FALSE;
+    $groupsSupportingDuplicateValues = ['languages'];
+    if (!$id && !empty($params['value'])) {
       $dao = new CRM_Core_DAO_OptionValue();
-      $dao->value = $params['value'];
-      $dao->option_group_id = $groupId;
+      if (!in_array($groupName, $groupsSupportingDuplicateValues)) {
+        $dao->value = $params['value'];
+      }
+      else {
+        // CRM-21737 languages option group does not use unique values but unique names.
+        $dao->name = $params['name'];
+      }
+      if (in_array($groupName, CRM_Core_OptionGroup::$_domainIDGroups)) {
+        $dao->domain_id = $optionValue->domain_id;
+      }
+      $dao->option_group_id = $params['option_group_id'];
       if ($dao->find(TRUE)) {
         throw new CRM_Core_Exception('Value already exists in the database');
       }
     }
-    if (in_array($groupName, CRM_Core_OptionGroup::$_domainIDGroups)) {
-      $optionValue->domain_id = CRM_Utils_Array::value('domain_id', $params, CRM_Core_Config::domainID());
-    }
 
-    $optionValue->id = CRM_Utils_Array::value('optionValue', $ids);
+    $optionValue->id = $id;
     $optionValue->save();
     CRM_Core_PseudoConstant::flush();
     return $optionValue;
diff --git a/civicrm/CRM/Core/BAO/Tag.php b/civicrm/CRM/Core/BAO/Tag.php
index 8303bc9135..7087a5a456 100644
--- a/civicrm/CRM/Core/BAO/Tag.php
+++ b/civicrm/CRM/Core/BAO/Tag.php
@@ -573,6 +573,17 @@ class CRM_Core_BAO_Tag extends CRM_Core_DAO_Tag {
               ->execute();
     while ($dao->fetch()) {
       $childTagIDs[$dao->parent_id] = (array) explode(',', $dao->child_id);
+      $parentID = $dao->parent_id;
+      if ($searchString) {
+        // recursively search for parent tag ID and it's child if any
+        while ($parentID) {
+          $newParentID = CRM_Core_DAO::singleValueQuery(" SELECT parent_id FROM civicrm_tag WHERE id = $parentID ");
+          if ($newParentID) {
+            $childTagIDs[$newParentID] = array($parentID);
+          }
+          $parentID = $newParentID;
+        }
+      }
     }
 
     // check if child tag has any childs, if found then include those child tags inside parent tag
diff --git a/civicrm/CRM/Core/BAO/UFGroup.php b/civicrm/CRM/Core/BAO/UFGroup.php
index 493ec603ec..f2e64af801 100644
--- a/civicrm/CRM/Core/BAO/UFGroup.php
+++ b/civicrm/CRM/Core/BAO/UFGroup.php
@@ -484,6 +484,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
       'name' => $name,
       'groupTitle' => $group->title,
       'groupName' => $group->name,
+      'groupDisplayTitle' => (!empty($group->frontend_title)) ? $group->frontend_title : $group->title,
       'groupHelpPre' => empty($group->help_pre) ? '' : $group->help_pre,
       'groupHelpPost' => empty($group->help_post) ? '' : $group->help_post,
       'title' => $title,
@@ -1673,11 +1674,15 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   public static function getModuleUFGroup($moduleName = NULL, $count = 0, $skipPermission = TRUE, $op = CRM_Core_Permission::VIEW, $returnFields = NULL) {
     $selectFields = array('id', 'title', 'created_id', 'is_active', 'is_reserved', 'group_type');
 
-    if (!CRM_Core_Config::isUpgradeMode()) {
+    if (CRM_Core_DAO::checkFieldExists('civicrm_uf_group', 'description')) {
       // CRM-13555, since description field was added later (4.4), and to avoid any problems with upgrade
       $selectFields[] = 'description';
     }
 
+    if (CRM_Core_DAO::checkFieldExists('civicrm_uf_group', 'frontend_title')) {
+      $selectFields[] = 'frontend_title';
+    }
+
     if (!empty($returnFields)) {
       $selectFields = array_merge($returnFields, array_diff($selectFields, $returnFields));
     }
@@ -1753,6 +1758,11 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
 
       if (CRM_Contact_BAO_ContactType::isaSubType($profileType)) {
         $profileType = CRM_Contact_BAO_ContactType::getBasicType($profileType);
+
+        //in some cases getBasicType() returns a cached array instead of string. Example: array ('sponsor' => 'organization')
+        if (is_array($profileType)) {
+          $profileType = array_shift($profileType);
+        }
       }
 
       //allow special mix profiles for Contribution and Participant
@@ -2339,7 +2349,10 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
             $defaults[$name . '_custom'] = $details[$name . '_custom'];
           }
           elseif ($name == 'preferred_communication_method') {
-            $v = explode(CRM_Core_DAO::VALUE_SEPARATOR, $details[$name]);
+            $v = $details[$name];
+            if (!is_array($details[$name])) {
+              $v = explode(CRM_Core_DAO::VALUE_SEPARATOR, $v);
+            }
             foreach ($v as $item) {
               if ($item) {
                 $defaults[$fldName . "[$item]"] = 1;
diff --git a/civicrm/CRM/Core/BAO/Website.php b/civicrm/CRM/Core/BAO/Website.php
index 96f91873d9..585e843d5f 100644
--- a/civicrm/CRM/Core/BAO/Website.php
+++ b/civicrm/CRM/Core/BAO/Website.php
@@ -87,7 +87,7 @@ class CRM_Core_BAO_Website extends CRM_Core_DAO_Website {
         self::add($values);
       }
       elseif ($skipDelete && !empty($values['id'])) {
-        self::del(array($values['id']));
+        self::del($values['id']);
       }
     }
   }
@@ -95,15 +95,24 @@ class CRM_Core_BAO_Website extends CRM_Core_DAO_Website {
   /**
    * Delete website.
    *
-   * @param array $ids
-   *   Website ids.
+   * @param int $id
    *
    * @return bool
    */
-  public static function del($ids) {
-    $query = 'DELETE FROM civicrm_website WHERE id IN ( ' . implode(',', $ids) . ')';
-    CRM_Core_DAO::executeQuery($query);
-    // FIXME: we should return false if the del was unsuccessful
+  public static function del($id) {
+    $obj = new self();
+    $obj->id = $id;
+    $obj->find();
+    if ($obj->fetch()) {
+      $params = [];
+      CRM_Utils_Hook::pre('delete', 'Website', $id, $params);
+      $obj->delete();
+    }
+    else {
+      return FALSE;
+    }
+    CRM_Utils_Hook::post('delete', 'Website', $id, $obj);
+    $obj->free();
     return TRUE;
   }
 
diff --git a/civicrm/CRM/Core/ClassLoader.php b/civicrm/CRM/Core/ClassLoader.php
index 9b69635426..3a455777bb 100644
--- a/civicrm/CRM/Core/ClassLoader.php
+++ b/civicrm/CRM/Core/ClassLoader.php
@@ -205,7 +205,7 @@ class CRM_Core_ClassLoader {
     if (
       // Only load classes that clearly belong to CiviCRM.
       // Note: api/v3 does not use classes, but api_v3's test-suite does
-      (0 === strncmp($class, 'CRM_', 4) || 0 === strncmp($class, 'api_v3_', 7) || 0 === strncmp($class, 'WebTest_', 8) || 0 === strncmp($class, 'E2E_', 4)) &&
+      (0 === strncmp($class, 'CRM_', 4) || 0 === strncmp($class, 'CRMTraits', 9) || 0 === strncmp($class, 'api_v3_', 7) || 0 === strncmp($class, 'WebTest_', 8) || 0 === strncmp($class, 'E2E_', 4)) &&
       // Do not load PHP 5.3 namespaced classes.
       // (in a future version, maybe)
       FALSE === strpos($class, '\\')
diff --git a/civicrm/CRM/Core/CodeGen/BaseTask.php b/civicrm/CRM/Core/CodeGen/BaseTask.php
index 83fcf1a410..c58a32ac15 100644
--- a/civicrm/CRM/Core/CodeGen/BaseTask.php
+++ b/civicrm/CRM/Core/CodeGen/BaseTask.php
@@ -73,13 +73,11 @@ abstract class CRM_Core_CodeGen_BaseTask implements CRM_Core_CodeGen_ITask {
    * @return bool
    */
   protected function isApproxPhpMatch($actual, $expected) {
-    $actual = preg_replace(';\(GenCodeChecksum:([a-zA-Z0-9]+)\);', '', $actual);
-    $actual = preg_replace(';[ \r\n\t];', '', $actual);
-
-    $expected = preg_replace(';\(GenCodeChecksum:([a-zA-Z0-9]+)\);', '',
-      $expected);
-    $expected = preg_replace(';[ \r\n\t];', '', $expected);
-
+    foreach (['actual', 'expected'] as $var) {
+      $$var = CRM_Core_CodeGen_Util_ArraySyntaxConverter::convert($$var);
+      $$var = preg_replace(';\(GenCodeChecksum:([a-zA-Z0-9]+)\);', '', $$var);
+      $$var = strtolower(preg_replace(';[ \r\n\t];', '', $$var));
+    }
     return $actual === $expected;
   }
 
diff --git a/civicrm/CRM/Core/CodeGen/Util/ArraySyntaxConverter.php b/civicrm/CRM/Core/CodeGen/Util/ArraySyntaxConverter.php
new file mode 100644
index 0000000000..5554c6b451
--- /dev/null
+++ b/civicrm/CRM/Core/CodeGen/Util/ArraySyntaxConverter.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * Class CRM_Core_CodeGen_Util_ArraySyntaxConverter
+ *
+ * @link      https://github.com/thomasbachem/php-short-array-syntax-converter
+ *
+ * @license   http://www.gnu.org/licenses/lgpl.html
+ * @author    Thomas Bachem <mail@thomasbachem.com>
+ */
+class CRM_Core_CodeGen_Util_ArraySyntaxConverter {
+
+  /**
+   * @param string $code
+   * @return string
+   */
+  public static function convert($code) {
+    $tokens = token_get_all($code);
+
+    // - - - - - PARSE CODE - - - - -
+    $replacements = array();
+    $offset = 0;
+    for ($i = 0; $i < count($tokens); ++$i) {
+      // Keep track of the current byte offset in the source code
+      $offset += strlen(is_array($tokens[$i]) ? $tokens[$i][1] : $tokens[$i]);
+      // T_ARRAY could either mean the "array(...)" syntax we're looking for
+      // or a type hinting statement ("function(array $foo) { ... }")
+      if (is_array($tokens[$i]) && $tokens[$i][0] === T_ARRAY) {
+        // Look for a subsequent opening bracket ("(") to be sure we're actually
+        // looking at an "array(...)" statement
+        $isArraySyntax = FALSE;
+        $subOffset = $offset;
+        for ($j = $i + 1; $j < count($tokens); ++$j) {
+          $subOffset += strlen(is_array($tokens[$j]) ? $tokens[$j][1] : $tokens[$j]);
+          if (is_string($tokens[$j]) && $tokens[$j] == '(') {
+            $isArraySyntax = TRUE;
+            break;
+          }
+          elseif (!is_array($tokens[$j]) || $tokens[$j][0] !== T_WHITESPACE) {
+            $isArraySyntax = FALSE;
+            break;
+          }
+        }
+        if ($isArraySyntax) {
+          // Replace "array" and the opening bracket (including preceeding whitespace) with "["
+          $replacements[] = array(
+            'start' => $offset - strlen($tokens[$i][1]),
+            'end' => $subOffset,
+            'string' => '[',
+          );
+          // Look for matching closing bracket (")")
+          $subOffset = $offset;
+          $openBracketsCount = 0;
+          for ($j = $i + 1; $j < count($tokens); ++$j) {
+            $subOffset += strlen(is_array($tokens[$j]) ? $tokens[$j][1] : $tokens[$j]);
+            if (is_string($tokens[$j]) && $tokens[$j] == '(') {
+              ++$openBracketsCount;
+            }
+            elseif (is_string($tokens[$j]) && $tokens[$j] == ')') {
+              --$openBracketsCount;
+              if ($openBracketsCount == 0) {
+                // Replace ")" with "]"
+                $replacements[] = array(
+                  'start' => $subOffset - 1,
+                  'end' => $subOffset,
+                  'string' => ']',
+                );
+                break;
+              }
+            }
+          }
+        }
+      }
+    }
+
+    // - - - - - UPDATE CODE - - - - -
+    // Apply the replacements to the source code
+    $offsetChange = 0;
+    foreach ($replacements as $replacement) {
+      $code = substr_replace(
+        $code,
+        $replacement['string'],
+        $replacement['start'] + $offsetChange,
+        $replacement['end'] - $replacement['start']
+      );
+      $offsetChange += strlen($replacement['string']) - ($replacement['end'] - $replacement['start']);
+    }
+
+    return $code;
+  }
+
+}
diff --git a/civicrm/CRM/Core/CodeGen/Util/Template.php b/civicrm/CRM/Core/CodeGen/Util/Template.php
index b7d2bf0001..e5a7ea3692 100644
--- a/civicrm/CRM/Core/CodeGen/Util/Template.php
+++ b/civicrm/CRM/Core/CodeGen/Util/Template.php
@@ -25,7 +25,6 @@ class CRM_Core_CodeGen_Util_Template {
       $this->beautifier = new PHP_Beautifier();
       $this->beautifier->addFilter('ArrayNested');
       // add one or more filters
-      $this->beautifier->addFilter('NewLines', array('after' => 'class, public, require, comment'));
       $this->beautifier->setIndentChar(' ');
       $this->beautifier->setIndentNumber(2);
       $this->beautifier->setNewLine("\n");
@@ -57,16 +56,27 @@ class CRM_Core_CodeGen_Util_Template {
    *   Full path to the desired output file.
    */
   public function run($infile, $outpath) {
-    $renderedContents = $this->smarty->fetch($infile);
+    $contents = $this->smarty->fetch($infile);
 
     if ($this->filetype === 'php') {
-      $this->beautifier->setInputString($renderedContents);
-      $this->beautifier->setOutputFile($outpath);
+      $this->beautifier->setInputString($contents);
       $this->beautifier->process();
-      $this->beautifier->save();
+      $contents = $this->beautifier->get();
+      // The beautifier isn't as beautiful as one would hope. Here's some extra string fudging.
+      $replacements = [
+        ') ,' => '),',
+        "\n  }\n}\n" => "\n  }\n\n}\n",
+        '=> true,' => '=> TRUE,',
+        '=> false,' => '=> FALSE,',
+      ];
+      $contents = str_replace(array_keys($replacements), array_values($replacements), $contents);
+      $contents = preg_replace('#(\s*)\\/\\*\\*#', "\n\$1/**", $contents);
+      // Convert old array syntax to new square brackets
+      $contents = CRM_Core_CodeGen_Util_ArraySyntaxConverter::convert($contents);
+      file_put_contents($outpath, $contents);
     }
     else {
-      file_put_contents($outpath, $renderedContents);
+      file_put_contents($outpath, $contents);
     }
   }
 
diff --git a/civicrm/CRM/Core/Config/MagicMerge.php b/civicrm/CRM/Core/Config/MagicMerge.php
index 33155cea4f..ee4531f745 100644
--- a/civicrm/CRM/Core/Config/MagicMerge.php
+++ b/civicrm/CRM/Core/Config/MagicMerge.php
@@ -206,6 +206,7 @@ class CRM_Core_Config_MagicMerge {
       'userFrameworkResourceURL' => array('setting-url'),
 
       // "callback" properties are generated on-demand by calling a function.
+      // @todo remove geocodeMethod. As of Feb 2018, $config->geocodeMethod works but gives a deprecation warning.
       'geocodeMethod' => array('callback', 'CRM_Utils_Geocode', 'getProviderClass'),
       'defaultCurrencySymbol' => array('callback', 'CRM_Core_BAO_Country', 'getDefaultCurrencySymbol'),
     );
diff --git a/civicrm/CRM/Core/DAO.php b/civicrm/CRM/Core/DAO.php
index 11663af97e..f821036b16 100644
--- a/civicrm/CRM/Core/DAO.php
+++ b/civicrm/CRM/Core/DAO.php
@@ -26,7 +26,9 @@
  */
 
 /**
- * Our base DAO class. All DAO classes should inherit from this class.
+ * Base Database Access Object class.
+ *
+ * All DAO classes should inherit from this class.
  *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -81,7 +83,11 @@ class CRM_Core_DAO extends DB_DataObject {
     /**
      * @deprecated format using php serialize()
      */
-    SERIALIZE_PHP = 4;
+    SERIALIZE_PHP = 4,
+    /**
+     * Comma separated string, no quotes, no spaces
+     */
+    SERIALIZE_COMMA = 5;
 
   /**
    * Define entities that shouldn't be created or deleted when creating/ deleting
@@ -403,6 +409,7 @@ class CRM_Core_DAO extends DB_DataObject {
    * Factory method to instantiate a new object from a table name.
    *
    * @param string $table
+   * @return \DataObject|\PEAR_Error
    */
   public function factory($table = '') {
     if (!isset(self::$_factory)) {
@@ -429,7 +436,6 @@ class CRM_Core_DAO extends DB_DataObject {
   /**
    * Defines the default key as 'id'.
    *
-   *
    * @return array
    */
   public function keys() {
@@ -484,7 +490,7 @@ class CRM_Core_DAO extends DB_DataObject {
    *   (associative)
    */
   public function table() {
-    $fields = &$this->fields();
+    $fields = $this->fields();
 
     $table = array();
     if ($fields) {
@@ -604,12 +610,18 @@ class CRM_Core_DAO extends DB_DataObject {
    *
    * @param array $params
    *   (reference ) associative array of name/value pairs.
+   * @param bool $serializeArrays
+   *   Should arrays that are passed in be serialised according to the metadata.
+   *   Eventually this should be always true / gone, but in the interests of caution
+   *   it is being grandfathered in. In general an array is not valid on the DAO
+   *   but there may be instances where this function is called & then some handling
+   *   takes place on the would-be array.
    *
    * @return bool
    *   Did we copy all null values into the object
    */
-  public function copyValues(&$params) {
-    $fields = &$this->fields();
+  public function copyValues(&$params, $serializeArrays = FALSE) {
+    $fields = $this->fields();
     $allNull = TRUE;
     foreach ($fields as $name => $value) {
       $dbName = $value['name'];
@@ -630,7 +642,14 @@ class CRM_Core_DAO extends DB_DataObject {
         if ($pValue === '') {
           $this->$dbName = 'null';
         }
+        elseif ($serializeArrays && is_array($pValue) && !empty($value['serialize'])) {
+          $this->$dbName = CRM_Core_DAO::serializeField($pValue, $value['serialize']);
+          $allNull = FALSE;
+        }
         else {
+          if (!$serializeArrays && is_array($pValue) && !empty($value['serialize'])) {
+            Civi::log()->warning(ts('use copyParams to serialize arrays (' . __CLASS__ . '.' . $name . ')'), ['civi.tag' => 'deprecated']);
+          }
           $this->$dbName = $pValue;
           $allNull = FALSE;
         }
@@ -650,7 +669,7 @@ class CRM_Core_DAO extends DB_DataObject {
    *   (reference ) associative array of name/value pairs.
    */
   public static function storeValues(&$object, &$values) {
-    $fields = &$object->fields();
+    $fields = $object->fields();
     foreach ($fields as $name => $value) {
       $dbName = $value['name'];
       if (isset($object->$dbName) && $object->$dbName !== 'null') {
@@ -726,7 +745,7 @@ class CRM_Core_DAO extends DB_DataObject {
    */
   public static function getAttribute($class, $fieldName = NULL) {
     $object = new $class();
-    $fields = &$object->fields();
+    $fields = $object->fields();
     if ($fieldName != NULL) {
       $field = CRM_Utils_Array::value($fieldName, $fields);
       return self::makeAttribute($field);
@@ -747,15 +766,6 @@ class CRM_Core_DAO extends DB_DataObject {
     return NULL;
   }
 
-  /**
-   * @param $type
-   *
-   * @throws Exception
-   */
-  public static function transaction($type) {
-    CRM_Core_Error::fatal('This function is obsolete, please use CRM_Core_Transaction');
-  }
-
   /**
    * Check if there is a record with the same name in the db.
    *
@@ -1031,8 +1041,10 @@ FROM   civicrm_domain
    * @param int $id
    *   Id of the DAO object being searched for.
    *
-   * @return object
+   * @return CRM_Core_DAO
    *   Object of the type of the class that called this function.
+   *
+   * @throws Exception
    */
   public static function findById($id) {
     $object = new static();
@@ -1181,7 +1193,6 @@ FROM   civicrm_domain
    *   Default sort value.
    *
    * @return string
-   *   sortString
    */
   public static function getSortString($sort, $default = NULL) {
     // check if sort is of type CRM_Utils_Sort
@@ -1189,6 +1200,8 @@ FROM   civicrm_domain
       return $sort->orderBy();
     }
 
+    $sortString = '';
+
     // is it an array specified as $field => $sortDirection ?
     if ($sort) {
       foreach ($sort as $k => $v) {
@@ -1506,23 +1519,21 @@ FROM   civicrm_domain
   }
 
   /**
-   * make a shallow copy of an object.
-   * and all the fields in the object
+   * Make a shallow copy of an object and all the fields in the object.
    *
    * @param string $daoName
    *   Name of the dao.
    * @param array $criteria
    *   Array of all the fields & values.
-   *                                        on which basis to copy
+   *   on which basis to copy
    * @param array $newData
    *   Array of all the fields & values.
-   *                                        to be copied besides the other fields
+   *   to be copied besides the other fields
    * @param string $fieldsFix
    *   Array of fields that you want to prefix/suffix/replace.
    * @param string $blockCopyOfDependencies
    *   Fields that you want to block from.
-   *                                        getting copied
-   *
+   *   getting copied
    *
    * @return CRM_Core_DAO
    *   the newly created copy of the object
@@ -1550,7 +1561,7 @@ FROM   civicrm_domain
 
       $newObject = new $daoName();
 
-      $fields = &$object->fields();
+      $fields = $object->fields();
       if (!is_array($fieldsFix)) {
         $fieldsToPrefix = array();
         $fieldsToSuffix = array();
@@ -1619,7 +1630,7 @@ FROM   civicrm_domain
       $newObject->id = $toId;
 
       if ($newObject->find(TRUE)) {
-        $fields = &$object->fields();
+        $fields = $object->fields();
         foreach ($fields as $name => $value) {
           if ($name == 'id' || $value['name'] == 'id') {
             // copy everything but the id!
@@ -1711,6 +1722,11 @@ SELECT contact_id
     return $details;
   }
 
+  /**
+   * Drop all CiviCRM tables.
+   *
+   * @throws \CRM_Exception
+   */
   public static function dropAllTables() {
 
     // first drop all the custom tables we've created
@@ -1843,7 +1859,7 @@ SELECT contact_id
       /** @var CRM_Core_DAO $object */
       $object = new $daoName();
 
-      $fields = &$object->fields();
+      $fields = $object->fields();
       foreach ($fields as $fieldName => $fieldDef) {
         $dbName = $fieldDef['name'];
         $FKClassName = CRM_Utils_Array::value('FKClassName', $fieldDef);
@@ -1904,7 +1920,7 @@ SELECT contact_id
     $deletions = array(); // array(array(0 => $daoName, 1 => $daoParams))
     if ($object->find(TRUE)) {
 
-      $fields = &$object->fields();
+      $fields = $object->fields();
       foreach ($fields as $name => $value) {
 
         $dbName = $value['name'];
@@ -2616,6 +2632,7 @@ SELECT contact_id
    * @param array|NULL $value
    * @param $serializationType
    * @return string|NULL
+   * @throws \Exception
    */
   public static function serializeField($value, $serializationType) {
     if ($value === NULL) {
@@ -2633,6 +2650,12 @@ SELECT contact_id
 
       case self::SERIALIZE_PHP:
         return is_array($value) ? serialize($value) : $value;
+
+      case self::SERIALIZE_COMMA:
+        return is_array($value) ? implode(',', $value) : $value;
+
+      default:
+        throw new Exception('Unknown serialization method for field.');
     }
   }
 
@@ -2642,6 +2665,7 @@ SELECT contact_id
    * @param string|null $value
    * @param $serializationType
    * @return array|null
+   * @throws \Exception
    */
   public static function unSerializeField($value, $serializationType) {
     if ($value === NULL) {
@@ -2662,6 +2686,12 @@ SELECT contact_id
 
       case self::SERIALIZE_PHP:
         return strlen($value) ? unserialize($value) : array();
+
+      case self::SERIALIZE_COMMA:
+        return explode(',', trim(str_replace(', ', '', $value)));
+
+      default:
+        throw new Exception('Unknown serialization method for field.');
     }
   }
 
diff --git a/civicrm/CRM/Core/DAO/ActionLog.php b/civicrm/CRM/Core/DAO/ActionLog.php
index 56f97ac014..9b3caefb5e 100644
--- a/civicrm/CRM/Core/DAO/ActionLog.php
+++ b/civicrm/CRM/Core/DAO/ActionLog.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,150 +8,163 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:4ef96df03630ecc884c881b79a40818f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_ActionLog constructor.
+ * Database access object for the ActionLog entity.
  */
 class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_action_log';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to id of the entity that the action was performed on. Pseudo - FK.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * name of the entity table for the above id, e.g. civicrm_activity, civicrm_participant
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to the action schedule that this action originated from.
    *
    * @var int unsigned
    */
   public $action_schedule_id;
+
   /**
    * date time that the action was performed on.
    *
    * @var datetime
    */
   public $action_date_time;
+
   /**
    * Was there any error sending the reminder?
    *
    * @var boolean
    */
   public $is_error;
+
   /**
    * Description / text in case there was an error encountered.
    *
    * @var text
    */
   public $message;
+
   /**
    * Keeps track of the sequence number of this repetition.
    *
    * @var int unsigned
    */
   public $repetition_number;
+
   /**
    * Stores the date from the entity which triggered this reminder action (e.g. membership.end_date for most membership renewal reminders)
    *
    * @var date
    */
   public $reference_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_action_log';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'action_schedule_id', 'civicrm_action_schedule', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'action_schedule_id', 'civicrm_action_schedule', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Action Schedule ID') ,
-          'required' => true,
+          'title' => ts('Action Schedule ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Action Schedule Contact ID') ,
+          'title' => ts('Action Schedule Contact ID'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'FK to id of the entity that the action was performed on. Pseudo - FK.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'name of the entity table for the above id, e.g. civicrm_activity, civicrm_participant',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -183,103 +172,107 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'action_schedule_id' => array(
+        ],
+        'action_schedule_id' => [
           'name' => 'action_schedule_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Schedule') ,
+          'title' => ts('Schedule'),
           'description' => 'FK to the action schedule that this action originated from.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_ActionSchedule',
-        ) ,
-        'action_date_time' => array(
+        ],
+        'action_date_time' => [
           'name' => 'action_date_time',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Action Date And Time') ,
+          'title' => ts('Action Date And Time'),
           'description' => 'date time that the action was performed on.',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'is_error' => array(
+        ],
+        'is_error' => [
           'name' => 'is_error',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Error?') ,
+          'title' => ts('Error?'),
           'description' => 'Was there any error sending the reminder?',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'message' => array(
+        ],
+        'message' => [
           'name' => 'message',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Message') ,
+          'title' => ts('Message'),
           'description' => 'Description / text in case there was an error encountered.',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'repetition_number' => array(
+        ],
+        'repetition_number' => [
           'name' => 'repetition_number',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Repetition Number') ,
+          'title' => ts('Repetition Number'),
           'description' => 'Keeps track of the sequence number of this repetition.',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-        'reference_date' => array(
+        ],
+        'reference_date' => [
           'name' => 'reference_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Reference Date') ,
+          'title' => ts('Reference Date'),
           'description' => 'Stores the date from the entity which triggered this reminder action (e.g. membership.end_date for most membership renewal reminders)',
           'default' => 'NULL',
           'table_name' => 'civicrm_action_log',
           'entity' => 'ActionLog',
           'bao' => 'CRM_Core_BAO_ActionLog',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -287,10 +280,11 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_log', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -298,15 +292,21 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_log', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/ActionMapping.php b/civicrm/CRM/Core/DAO/ActionMapping.php
index c4e5387560..c45168dca9 100644
--- a/civicrm/CRM/Core/DAO/ActionMapping.php
+++ b/civicrm/CRM/Core/DAO/ActionMapping.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,106 +8,117 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:3ae720be63fdf4626db2d1508c2d8f44)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_ActionMapping constructor.
+ * Database access object for the ActionMapping entity.
  */
 class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_action_mapping';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Entity for which the reminder is created
    *
    * @var string
    */
   public $entity;
+
   /**
    * Entity value
    *
    * @var string
    */
   public $entity_value;
+
   /**
    * Entity value label
    *
    * @var string
    */
   public $entity_value_label;
+
   /**
    * Entity status
    *
    * @var string
    */
   public $entity_status;
+
   /**
    * Entity status label
    *
    * @var string
    */
   public $entity_status_label;
+
   /**
    * Entity date
    *
    * @var string
    */
   public $entity_date_start;
+
   /**
    * Entity date
    *
    * @var string
    */
   public $entity_date_end;
+
   /**
    * Entity recipient
    *
    * @var string
    */
   public $entity_recipient;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_action_mapping';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Action Mapping ID') ,
-          'required' => true,
+          'title' => ts('Action Mapping ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_action_mapping',
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity' => array(
+        ],
+        'entity' => [
           'name' => 'entity',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Action Mapping Entity') ,
+          'title' => ts('Action Mapping Entity'),
           'description' => 'Entity for which the reminder is created',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -139,11 +126,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_value' => array(
+        ],
+        'entity_value' => [
           'name' => 'entity_value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Action Mapping Entity Value') ,
+          'title' => ts('Action Mapping Entity Value'),
           'description' => 'Entity value',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -151,11 +138,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_value_label' => array(
+        ],
+        'entity_value_label' => [
           'name' => 'entity_value_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Value Label') ,
+          'title' => ts('Value Label'),
           'description' => 'Entity value label',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -163,11 +150,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_status' => array(
+        ],
+        'entity_status' => [
           'name' => 'entity_status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Status') ,
+          'title' => ts('Status'),
           'description' => 'Entity status',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -175,11 +162,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_status_label' => array(
+        ],
+        'entity_status_label' => [
           'name' => 'entity_status_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Status Label') ,
+          'title' => ts('Status Label'),
           'description' => 'Entity status label',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -187,11 +174,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_date_start' => array(
+        ],
+        'entity_date_start' => [
           'name' => 'entity_date_start',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Start Date') ,
+          'title' => ts('Entity Start Date'),
           'description' => 'Entity date',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -199,11 +186,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_date_end' => array(
+        ],
+        'entity_date_end' => [
           'name' => 'entity_date_end',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity End Date') ,
+          'title' => ts('Entity End Date'),
           'description' => 'Entity date',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -211,11 +198,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-        'entity_recipient' => array(
+        ],
+        'entity_recipient' => [
           'name' => 'entity_recipient',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Recipient') ,
+          'title' => ts('Entity Recipient'),
           'description' => 'Entity recipient',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -223,40 +210,44 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
           'entity' => 'ActionMapping',
           'bao' => 'CRM_Core_DAO_ActionMapping',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -264,10 +255,11 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_mapping', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_mapping', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -275,15 +267,21 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_mapping', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_mapping', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/ActionSchedule.php b/civicrm/CRM/Core/DAO/ActionSchedule.php
index 492e8775fc..e2a8df4248 100644
--- a/civicrm/CRM/Core/DAO/ActionSchedule.php
+++ b/civicrm/CRM/Core/DAO/ActionSchedule.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,295 +8,334 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:d158b2da297ca83e4210a3fa0da8d5eb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_ActionSchedule constructor.
+ * Database access object for the ActionSchedule entity.
  */
 class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_action_schedule';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the action(reminder)
    *
    * @var string
    */
   public $name;
+
   /**
    * Title of the action(reminder)
    *
    * @var string
    */
   public $title;
+
   /**
    * Recipient
    *
    * @var string
    */
   public $recipient;
+
   /**
    * Is this the recipient criteria limited to OR in addition to?
    *
    * @var boolean
    */
   public $limit_to;
+
   /**
    * Entity value
    *
    * @var string
    */
   public $entity_value;
+
   /**
    * Entity status
    *
    * @var string
    */
   public $entity_status;
+
   /**
    * Reminder Interval.
    *
    * @var int unsigned
    */
   public $start_action_offset;
+
   /**
    * Time units for reminder.
    *
    * @var string
    */
   public $start_action_unit;
+
   /**
    * Reminder Action
    *
    * @var string
    */
   public $start_action_condition;
+
   /**
    * Entity date
    *
    * @var string
    */
   public $start_action_date;
+
   /**
-   *
    * @var boolean
    */
   public $is_repeat;
+
   /**
    * Time units for repetition of reminder.
    *
    * @var string
    */
   public $repetition_frequency_unit;
+
   /**
    * Time interval for repeating the reminder.
    *
    * @var int unsigned
    */
   public $repetition_frequency_interval;
+
   /**
    * Time units till repetition of reminder.
    *
    * @var string
    */
   public $end_frequency_unit;
+
   /**
    * Time interval till repeating the reminder.
    *
    * @var int unsigned
    */
   public $end_frequency_interval;
+
   /**
    * Reminder Action till repeating the reminder.
    *
    * @var string
    */
   public $end_action;
+
   /**
    * Entity end date
    *
    * @var string
    */
   public $end_date;
+
   /**
    * Is this option active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Contact IDs to which reminder should be sent.
    *
    * @var string
    */
   public $recipient_manual;
+
   /**
    * listing based on recipient field.
    *
    * @var string
    */
   public $recipient_listing;
+
   /**
    * Body of the mailing in text format.
    *
    * @var longtext
    */
   public $body_text;
+
   /**
    * Body of the mailing in html format.
    *
    * @var longtext
    */
   public $body_html;
+
   /**
    * Content of the SMS text.
    *
    * @var longtext
    */
   public $sms_body_text;
+
   /**
    * Subject of mailing
    *
    * @var string
    */
   public $subject;
+
   /**
    * Record Activity for this reminder?
    *
    * @var boolean
    */
   public $record_activity;
+
   /**
    * Name/ID of the mapping to use on this table
    *
    * @var string
    */
   public $mapping_id;
+
   /**
    * FK to Group
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * FK to the message template.
    *
    * @var int unsigned
    */
   public $msg_template_id;
+
   /**
    * FK to the message template.
    *
    * @var int unsigned
    */
   public $sms_template_id;
+
   /**
    * Date on which the reminder be sent.
    *
    * @var date
    */
   public $absolute_date;
+
   /**
    * Name in "from" field
    *
    * @var string
    */
   public $from_name;
+
   /**
    * Email address in "from" field
    *
    * @var string
    */
   public $from_email;
+
   /**
    * Send the message as email or sms or both.
    *
    * @var string
    */
   public $mode;
+
   /**
-   *
    * @var int unsigned
    */
   public $sms_provider_id;
+
   /**
    * Used for repeating entity
    *
    * @var string
    */
   public $used_for;
+
   /**
    * Used for multilingual installation
    *
    * @var string
    */
   public $filter_contact_language;
+
   /**
    * Used for multilingual installation
    *
    * @var string
    */
   public $communication_language;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_action_schedule';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'msg_template_id', 'civicrm_msg_template', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'sms_template_id', 'civicrm_msg_template', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'sms_provider_id', 'civicrm_sms_provider', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'msg_template_id', 'civicrm_msg_template', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'sms_template_id', 'civicrm_msg_template', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'sms_provider_id', 'civicrm_sms_provider', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Action Schedule ID') ,
-          'required' => true,
+          'title' => ts('Action Schedule ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Name of the action(reminder)',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -328,11 +343,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title') ,
+          'title' => ts('Title'),
           'description' => 'Title of the action(reminder)',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -340,11 +355,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'recipient' => array(
+        ],
+        'recipient' => [
           'name' => 'recipient',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Recipient') ,
+          'title' => ts('Recipient'),
           'description' => 'Recipient',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -352,21 +367,21 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'limit_to' => array(
+        ],
+        'limit_to' => [
           'name' => 'limit_to',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Limit To') ,
+          'title' => ts('Limit To'),
           'description' => 'Is this the recipient criteria limited to OR in addition to?',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'entity_value' => array(
+        ],
+        'entity_value' => [
           'name' => 'entity_value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Value') ,
+          'title' => ts('Entity Value'),
           'description' => 'Entity value',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -374,11 +389,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'entity_status' => array(
+        ],
+        'entity_status' => [
           'name' => 'entity_status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Status') ,
+          'title' => ts('Entity Status'),
           'description' => 'Entity status',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -386,21 +401,21 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'start_action_offset' => array(
+        ],
+        'start_action_offset' => [
           'name' => 'start_action_offset',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Start Action Offset') ,
+          'title' => ts('Start Action Offset'),
           'description' => 'Reminder Interval.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'start_action_unit' => array(
+        ],
+        'start_action_unit' => [
           'name' => 'start_action_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Start Action Unit') ,
+          'title' => ts('Start Action Unit'),
           'description' => 'Time units for reminder.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -408,17 +423,17 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
-          )
-        ) ,
-        'start_action_condition' => array(
+          ]
+        ],
+        'start_action_condition' => [
           'name' => 'start_action_condition',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Start Action Condition') ,
+          'title' => ts('Start Action Condition'),
           'description' => 'Reminder Action',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -426,11 +441,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'start_action_date' => array(
+        ],
+        'start_action_date' => [
           'name' => 'start_action_date',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Start Action Date') ,
+          'title' => ts('Start Action Date'),
           'description' => 'Entity date',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -438,20 +453,20 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'is_repeat' => array(
+        ],
+        'is_repeat' => [
           'name' => 'is_repeat',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Repeat?') ,
+          'title' => ts('Repeat?'),
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'repetition_frequency_unit' => array(
+        ],
+        'repetition_frequency_unit' => [
           'name' => 'repetition_frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Repetition Frequency Unit') ,
+          'title' => ts('Repetition Frequency Unit'),
           'description' => 'Time units for repetition of reminder.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -459,27 +474,27 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
-          )
-        ) ,
-        'repetition_frequency_interval' => array(
+          ]
+        ],
+        'repetition_frequency_interval' => [
           'name' => 'repetition_frequency_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Repetition Frequency Interval') ,
+          'title' => ts('Repetition Frequency Interval'),
           'description' => 'Time interval for repeating the reminder.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'end_frequency_unit' => array(
+        ],
+        'end_frequency_unit' => [
           'name' => 'end_frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('End Frequency Unit') ,
+          'title' => ts('End Frequency Unit'),
           'description' => 'Time units till repetition of reminder.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -487,27 +502,27 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
-          )
-        ) ,
-        'end_frequency_interval' => array(
+          ]
+        ],
+        'end_frequency_interval' => [
           'name' => 'end_frequency_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('End Frequency Interval') ,
+          'title' => ts('End Frequency Interval'),
           'description' => 'Time interval till repeating the reminder.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'end_action' => array(
+        ],
+        'end_action' => [
           'name' => 'end_action',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('End Action') ,
+          'title' => ts('End Action'),
           'description' => 'Reminder Action till repeating the reminder.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -515,11 +530,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'end_date' => array(
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('End Date') ,
+          'title' => ts('End Date'),
           'description' => 'Entity end date',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -527,22 +542,22 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Schedule is Active?') ,
+          'title' => ts('Schedule is Active?'),
           'description' => 'Is this option active?',
           'default' => '1',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'recipient_manual' => array(
+        ],
+        'recipient_manual' => [
           'name' => 'recipient_manual',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Recipient Manual') ,
+          'title' => ts('Recipient Manual'),
           'description' => 'Contact IDs to which reminder should be sent.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -550,11 +565,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'recipient_listing' => array(
+        ],
+        'recipient_listing' => [
           'name' => 'recipient_listing',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Recipient Listing') ,
+          'title' => ts('Recipient Listing'),
           'description' => 'listing based on recipient field.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -562,41 +577,41 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'body_text' => array(
+        ],
+        'body_text' => [
           'name' => 'body_text',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Reminder Text') ,
+          'title' => ts('Reminder Text'),
           'description' => 'Body of the mailing in text format.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'body_html' => array(
+        ],
+        'body_html' => [
           'name' => 'body_html',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Reminder HTML') ,
+          'title' => ts('Reminder HTML'),
           'description' => 'Body of the mailing in html format.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'sms_body_text' => array(
+        ],
+        'sms_body_text' => [
           'name' => 'sms_body_text',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('SMS Reminder Text') ,
+          'title' => ts('SMS Reminder Text'),
           'description' => 'Content of the SMS text.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'subject' => array(
+        ],
+        'subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Reminder Subject') ,
+          'title' => ts('Reminder Subject'),
           'description' => 'Subject of mailing',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -604,22 +619,22 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'record_activity' => array(
+        ],
+        'record_activity' => [
           'name' => 'record_activity',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Record Activity for Reminder?') ,
+          'title' => ts('Record Activity for Reminder?'),
           'description' => 'Record Activity for this reminder?',
           'default' => 'NULL',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'mapping_id' => array(
+        ],
+        'mapping_id' => [
           'name' => 'mapping_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Reminder Mapping') ,
+          'title' => ts('Reminder Mapping'),
           'description' => 'Name/ID of the mapping to use on this table',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -627,62 +642,62 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Reminder Group') ,
+          'title' => ts('Reminder Group'),
           'description' => 'FK to Group',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'msg_template_id' => array(
+          ]
+        ],
+        'msg_template_id' => [
           'name' => 'msg_template_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Reminder Template') ,
+          'title' => ts('Reminder Template'),
           'description' => 'FK to the message template.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_MessageTemplate',
-        ) ,
-        'sms_template_id' => array(
+        ],
+        'sms_template_id' => [
           'name' => 'sms_template_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('SMS Reminder Template') ,
+          'title' => ts('SMS Reminder Template'),
           'description' => 'FK to the message template.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_MessageTemplate',
-        ) ,
-        'absolute_date' => array(
+        ],
+        'absolute_date' => [
           'name' => 'absolute_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Fixed Date for Reminder') ,
+          'title' => ts('Fixed Date for Reminder'),
           'description' => 'Date on which the reminder be sent.',
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'from_name' => array(
+        ],
+        'from_name' => [
           'name' => 'from_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Reminder from Name') ,
+          'title' => ts('Reminder from Name'),
           'description' => 'Name in "from" field',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -690,11 +705,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'from_email' => array(
+        ],
+        'from_email' => [
           'name' => 'from_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Reminder From Email') ,
+          'title' => ts('Reminder From Email'),
           'description' => 'Email address in "from" field',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -702,11 +717,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'mode' => array(
+        ],
+        'mode' => [
           'name' => 'mode',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Message Mode') ,
+          'title' => ts('Message Mode'),
           'description' => 'Send the message as email or sms or both.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -715,31 +730,31 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'msg_mode',
             'optionEditPath' => 'civicrm/admin/options/msg_mode',
-          )
-        ) ,
-        'sms_provider_id' => array(
+          ]
+        ],
+        'sms_provider_id' => [
           'name' => 'sms_provider_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('SMS Provider') ,
+          'title' => ts('SMS Provider'),
           'table_name' => 'civicrm_action_schedule',
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
           'FKClassName' => 'CRM_SMS_DAO_Provider',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'used_for' => array(
+          ],
+        ],
+        'used_for' => [
           'name' => 'used_for',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Used For') ,
+          'title' => ts('Used For'),
           'description' => 'Used for repeating entity',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -747,11 +762,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'filter_contact_language' => array(
+        ],
+        'filter_contact_language' => [
           'name' => 'filter_contact_language',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Filter Contact Language') ,
+          'title' => ts('Filter Contact Language'),
           'description' => 'Used for multilingual installation',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -759,11 +774,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-        'communication_language' => array(
+        ],
+        'communication_language' => [
           'name' => 'communication_language',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Communication Language') ,
+          'title' => ts('Communication Language'),
           'description' => 'Used for multilingual installation',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -771,40 +786,44 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
           'entity' => 'ActionSchedule',
           'bao' => 'CRM_Core_BAO_ActionSchedule',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -812,10 +831,11 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_schedule', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_schedule', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -823,15 +843,21 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_schedule', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_schedule', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Address.php b/civicrm/CRM/Core/DAO/Address.php
index 924980b465..462cb832a8 100644
--- a/civicrm/CRM/Core/DAO/Address.php
+++ b/civicrm/CRM/Core/DAO/Address.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,54 +8,61 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:472057d193d1e875a14e7719a2d6a2ee)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Address constructor.
+ * Database access object for the Address entity.
  */
 class CRM_Core_DAO_Address extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_address';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Address ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Which Location does this address belong to.
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * Is this the primary address.
    *
    * @var boolean
    */
   public $is_primary;
+
   /**
    * Is this the billing address.
    *
    * @var boolean
    */
   public $is_billing;
+
   /**
    * Concatenation of all routable street address components (prefix, street number, street name, suffix, unit
    number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
@@ -88,271 +71,296 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    * @var string
    */
   public $street_address;
+
   /**
    * Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.
    *
    * @var int
    */
   public $street_number;
+
   /**
    * Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
    *
    * @var string
    */
   public $street_number_suffix;
+
   /**
    * Directional prefix, e.g. SE Main St, SE is the prefix.
    *
    * @var string
    */
   public $street_number_predirectional;
+
   /**
    * Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.
    *
    * @var string
    */
   public $street_name;
+
   /**
    * St, Rd, Dr, etc.
    *
    * @var string
    */
   public $street_type;
+
   /**
    * Directional prefix, e.g. Main St S, S is the suffix.
    *
    * @var string
    */
   public $street_number_postdirectional;
+
   /**
    * Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200
    *
    * @var string
    */
   public $street_unit;
+
   /**
    * Supplemental Address Information, Line 1
    *
    * @var string
    */
   public $supplemental_address_1;
+
   /**
    * Supplemental Address Information, Line 2
    *
    * @var string
    */
   public $supplemental_address_2;
+
   /**
    * Supplemental Address Information, Line 3
    *
    * @var string
    */
   public $supplemental_address_3;
+
   /**
    * City, Town or Village Name.
    *
    * @var string
    */
   public $city;
+
   /**
    * Which County does this address belong to.
    *
    * @var int unsigned
    */
   public $county_id;
+
   /**
    * Which State_Province does this address belong to.
    *
    * @var int unsigned
    */
   public $state_province_id;
+
   /**
    * Store the suffix, like the +4 part in the USPS system.
    *
    * @var string
    */
   public $postal_code_suffix;
+
   /**
    * Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate validation.
    *
    * @var string
    */
   public $postal_code;
+
   /**
    * USPS Bulk mailing code.
    *
    * @var string
    */
   public $usps_adc;
+
   /**
    * Which Country does this address belong to.
    *
    * @var int unsigned
    */
   public $country_id;
+
   /**
    * Latitude
    *
    * @var float
    */
   public $geo_code_1;
+
   /**
    * Longitude
    *
    * @var float
    */
   public $geo_code_2;
+
   /**
    * Is this a manually entered geo code
    *
    * @var boolean
    */
   public $manual_geo_code;
+
   /**
    * Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".
    *
    * @var string
    */
   public $timezone;
+
   /**
-   *
    * @var string
    */
   public $name;
+
   /**
    * FK to Address ID
    *
    * @var int unsigned
    */
   public $master_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_address';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'county_id', 'civicrm_county', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'state_province_id', 'civicrm_state_province', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'country_id', 'civicrm_country', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'master_id', 'civicrm_address', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'county_id', 'civicrm_county', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'state_province_id', 'civicrm_state_province', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'country_id', 'civicrm_country', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'master_id', 'civicrm_address', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Address ID') ,
+          'title' => ts('Address ID'),
           'description' => 'Unique Address ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Address Location Type') ,
+          'title' => ts('Address Location Type'),
           'description' => 'Which Location does this address belong to.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_location_type',
             'keyColumn' => 'id',
             'labelColumn' => 'display_name',
-          )
-        ) ,
-        'is_primary' => array(
+          ]
+        ],
+        'is_primary' => [
           'name' => 'is_primary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Address Primary?') ,
+          'title' => ts('Is Address Primary?'),
           'description' => 'Is this the primary address.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_billing' => array(
+          ],
+        ],
+        'is_billing' => [
           'name' => 'is_billing',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Billing Address') ,
+          'title' => ts('Is Billing Address'),
           'description' => 'Is this the billing address.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'street_address' => array(
+          ],
+        ],
+        'street_address' => [
           'name' => 'street_address',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Address') ,
+          'title' => ts('Street Address'),
           'description' => 'Concatenation of all routable street address components (prefix, street number, street name, suffix, unit
       number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
       delivery, etc.).
     ',
           'maxlength' => 96,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.street_address',
           'headerPattern' => '/(street|address)/i',
           'dataPattern' => '/^(\d{1,5}( [0-9A-Za-z]+)+)$|^(P\.?O\.\? Box \d{1,5})$/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_number' => array(
+          ],
+        ],
+        'street_number' => [
           'name' => 'street_number',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Street Number') ,
+          'title' => ts('Street Number'),
           'description' => 'Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_address.street_number',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -360,19 +368,19 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_number_suffix' => array(
+          ],
+        ],
+        'street_number_suffix' => [
           'name' => 'street_number_suffix',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Number Suffix') ,
+          'title' => ts('Street Number Suffix'),
           'description' => 'Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
     ',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_address.street_number_suffix',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -380,14 +388,14 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_number_predirectional' => array(
+          ],
+        ],
+        'street_number_predirectional' => [
           'name' => 'street_number_predirectional',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Direction Prefix') ,
+          'title' => ts('Street Direction Prefix'),
           'description' => 'Directional prefix, e.g. SE Main St, SE is the prefix.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -395,18 +403,18 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_name' => array(
+          ],
+        ],
+        'street_name' => [
           'name' => 'street_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Name') ,
+          'title' => ts('Street Name'),
           'description' => 'Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_address.street_name',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -414,14 +422,14 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_type' => array(
+          ],
+        ],
+        'street_type' => [
           'name' => 'street_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Type') ,
+          'title' => ts('Street Type'),
           'description' => 'St, Rd, Dr, etc.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -429,14 +437,14 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_number_postdirectional' => array(
+          ],
+        ],
+        'street_number_postdirectional' => [
           'name' => 'street_number_postdirectional',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Direction Suffix') ,
+          'title' => ts('Street Direction Suffix'),
           'description' => 'Directional prefix, e.g. Main St S, S is the suffix.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -444,18 +452,18 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'street_unit' => array(
+          ],
+        ],
+        'street_unit' => [
           'name' => 'street_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Street Unit') ,
+          'title' => ts('Street Unit'),
           'description' => 'Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200',
           'maxlength' => 16,
           'size' => CRM_Utils_Type::TWELVE,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_address.street_unit',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -463,172 +471,172 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'supplemental_address_1' => array(
+          ],
+        ],
+        'supplemental_address_1' => [
           'name' => 'supplemental_address_1',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Supplemental Address 1') ,
+          'title' => ts('Supplemental Address 1'),
           'description' => 'Supplemental Address Information, Line 1',
           'maxlength' => 96,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.supplemental_address_1',
           'headerPattern' => '/(supplemental(\s)?)?address(\s\d+)?/i',
           'dataPattern' => '/unit|ap(ar)?t(ment)?\s(\d|\w)+/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'supplemental_address_2' => array(
+          ],
+        ],
+        'supplemental_address_2' => [
           'name' => 'supplemental_address_2',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Supplemental Address 2') ,
+          'title' => ts('Supplemental Address 2'),
           'description' => 'Supplemental Address Information, Line 2',
           'maxlength' => 96,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.supplemental_address_2',
           'headerPattern' => '/(supplemental(\s)?)?address(\s\d+)?/i',
           'dataPattern' => '/unit|ap(ar)?t(ment)?\s(\d|\w)+/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'supplemental_address_3' => array(
+          ],
+        ],
+        'supplemental_address_3' => [
           'name' => 'supplemental_address_3',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Supplemental Address 3') ,
+          'title' => ts('Supplemental Address 3'),
           'description' => 'Supplemental Address Information, Line 3',
           'maxlength' => 96,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.supplemental_address_3',
           'headerPattern' => '/(supplemental(\s)?)?address(\s\d+)?/i',
           'dataPattern' => '/unit|ap(ar)?t(ment)?\s(\d|\w)+/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'city' => array(
+          ],
+        ],
+        'city' => [
           'name' => 'city',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('City') ,
+          'title' => ts('City'),
           'description' => 'City, Town or Village Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.city',
           'headerPattern' => '/city/i',
           'dataPattern' => '/^[A-Za-z]+(\.?)(\s?[A-Za-z]+){0,2}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'county_id' => array(
+          ],
+        ],
+        'county_id' => [
           'name' => 'county_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('County') ,
+          'title' => ts('County'),
           'description' => 'Which County does this address belong to.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_County',
-          'html' => array(
+          'html' => [
             'type' => 'ChainSelect',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_county',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'state_province_id' => array(
+          ]
+        ],
+        'state_province_id' => [
           'name' => 'state_province_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('State/Province') ,
+          'title' => ts('State/Province'),
           'description' => 'Which State_Province does this address belong to.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_StateProvince',
-          'html' => array(
+          'html' => [
             'type' => 'ChainSelect',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_state_province',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'postal_code_suffix' => array(
+          ]
+        ],
+        'postal_code_suffix' => [
           'name' => 'postal_code_suffix',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Postal Code Suffix') ,
+          'title' => ts('Postal Code Suffix'),
           'description' => 'Store the suffix, like the +4 part in the USPS system.',
           'maxlength' => 12,
           'size' => 3,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.postal_code_suffix',
           'headerPattern' => '/p(ostal)\sc(ode)\ss(uffix)/i',
           'dataPattern' => '/\d?\d{4}(-\d{4})?/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'postal_code' => array(
+          ],
+        ],
+        'postal_code' => [
           'name' => 'postal_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Postal Code') ,
+          'title' => ts('Postal Code'),
           'description' => 'Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate validation.',
           'maxlength' => 64,
           'size' => 6,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.postal_code',
           'headerPattern' => '/postal|zip/i',
           'dataPattern' => '/\d?\d{4}(-\d{4})?/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'usps_adc' => array(
+          ],
+        ],
+        'usps_adc' => [
           'name' => 'usps_adc',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('USPS Code') ,
+          'title' => ts('USPS Code'),
           'description' => 'USPS Bulk mailing code.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -636,80 +644,80 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-        ) ,
-        'country_id' => array(
+        ],
+        'country_id' => [
           'name' => 'country_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Country') ,
+          'title' => ts('Country'),
           'description' => 'Which Country does this address belong to.',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Country',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_country',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
             'nameColumn' => 'iso_code',
-          )
-        ) ,
-        'geo_code_1' => array(
+          ]
+        ],
+        'geo_code_1' => [
           'name' => 'geo_code_1',
           'type' => CRM_Utils_Type::T_FLOAT,
-          'title' => ts('Latitude') ,
+          'title' => ts('Latitude'),
           'description' => 'Latitude',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.geo_code_1',
           'headerPattern' => '/geo/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'geo_code_2' => array(
+          ],
+        ],
+        'geo_code_2' => [
           'name' => 'geo_code_2',
           'type' => CRM_Utils_Type::T_FLOAT,
-          'title' => ts('Longitude') ,
+          'title' => ts('Longitude'),
           'description' => 'Longitude',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.geo_code_2',
           'headerPattern' => '/geo/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'manual_geo_code' => array(
+          ],
+        ],
+        'manual_geo_code' => [
           'name' => 'manual_geo_code',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is manually geocoded') ,
+          'title' => ts('Is manually geocoded'),
           'description' => 'Is this a manually entered geo code',
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'timezone' => array(
+          ],
+        ],
+        'timezone' => [
           'name' => 'timezone',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Timezone') ,
+          'title' => ts('Timezone'),
           'description' => 'Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -717,78 +725,82 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'address_name' => array(
+          ],
+        ],
+        'address_name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Address Name') ,
+          'title' => ts('Address Name'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.name',
           'headerPattern' => '/^location|(l(ocation\s)?name)$/i',
           'dataPattern' => '/^\w+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'master_id' => array(
+          ],
+        ],
+        'master_id' => [
           'name' => 'master_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Master Address Belongs To') ,
+          'title' => ts('Master Address Belongs To'),
           'description' => 'FK to Address ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_address.master_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Address',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -796,14 +808,15 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'address', $prefix, array(
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'address', $prefix, [
       'CRM_Core_DAO_County',
       'CRM_Core_DAO_StateProvince',
       'CRM_Core_DAO_Country',
-    ));
+    ]);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -811,60 +824,66 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'address', $prefix, array(
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'address', $prefix, [
       'CRM_Core_DAO_County',
       'CRM_Core_DAO_StateProvince',
       'CRM_Core_DAO_Country',
-    ));
+    ]);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_location_type' => array(
+    $indices = [
+      'index_location_type' => [
         'name' => 'index_location_type',
-        'field' => array(
+        'field' => [
           0 => 'location_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_address::0::location_type_id',
-      ) ,
-      'index_is_primary' => array(
+      ],
+      'index_is_primary' => [
         'name' => 'index_is_primary',
-        'field' => array(
+        'field' => [
           0 => 'is_primary',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_address::0::is_primary',
-      ) ,
-      'index_is_billing' => array(
+      ],
+      'index_is_billing' => [
         'name' => 'index_is_billing',
-        'field' => array(
+        'field' => [
           0 => 'is_billing',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_address::0::is_billing',
-      ) ,
-      'index_street_name' => array(
+      ],
+      'index_street_name' => [
         'name' => 'index_street_name',
-        'field' => array(
+        'field' => [
           0 => 'street_name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_address::0::street_name',
-      ) ,
-      'index_city' => array(
+      ],
+      'index_city' => [
         'name' => 'index_city',
-        'field' => array(
+        'field' => [
           0 => 'city',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_address::0::city',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/AddressFormat.php b/civicrm/CRM/Core/DAO/AddressFormat.php
index 0bdaa0e806..3689bbca19 100644
--- a/civicrm/CRM/Core/DAO/AddressFormat.php
+++ b/civicrm/CRM/Core/DAO/AddressFormat.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,105 +8,114 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:9f58709f0e50bebe21edf4d50880e5fb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_AddressFormat constructor.
+ * Database access object for the AddressFormat entity.
  */
 class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_address_format';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Address Format Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The format of an address
    *
    * @var text
    */
   public $format;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_address_format';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Address Format ID') ,
+          'title' => ts('Address Format ID'),
           'description' => 'Address Format Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_address_format',
           'entity' => 'AddressFormat',
           'bao' => 'CRM_Core_DAO_AddressFormat',
           'localizable' => 0,
-        ) ,
-        'format' => array(
+        ],
+        'format' => [
           'name' => 'format',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Address Format') ,
+          'title' => ts('Address Format'),
           'description' => 'The format of an address',
           'table_name' => 'civicrm_address_format',
           'entity' => 'AddressFormat',
           'bao' => 'CRM_Core_DAO_AddressFormat',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -138,10 +123,11 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'address_format', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'address_format', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -149,15 +135,21 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'address_format', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'address_format', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Cache.php b/civicrm/CRM/Core/DAO/Cache.php
index 805ba45772..2845d05342 100644
--- a/civicrm/CRM/Core/DAO/Cache.php
+++ b/civicrm/CRM/Core/DAO/Cache.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,120 +8,130 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7e57800355db0e3aa11c15d6c73bf9a2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Cache constructor.
+ * Database access object for the Cache entity.
  */
 class CRM_Core_DAO_Cache extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_cache';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * group name for cache element, useful in cleaning cache elements
    *
    * @var string
    */
   public $group_name;
+
   /**
    * Unique path name for cache element
    *
    * @var string
    */
   public $path;
+
   /**
    * data associated with this path
    *
    * @var longtext
    */
   public $data;
+
   /**
    * Component that this menu item belongs to
    *
    * @var int unsigned
    */
   public $component_id;
+
   /**
    * When was the cache item created
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When should the cache item expire
    *
    * @var timestamp
    */
   public $expired_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_cache';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'component_id', 'civicrm_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'component_id', 'civicrm_component', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'group_name' => array(
+        ],
+        'group_name' => [
           'name' => 'group_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Group Name') ,
+          'title' => ts('Group Name'),
           'description' => 'group name for cache element, useful in cleaning cache elements',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
           'table_name' => 'civicrm_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'path' => array(
+        ],
+        'path' => [
           'name' => 'path',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Path') ,
+          'title' => ts('Path'),
           'description' => 'Unique path name for cache element',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -153,18 +139,18 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Data') ,
+          'title' => ts('Data'),
           'description' => 'data associated with this path',
           'table_name' => 'civicrm_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'component_id' => array(
+        ],
+        'component_id' => [
           'name' => 'component_id',
           'type' => CRM_Utils_Type::T_INT,
           'description' => 'Component that this menu item belongs to',
@@ -173,71 +159,75 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Component',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_component',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'created_date' => array(
+          ]
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'When was the cache item created',
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-        'expired_date' => array(
+        ],
+        'expired_date' => [
           'name' => 'expired_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Expired Date') ,
+          'title' => ts('Expired Date'),
           'description' => 'When should the cache item expire',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_cache',
           'entity' => 'Cache',
           'bao' => 'CRM_Core_BAO_Cache',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -245,10 +235,11 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'cache', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -256,27 +247,33 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'cache', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_group_path_date' => array(
+    $indices = [
+      'UI_group_path_date' => [
         'name' => 'UI_group_path_date',
-        'field' => array(
+        'field' => [
           0 => 'group_name',
           1 => 'path',
           2 => 'created_date',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_cache::1::group_name::path::created_date',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Component.php b/civicrm/CRM/Core/DAO/Component.php
index 2d9ec940e9..f5ac34bcc7 100644
--- a/civicrm/CRM/Core/DAO/Component.php
+++ b/civicrm/CRM/Core/DAO/Component.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,36 +8,40 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:14ca0040d5a5656fd5dd91ad60a8ac89)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Component constructor.
+ * Database access object for the Component entity.
  */
 class CRM_Core_DAO_Component extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_component';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Component ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the component.
    *
    * @var string
    */
   public $name;
+
   /**
    * Path to components main directory in a form of a class
    namespace.
@@ -69,48 +49,50 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    * @var string
    */
   public $namespace;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_component';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
           'description' => 'Component ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_component',
           'entity' => 'Component',
           'bao' => 'CRM_Core_DAO_Component',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Component name') ,
+          'title' => ts('Component name'),
           'description' => 'Name of the component.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_component',
           'entity' => 'Component',
           'bao' => 'CRM_Core_DAO_Component',
           'localizable' => 0,
-        ) ,
-        'namespace' => array(
+        ],
+        'namespace' => [
           'name' => 'namespace',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Namespace reserved for component.') ,
+          'title' => ts('Namespace reserved for component.'),
           'description' => 'Path to components main directory in a form of a class
       namespace.
     ',
@@ -120,40 +102,44 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
           'entity' => 'Component',
           'bao' => 'CRM_Core_DAO_Component',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -161,10 +147,11 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'component', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'component', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -172,15 +159,21 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'component', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'component', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Country.php b/civicrm/CRM/Core/DAO/Country.php
index a0c6317992..a837062a55 100644
--- a/civicrm/CRM/Core/DAO/Country.php
+++ b/civicrm/CRM/Core/DAO/Country.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,140 +8,153 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:e01f7b6fdc1c22bcf6fbc125ea2d894a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Country constructor.
+ * Database access object for the Country entity.
  */
 class CRM_Core_DAO_Country extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_country';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Country Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Country Name
    *
    * @var string
    */
   public $name;
+
   /**
    * ISO Code
    *
    * @var string
    */
   public $iso_code;
+
   /**
    * National prefix to be used when dialing TO this country.
    *
    * @var string
    */
   public $country_code;
+
   /**
    * Foreign key to civicrm_address_format.id.
    *
    * @var int unsigned
    */
   public $address_format_id;
+
   /**
    * International direct dialing prefix from within the country TO another country
    *
    * @var string
    */
   public $idd_prefix;
+
   /**
    * Access prefix to call within a country to a different area
    *
    * @var string
    */
   public $ndd_prefix;
+
   /**
    * Foreign key to civicrm_worldregion.id.
    *
    * @var int unsigned
    */
   public $region_id;
+
   /**
    * Should state/province be displayed as abbreviation for contacts from this country?
    *
    * @var boolean
    */
   public $is_province_abbreviated;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_country';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'address_format_id', 'civicrm_address_format', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'region_id', 'civicrm_worldregion', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'address_format_id', 'civicrm_address_format', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'region_id', 'civicrm_worldregion', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Country ID') ,
+          'title' => ts('Country ID'),
           'description' => 'Country Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_country',
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Country') ,
+          'title' => ts('Country'),
           'description' => 'Country Name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_country.name',
           'headerPattern' => '/country/i',
           'dataPattern' => '/^[A-Z][a-z]+\.?(\s+[A-Z][a-z]+){0,3}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_country',
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'iso_code' => array(
+        ],
+        'iso_code' => [
           'name' => 'iso_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Country ISO Code') ,
+          'title' => ts('Country ISO Code'),
           'description' => 'ISO Code',
           'maxlength' => 2,
           'size' => CRM_Utils_Type::TWO,
@@ -173,11 +162,11 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'country_code' => array(
+        ],
+        'country_code' => [
           'name' => 'country_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Country Phone Prefix') ,
+          'title' => ts('Country Phone Prefix'),
           'description' => 'National prefix to be used when dialing TO this country.',
           'maxlength' => 4,
           'size' => CRM_Utils_Type::FOUR,
@@ -185,22 +174,22 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'address_format_id' => array(
+        ],
+        'address_format_id' => [
           'name' => 'address_format_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Address Format') ,
+          'title' => ts('Address Format'),
           'description' => 'Foreign key to civicrm_address_format.id.',
           'table_name' => 'civicrm_country',
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_AddressFormat',
-        ) ,
-        'idd_prefix' => array(
+        ],
+        'idd_prefix' => [
           'name' => 'idd_prefix',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Outgoing Phone Prefix') ,
+          'title' => ts('Outgoing Phone Prefix'),
           'description' => 'International direct dialing prefix from within the country TO another country',
           'maxlength' => 4,
           'size' => CRM_Utils_Type::FOUR,
@@ -208,11 +197,11 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'ndd_prefix' => array(
+        ],
+        'ndd_prefix' => [
           'name' => 'ndd_prefix',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Area Code') ,
+          'title' => ts('Area Code'),
           'description' => 'Access prefix to call within a country to a different area',
           'maxlength' => 4,
           'size' => CRM_Utils_Type::FOUR,
@@ -220,62 +209,66 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-        'region_id' => array(
+        ],
+        'region_id' => [
           'name' => 'region_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Region') ,
+          'title' => ts('Region'),
           'description' => 'Foreign key to civicrm_worldregion.id.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_country',
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Worldregion',
-        ) ,
-        'is_province_abbreviated' => array(
+        ],
+        'is_province_abbreviated' => [
           'name' => 'is_province_abbreviated',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Abbreviate Province?') ,
+          'title' => ts('Abbreviate Province?'),
           'description' => 'Should state/province be displayed as abbreviation for contacts from this country?',
           'table_name' => 'civicrm_country',
           'entity' => 'Country',
           'bao' => 'CRM_Core_BAO_Country',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -283,10 +276,11 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'country', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'country', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -294,26 +288,32 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'country', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'country', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name_iso_code' => array(
+    $indices = [
+      'UI_name_iso_code' => [
         'name' => 'UI_name_iso_code',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'iso_code',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_country::1::name::iso_code',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/County.php b/civicrm/CRM/Core/DAO/County.php
index 833e19e120..e1e686db8f 100644
--- a/civicrm/CRM/Core/DAO/County.php
+++ b/civicrm/CRM/Core/DAO/County.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,109 +8,117 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:deaadd903f7cfee93f6b70fb2e9fc012)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_County constructor.
+ * Database access object for the County entity.
  */
 class CRM_Core_DAO_County extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_county';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * County ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of County
    *
    * @var string
    */
   public $name;
+
   /**
    * 2-4 Character Abbreviation of County
    *
    * @var string
    */
   public $abbreviation;
+
   /**
    * ID of State/Province that County belongs
    *
    * @var int unsigned
    */
   public $state_province_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_county';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'state_province_id', 'civicrm_state_province', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'state_province_id', 'civicrm_state_province', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('County ID') ,
+          'title' => ts('County ID'),
           'description' => 'County ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_county',
           'entity' => 'County',
           'bao' => 'CRM_Core_DAO_County',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('County') ,
+          'title' => ts('County'),
           'description' => 'Name of County',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_county.name',
           'headerPattern' => '/county/i',
           'dataPattern' => '/[A-Z]{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_county',
           'entity' => 'County',
           'bao' => 'CRM_Core_DAO_County',
           'localizable' => 0,
-        ) ,
-        'abbreviation' => array(
+        ],
+        'abbreviation' => [
           'name' => 'abbreviation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('County Abbreviation') ,
+          'title' => ts('County Abbreviation'),
           'description' => '2-4 Character Abbreviation of County',
           'maxlength' => 4,
           'size' => CRM_Utils_Type::FOUR,
@@ -142,52 +126,56 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
           'entity' => 'County',
           'bao' => 'CRM_Core_DAO_County',
           'localizable' => 0,
-        ) ,
-        'state_province_id' => array(
+        ],
+        'state_province_id' => [
           'name' => 'state_province_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('State') ,
+          'title' => ts('State'),
           'description' => 'ID of State/Province that County belongs',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_county',
           'entity' => 'County',
           'bao' => 'CRM_Core_DAO_County',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_StateProvince',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -195,10 +183,11 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'county', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'county', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -206,26 +195,32 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'county', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'county', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name_state_id' => array(
+    $indices = [
+      'UI_name_state_id' => [
         'name' => 'UI_name_state_id',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'state_province_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_county::1::name::state_province_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/CustomField.php b/civicrm/CRM/Core/DAO/CustomField.php
index 973f23a734..42f04e959f 100644
--- a/civicrm/CRM/Core/DAO/CustomField.php
+++ b/civicrm/CRM/Core/DAO/CustomField.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,268 +8,302 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6c4ced0a0ac204cde5c048d37aee6057)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_CustomField constructor.
+ * Database access object for the CustomField entity.
  */
 class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_custom_field';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Custom Field ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_custom_group.
    *
    * @var int unsigned
    */
   public $custom_group_id;
+
   /**
    * Variable name/programmatic handle for this group.
    *
    * @var string
    */
   public $name;
+
   /**
    * Text for form field label (also friendly name for administering this custom property).
    *
    * @var string
    */
   public $label;
+
   /**
    * Controls location of data storage in extended_data table.
    *
    * @var string
    */
   public $data_type;
+
   /**
    * HTML types plus several built-in extended types.
    *
    * @var string
    */
   public $html_type;
+
   /**
    * Use form_options.is_default for field_types which use options.
    *
    * @var string
    */
   public $default_value;
+
   /**
    * Is a value required for this property.
    *
    * @var boolean
    */
   public $is_required;
+
   /**
    * Is this property searchable.
    *
    * @var boolean
    */
   public $is_searchable;
+
   /**
    * Is this property range searchable.
    *
    * @var boolean
    */
   public $is_search_range;
+
   /**
    * Controls field display order within an extended property group.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Description and/or help text to display before this field.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Description and/or help text to display after this field.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Optional format instructions for specific field types, like date types.
    *
    * @var string
    */
   public $mask;
+
   /**
    * Store collection of type-appropriate attributes, e.g. textarea  needs rows/cols attributes
    *
    * @var string
    */
   public $attributes;
+
   /**
    * Optional scripting attributes for field.
    *
    * @var string
    */
   public $javascript;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this property set by PHP Code? A code field is viewable but not editable
    *
    * @var boolean
    */
   public $is_view;
+
   /**
    * number of options per line for checkbox and radio
    *
    * @var int unsigned
    */
   public $options_per_line;
+
   /**
    * field length if alphanumeric
    *
    * @var int unsigned
    */
   public $text_length;
+
   /**
    * Date may be up to start_date_years years prior to the current date.
    *
    * @var int
    */
   public $start_date_years;
+
   /**
    * Date may be up to end_date_years years after the current date.
    *
    * @var int
    */
   public $end_date_years;
+
   /**
    * date format for custom date
    *
    * @var string
    */
   public $date_format;
+
   /**
    * time format for custom date
    *
    * @var int unsigned
    */
   public $time_format;
+
   /**
    *  Number of columns in Note Field
    *
    * @var int unsigned
    */
   public $note_columns;
+
   /**
    *  Number of rows in Note Field
    *
    * @var int unsigned
    */
   public $note_rows;
+
   /**
    * Name of the column that holds the values for this field.
    *
    * @var string
    */
   public $column_name;
+
   /**
    * For elements with options, the option group id that is used
    *
    * @var int unsigned
    */
   public $option_group_id;
+
   /**
    * Stores Contact Get API params contact reference custom fields. May be used for other filters in the future.
    *
    * @var string
    */
   public $filter;
+
   /**
    * Should the multi-record custom field values be displayed in tab table listing
    *
    * @var boolean
    */
   public $in_selector;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_custom_field';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'custom_group_id', 'civicrm_custom_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'custom_group_id', 'civicrm_custom_group', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Custom Field ID') ,
+          'title' => ts('Custom Field ID'),
           'description' => 'Unique Custom Field ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'custom_group_id' => array(
+        ],
+        'custom_group_id' => [
           'name' => 'custom_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Custom Group') ,
+          'title' => ts('Custom Group'),
           'description' => 'FK to civicrm_custom_group.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_CustomGroup',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_custom_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Name') ,
+          'title' => ts('Custom Field Name'),
           'description' => 'Variable name/programmatic handle for this group.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -301,59 +311,59 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Label') ,
+          'title' => ts('Custom Field Label'),
           'description' => 'Text for form field label (also friendly name for administering this custom property).',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 1,
-        ) ,
-        'data_type' => array(
+        ],
+        'data_type' => [
           'name' => 'data_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Data Type') ,
+          'title' => ts('Custom Field Data Type'),
           'description' => 'Controls location of data storage in extended_data table.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 16,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_BAO_CustomField::dataType',
-          )
-        ) ,
-        'html_type' => array(
+          ]
+        ],
+        'html_type' => [
           'name' => 'html_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field HTML Type') ,
+          'title' => ts('Custom Field HTML Type'),
           'description' => 'HTML types plus several built-in extended types.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::customHtmlType',
-          )
-        ) ,
-        'default_value' => array(
+          ]
+        ],
+        'default_value' => [
           'name' => 'default_value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Default') ,
+          'title' => ts('Custom Field Default'),
           'description' => 'Use form_options.is_default for field_types which use options.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -361,73 +371,73 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'is_required' => array(
+        ],
+        'is_required' => [
           'name' => 'is_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Custom Field Is Required?') ,
+          'title' => ts('Custom Field Is Required?'),
           'description' => 'Is a value required for this property.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'is_searchable' => array(
+        ],
+        'is_searchable' => [
           'name' => 'is_searchable',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Searching on Field?') ,
+          'title' => ts('Allow Searching on Field?'),
           'description' => 'Is this property searchable.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'is_search_range' => array(
+        ],
+        'is_search_range' => [
           'name' => 'is_search_range',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Search as a Range') ,
+          'title' => ts('Search as a Range'),
           'description' => 'Is this property range searchable.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Controls field display order within an extended property group.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'help_pre' => array(
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Custom Field Pre Text') ,
+          'title' => ts('Custom Field Pre Text'),
           'description' => 'Description and/or help text to display before this field.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 1,
-        ) ,
-        'help_post' => array(
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Custom Field Post Text') ,
+          'title' => ts('Custom Field Post Text'),
           'description' => 'Description and/or help text to display after this field.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 1,
-        ) ,
-        'mask' => array(
+        ],
+        'mask' => [
           'name' => 'mask',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Formatting') ,
+          'title' => ts('Custom Field Formatting'),
           'description' => 'Optional format instructions for specific field types, like date types.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -435,11 +445,11 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'attributes' => array(
+        ],
+        'attributes' => [
           'name' => 'attributes',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Attributes') ,
+          'title' => ts('Custom Field Attributes'),
           'description' => 'Store collection of type-appropriate attributes, e.g. textarea  needs rows/cols attributes',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -447,11 +457,11 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'javascript' => array(
+        ],
+        'javascript' => [
           'name' => 'javascript',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Field Javascript') ,
+          'title' => ts('Custom Field Javascript'),
           'description' => 'Optional scripting attributes for field.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -459,71 +469,71 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Custom Field Is Active?') ,
+          'title' => ts('Custom Field Is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'is_view' => array(
+        ],
+        'is_view' => [
           'name' => 'is_view',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Field is Viewable') ,
+          'title' => ts('Field is Viewable'),
           'description' => 'Is this property set by PHP Code? A code field is viewable but not editable',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'options_per_line' => array(
+        ],
+        'options_per_line' => [
           'name' => 'options_per_line',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Options Per Line') ,
+          'title' => ts('Field Options Per Line'),
           'description' => 'number of options per line for checkbox and radio',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'text_length' => array(
+        ],
+        'text_length' => [
           'name' => 'text_length',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Length') ,
+          'title' => ts('Field Length'),
           'description' => 'field length if alphanumeric',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'start_date_years' => array(
+        ],
+        'start_date_years' => [
           'name' => 'start_date_years',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Start Date') ,
+          'title' => ts('Field Start Date'),
           'description' => 'Date may be up to start_date_years years prior to the current date.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'end_date_years' => array(
+        ],
+        'end_date_years' => [
           'name' => 'end_date_years',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field End Date') ,
+          'title' => ts('Field End Date'),
           'description' => 'Date may be up to end_date_years years after the current date.',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'date_format' => array(
+        ],
+        'date_format' => [
           'name' => 'date_format',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Field Data Format') ,
+          'title' => ts('Field Data Format'),
           'description' => 'date format for custom date',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -531,41 +541,41 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'time_format' => array(
+        ],
+        'time_format' => [
           'name' => 'time_format',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Time Format') ,
+          'title' => ts('Field Time Format'),
           'description' => 'time format for custom date',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'note_columns' => array(
+        ],
+        'note_columns' => [
           'name' => 'note_columns',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Note Columns') ,
+          'title' => ts('Field Note Columns'),
           'description' => ' Number of columns in Note Field ',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'note_rows' => array(
+        ],
+        'note_rows' => [
           'name' => 'note_rows',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Note Rows') ,
+          'title' => ts('Field Note Rows'),
           'description' => ' Number of rows in Note Field ',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'column_name' => array(
+        ],
+        'column_name' => [
           'name' => 'column_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Field Column Name') ,
+          'title' => ts('Field Column Name'),
           'description' => 'Name of the column that holds the values for this field.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -573,21 +583,21 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'option_group_id' => array(
+        ],
+        'option_group_id' => [
           'name' => 'option_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Field Option Group') ,
+          'title' => ts('Field Option Group'),
           'description' => 'For elements with options, the option group id that is used',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'filter' => array(
+        ],
+        'filter' => [
           'name' => 'filter',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Field Filter') ,
+          'title' => ts('Field Filter'),
           'description' => 'Stores Contact Get API params contact reference custom fields. May be used for other filters in the future.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -595,50 +605,54 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-        'in_selector' => array(
+        ],
+        'in_selector' => [
           'name' => 'in_selector',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Field Display') ,
+          'title' => ts('Field Display'),
           'description' => 'Should the multi-record custom field values be displayed in tab table listing',
           'table_name' => 'civicrm_custom_field',
           'entity' => 'CustomField',
           'bao' => 'CRM_Core_BAO_CustomField',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -646,10 +660,11 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'custom_field', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'custom_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -657,36 +672,42 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'custom_field', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'custom_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_label_custom_group_id' => array(
+    $indices = [
+      'UI_label_custom_group_id' => [
         'name' => 'UI_label_custom_group_id',
-        'field' => array(
+        'field' => [
           0 => 'label',
           1 => 'custom_group_id',
-        ) ,
-        'localizable' => true,
-        'unique' => true,
+        ],
+        'localizable' => TRUE,
+        'unique' => TRUE,
         'sig' => 'civicrm_custom_field::1::label::custom_group_id',
-      ) ,
-      'UI_name_custom_group_id' => array(
+      ],
+      'UI_name_custom_group_id' => [
         'name' => 'UI_name_custom_group_id',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'custom_group_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_custom_field::1::name::custom_group_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/CustomGroup.php b/civicrm/CRM/Core/DAO/CustomGroup.php
index 48f3b186fd..671d4d6350 100644
--- a/civicrm/CRM/Core/DAO/CustomGroup.php
+++ b/civicrm/CRM/Core/DAO/CustomGroup.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,194 +8,219 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:4b960c311aed67174e9c55901ba3993b)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_CustomGroup constructor.
+ * Database access object for the CustomGroup entity.
  */
 class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_custom_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Custom Group ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Variable name/programmatic handle for this group.
    *
    * @var string
    */
   public $name;
+
   /**
    * Friendly Name.
    *
    * @var string
    */
   public $title;
+
   /**
    * Type of object this group extends (can add other options later e.g. contact_address, etc.).
    *
    * @var string
    */
   public $extends;
+
   /**
    * FK to civicrm_option_value.id (for option group custom_data_type.)
    *
    * @var int unsigned
    */
   public $extends_entity_column_id;
+
   /**
    * linking custom group for dynamic object
    *
    * @var string
    */
   public $extends_entity_column_value;
+
   /**
    * Visual relationship between this form and its parent.
    *
    * @var string
    */
   public $style;
+
   /**
    * Will this group be in collapsed or expanded mode on initial display ?
    *
    * @var int unsigned
    */
   public $collapse_display;
+
   /**
    * Description and/or help text to display before fields in form.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Description and/or help text to display after fields in form.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Controls display order when multiple extended property groups are setup for the same class.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Name of the table that holds the values for this group.
    *
    * @var string
    */
   public $table_name;
+
   /**
    * Does this group hold multiple values?
    *
    * @var boolean
    */
   public $is_multiple;
+
   /**
    * minimum number of multiple records (typically 0?)
    *
    * @var int unsigned
    */
   public $min_multiple;
+
   /**
    * maximum number of multiple records, if 0 - no max
    *
    * @var int unsigned
    */
   public $max_multiple;
+
   /**
    * Will this group be in collapsed or expanded mode on advanced search display ?
    *
    * @var int unsigned
    */
   public $collapse_adv_display;
+
   /**
    * FK to civicrm_contact, who created this custom group
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time this custom group was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * Is this a reserved Custom Group?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this property public?
    *
    * @var boolean
    */
   public $is_public;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_custom_group';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Custom Group ID') ,
+          'title' => ts('Custom Group ID'),
           'description' => 'Unique Custom Group ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Group Name') ,
+          'title' => ts('Custom Group Name'),
           'description' => 'Variable name/programmatic handle for this group.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -227,24 +228,24 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Group Title') ,
+          'title' => ts('Custom Group Title'),
           'description' => 'Friendly Name.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 1,
-        ) ,
-        'extends' => array(
+        ],
+        'extends' => [
           'name' => 'extends',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Group Extends') ,
+          'title' => ts('Custom Group Extends'),
           'description' => 'Type of object this group extends (can add other options later e.g. contact_address, etc.).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -253,22 +254,22 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'extends_entity_column_id' => array(
+        ],
+        'extends_entity_column_id' => [
           'name' => 'extends_entity_column_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Custom Group Subtype List') ,
+          'title' => ts('Custom Group Subtype List'),
           'description' => 'FK to civicrm_option_value.id (for option group custom_data_type.)',
           'default' => 'NULL',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'extends_entity_column_value' => array(
+        ],
+        'extends_entity_column_value' => [
           'name' => 'extends_entity_column_value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Group Subtype') ,
+          'title' => ts('Custom Group Subtype'),
           'description' => 'linking custom group for dynamic object',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -277,11 +278,11 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_BOOKEND,
-        ) ,
-        'style' => array(
+        ],
+        'style' => [
           'name' => 'style',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Custom Group Style') ,
+          'title' => ts('Custom Group Style'),
           'description' => 'Visual relationship between this form and its parent.',
           'maxlength' => 15,
           'size' => CRM_Utils_Type::TWELVE,
@@ -289,27 +290,27 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::customGroupStyle',
-          )
-        ) ,
-        'collapse_display' => array(
+          ]
+        ],
+        'collapse_display' => [
           'name' => 'collapse_display',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Collapse Custom Group?') ,
+          'title' => ts('Collapse Custom Group?'),
           'description' => 'Will this group be in collapsed or expanded mode on initial display ?',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'help_pre' => array(
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Custom Group Pre Text') ,
+          'title' => ts('Custom Group Pre Text'),
           'description' => 'Description and/or help text to display before fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -317,14 +318,14 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_post' => array(
+          ],
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Custom Group Post Text') ,
+          'title' => ts('Custom Group Post Text'),
           'description' => 'Description and/or help text to display after fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -332,36 +333,36 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'weight' => array(
+          ],
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Controls display order when multiple extended property groups are setup for the same class.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Custom Group Is Active?') ,
+          'title' => ts('Custom Group Is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'table_name' => array(
+        ],
+        'table_name' => [
           'name' => 'table_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Table Name') ,
+          'title' => ts('Table Name'),
           'description' => 'Name of the table that holds the values for this group.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -369,122 +370,126 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'is_multiple' => array(
+        ],
+        'is_multiple' => [
           'name' => 'is_multiple',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Supports Multiple Records') ,
+          'title' => ts('Supports Multiple Records'),
           'description' => 'Does this group hold multiple values?',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'min_multiple' => array(
+        ],
+        'min_multiple' => [
           'name' => 'min_multiple',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Minimum Multiple Records') ,
+          'title' => ts('Minimum Multiple Records'),
           'description' => 'minimum number of multiple records (typically 0?)',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'max_multiple' => array(
+        ],
+        'max_multiple' => [
           'name' => 'max_multiple',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum Multiple Records') ,
+          'title' => ts('Maximum Multiple Records'),
           'description' => 'maximum number of multiple records, if 0 - no max',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'collapse_adv_display' => array(
+        ],
+        'collapse_adv_display' => [
           'name' => 'collapse_adv_display',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Collapse Group Display') ,
+          'title' => ts('Collapse Group Display'),
           'description' => 'Will this group be in collapsed or expanded mode on advanced search display ?',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Custom Group Created By') ,
+          'title' => ts('Custom Group Created By'),
           'description' => 'FK to civicrm_contact, who created this custom group',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Custom Group Created Date') ,
+          'title' => ts('Custom Group Created Date'),
           'description' => 'Date and time this custom group was created.',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Reserved Group?') ,
+          'title' => ts('Reserved Group?'),
           'description' => 'Is this a reserved Custom Group?',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-        'is_public' => array(
+        ],
+        'is_public' => [
           'name' => 'is_public',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Custom Group Is Public?') ,
+          'title' => ts('Custom Group Is Public?'),
           'description' => 'Is this property public?',
           'default' => '1',
           'table_name' => 'civicrm_custom_group',
           'entity' => 'CustomGroup',
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -492,10 +497,11 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'custom_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'custom_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -503,36 +509,42 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'custom_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'custom_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_title_extends' => array(
+    $indices = [
+      'UI_title_extends' => [
         'name' => 'UI_title_extends',
-        'field' => array(
+        'field' => [
           0 => 'title',
           1 => 'extends',
-        ) ,
-        'localizable' => true,
-        'unique' => true,
+        ],
+        'localizable' => TRUE,
+        'unique' => TRUE,
         'sig' => 'civicrm_custom_group::1::title::extends',
-      ) ,
-      'UI_name_extends' => array(
+      ],
+      'UI_name_extends' => [
         'name' => 'UI_name_extends',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'extends',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_custom_group::1::name::extends',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Dashboard.php b/civicrm/CRM/Core/DAO/Dashboard.php
index b51fd74332..fe618862a4 100644
--- a/civicrm/CRM/Core/DAO/Dashboard.php
+++ b/civicrm/CRM/Core/DAO/Dashboard.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,149 +8,163 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6b7454609bac684a5d32597cdd433f3d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Dashboard constructor.
+ * Database access object for the Dashboard entity.
  */
 class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_dashboard';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Domain for dashboard
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Internal name of dashlet.
    *
    * @var string
    */
   public $name;
+
   /**
    * dashlet title
    *
    * @var string
    */
   public $label;
+
   /**
    * url in case of external dashlet
    *
    * @var string
    */
   public $url;
+
   /**
    * Permission for the dashlet
    *
    * @var string
    */
   public $permission;
+
   /**
    * Permission Operator
    *
    * @var string
    */
   public $permission_operator;
+
   /**
    * fullscreen url for dashlet
    *
    * @var string
    */
   public $fullscreen_url;
+
   /**
    * Is this dashlet active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this dashlet reserved?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Number of minutes to cache dashlet content in browser localStorage.
    *
    * @var int unsigned
    */
   public $cache_minutes;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_dashboard';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('DashletID') ,
-          'required' => true,
+          'title' => ts('DashletID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_dashboard',
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dashlet Domain') ,
+          'title' => ts('Dashlet Domain'),
           'description' => 'Domain for dashboard',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dashboard',
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Dashlet Name') ,
+          'title' => ts('Dashlet Name'),
           'description' => 'Internal name of dashlet.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -182,11 +172,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Dashlet Title') ,
+          'title' => ts('Dashlet Title'),
           'description' => 'dashlet title',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -194,11 +184,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 1,
-        ) ,
-        'url' => array(
+        ],
+        'url' => [
           'name' => 'url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Dashlet URL') ,
+          'title' => ts('Dashlet URL'),
           'description' => 'url in case of external dashlet',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -206,11 +196,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'permission' => array(
+        ],
+        'permission' => [
           'name' => 'permission',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Dashlet Permission') ,
+          'title' => ts('Dashlet Permission'),
           'description' => 'Permission for the dashlet',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -218,11 +208,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'permission_operator' => array(
+        ],
+        'permission_operator' => [
           'name' => 'permission_operator',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Dashlet Permission Operator') ,
+          'title' => ts('Dashlet Permission Operator'),
           'description' => 'Permission Operator',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -230,11 +220,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'fullscreen_url' => array(
+        ],
+        'fullscreen_url' => [
           'name' => 'fullscreen_url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Fullscreen URL') ,
+          'title' => ts('Fullscreen URL'),
           'description' => 'fullscreen url for dashlet',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -242,72 +232,76 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Dashlet Active?') ,
+          'title' => ts('Is Dashlet Active?'),
           'description' => 'Is this dashlet active?',
           'table_name' => 'civicrm_dashboard',
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Dashlet Reserved?') ,
+          'title' => ts('Is Dashlet Reserved?'),
           'description' => 'Is this dashlet reserved?',
           'table_name' => 'civicrm_dashboard',
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-        'cache_minutes' => array(
+        ],
+        'cache_minutes' => [
           'name' => 'cache_minutes',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Cache Minutes') ,
+          'title' => ts('Cache Minutes'),
           'description' => 'Number of minutes to cache dashlet content in browser localStorage.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '60',
           'table_name' => 'civicrm_dashboard',
           'entity' => 'Dashboard',
           'bao' => 'CRM_Core_BAO_Dashboard',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -315,10 +309,11 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dashboard', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dashboard', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -326,15 +321,21 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dashboard', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dashboard', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Discount.php b/civicrm/CRM/Core/DAO/Discount.php
index 8edba7e179..b35720a11b 100644
--- a/civicrm/CRM/Core/DAO/Discount.php
+++ b/civicrm/CRM/Core/DAO/Discount.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,105 +8,115 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:1ce69428f948066567e95645cb86254a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Discount constructor.
+ * Database access object for the Discount entity.
  */
 class CRM_Core_DAO_Discount extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_discount';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to civicrm_price_set
    *
    * @var int unsigned
    */
   public $price_set_id;
+
   /**
    * Date when discount starts.
    *
    * @var date
    */
   public $start_date;
+
   /**
    * Date when discount ends.
    *
    * @var date
    */
   public $end_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_discount';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_set_id', 'civicrm_price_set', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_set_id', 'civicrm_price_set', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Discount ID') ,
+          'title' => ts('Discount ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_discount',
           'entity' => 'Discount',
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'physical tablename for entity being joined to discount, e.g. civicrm_event',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -138,25 +124,25 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
           'entity' => 'Discount',
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_discount',
           'entity' => 'Discount',
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
-        ) ,
-        'participant_discount_name' => array(
+        ],
+        'participant_discount_name' => [
           'name' => 'price_set_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Discount Name') ,
+          'title' => ts('Discount Name'),
           'description' => 'FK to civicrm_price_set',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_discount.price_set_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -165,60 +151,64 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceSet',
-        ) ,
-        'start_date' => array(
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Discount Start Date') ,
+          'title' => ts('Discount Start Date'),
           'description' => 'Date when discount starts.',
           'table_name' => 'civicrm_discount',
           'entity' => 'Discount',
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
-        ) ,
-        'end_date' => array(
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Discount End Date') ,
+          'title' => ts('Discount End Date'),
           'description' => 'Date when discount ends.',
           'table_name' => 'civicrm_discount',
           'entity' => 'Discount',
           'bao' => 'CRM_Core_BAO_Discount',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -226,10 +216,11 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'discount', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'discount', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -237,35 +228,41 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'discount', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'discount', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_discount::0::entity_table::entity_id',
-      ) ,
-      'index_entity_option_id' => array(
+      ],
+      'index_entity_option_id' => [
         'name' => 'index_entity_option_id',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
           2 => 'price_set_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_discount::0::entity_table::entity_id::price_set_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Domain.php b/civicrm/CRM/Core/DAO/Domain.php
index 9a7adf6461..a85742e932 100644
--- a/civicrm/CRM/Core/DAO/Domain.php
+++ b/civicrm/CRM/Core/DAO/Domain.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,116 +8,128 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7bc078fa4adebf142c73c95fab321f25)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Domain constructor.
+ * Database access object for the Domain entity.
  */
 class CRM_Core_DAO_Domain extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_domain';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Domain ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of Domain / Organization
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of Domain.
    *
    * @var string
    */
   public $description;
+
   /**
    * Backend configuration.
    *
    * @var text
    */
   public $config_backend;
+
   /**
    * The civicrm version this instance is running
    *
    * @var string
    */
   public $version;
+
   /**
    * FK to Contact ID. This is specifically not an FK to avoid circular constraints
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * list of locales supported by the current db state (NULL for single-lang install)
    *
    * @var text
    */
   public $locales;
+
   /**
    * Locale specific string overrides
    *
    * @var text
    */
   public $locale_custom_strings;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_domain';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Domain ID') ,
+          'title' => ts('Domain ID'),
           'description' => 'Domain ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_domain',
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Domain Name') ,
+          'title' => ts('Domain Name'),
           'description' => 'Name of Domain / Organization',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -149,14 +137,14 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Domain Description') ,
+          'title' => ts('Domain Description'),
           'description' => 'Description of Domain.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -164,25 +152,25 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'config_backend' => array(
+          ],
+        ],
+        'config_backend' => [
           'name' => 'config_backend',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Domain Configuration') ,
+          'title' => ts('Domain Configuration'),
           'description' => 'Backend configuration.',
           'table_name' => 'civicrm_domain',
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'version' => array(
+        ],
+        'version' => [
           'name' => 'version',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('CiviCRM Version') ,
+          'title' => ts('CiviCRM Version'),
           'description' => 'The civicrm version this instance is running',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -190,72 +178,76 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Domain Contact') ,
+          'title' => ts('Domain Contact'),
           'description' => 'FK to Contact ID. This is specifically not an FK to avoid circular constraints',
           'table_name' => 'civicrm_domain',
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'locales' => array(
+        ],
+        'locales' => [
           'name' => 'locales',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Supported Languages') ,
+          'title' => ts('Supported Languages'),
           'description' => 'list of locales supported by the current db state (NULL for single-lang install)',
           'table_name' => 'civicrm_domain',
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
-        ) ,
-        'locale_custom_strings' => array(
+        ],
+        'locale_custom_strings' => [
           'name' => 'locale_custom_strings',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Language Customizations') ,
+          'title' => ts('Language Customizations'),
           'description' => 'Locale specific string overrides',
           'table_name' => 'civicrm_domain',
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -263,10 +255,11 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'domain', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'domain', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -274,25 +267,31 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'domain', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'domain', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_domain::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Email.php b/civicrm/CRM/Core/DAO/Email.php
index 7f02cf5555..45d97d1b90 100644
--- a/civicrm/CRM/Core/DAO/Email.php
+++ b/civicrm/CRM/Core/DAO/Email.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,213 +8,229 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:08f53d44527d7d174b4aa1bd545b028c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Email constructor.
+ * Database access object for the Email entity.
  */
 class CRM_Core_DAO_Email extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_email';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Email ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Which Location does this email belong to.
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * Email address
    *
    * @var string
    */
   public $email;
+
   /**
    * Is this the primary?
    *
    * @var boolean
    */
   public $is_primary;
+
   /**
    * Is this the billing?
    *
    * @var boolean
    */
   public $is_billing;
+
   /**
    * Is this address on bounce hold?
    *
    * @var boolean
    */
   public $on_hold;
+
   /**
    * Is this address for bulk mail ?
    *
    * @var boolean
    */
   public $is_bulkmail;
+
   /**
    * When the address went on bounce hold
    *
    * @var datetime
    */
   public $hold_date;
+
   /**
    * When the address bounce status was last reset
    *
    * @var datetime
    */
   public $reset_date;
+
   /**
    * Text formatted signature for the email.
    *
    * @var text
    */
   public $signature_text;
+
   /**
    * HTML formatted signature for the email.
    *
    * @var text
    */
   public $signature_html;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_email';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email ID') ,
+          'title' => ts('Email ID'),
           'description' => 'Unique Email ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email Contact') ,
+          'title' => ts('Email Contact'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email Location Type') ,
+          'title' => ts('Email Location Type'),
           'description' => 'Which Location does this email belong to.',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_location_type',
             'keyColumn' => 'id',
             'labelColumn' => 'display_name',
-          )
-        ) ,
-        'email' => array(
+          ]
+        ],
+        'email' => [
           'name' => 'email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Email') ,
+          'title' => ts('Email'),
           'description' => 'Email address',
           'maxlength' => 254,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_email.email',
           'headerPattern' => '/e.?mail/i',
           'dataPattern' => '/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/',
-          'export' => true,
+          'export' => TRUE,
           'rule' => 'email',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_primary' => array(
+          ],
+        ],
+        'is_primary' => [
           'name' => 'is_primary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Primary email') ,
+          'title' => ts('Is Primary email'),
           'description' => 'Is this the primary?',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'is_billing' => array(
+        ],
+        'is_billing' => [
           'name' => 'is_billing',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Billing Email?') ,
+          'title' => ts('Is Billing Email?'),
           'description' => 'Is this the billing?',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'on_hold' => array(
+        ],
+        'on_hold' => [
           'name' => 'on_hold',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('On Hold') ,
+          'title' => ts('On Hold'),
           'description' => 'Is this address on bounce hold?',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_email.on_hold',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -246,17 +238,17 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_bulkmail' => array(
+          ],
+        ],
+        'is_bulkmail' => [
           'name' => 'is_bulkmail',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Use for Bulk Mail') ,
+          'title' => ts('Use for Bulk Mail'),
           'description' => 'Is this address for bulk mail ?',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_email.is_bulkmail',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -264,92 +256,96 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'hold_date' => array(
+        ],
+        'hold_date' => [
           'name' => 'hold_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Hold Date') ,
+          'title' => ts('Hold Date'),
           'description' => 'When the address went on bounce hold',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'reset_date' => array(
+        ],
+        'reset_date' => [
           'name' => 'reset_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Reset Date') ,
+          'title' => ts('Reset Date'),
           'description' => 'When the address bounce status was last reset',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'signature_text' => array(
+        ],
+        'signature_text' => [
           'name' => 'signature_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Signature Text') ,
+          'title' => ts('Signature Text'),
           'description' => 'Text formatted signature for the email.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_email.signature_text',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-        'signature_html' => array(
+        ],
+        'signature_html' => [
           'name' => 'signature_html',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Signature Html') ,
+          'title' => ts('Signature Html'),
           'description' => 'HTML formatted signature for the email.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_email.signature_html',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_email',
           'entity' => 'Email',
           'bao' => 'CRM_Core_BAO_Email',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -357,10 +353,11 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'email', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'email', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -368,48 +365,54 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'email', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'email', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_location_type' => array(
+    $indices = [
+      'index_location_type' => [
         'name' => 'index_location_type',
-        'field' => array(
+        'field' => [
           0 => 'location_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_email::0::location_type_id',
-      ) ,
-      'UI_email' => array(
+      ],
+      'UI_email' => [
         'name' => 'UI_email',
-        'field' => array(
+        'field' => [
           0 => 'email',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_email::0::email',
-      ) ,
-      'index_is_primary' => array(
+      ],
+      'index_is_primary' => [
         'name' => 'index_is_primary',
-        'field' => array(
+        'field' => [
           0 => 'is_primary',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_email::0::is_primary',
-      ) ,
-      'index_is_billing' => array(
+      ],
+      'index_is_billing' => [
         'name' => 'index_is_billing',
-        'field' => array(
+        'field' => [
           0 => 'is_billing',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_email::0::is_billing',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/EntityFile.php b/civicrm/CRM/Core/DAO/EntityFile.php
index c8c2a55c31..5423d59386 100644
--- a/civicrm/CRM/Core/DAO/EntityFile.php
+++ b/civicrm/CRM/Core/DAO/EntityFile.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,93 +8,101 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:354c22131251fde259f5b796e102fccf)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_EntityFile constructor.
+ * Database access object for the EntityFile entity.
  */
 class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_entity_file';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to civicrm_file
    *
    * @var int unsigned
    */
   public $file_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_entity_file';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'file_id', 'civicrm_file', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'file_id', 'civicrm_file', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity File ID') ,
+          'title' => ts('Entity File ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_file',
           'entity' => 'EntityFile',
           'bao' => 'CRM_Core_DAO_EntityFile',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'physical tablename for entity being joined to file, e.g. civicrm_contact',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -126,63 +110,67 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
           'entity' => 'EntityFile',
           'bao' => 'CRM_Core_DAO_EntityFile',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_file',
           'entity' => 'EntityFile',
           'bao' => 'CRM_Core_DAO_EntityFile',
           'localizable' => 0,
-        ) ,
-        'file_id' => array(
+        ],
+        'file_id' => [
           'name' => 'file_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('File') ,
+          'title' => ts('File'),
           'description' => 'FK to civicrm_file',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_file',
           'entity' => 'EntityFile',
           'bao' => 'CRM_Core_DAO_EntityFile',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_File',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -190,10 +178,11 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_file', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_file', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -201,35 +190,41 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_file', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_file', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_entity_file::0::entity_table::entity_id',
-      ) ,
-      'index_entity_file_id' => array(
+      ],
+      'index_entity_file_id' => [
         'name' => 'index_entity_file_id',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
           2 => 'file_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_entity_file::0::entity_table::entity_id::file_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/EntityTag.php b/civicrm/CRM/Core/DAO/EntityTag.php
index ec0eb42f42..717ad3e639 100644
--- a/civicrm/CRM/Core/DAO/EntityTag.php
+++ b/civicrm/CRM/Core/DAO/EntityTag.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,93 +8,101 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:cb9ae7d6e83dd7423a431498f8dee5c8)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_EntityTag constructor.
+ * Database access object for the EntityTag entity.
  */
 class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_entity_tag';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to civicrm_tag
    *
    * @var int unsigned
    */
   public $tag_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_entity_tag';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'tag_id', 'civicrm_tag', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'tag_id', 'civicrm_tag', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity Tag ID') ,
+          'title' => ts('Entity Tag ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_tag',
           'entity' => 'EntityTag',
           'bao' => 'CRM_Core_BAO_EntityTag',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'physical tablename for entity being joined to file, e.g. civicrm_contact',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -126,75 +110,79 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
           'entity' => 'EntityTag',
           'bao' => 'CRM_Core_BAO_EntityTag',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'tag_used_for',
             'optionEditPath' => 'civicrm/admin/options/tag_used_for',
-          )
-        ) ,
-        'entity_id' => array(
+          ]
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_tag',
           'entity' => 'EntityTag',
           'bao' => 'CRM_Core_BAO_EntityTag',
           'localizable' => 0,
-        ) ,
-        'tag_id' => array(
+        ],
+        'tag_id' => [
           'name' => 'tag_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Tag') ,
+          'title' => ts('Tag'),
           'description' => 'FK to civicrm_tag',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_tag',
           'entity' => 'EntityTag',
           'bao' => 'CRM_Core_BAO_EntityTag',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Tag',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_tag',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -202,10 +190,11 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_tag', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_tag', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -213,27 +202,33 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_tag', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_tag', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_entity_id_entity_table_tag_id' => array(
+    $indices = [
+      'UI_entity_id_entity_table_tag_id' => [
         'name' => 'UI_entity_id_entity_table_tag_id',
-        'field' => array(
+        'field' => [
           0 => 'entity_id',
           1 => 'entity_table',
           2 => 'tag_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_entity_tag::1::entity_id::entity_table::tag_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Extension.php b/civicrm/CRM/Core/DAO/Extension.php
index 83194dcb07..e6c97ea258 100644
--- a/civicrm/CRM/Core/DAO/Extension.php
+++ b/civicrm/CRM/Core/DAO/Extension.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,240 +8,254 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6fdc48310a3cb4c35b5a3fa3a8aca079)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Extension constructor.
+ * Database access object for the Extension entity.
  */
 class CRM_Core_DAO_Extension extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_extension';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Local Extension ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
-   *
    * @var string
    */
   public $type;
+
   /**
    * Fully qualified extension name
    *
    * @var string
    */
   public $full_name;
+
   /**
    * Short name
    *
    * @var string
    */
   public $name;
+
   /**
    * Short, printable name
    *
    * @var string
    */
   public $label;
+
   /**
    * Primary PHP file
    *
    * @var string
    */
   public $file;
+
   /**
    * Revision code of the database schema; the format is module-defined
    *
    * @var string
    */
   public $schema_version;
+
   /**
    * Is this extension active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_extension';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Extension ID') ,
+          'title' => ts('Extension ID'),
           'description' => 'Local Extension ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'type' => array(
+        ],
+        'type' => [
           'name' => 'type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Type') ,
-          'required' => true,
+          'title' => ts('Type'),
+          'required' => TRUE,
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getExtensionTypes',
-          )
-        ) ,
-        'full_name' => array(
+          ]
+        ],
+        'full_name' => [
           'name' => 'full_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Key') ,
+          'title' => ts('Key'),
           'description' => 'Fully qualified extension name',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Short name',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_extension.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label') ,
+          'title' => ts('Label'),
           'description' => 'Short, printable name',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_extension.label',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'file' => array(
+        ],
+        'file' => [
           'name' => 'file',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('File') ,
+          'title' => ts('File'),
           'description' => 'Primary PHP file',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_extension.file',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'schema_version' => array(
+        ],
+        'schema_version' => [
           'name' => 'schema_version',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Schema Version') ,
+          'title' => ts('Schema Version'),
           'description' => 'Revision code of the database schema; the format is module-defined',
           'maxlength' => 63,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_extension.schema_version',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Extension is Active?') ,
+          'title' => ts('Extension is Active?'),
           'description' => 'Is this extension active?',
           'default' => '1',
           'table_name' => 'civicrm_extension',
           'entity' => 'Extension',
           'bao' => 'CRM_Core_BAO_Extension',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -273,10 +263,11 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'extension', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'extension', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -284,33 +275,39 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'extension', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'extension', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_extension_full_name' => array(
+    $indices = [
+      'UI_extension_full_name' => [
         'name' => 'UI_extension_full_name',
-        'field' => array(
+        'field' => [
           0 => 'full_name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_extension::1::full_name',
-      ) ,
-      'UI_extension_name' => array(
+      ],
+      'UI_extension_name' => [
         'name' => 'UI_extension_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_extension::0::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/File.php b/civicrm/CRM/Core/DAO/File.php
index 16f25a604f..b948be0b58 100644
--- a/civicrm/CRM/Core/DAO/File.php
+++ b/civicrm/CRM/Core/DAO/File.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,106 +8,116 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:996b2702471b24fb13c740ef104ea1f9)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_File constructor.
+ * Database access object for the File entity.
  */
 class CRM_Core_DAO_File extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_file';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Type of file (e.g. Transcript, Income Tax Return, etc). FK to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $file_type_id;
+
   /**
    * mime type of the document
    *
    * @var string
    */
   public $mime_type;
+
   /**
    * uri of the file on disk
    *
    * @var string
    */
   public $uri;
+
   /**
    * contents of the document
    *
    * @var mediumblob
    */
   public $document;
+
   /**
    * Additional descriptive text regarding this attachment (optional).
    *
    * @var string
    */
   public $description;
+
   /**
    * Date and time that this attachment was uploaded or written to server.
    *
    * @var datetime
    */
   public $upload_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_file';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('File ID') ,
+          'title' => ts('File ID'),
           'description' => 'Unique ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_file',
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'file_type_id' => array(
+        ],
+        'file_type_id' => [
           'name' => 'file_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('File Type') ,
+          'title' => ts('File Type'),
           'description' => 'Type of file (e.g. Transcript, Income Tax Return, etc). FK to civicrm_option_value.',
           'table_name' => 'civicrm_file',
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'mime_type' => array(
+        ],
+        'mime_type' => [
           'name' => 'mime_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mime Type') ,
+          'title' => ts('Mime Type'),
           'description' => 'mime type of the document',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -139,11 +125,11 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'uri' => array(
+        ],
+        'uri' => [
           'name' => 'uri',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Path') ,
+          'title' => ts('Path'),
           'description' => 'uri of the file on disk',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -151,21 +137,21 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'document' => array(
+        ],
+        'document' => [
           'name' => 'document',
           'type' => CRM_Utils_Type::T_MEDIUMBLOB,
-          'title' => ts('File Contents') ,
+          'title' => ts('File Contents'),
           'description' => 'contents of the document',
           'table_name' => 'civicrm_file',
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('File Description') ,
+          'title' => ts('File Description'),
           'description' => 'Additional descriptive text regarding this attachment (optional).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -173,50 +159,54 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-        'upload_date' => array(
+        ],
+        'upload_date' => [
           'name' => 'upload_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('File Upload Date') ,
+          'title' => ts('File Upload Date'),
           'description' => 'Date and time that this attachment was uploaded or written to server.',
           'table_name' => 'civicrm_file',
           'entity' => 'File',
           'bao' => 'CRM_Core_BAO_File',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -224,10 +214,11 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'file', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'file', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -235,15 +226,21 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'file', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'file', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/IM.php b/civicrm/CRM/Core/DAO/IM.php
index ec3883a16e..d1e8289435 100644
--- a/civicrm/CRM/Core/DAO/IM.php
+++ b/civicrm/CRM/Core/DAO/IM.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,225 +8,240 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:fe754a68bdda23ca881ac6425750eeba)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_IM constructor.
+ * Database access object for the IM entity.
  */
 class CRM_Core_DAO_IM extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_im';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique IM ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Which Location does this email belong to.
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * IM screen name
    *
    * @var string
    */
   public $name;
+
   /**
    * Which IM Provider does this screen name belong to.
    *
    * @var int unsigned
    */
   public $provider_id;
+
   /**
    * Is this the primary IM for this contact and location.
    *
    * @var boolean
    */
   public $is_primary;
+
   /**
    * Is this the billing?
    *
    * @var boolean
    */
   public $is_billing;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_im';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Instant Messenger ID') ,
+          'title' => ts('Instant Messenger ID'),
           'description' => 'Unique IM ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('IM Contact') ,
+          'title' => ts('IM Contact'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('IM Location Type') ,
+          'title' => ts('IM Location Type'),
           'description' => 'Which Location does this email belong to.',
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_location_type',
             'keyColumn' => 'id',
             'labelColumn' => 'display_name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('IM Screen Name') ,
+          'title' => ts('IM Screen Name'),
           'description' => 'IM screen name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_im.name',
           'headerPattern' => '/I(nstant )?M(ess.*)?|screen(\s+)?name/i',
           'dataPattern' => '/^[A-Za-z][0-9A-Za-z]{20,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'provider_id' => array(
+          ],
+        ],
+        'provider_id' => [
           'name' => 'provider_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('IM Provider') ,
+          'title' => ts('IM Provider'),
           'description' => 'Which IM Provider does this screen name belong to.',
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'instant_messenger_service',
             'optionEditPath' => 'civicrm/admin/options/instant_messenger_service',
-          )
-        ) ,
-        'is_primary' => array(
+          ]
+        ],
+        'is_primary' => [
           'name' => 'is_primary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is IM Primary?') ,
+          'title' => ts('Is IM Primary?'),
           'description' => 'Is this the primary IM for this contact and location.',
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-        ) ,
-        'is_billing' => array(
+        ],
+        'is_billing' => [
           'name' => 'is_billing',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is IM Billing?') ,
+          'title' => ts('Is IM Billing?'),
           'description' => 'Is this the billing?',
           'table_name' => 'civicrm_im',
           'entity' => 'IM',
           'bao' => 'CRM_Core_BAO_IM',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -258,10 +249,11 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'im', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'im', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -269,48 +261,54 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'im', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'im', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_location_type' => array(
+    $indices = [
+      'index_location_type' => [
         'name' => 'index_location_type',
-        'field' => array(
+        'field' => [
           0 => 'location_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_im::0::location_type_id',
-      ) ,
-      'UI_provider_id' => array(
+      ],
+      'UI_provider_id' => [
         'name' => 'UI_provider_id',
-        'field' => array(
+        'field' => [
           0 => 'provider_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_im::0::provider_id',
-      ) ,
-      'index_is_primary' => array(
+      ],
+      'index_is_primary' => [
         'name' => 'index_is_primary',
-        'field' => array(
+        'field' => [
           0 => 'is_primary',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_im::0::is_primary',
-      ) ,
-      'index_is_billing' => array(
+      ],
+      'index_is_billing' => [
         'name' => 'index_is_billing',
-        'field' => array(
+        'field' => [
           0 => 'is_billing',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_im::0::is_billing',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Job.php b/civicrm/CRM/Core/DAO/Job.php
index 8a5af2af35..2a3abb54f6 100644
--- a/civicrm/CRM/Core/DAO/Job.php
+++ b/civicrm/CRM/Core/DAO/Job.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,151 +8,166 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:ec2775b0ba09eb61d32f1565ebbaf4f8)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Job constructor.
+ * Database access object for the Job entity.
  */
 class CRM_Core_DAO_Job extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_job';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Job Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this scheduled job for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Scheduled job run frequency.
    *
    * @var string
    */
   public $run_frequency;
+
   /**
    * When was this cron entry last run
    *
    * @var timestamp
    */
   public $last_run;
+
   /**
    * When is this cron entry scheduled to run
    *
    * @var timestamp
    */
   public $scheduled_run_date;
+
   /**
    * Title of the job
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of the job
    *
    * @var string
    */
   public $description;
+
   /**
    * Entity of the job api call
    *
    * @var string
    */
   public $api_entity;
+
   /**
    * Action of the job api call
    *
    * @var string
    */
   public $api_action;
+
   /**
    * List of parameters to the command.
    *
    * @var text
    */
   public $parameters;
+
   /**
    * Is this job active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_job';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Job ID') ,
+          'title' => ts('Job ID'),
           'description' => 'Job Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_job',
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Job Domain') ,
+          'title' => ts('Job Domain'),
           'description' => 'Which Domain is this scheduled job for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_job',
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'run_frequency' => array(
+          ]
+        ],
+        'run_frequency' => [
           'name' => 'run_frequency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Job Frequency') ,
+          'title' => ts('Job Frequency'),
           'description' => 'Scheduled job run frequency.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -185,41 +176,41 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getJobFrequency',
-          )
-        ) ,
-        'last_run' => array(
+          ]
+        ],
+        'last_run' => [
           'name' => 'last_run',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Last Run') ,
+          'title' => ts('Last Run'),
           'description' => 'When was this cron entry last run',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_job',
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'scheduled_run_date' => array(
+        ],
+        'scheduled_run_date' => [
           'name' => 'scheduled_run_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Scheduled Run Date') ,
+          'title' => ts('Scheduled Run Date'),
           'description' => 'When is this cron entry scheduled to run',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_job',
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Job Name') ,
+          'title' => ts('Job Name'),
           'description' => 'Title of the job',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -227,11 +218,11 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Job Description') ,
+          'title' => ts('Job Description'),
           'description' => 'Description of the job',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -239,11 +230,11 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'api_entity' => array(
+        ],
+        'api_entity' => [
           'name' => 'api_entity',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('API Entity') ,
+          'title' => ts('API Entity'),
           'description' => 'Entity of the job api call',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -251,11 +242,11 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'api_action' => array(
+        ],
+        'api_action' => [
           'name' => 'api_action',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('API Action') ,
+          'title' => ts('API Action'),
           'description' => 'Action of the job api call',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -263,11 +254,11 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-        'parameters' => array(
+        ],
+        'parameters' => [
           'name' => 'parameters',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('API Parameters') ,
+          'title' => ts('API Parameters'),
           'description' => 'List of parameters to the command.',
           'rows' => 4,
           'cols' => 60,
@@ -275,53 +266,57 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Job Is Active?') ,
+          'title' => ts('Job Is Active?'),
           'description' => 'Is this job active?',
           'table_name' => 'civicrm_job',
           'entity' => 'Job',
           'bao' => 'CRM_Core_BAO_Job',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -329,10 +324,11 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'job', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'job', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -340,15 +336,21 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'job', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'job', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/JobLog.php b/civicrm/CRM/Core/DAO/JobLog.php
index caf58d8c82..f441f19c34 100644
--- a/civicrm/CRM/Core/DAO/JobLog.php
+++ b/civicrm/CRM/Core/DAO/JobLog.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,153 +8,165 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8bf259a1e340e91eb72255dd7cdba531)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_JobLog constructor.
+ * Database access object for the JobLog entity.
  */
 class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_job_log';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Job log entry Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this scheduled job for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Log entry date
    *
    * @var timestamp
    */
   public $run_time;
+
   /**
    * Pointer to job id - not a FK though, just for logging purposes
    *
    * @var int unsigned
    */
   public $job_id;
+
   /**
    * Title of the job
    *
    * @var string
    */
   public $name;
+
   /**
    * Full path to file containing job script
    *
    * @var string
    */
   public $command;
+
   /**
    * Title line of log entry
    *
    * @var string
    */
   public $description;
+
   /**
    * Potential extended data for specific job run (e.g. tracebacks).
    *
    * @var text
    */
   public $data;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_job_log';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Job Log ID') ,
+          'title' => ts('Job Log ID'),
           'description' => 'Job log entry Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_job_log',
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Domain ID') ,
+          'title' => ts('Domain ID'),
           'description' => 'Which Domain is this scheduled job for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_job_log',
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'run_time' => array(
+          ]
+        ],
+        'run_time' => [
           'name' => 'run_time',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'Log entry date',
           'table_name' => 'civicrm_job_log',
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'job_id' => array(
+        ],
+        'job_id' => [
           'name' => 'job_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Job ID') ,
+          'title' => ts('Job ID'),
           'description' => 'Pointer to job id - not a FK though, just for logging purposes',
           'table_name' => 'civicrm_job_log',
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Job Name') ,
+          'title' => ts('Job Name'),
           'description' => 'Title of the job',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -186,11 +174,11 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'command' => array(
+        ],
+        'command' => [
           'name' => 'command',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Command') ,
+          'title' => ts('Command'),
           'description' => 'Full path to file containing job script',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -198,11 +186,11 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Title line of log entry',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -210,50 +198,54 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Extended Data') ,
+          'title' => ts('Extended Data'),
           'description' => 'Potential extended data for specific job run (e.g. tracebacks).',
           'table_name' => 'civicrm_job_log',
           'entity' => 'JobLog',
           'bao' => 'CRM_Core_DAO_JobLog',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -261,10 +253,11 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'job_log', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'job_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -272,15 +265,21 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'job_log', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'job_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/LocBlock.php b/civicrm/CRM/Core/DAO/LocBlock.php
index e4afbe8607..e6edb4d73c 100644
--- a/civicrm/CRM/Core/DAO/LocBlock.php
+++ b/civicrm/CRM/Core/DAO/LocBlock.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,230 +8,239 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0782115dac3b6bb5e8a0291ddf5285ba)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_LocBlock constructor.
+ * Database access object for the LocBlock entity.
  */
 class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_loc_block';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
-   *
    * @var int unsigned
    */
   public $address_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $email_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $phone_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $im_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $address_2_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $email_2_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $phone_2_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $im_2_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_loc_block';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'address_id', 'civicrm_address', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'email_id', 'civicrm_email', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'phone_id', 'civicrm_phone', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'im_id', 'civicrm_im', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'address_2_id', 'civicrm_address', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'email_2_id', 'civicrm_email', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'phone_2_id', 'civicrm_phone', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'im_2_id', 'civicrm_im', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'address_id', 'civicrm_address', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'email_id', 'civicrm_email', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'phone_id', 'civicrm_phone', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'im_id', 'civicrm_im', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'address_2_id', 'civicrm_address', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'email_2_id', 'civicrm_email', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'phone_2_id', 'civicrm_phone', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'im_2_id', 'civicrm_im', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block ID') ,
+          'title' => ts('Location Block ID'),
           'description' => 'Unique ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
-        ) ,
-        'address_id' => array(
+        ],
+        'address_id' => [
           'name' => 'address_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block Address') ,
+          'title' => ts('Location Block Address'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Address',
-        ) ,
-        'email_id' => array(
+        ],
+        'email_id' => [
           'name' => 'email_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block Email') ,
+          'title' => ts('Location Block Email'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
-        ) ,
-        'phone_id' => array(
+        ],
+        'phone_id' => [
           'name' => 'phone_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block Phone') ,
+          'title' => ts('Location Block Phone'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
-        ) ,
-        'im_id' => array(
+        ],
+        'im_id' => [
           'name' => 'im_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block IM') ,
+          'title' => ts('Location Block IM'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_IM',
-        ) ,
-        'address_2_id' => array(
+        ],
+        'address_2_id' => [
           'name' => 'address_2_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block IM 2') ,
+          'title' => ts('Location Block IM 2'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Address',
-        ) ,
-        'email_2_id' => array(
+        ],
+        'email_2_id' => [
           'name' => 'email_2_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email 2') ,
+          'title' => ts('Email 2'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
-        ) ,
-        'phone_2_id' => array(
+        ],
+        'phone_2_id' => [
           'name' => 'phone_2_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone 2') ,
+          'title' => ts('Phone 2'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
-        ) ,
-        'im_2_id' => array(
+        ],
+        'im_2_id' => [
           'name' => 'im_2_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Instant Messenger 2') ,
+          'title' => ts('Instant Messenger 2'),
           'table_name' => 'civicrm_loc_block',
           'entity' => 'LocBlock',
           'bao' => 'CRM_Core_DAO_LocBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_IM',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -263,10 +248,11 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'loc_block', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'loc_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -274,15 +260,21 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'loc_block', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'loc_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/LocationType.php b/civicrm/CRM/Core/DAO/LocationType.php
index 4c09e883ef..fedb851cc3 100644
--- a/civicrm/CRM/Core/DAO/LocationType.php
+++ b/civicrm/CRM/Core/DAO/LocationType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,102 +8,113 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:630f891b9d0d1621cdbf3254e8536d4f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_LocationType constructor.
+ * Database access object for the LocationType entity.
  */
 class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_location_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Location Type ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Location Type Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * Location Type Display Name.
    *
    * @var string
    */
   public $display_name;
+
   /**
    * vCard Location Type Name.
    *
    * @var string
    */
   public $vcard_name;
+
   /**
    * Location Type Description.
    *
    * @var string
    */
   public $description;
+
   /**
    * Is this location type a predefined system location?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this location type the default?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_location_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Type ID') ,
+          'title' => ts('Location Type ID'),
           'description' => 'Location Type ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_location_type',
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Location Type') ,
+          'title' => ts('Location Type'),
           'description' => 'Location Type Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -135,11 +122,11 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'display_name' => array(
+        ],
+        'display_name' => [
           'name' => 'display_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Display Name') ,
+          'title' => ts('Display Name'),
           'description' => 'Location Type Display Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -147,11 +134,11 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 1,
-        ) ,
-        'vcard_name' => array(
+        ],
+        'vcard_name' => [
           'name' => 'vcard_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('vCard Location Type') ,
+          'title' => ts('vCard Location Type'),
           'description' => 'vCard Location Type Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -159,11 +146,11 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Location Type Description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -171,70 +158,74 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Location Type is Reserved?') ,
+          'title' => ts('Location Type is Reserved?'),
           'description' => 'Is this location type a predefined system location?',
           'table_name' => 'civicrm_location_type',
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Location Type is Active?') ,
+          'title' => ts('Location Type is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_location_type',
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Default Location Type?') ,
+          'title' => ts('Default Location Type?'),
           'description' => 'Is this location type the default?',
           'table_name' => 'civicrm_location_type',
           'entity' => 'LocationType',
           'bao' => 'CRM_Core_BAO_LocationType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -242,10 +233,11 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'location_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'location_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -253,25 +245,31 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'location_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'location_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_location_type::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Log.php b/civicrm/CRM/Core/DAO/Log.php
index 3a0b9685d6..9c265e4747 100644
--- a/civicrm/CRM/Core/DAO/Log.php
+++ b/civicrm/CRM/Core/DAO/Log.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,189 +8,203 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a286415e35f08ea36fea4774cc744758)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Log constructor.
+ * Database access object for the Log entity.
  */
 class CRM_Core_DAO_Log extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_log';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Log ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of table where item being referenced is stored.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Updates does to this object if any.
    *
    * @var text
    */
   public $data;
+
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
    * @var int unsigned
    */
   public $modified_id;
+
   /**
    * When was the referenced entity created or modified or deleted.
    *
    * @var datetime
    */
   public $modified_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_log';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'modified_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Log ID') ,
+          'title' => ts('Log ID'),
           'description' => 'Log ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Name of table where item being referenced is stored.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID ') ,
+          'title' => ts('Entity ID '),
           'description' => 'Foreign key to the referenced item.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Data') ,
+          'title' => ts('Data'),
           'description' => 'Updates does to this object if any.',
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
-        ) ,
-        'modified_id' => array(
+        ],
+        'modified_id' => [
           'name' => 'modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Modified By') ,
+          'title' => ts('Modified By'),
           'description' => 'FK to Contact ID of person under whose credentials this data modification was made.',
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When was the referenced entity created or modified or deleted.',
           'table_name' => 'civicrm_log',
           'entity' => 'Log',
           'bao' => 'CRM_Core_BAO_Log',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -222,10 +212,11 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'log', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -233,25 +224,31 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'log', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_log::0::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/MailSettings.php b/civicrm/CRM/Core/DAO/MailSettings.php
index 10b2a914df..3b1964d6fe 100644
--- a/civicrm/CRM/Core/DAO/MailSettings.php
+++ b/civicrm/CRM/Core/DAO/MailSettings.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,175 +8,194 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:86515d7cb55425fbad3a71d5aa000af0)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_MailSettings constructor.
+ * Database access object for the MailSettings entity.
  */
 class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mail_settings';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * primary key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this match entry for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * name of this group of settings
    *
    * @var string
    */
   public $name;
+
   /**
    * whether this is the default set of settings for this domain
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * email address domain (the part after @)
    *
    * @var string
    */
   public $domain;
+
   /**
    * optional local part (like civimail+ for addresses like civimail+s.1.2@example.com)
    *
    * @var string
    */
   public $localpart;
+
   /**
    * contents of the Return-Path header
    *
    * @var string
    */
   public $return_path;
+
   /**
    * name of the protocol to use for polling (like IMAP, POP3 or Maildir)
    *
    * @var string
    */
   public $protocol;
+
   /**
    * server to use when polling
    *
    * @var string
    */
   public $server;
+
   /**
    * port to use when polling
    *
    * @var int unsigned
    */
   public $port;
+
   /**
    * username to use when polling
    *
    * @var string
    */
   public $username;
+
   /**
    * password to use when polling
    *
    * @var string
    */
   public $password;
+
   /**
    * whether to use SSL or not
    *
    * @var boolean
    */
   public $is_ssl;
+
   /**
    * folder to poll from when using IMAP, path to poll from when using Maildir, etc.
    *
    * @var string
    */
   public $source;
+
   /**
    * Name of status to use when creating email to activity.
    *
    * @var string
    */
   public $activity_status;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mail_settings';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mail Settings ID') ,
+          'title' => ts('Mail Settings ID'),
           'description' => 'primary key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mail_settings',
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mail Settings Domain') ,
+          'title' => ts('Mail Settings Domain'),
           'description' => 'Which Domain is this match entry for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mail_settings',
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mail Settings Name') ,
+          'title' => ts('Mail Settings Name'),
           'description' => 'name of this group of settings',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -208,21 +203,21 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Default Mail Settings?') ,
+          'title' => ts('Is Default Mail Settings?'),
           'description' => 'whether this is the default set of settings for this domain',
           'table_name' => 'civicrm_mail_settings',
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'domain' => array(
+        ],
+        'domain' => [
           'name' => 'domain',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('email Domain') ,
+          'title' => ts('email Domain'),
           'description' => 'email address domain (the part after @)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -230,11 +225,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'localpart' => array(
+        ],
+        'localpart' => [
           'name' => 'localpart',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('email Local Part') ,
+          'title' => ts('email Local Part'),
           'description' => 'optional local part (like civimail+ for addresses like civimail+s.1.2@example.com)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -242,11 +237,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'return_path' => array(
+        ],
+        'return_path' => [
           'name' => 'return_path',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Return Path') ,
+          'title' => ts('Return Path'),
           'description' => 'contents of the Return-Path header',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -254,11 +249,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'protocol' => array(
+        ],
+        'protocol' => [
           'name' => 'protocol',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Protocol') ,
+          'title' => ts('Protocol'),
           'description' => 'name of the protocol to use for polling (like IMAP, POP3 or Maildir)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -266,18 +261,18 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'mail_protocol',
             'optionEditPath' => 'civicrm/admin/options/mail_protocol',
-          )
-        ) ,
-        'server' => array(
+          ]
+        ],
+        'server' => [
           'name' => 'server',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mail Server') ,
+          'title' => ts('Mail Server'),
           'description' => 'server to use when polling',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -285,21 +280,21 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'port' => array(
+        ],
+        'port' => [
           'name' => 'port',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mail Port') ,
+          'title' => ts('Mail Port'),
           'description' => 'port to use when polling',
           'table_name' => 'civicrm_mail_settings',
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'username' => array(
+        ],
+        'username' => [
           'name' => 'username',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mail Account Username') ,
+          'title' => ts('Mail Account Username'),
           'description' => 'username to use when polling',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -307,11 +302,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'password' => array(
+        ],
+        'password' => [
           'name' => 'password',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mail Account Password') ,
+          'title' => ts('Mail Account Password'),
           'description' => 'password to use when polling',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -319,21 +314,21 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'is_ssl' => array(
+        ],
+        'is_ssl' => [
           'name' => 'is_ssl',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Mail Account Uses SSL') ,
+          'title' => ts('Mail Account Uses SSL'),
           'description' => 'whether to use SSL or not',
           'table_name' => 'civicrm_mail_settings',
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'source' => array(
+        ],
+        'source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mail Folder') ,
+          'title' => ts('Mail Folder'),
           'description' => 'folder to poll from when using IMAP, path to poll from when using Maildir, etc.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -341,11 +336,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-        ) ,
-        'activity_status' => array(
+        ],
+        'activity_status' => [
           'name' => 'activity_status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Activity Status') ,
+          'title' => ts('Activity Status'),
           'description' => 'Name of status to use when creating email to activity.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -353,48 +348,52 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
           'entity' => 'MailSettings',
           'bao' => 'CRM_Core_BAO_MailSettings',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'activity_status',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/activity_status',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -402,10 +401,11 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mail_settings', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mail_settings', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -413,15 +413,21 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mail_settings', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mail_settings', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Managed.php b/civicrm/CRM/Core/DAO/Managed.php
index d1d2e95178..3349673c52 100644
--- a/civicrm/CRM/Core/DAO/Managed.php
+++ b/civicrm/CRM/Core/DAO/Managed.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,103 +8,112 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:49d518366db653a210558061604fb8cf)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Managed constructor.
+ * Database access object for the Managed entity.
  */
 class CRM_Core_DAO_Managed extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_managed';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Surrogate Key
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the module which declared this object
    *
    * @var string
    */
   public $module;
+
   /**
    * Symbolic name used by the module to identify the object
    *
    * @var string
    */
   public $name;
+
   /**
    * API entity type
    *
    * @var string
    */
   public $entity_type;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Policy on when to cleanup entity (always, never, unused)
    *
    * @var string
    */
   public $cleanup;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_managed';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Managed ID') ,
+          'title' => ts('Managed ID'),
           'description' => 'Surrogate Key',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_managed',
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-        ) ,
-        'module' => array(
+        ],
+        'module' => [
           'name' => 'module',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Module') ,
+          'title' => ts('Module'),
           'description' => 'Name of the module which declared this object',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 127,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_managed',
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Symbolic name used by the module to identify the object',
           'maxlength' => 127,
           'size' => CRM_Utils_Type::HUGE,
@@ -136,35 +121,35 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-        ) ,
-        'entity_type' => array(
+        ],
+        'entity_type' => [
           'name' => 'entity_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Type') ,
+          'title' => ts('Entity Type'),
           'description' => 'API entity type',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_managed',
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'Foreign key to the referenced item.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_managed',
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-        ) ,
-        'cleanup' => array(
+        ],
+        'cleanup' => [
           'name' => 'cleanup',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Cleanup Setting') ,
+          'title' => ts('Cleanup Setting'),
           'description' => 'Policy on when to cleanup entity (always, never, unused)',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -172,46 +157,50 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
           'entity' => 'Managed',
           'bao' => 'CRM_Core_DAO_Managed',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_ManagedEntities::getCleanupOptions',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -219,10 +208,11 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'managed', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'managed', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -230,34 +220,40 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'managed', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'managed', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_managed_module_name' => array(
+    $indices = [
+      'UI_managed_module_name' => [
         'name' => 'UI_managed_module_name',
-        'field' => array(
+        'field' => [
           0 => 'module',
           1 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_managed::0::module::name',
-      ) ,
-      'UI_managed_entity' => array(
+      ],
+      'UI_managed_entity' => [
         'name' => 'UI_managed_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_type',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_managed::0::entity_type::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Mapping.php b/civicrm/CRM/Core/DAO/Mapping.php
index b9d66a767a..80d1edda9a 100644
--- a/civicrm/CRM/Core/DAO/Mapping.php
+++ b/civicrm/CRM/Core/DAO/Mapping.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,78 +8,85 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6ebbd7d124ddee297d44168f135ce38b)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Mapping constructor.
+ * Database access object for the Mapping entity.
  */
 class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mapping';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Mapping ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of Mapping
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of Mapping.
    *
    * @var string
    */
   public $description;
+
   /**
    * Mapping Type
    *
    * @var int unsigned
    */
   public $mapping_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mapping';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mapping ID') ,
+          'title' => ts('Mapping ID'),
           'description' => 'Mapping ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mapping',
           'entity' => 'Mapping',
           'bao' => 'CRM_Core_BAO_Mapping',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Name of Mapping',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -111,11 +94,11 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
           'entity' => 'Mapping',
           'bao' => 'CRM_Core_BAO_Mapping',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Description of Mapping.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -123,57 +106,61 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
           'entity' => 'Mapping',
           'bao' => 'CRM_Core_BAO_Mapping',
           'localizable' => 0,
-        ) ,
-        'mapping_type_id' => array(
+        ],
+        'mapping_type_id' => [
           'name' => 'mapping_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mapping Type') ,
+          'title' => ts('Mapping Type'),
           'description' => 'Mapping Type',
           'table_name' => 'civicrm_mapping',
           'entity' => 'Mapping',
           'bao' => 'CRM_Core_BAO_Mapping',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'mapping_type',
             'optionEditPath' => 'civicrm/admin/options/mapping_type',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -181,10 +168,11 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mapping', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mapping', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -192,24 +180,30 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mapping', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mapping', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_mapping::0::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/MappingField.php b/civicrm/CRM/Core/DAO/MappingField.php
index 7b22b73f40..6216bb9398 100644
--- a/civicrm/CRM/Core/DAO/MappingField.php
+++ b/civicrm/CRM/Core/DAO/MappingField.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,89 +8,101 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6e729c48a9732fd57132ddfe6f9d02b9)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_MappingField constructor.
+ * Database access object for the MappingField entity.
  */
 class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mapping_field';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Mapping Field ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Mapping to which this field belongs
    *
    * @var int unsigned
    */
   public $mapping_id;
+
   /**
    * Mapping field key
    *
    * @var string
    */
   public $name;
+
   /**
    * Contact Type in mapping
    *
    * @var string
    */
   public $contact_type;
+
   /**
    * Column number for mapping set
    *
    * @var int unsigned
    */
   public $column_number;
+
   /**
    * Location type of this mapping, if required
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * Which type of phone does this number belongs.
    *
    * @var int unsigned
    */
   public $phone_type_id;
+
   /**
    * Which type of IM Provider does this name belong.
    *
    * @var int unsigned
    */
   public $im_provider_id;
+
   /**
    * Which type of website does this site belong
    *
    * @var int unsigned
    */
   public $website_type_id;
+
   /**
    * Relationship type, if required
    *
    * @var int unsigned
    */
   public $relationship_type_id;
+
   /**
-   *
    * @var string
    */
   public $relationship_direction;
+
   /**
    * Used to group mapping_field records into related sets (e.g. for criteria sets in search builder
    mappings).
@@ -122,76 +110,81 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    * @var int unsigned
    */
   public $grouping;
+
   /**
    * SQL WHERE operator for search-builder mapping fields (search criteria).
    *
    * @var string
    */
   public $operator;
+
   /**
    * SQL WHERE value for search-builder mapping fields.
    *
    * @var string
    */
   public $value;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mapping_field';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mapping_id', 'civicrm_mapping', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'location_type_id', 'civicrm_location_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'relationship_type_id', 'civicrm_relationship_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mapping_id', 'civicrm_mapping', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'location_type_id', 'civicrm_location_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'relationship_type_id', 'civicrm_relationship_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mapping Field ID') ,
+          'title' => ts('Mapping Field ID'),
           'description' => 'Mapping Field ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'mapping_id' => array(
+        ],
+        'mapping_id' => [
           'name' => 'mapping_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mapping ID') ,
+          'title' => ts('Mapping ID'),
           'description' => 'Mapping to which this field belongs',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Mapping',
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Mapping field key',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -199,11 +192,11 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'contact_type' => array(
+        ],
+        'contact_type' => [
           'name' => 'contact_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type') ,
+          'title' => ts('Contact Type'),
           'description' => 'Contact Type in mapping',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -211,102 +204,102 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'column_number' => array(
+          ],
+        ],
+        'column_number' => [
           'name' => 'column_number',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Column Number') ,
+          'title' => ts('Column Number'),
           'description' => 'Column number for mapping set',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location type ID') ,
+          'title' => ts('Location type ID'),
           'description' => 'Location type of this mapping, if required',
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_LocationType',
-        ) ,
-        'phone_type_id' => array(
+        ],
+        'phone_type_id' => [
           'name' => 'phone_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone type ID') ,
+          'title' => ts('Phone type ID'),
           'description' => 'Which type of phone does this number belongs.',
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'im_provider_id' => array(
+        ],
+        'im_provider_id' => [
           'name' => 'im_provider_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('IM provider ID') ,
+          'title' => ts('IM provider ID'),
           'description' => 'Which type of IM Provider does this name belong.',
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'instant_messenger_service',
             'optionEditPath' => 'civicrm/admin/options/instant_messenger_service',
-          )
-        ) ,
-        'website_type_id' => array(
+          ]
+        ],
+        'website_type_id' => [
           'name' => 'website_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Website type ID') ,
+          'title' => ts('Website type ID'),
           'description' => 'Which type of website does this site belong',
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'website_type',
             'optionEditPath' => 'civicrm/admin/options/website_type',
-          )
-        ) ,
-        'relationship_type_id' => array(
+          ]
+        ],
+        'relationship_type_id' => [
           'name' => 'relationship_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Relationship type ID') ,
+          'title' => ts('Relationship type ID'),
           'description' => 'Relationship type, if required',
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_RelationshipType',
-        ) ,
-        'relationship_direction' => array(
+        ],
+        'relationship_direction' => [
           'name' => 'relationship_direction',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Direction') ,
+          'title' => ts('Relationship Direction'),
           'maxlength' => 6,
           'size' => CRM_Utils_Type::SIX,
           'table_name' => 'civicrm_mapping_field',
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'grouping' => array(
+        ],
+        'grouping' => [
           'name' => 'grouping',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grouping') ,
+          'title' => ts('Grouping'),
           'description' => 'Used to group mapping_field records into related sets (e.g. for criteria sets in search builder
       mappings).
     ',
@@ -315,11 +308,11 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-        'operator' => array(
+        ],
+        'operator' => [
           'name' => 'operator',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Operator') ,
+          'title' => ts('Operator'),
           'description' => 'SQL WHERE operator for search-builder mapping fields (search criteria).',
           'maxlength' => 16,
           'size' => CRM_Utils_Type::TWELVE,
@@ -327,17 +320,17 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getSearchBuilderOperators',
-          )
-        ) ,
-        'value' => array(
+          ]
+        ],
+        'value' => [
           'name' => 'value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Value') ,
+          'title' => ts('Value'),
           'description' => 'SQL WHERE value for search-builder mapping fields.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -345,40 +338,44 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
           'entity' => 'MappingField',
           'bao' => 'CRM_Core_DAO_MappingField',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -386,10 +383,11 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mapping_field', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mapping_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -397,15 +395,21 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mapping_field', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mapping_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Menu.php b/civicrm/CRM/Core/DAO/Menu.php
index 47e561c1f1..ab2eb48eff 100644
--- a/civicrm/CRM/Core/DAO/Menu.php
+++ b/civicrm/CRM/Core/DAO/Menu.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,215 +8,239 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:78591d8ca17fb4eb39a7123f35399035)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Menu constructor.
+ * Database access object for the Menu entity.
  */
 class CRM_Core_DAO_Menu extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_menu';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this menu item for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Path Name
    *
    * @var string
    */
   public $path;
+
   /**
    * Arguments to pass to the url
    *
    * @var text
    */
   public $path_arguments;
+
   /**
-   *
    * @var string
    */
   public $title;
+
   /**
    * Function to call to check access permissions
    *
    * @var string
    */
   public $access_callback;
+
   /**
    * Arguments to pass to access callback
    *
    * @var text
    */
   public $access_arguments;
+
   /**
    * function to call for this url
    *
    * @var string
    */
   public $page_callback;
+
   /**
    * Arguments to pass to page callback
    *
    * @var text
    */
   public $page_arguments;
+
   /**
    * Breadcrumb for the path.
    *
    * @var text
    */
   public $breadcrumb;
+
   /**
    * Url where a page should redirected to, if next url not known.
    *
    * @var string
    */
   public $return_url;
+
   /**
    * Arguments to pass to return_url
    *
    * @var string
    */
   public $return_url_args;
+
   /**
    * Component that this menu item belongs to
    *
    * @var int unsigned
    */
   public $component_id;
+
   /**
    * Is this menu item active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this menu accessible to the public?
    *
    * @var boolean
    */
   public $is_public;
+
   /**
    * Is this menu exposed to the navigation system?
    *
    * @var boolean
    */
   public $is_exposed;
+
   /**
    * Should this menu be exposed via SSL if enabled?
    *
    * @var boolean
    */
   public $is_ssl;
+
   /**
    * Ordering of the menu items in various blocks.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Drupal menu type.
    *
    * @var int
    */
   public $type;
+
   /**
    * CiviCRM menu type.
    *
    * @var int
    */
   public $page_type;
+
   /**
    * skip this url being exposed to breadcrumb
    *
    * @var boolean
    */
   public $skipBreadcrumb;
+
   /**
    * All other menu metadata not stored in other fields
    *
    * @var text
    */
   public $module_data;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_menu';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'component_id', 'civicrm_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'component_id', 'civicrm_component', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Menu ID') ,
-          'required' => true,
+          'title' => ts('Menu ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Domain') ,
+          'title' => ts('Domain'),
           'description' => 'Which Domain is this menu item for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'path' => array(
+          ]
+        ],
+        'path' => [
           'name' => 'path',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Path') ,
+          'title' => ts('Path'),
           'description' => 'Path Name',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -248,32 +248,32 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'path_arguments' => array(
+        ],
+        'path_arguments' => [
           'name' => 'path_arguments',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Arguments') ,
+          'title' => ts('Arguments'),
           'description' => 'Arguments to pass to the url',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Menu Title') ,
+          'title' => ts('Menu Title'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'access_callback' => array(
+        ],
+        'access_callback' => [
           'name' => 'access_callback',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Access Callback') ,
+          'title' => ts('Access Callback'),
           'description' => 'Function to call to check access permissions',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -281,21 +281,21 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'access_arguments' => array(
+        ],
+        'access_arguments' => [
           'name' => 'access_arguments',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Access Arguments') ,
+          'title' => ts('Access Arguments'),
           'description' => 'Arguments to pass to access callback',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'page_callback' => array(
+        ],
+        'page_callback' => [
           'name' => 'page_callback',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Page Callback') ,
+          'title' => ts('Page Callback'),
           'description' => 'function to call for this url',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -303,31 +303,31 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'page_arguments' => array(
+        ],
+        'page_arguments' => [
           'name' => 'page_arguments',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Page Arguments') ,
+          'title' => ts('Page Arguments'),
           'description' => 'Arguments to pass to page callback',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'breadcrumb' => array(
+        ],
+        'breadcrumb' => [
           'name' => 'breadcrumb',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Breadcrumb') ,
+          'title' => ts('Breadcrumb'),
           'description' => 'Breadcrumb for the path.',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'return_url' => array(
+        ],
+        'return_url' => [
           'name' => 'return_url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Return Url') ,
+          'title' => ts('Return Url'),
           'description' => 'Url where a page should redirected to, if next url not known.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -335,11 +335,11 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'return_url_args' => array(
+        ],
+        'return_url_args' => [
           'name' => 'return_url_args',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Return Url Args') ,
+          'title' => ts('Return Url Args'),
           'description' => 'Arguments to pass to return_url',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -347,155 +347,159 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'component_id' => array(
+        ],
+        'component_id' => [
           'name' => 'component_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Component') ,
+          'title' => ts('Component'),
           'description' => 'Component that this menu item belongs to',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Component',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_component',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Enabled?') ,
+          'title' => ts('Enabled?'),
           'description' => 'Is this menu item active?',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'is_public' => array(
+        ],
+        'is_public' => [
           'name' => 'is_public',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Public?') ,
+          'title' => ts('Public?'),
           'description' => 'Is this menu accessible to the public?',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'is_exposed' => array(
+        ],
+        'is_exposed' => [
           'name' => 'is_exposed',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Exposed?') ,
+          'title' => ts('Exposed?'),
           'description' => 'Is this menu exposed to the navigation system?',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'is_ssl' => array(
+        ],
+        'is_ssl' => [
           'name' => 'is_ssl',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Use SSL?') ,
+          'title' => ts('Use SSL?'),
           'description' => 'Should this menu be exposed via SSL if enabled?',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Ordering of the menu items in various blocks.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'type' => array(
+        ],
+        'type' => [
           'name' => 'type',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Type') ,
+          'title' => ts('Type'),
           'description' => 'Drupal menu type.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'page_type' => array(
+        ],
+        'page_type' => [
           'name' => 'page_type',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Page Type') ,
+          'title' => ts('Page Type'),
           'description' => 'CiviCRM menu type.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'skipBreadcrumb' => array(
+        ],
+        'skipBreadcrumb' => [
           'name' => 'skipBreadcrumb',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Hide Breadcrumb?') ,
+          'title' => ts('Hide Breadcrumb?'),
           'description' => 'skip this url being exposed to breadcrumb',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-        'module_data' => array(
+        ],
+        'module_data' => [
           'name' => 'module_data',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Other menu data') ,
+          'title' => ts('Other menu data'),
           'description' => 'All other menu metadata not stored in other fields',
           'table_name' => 'civicrm_menu',
           'entity' => 'Menu',
           'bao' => 'CRM_Core_DAO_Menu',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -503,10 +507,11 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'menu', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'menu', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -514,26 +519,32 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'menu', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'menu', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_path_domain_id' => array(
+    $indices = [
+      'UI_path_domain_id' => [
         'name' => 'UI_path_domain_id',
-        'field' => array(
+        'field' => [
           0 => 'path',
           1 => 'domain_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_menu::1::path::domain_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/MessageTemplate.php b/civicrm/CRM/Core/DAO/MessageTemplate.php
index 0cad129c32..af00820f91 100644
--- a/civicrm/CRM/Core/DAO/MessageTemplate.php
+++ b/civicrm/CRM/Core/DAO/MessageTemplate.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,119 +8,132 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:ca87344addd76f0aca31f53071a01238)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_MessageTemplate constructor.
+ * Database access object for the MessageTemplate entity.
  */
 class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_msg_template';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Message Template ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Descriptive title of message
    *
    * @var string
    */
   public $msg_title;
+
   /**
    * Subject for email message.
    *
    * @var text
    */
   public $msg_subject;
+
   /**
    * Text formatted message
    *
    * @var longtext
    */
   public $msg_text;
+
   /**
    * HTML formatted message
    *
    * @var longtext
    */
   public $msg_html;
+
   /**
-   *
    * @var boolean
    */
   public $is_active;
+
   /**
    * a pseudo-FK to civicrm_option_value
    *
    * @var int unsigned
    */
   public $workflow_id;
+
   /**
    * is this the default message template for the workflow referenced by workflow_id?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * is this the reserved message template which we ship for the workflow referenced by workflow_id?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this message template used for sms?
    *
    * @var boolean
    */
   public $is_sms;
+
   /**
    * a pseudo-FK to civicrm_option_value containing PDF Page Format.
    *
    * @var int unsigned
    */
   public $pdf_format_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_msg_template';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Message Template ID') ,
+          'title' => ts('Message Template ID'),
           'description' => 'Message Template ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'msg_title' => array(
+        ],
+        'msg_title' => [
           'name' => 'msg_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Message Template Title') ,
+          'title' => ts('Message Template Title'),
           'description' => 'Descriptive title of message',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -152,142 +141,146 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'msg_subject' => array(
+        ],
+        'msg_subject' => [
           'name' => 'msg_subject',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Message Template Subject') ,
+          'title' => ts('Message Template Subject'),
           'description' => 'Subject for email message.',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'msg_text' => array(
+        ],
+        'msg_text' => [
           'name' => 'msg_text',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Message Template Text') ,
+          'title' => ts('Message Template Text'),
           'description' => 'Text formatted message',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'msg_html' => array(
+          ],
+        ],
+        'msg_html' => [
           'name' => 'msg_html',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Message Template HTML') ,
+          'title' => ts('Message Template HTML'),
           'description' => 'HTML formatted message',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'RichTextEditor',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'default' => '1',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'workflow_id' => array(
+        ],
+        'workflow_id' => [
           'name' => 'workflow_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Message Template Workflow') ,
+          'title' => ts('Message Template Workflow'),
           'description' => 'a pseudo-FK to civicrm_option_value',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Message Template Is Default?') ,
+          'title' => ts('Message Template Is Default?'),
           'description' => 'is this the default message template for the workflow referenced by workflow_id?',
           'default' => '1',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Message Template Is Reserved?') ,
+          'title' => ts('Message Template Is Reserved?'),
           'description' => 'is this the reserved message template which we ship for the workflow referenced by workflow_id?',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'is_sms' => array(
+        ],
+        'is_sms' => [
           'name' => 'is_sms',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Message Template is used for SMS?') ,
+          'title' => ts('Message Template is used for SMS?'),
           'description' => 'Is this message template used for sms?',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-        ) ,
-        'pdf_format_id' => array(
+        ],
+        'pdf_format_id' => [
           'name' => 'pdf_format_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Message Template Format') ,
+          'title' => ts('Message Template Format'),
           'description' => 'a pseudo-FK to civicrm_option_value containing PDF Page Format.',
           'table_name' => 'civicrm_msg_template',
           'entity' => 'MessageTemplate',
           'bao' => 'CRM_Core_BAO_MessageTemplate',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'pdf_format',
             'keyColumn' => 'id',
             'optionEditPath' => 'civicrm/admin/options/pdf_format',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -295,10 +288,11 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'msg_template', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'msg_template', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -306,15 +300,21 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'msg_template', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'msg_template', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Navigation.php b/civicrm/CRM/Core/DAO/Navigation.php
index 3033214a49..8bc617a624 100644
--- a/civicrm/CRM/Core/DAO/Navigation.php
+++ b/civicrm/CRM/Core/DAO/Navigation.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,156 +8,171 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:53624a8994290c1d2ae8f4158c89d3b2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Navigation constructor.
+ * Database access object for the Navigation entity.
  */
 class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_navigation';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this navigation item for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Navigation Title
    *
    * @var string
    */
   public $label;
+
   /**
    * Internal Name
    *
    * @var string
    */
   public $name;
+
   /**
    * url in case of custom navigation link
    *
    * @var string
    */
   public $url;
+
   /**
    * CSS class name for an icon
    *
    * @var string
    */
   public $icon;
+
   /**
    * Permission for menu item
    *
    * @var string
    */
   public $permission;
+
   /**
    * Permission Operator
    *
    * @var string
    */
   public $permission_operator;
+
   /**
    * Parent navigation item, used for grouping
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Is this navigation item active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * If separator needs to be added after this menu item
    *
    * @var boolean
    */
   public $has_separator;
+
   /**
    * Ordering of the navigation items in various blocks.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_navigation';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_navigation', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_navigation', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Navigation ID') ,
-          'required' => true,
+          'title' => ts('Navigation ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Navigation Domain') ,
+          'title' => ts('Navigation Domain'),
           'description' => 'Which Domain is this navigation item for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'label' => array(
+          ]
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Navigation Item Label') ,
+          'title' => ts('Navigation Item Label'),
           'description' => 'Navigation Title',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -189,11 +180,11 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Navigation Item Machine Name') ,
+          'title' => ts('Navigation Item Machine Name'),
           'description' => 'Internal Name',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -201,11 +192,11 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'url' => array(
+        ],
+        'url' => [
           'name' => 'url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Url') ,
+          'title' => ts('Url'),
           'description' => 'url in case of custom navigation link',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -213,13 +204,13 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'icon' => array(
+        ],
+        'icon' => [
           'name' => 'icon',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Icon') ,
+          'title' => ts('Icon'),
           'description' => 'CSS class name for an icon',
-          'required' => false,
+          'required' => FALSE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'NULL',
@@ -227,11 +218,11 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'permission' => array(
+        ],
+        'permission' => [
           'name' => 'permission',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Required Permission') ,
+          'title' => ts('Required Permission'),
           'description' => 'Permission for menu item',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -239,11 +230,11 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'permission_operator' => array(
+        ],
+        'permission_operator' => [
           'name' => 'permission_operator',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Permission Operator') ,
+          'title' => ts('Permission Operator'),
           'description' => 'Permission Operator',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -251,87 +242,91 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Navigation parent ID') ,
+          'title' => ts('Navigation parent ID'),
           'description' => 'Parent navigation item, used for grouping',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Navigation',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_navigation',
             'keyColumn' => 'id',
             'labelColumn' => 'label',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is this navigation item active?',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'has_separator' => array(
+        ],
+        'has_separator' => [
           'name' => 'has_separator',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Use separator') ,
+          'title' => ts('Use separator'),
           'description' => 'If separator needs to be added after this menu item',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Ordering of the navigation items in various blocks.',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -339,10 +334,11 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'navigation', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'navigation', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -350,15 +346,21 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'navigation', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'navigation', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Note.php b/civicrm/CRM/Core/DAO/Note.php
index 56c776d517..70ce136ff3 100644
--- a/civicrm/CRM/Core/DAO/Note.php
+++ b/civicrm/CRM/Core/DAO/Note.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,185 +8,197 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:9f5e4f2a7e73840743efc268ffb4dbfd)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Note constructor.
+ * Database access object for the Note entity.
  */
 class CRM_Core_DAO_Note extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_note';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Note ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of table where item being referenced is stored.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Note and/or Comment.
    *
    * @var text
    */
   public $note;
+
   /**
    * FK to Contact ID creator
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * When was this note last modified/edited
    *
    * @var date
    */
   public $modified_date;
+
   /**
    * subject of note description
    *
    * @var string
    */
   public $subject;
+
   /**
    * Foreign Key to Note Privacy Level (which is an option value pair and hence an implicit FK)
    *
    * @var string
    */
   public $privacy;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_note';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Note ID') ,
+          'title' => ts('Note ID'),
           'description' => 'Note ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Note Entity') ,
+          'title' => ts('Note Entity'),
           'description' => 'Name of table where item being referenced is stored.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_BAO_Note::entityTables',
-          )
-        ) ,
-        'entity_id' => array(
+          ]
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Note Entity ID') ,
+          'title' => ts('Note Entity ID'),
           'description' => 'Foreign key to the referenced item.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-        ) ,
-        'note' => array(
+        ],
+        'note' => [
           'name' => 'note',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Note') ,
+          'title' => ts('Note'),
           'description' => 'Note and/or Comment.',
           'rows' => 4,
           'cols' => 60,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_note.note',
           'headerPattern' => '/Note|Comment/i',
           'dataPattern' => '//',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'contact_id' => array(
+          ],
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Note Created By') ,
+          'title' => ts('Note Created By'),
           'description' => 'FK to Contact ID creator',
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Note Modified By') ,
+          'title' => ts('Note Modified By'),
           'description' => 'When was this note last modified/edited',
           'table_name' => 'civicrm_note',
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-        ) ,
-        'subject' => array(
+        ],
+        'subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Subject') ,
+          'title' => ts('Subject'),
           'description' => 'subject of note description',
           'maxlength' => 255,
           'size' => 60,
@@ -218,14 +206,14 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'privacy' => array(
+          ],
+        ],
+        'privacy' => [
           'name' => 'privacy',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Privacy') ,
+          'title' => ts('Privacy'),
           'description' => 'Foreign Key to Note Privacy Level (which is an option value pair and hence an implicit FK)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -233,44 +221,48 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
           'entity' => 'Note',
           'bao' => 'CRM_Core_BAO_Note',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'note_privacy',
             'optionEditPath' => 'civicrm/admin/options/note_privacy',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -278,10 +270,11 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'note', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'note', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -289,25 +282,31 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'note', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'note', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_note::0::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/OpenID.php b/civicrm/CRM/Core/DAO/OpenID.php
index 06192ee60e..b995ace61d 100644
--- a/civicrm/CRM/Core/DAO/OpenID.php
+++ b/civicrm/CRM/Core/DAO/OpenID.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,193 +8,207 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:cf502fe1aae4bbe85faa570c2c341336)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_OpenID constructor.
+ * Database access object for the OpenID entity.
  */
 class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_openid';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique OpenID ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Which Location does this email belong to.
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
    * @var string
    */
   public $openid;
+
   /**
    * Whether or not this user is allowed to login
    *
    * @var boolean
    */
   public $allowed_to_login;
+
   /**
    * Is this the primary email for this contact and location.
    *
    * @var boolean
    */
   public $is_primary;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_openid';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Open ID identifier') ,
+          'title' => ts('Open ID identifier'),
           'description' => 'Unique OpenID ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('OpenID Contact') ,
+          'title' => ts('OpenID Contact'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('OpenID Location Type') ,
+          'title' => ts('OpenID Location Type'),
           'description' => 'Which Location does this email belong to.',
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
-        ) ,
-        'openid' => array(
+        ],
+        'openid' => [
           'name' => 'openid',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('OpenID') ,
+          'title' => ts('OpenID'),
           'description' => 'the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_openid.openid',
           'headerPattern' => '/^Open.?ID|u(niq\w*)?.?ID/i',
           'dataPattern' => '/^[\w\/\:\.]+$/',
-          'export' => true,
+          'export' => TRUE,
           'rule' => 'url',
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
-        ) ,
-        'allowed_to_login' => array(
+        ],
+        'allowed_to_login' => [
           'name' => 'allowed_to_login',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allowed to login?') ,
+          'title' => ts('Allowed to login?'),
           'description' => 'Whether or not this user is allowed to login',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
-        ) ,
-        'is_primary' => array(
+        ],
+        'is_primary' => [
           'name' => 'is_primary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is OpenID Primary?') ,
+          'title' => ts('Is OpenID Primary?'),
           'description' => 'Is this the primary email for this contact and location.',
           'table_name' => 'civicrm_openid',
           'entity' => 'OpenID',
           'bao' => 'CRM_Core_BAO_OpenID',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -226,10 +216,11 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'openid', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'openid', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -237,33 +228,39 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'openid', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'openid', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_location_type' => array(
+    $indices = [
+      'index_location_type' => [
         'name' => 'index_location_type',
-        'field' => array(
+        'field' => [
           0 => 'location_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_openid::0::location_type_id',
-      ) ,
-      'UI_openid' => array(
+      ],
+      'UI_openid' => [
         'name' => 'UI_openid',
-        'field' => array(
+        'field' => [
           0 => 'openid',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_openid::1::openid',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/OptionGroup.php b/civicrm/CRM/Core/DAO/OptionGroup.php
index 9340fbda9e..6bc57c5285 100644
--- a/civicrm/CRM/Core/DAO/OptionGroup.php
+++ b/civicrm/CRM/Core/DAO/OptionGroup.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,115 +8,126 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:4f26b702ecd914e653257f0676896d87)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_OptionGroup constructor.
+ * Database access object for the OptionGroup entity.
  */
 class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_option_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Option Group ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Option group name. Used as selection key by class properties which lookup options in civicrm_option_value.
    *
    * @var string
    */
   public $name;
+
   /**
    * Option Group title.
    *
    * @var string
    */
   public $title;
+
   /**
    * Option group description.
    *
    * @var string
    */
   public $description;
+
   /**
    * Option group description.
    *
    * @var string
    */
   public $data_type;
+
   /**
    * Is this a predefined system option group (i.e. it can not be deleted)?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this option group active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * A lock to remove the ability to add new options via the UI.
    *
    * @var boolean
    */
   public $is_locked;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_option_group';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Group ID') ,
+          'title' => ts('Option Group ID'),
           'description' => 'Option Group ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_option_group',
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Group Name') ,
+          'title' => ts('Option Group Name'),
           'description' => 'Option group name. Used as selection key by class properties which lookup options in civicrm_option_value.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_option_group',
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Group title') ,
+          'title' => ts('Option Group title'),
           'description' => 'Option Group title.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -148,11 +135,11 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Group Description') ,
+          'title' => ts('Option Group Description'),
           'description' => 'Option group description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -160,11 +147,11 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 1,
-        ) ,
-        'data_type' => array(
+        ],
+        'data_type' => [
           'name' => 'data_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Data Type for this option group') ,
+          'title' => ts('Data Type for this option group'),
           'description' => 'Option group description.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -172,74 +159,78 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Utils_Type::dataTypes',
-          )
-        ) ,
-        'is_reserved' => array(
+          ]
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option Group Is Reserved?') ,
+          'title' => ts('Option Group Is Reserved?'),
           'description' => 'Is this a predefined system option group (i.e. it can not be deleted)?',
           'default' => '1',
           'table_name' => 'civicrm_option_group',
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option Group Is Active?') ,
+          'title' => ts('Option Group Is Active?'),
           'description' => 'Is this option group active?',
           'table_name' => 'civicrm_option_group',
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-        ) ,
-        'is_locked' => array(
+        ],
+        'is_locked' => [
           'name' => 'is_locked',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option Group Is Locked') ,
+          'title' => ts('Option Group Is Locked'),
           'description' => 'A lock to remove the ability to add new options via the UI.',
           'table_name' => 'civicrm_option_group',
           'entity' => 'OptionGroup',
           'bao' => 'CRM_Core_BAO_OptionGroup',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -247,10 +238,11 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'option_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'option_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -258,25 +250,31 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'option_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'option_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_option_group::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/OptionValue.php b/civicrm/CRM/Core/DAO/OptionValue.php
index e09985ef66..ea930c63e8 100644
--- a/civicrm/CRM/Core/DAO/OptionValue.php
+++ b/civicrm/CRM/Core/DAO/OptionValue.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,240 +8,261 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8cf699b034cbd9d7b8fe0a69250a79ba)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_OptionValue constructor.
+ * Database access object for the OptionValue entity.
  */
 class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_option_value';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Option ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Group which this option belongs to.
    *
    * @var int unsigned
    */
   public $option_group_id;
+
   /**
    * Option string as displayed to users - e.g. the label in an HTML OPTION tag.
    *
    * @var string
    */
   public $label;
+
   /**
    * The actual value stored (as a foreign key) in the data record. Functions which need lookup option_value.title should use civicrm_option_value.option_group_id plus civicrm_option_value.value as the key.
    *
    * @var string
    */
   public $value;
+
   /**
    * Stores a fixed (non-translated) name for this option value. Lookup functions should use the name as the key for the option value row.
    *
    * @var string
    */
   public $name;
+
   /**
    * Use to sort and/or set display properties for sub-set(s) of options within an option group. EXAMPLE: Use for college_interest field, to differentiate partners from non-partners.
    *
    * @var string
    */
   public $grouping;
+
   /**
    * Bitwise logic can be used to create subsets of options within an option_group for different uses.
    *
    * @var int unsigned
    */
   public $filter;
+
   /**
    * Is this the default option for the group?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Controls display sort order.
    *
    * @var int unsigned
    */
   public $weight;
+
   /**
    * Optional description.
    *
    * @var text
    */
   public $description;
+
   /**
    * Is this row simply a display header? Expected usage is to render these as OPTGROUP tags within a SELECT field list of options?
    *
    * @var boolean
    */
   public $is_optgroup;
+
   /**
    * Is this a predefined system object?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this option active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Component that this option value belongs/caters to.
    *
    * @var int unsigned
    */
   public $component_id;
+
   /**
    * Which Domain is this option value for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $visibility_id;
+
   /**
    * crm-i icon class
    *
    * @var string
    */
   public $icon;
+
   /**
    * Hex color value e.g. #ffffff
    *
    * @var string
    */
   public $color;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_option_value';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'option_group_id', 'civicrm_option_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'component_id', 'civicrm_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'option_group_id', 'civicrm_option_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'component_id', 'civicrm_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Value ID') ,
+          'title' => ts('Option Value ID'),
           'description' => 'Option ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'option_group_id' => array(
+        ],
+        'option_group_id' => [
           'name' => 'option_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Group ID') ,
+          'title' => ts('Option Group ID'),
           'description' => 'Group which this option belongs to.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_OptionGroup',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_option_group',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'label' => array(
+          ]
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Label') ,
+          'title' => ts('Option Label'),
           'description' => 'Option string as displayed to users - e.g. the label in an HTML OPTION tag.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 512,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 1,
-        ) ,
-        'value' => array(
+        ],
+        'value' => [
           'name' => 'value',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Value') ,
+          'title' => ts('Option Value'),
           'description' => 'The actual value stored (as a foreign key) in the data record. Functions which need lookup option_value.title should use civicrm_option_value.option_group_id plus civicrm_option_value.value as the key.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 512,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Name') ,
+          'title' => ts('Option Name'),
           'description' => 'Stores a fixed (non-translated) name for this option value. Lookup functions should use the name as the key for the option value row.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_option_value.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'grouping' => array(
+        ],
+        'grouping' => [
           'name' => 'grouping',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Option Grouping Name') ,
+          'title' => ts('Option Grouping Name'),
           'description' => 'Use to sort and/or set display properties for sub-set(s) of options within an option group. EXAMPLE: Use for college_interest field, to differentiate partners from non-partners.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -273,42 +270,42 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'filter' => array(
+        ],
+        'filter' => [
           'name' => 'filter',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Filter') ,
+          'title' => ts('Filter'),
           'description' => 'Bitwise logic can be used to create subsets of options within an option_group for different uses.',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option is Default?') ,
+          'title' => ts('Option is Default?'),
           'description' => 'Is this the default option for the group?',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Controls display sort order.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Option Description') ,
+          'title' => ts('Option Description'),
           'description' => 'Optional description.',
           'rows' => 8,
           'cols' => 60,
@@ -316,90 +313,90 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_optgroup' => array(
+          ],
+        ],
+        'is_optgroup' => [
           'name' => 'is_optgroup',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option is Header?') ,
+          'title' => ts('Option is Header?'),
           'description' => 'Is this row simply a display header? Expected usage is to render these as OPTGROUP tags within a SELECT field list of options?',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option Is Reserved?') ,
+          'title' => ts('Option Is Reserved?'),
           'description' => 'Is this a predefined system object?',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Option Is Active') ,
+          'title' => ts('Option Is Active'),
           'description' => 'Is this option active?',
           'default' => '1',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'component_id' => array(
+        ],
+        'component_id' => [
           'name' => 'component_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Component') ,
+          'title' => ts('Option Component'),
           'description' => 'Component that this option value belongs/caters to.',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Component',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_component',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'domain_id' => array(
+          ]
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Domain') ,
+          'title' => ts('Option Domain'),
           'description' => 'Which Domain is this option value for',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'visibility_id' => array(
+          ]
+        ],
+        'visibility_id' => [
           'name' => 'visibility_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Option Visibility') ,
+          'title' => ts('Option Visibility'),
           'default' => 'NULL',
           'table_name' => 'civicrm_option_value',
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'icon' => array(
+        ],
+        'icon' => [
           'name' => 'icon',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Icon') ,
+          'title' => ts('Icon'),
           'description' => 'crm-i icon class',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -408,11 +405,11 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-        'color' => array(
+        ],
+        'color' => [
           'name' => 'color',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Color') ,
+          'title' => ts('Color'),
           'description' => 'Hex color value e.g. #ffffff',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -421,40 +418,44 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
           'entity' => 'OptionValue',
           'bao' => 'CRM_Core_BAO_OptionValue',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -462,10 +463,11 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'option_value', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'option_value', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -473,34 +475,40 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'option_value', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'option_value', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_option_group_id_value' => array(
+    $indices = [
+      'index_option_group_id_value' => [
         'name' => 'index_option_group_id_value',
-        'field' => array(
+        'field' => [
           0 => 'value(128)',
           1 => 'option_group_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_option_value::0::value(128)::option_group_id',
-      ) ,
-      'index_option_group_id_name' => array(
+      ],
+      'index_option_group_id_name' => [
         'name' => 'index_option_group_id_name',
-        'field' => array(
+        'field' => [
           0 => 'name(128)',
           1 => 'option_group_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_option_value::0::name(128)::option_group_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Persistent.php b/civicrm/CRM/Core/DAO/Persistent.php
index b8b5b1ea36..1fcf034a2e 100644
--- a/civicrm/CRM/Core/DAO/Persistent.php
+++ b/civicrm/CRM/Core/DAO/Persistent.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,160 +8,172 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f215d2eac0f061ca085bcee3c4dca25f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Persistent constructor.
+ * Database access object for the Persistent entity.
  */
 class CRM_Core_DAO_Persistent extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_persistent';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Persistent Record Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Context for which name data pair is to be stored
    *
    * @var string
    */
   public $context;
+
   /**
    * Name of Context
    *
    * @var string
    */
   public $name;
+
   /**
    * data associated with name
    *
    * @var longtext
    */
   public $data;
+
   /**
    * Config Settings
    *
    * @var boolean
    */
   public $is_config;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_persistent';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Persistent ID') ,
+          'title' => ts('Persistent ID'),
           'description' => 'Persistent Record Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_persistent',
           'entity' => 'Persistent',
           'bao' => 'CRM_Core_BAO_Persistent',
           'localizable' => 0,
-        ) ,
-        'context' => array(
+        ],
+        'context' => [
           'name' => 'context',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Context') ,
+          'title' => ts('Context'),
           'description' => 'Context for which name data pair is to be stored',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_persistent',
           'entity' => 'Persistent',
           'bao' => 'CRM_Core_BAO_Persistent',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Name of Context',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_persistent',
           'entity' => 'Persistent',
           'bao' => 'CRM_Core_BAO_Persistent',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Data') ,
+          'title' => ts('Data'),
           'description' => 'data associated with name',
           'table_name' => 'civicrm_persistent',
           'entity' => 'Persistent',
           'bao' => 'CRM_Core_BAO_Persistent',
           'localizable' => 0,
-        ) ,
-        'is_config' => array(
+        ],
+        'is_config' => [
           'name' => 'is_config',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Configuration?') ,
+          'title' => ts('Is Configuration?'),
           'description' => 'Config Settings',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_persistent',
           'entity' => 'Persistent',
           'bao' => 'CRM_Core_BAO_Persistent',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -193,10 +181,11 @@ class CRM_Core_DAO_Persistent extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'persistent', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'persistent', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -204,15 +193,21 @@ class CRM_Core_DAO_Persistent extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'persistent', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'persistent', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Phone.php b/civicrm/CRM/Core/DAO/Phone.php
index 7c594b5d9c..28ab1b174c 100644
--- a/civicrm/CRM/Core/DAO/Phone.php
+++ b/civicrm/CRM/Core/DAO/Phone.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,227 +8,241 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:661faad4886dd1a40784d465b906f447)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Phone constructor.
+ * Database access object for the Phone entity.
  */
 class CRM_Core_DAO_Phone extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_phone';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Phone ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Which Location does this phone belong to.
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * Is this the primary phone for this contact and location.
    *
    * @var boolean
    */
   public $is_primary;
+
   /**
    * Is this the billing?
    *
    * @var boolean
    */
   public $is_billing;
+
   /**
    * Which Mobile Provider does this phone belong to.
    *
    * @var int unsigned
    */
   public $mobile_provider_id;
+
   /**
    * Complete phone number.
    *
    * @var string
    */
   public $phone;
+
   /**
    * Optional extension for a phone number.
    *
    * @var string
    */
   public $phone_ext;
+
   /**
    * Phone number stripped of all whitespace, letters, and punctuation.
    *
    * @var string
    */
   public $phone_numeric;
+
   /**
    * Which type of phone does this number belongs.
    *
    * @var int unsigned
    */
   public $phone_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_phone';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone ID') ,
+          'title' => ts('Phone ID'),
           'description' => 'Unique Phone ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone Contact') ,
+          'title' => ts('Phone Contact'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone Location Type') ,
+          'title' => ts('Phone Location Type'),
           'description' => 'Which Location does this phone belong to.',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_location_type',
             'keyColumn' => 'id',
             'labelColumn' => 'display_name',
-          )
-        ) ,
-        'is_primary' => array(
+          ]
+        ],
+        'is_primary' => [
           'name' => 'is_primary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Phone Primary?') ,
+          'title' => ts('Is Phone Primary?'),
           'description' => 'Is this the primary phone for this contact and location.',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-        ) ,
-        'is_billing' => array(
+        ],
+        'is_billing' => [
           'name' => 'is_billing',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Billing Phone') ,
+          'title' => ts('Is Billing Phone'),
           'description' => 'Is this the billing?',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-        ) ,
-        'mobile_provider_id' => array(
+        ],
+        'mobile_provider_id' => [
           'name' => 'mobile_provider_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mobile Provider') ,
+          'title' => ts('Mobile Provider'),
           'description' => 'Which Mobile Provider does this phone belong to.',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-        ) ,
-        'phone' => array(
+        ],
+        'phone' => [
           'name' => 'phone',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Phone') ,
+          'title' => ts('Phone'),
           'description' => 'Complete phone number.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_phone.phone',
           'headerPattern' => '/phone/i',
           'dataPattern' => '/^[\d\(\)\-\.\s]+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'phone_ext' => array(
+          ],
+        ],
+        'phone_ext' => [
           'name' => 'phone_ext',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Phone Extension') ,
+          'title' => ts('Phone Extension'),
           'description' => 'Optional extension for a phone number.',
           'maxlength' => 16,
           'size' => 4,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_phone.phone_ext',
           'headerPattern' => '/extension/i',
           'dataPattern' => '/^\d+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'phone_numeric' => array(
+          ],
+        ],
+        'phone_numeric' => [
           'name' => 'phone_numeric',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Phone Numeric') ,
+          'title' => ts('Phone Numeric'),
           'description' => 'Phone number stripped of all whitespace, letters, and punctuation.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -260,57 +250,61 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-        ) ,
-        'phone_type_id' => array(
+        ],
+        'phone_type_id' => [
           'name' => 'phone_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone Type') ,
+          'title' => ts('Phone Type'),
           'description' => 'Which type of phone does this number belongs.',
           'table_name' => 'civicrm_phone',
           'entity' => 'Phone',
           'bao' => 'CRM_Core_BAO_Phone',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'phone_type',
             'optionEditPath' => 'civicrm/admin/options/phone_type',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -318,10 +312,11 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'phone', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'phone', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -329,56 +324,62 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'phone', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'phone', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_location_type' => array(
+    $indices = [
+      'index_location_type' => [
         'name' => 'index_location_type',
-        'field' => array(
+        'field' => [
           0 => 'location_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_phone::0::location_type_id',
-      ) ,
-      'index_is_primary' => array(
+      ],
+      'index_is_primary' => [
         'name' => 'index_is_primary',
-        'field' => array(
+        'field' => [
           0 => 'is_primary',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_phone::0::is_primary',
-      ) ,
-      'index_is_billing' => array(
+      ],
+      'index_is_billing' => [
         'name' => 'index_is_billing',
-        'field' => array(
+        'field' => [
           0 => 'is_billing',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_phone::0::is_billing',
-      ) ,
-      'UI_mobile_provider_id' => array(
+      ],
+      'UI_mobile_provider_id' => [
         'name' => 'UI_mobile_provider_id',
-        'field' => array(
+        'field' => [
           0 => 'mobile_provider_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_phone::0::mobile_provider_id',
-      ) ,
-      'index_phone_numeric' => array(
+      ],
+      'index_phone_numeric' => [
         'name' => 'index_phone_numeric',
-        'field' => array(
+        'field' => [
           0 => 'phone_numeric',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_phone::0::phone_numeric',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/PreferencesDate.php b/civicrm/CRM/Core/DAO/PreferencesDate.php
index 1f8b3b6602..8d395e56ac 100644
--- a/civicrm/CRM/Core/DAO/PreferencesDate.php
+++ b/civicrm/CRM/Core/DAO/PreferencesDate.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,107 +8,116 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:50b4071bc8734a772c01b450d22f5920)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_PreferencesDate constructor.
+ * Database access object for the PreferencesDate entity.
  */
 class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_preferences_date';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The meta name for this date (fixed in code)
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of this date type.
    *
    * @var string
    */
   public $description;
+
   /**
    * The start offset relative to current year
    *
    * @var int
    */
   public $start;
+
   /**
    * The end offset relative to current year, can be negative
    *
    * @var int
    */
   public $end;
+
   /**
    * The date type
    *
    * @var string
    */
   public $date_format;
+
   /**
    * time format
    *
    * @var string
    */
   public $time_format;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_preferences_date';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Date Preference ID') ,
-          'required' => true,
+          'title' => ts('Date Preference ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_preferences_date',
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Date Preference Name') ,
+          'title' => ts('Date Preference Name'),
           'description' => 'The meta name for this date (fixed in code)',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_preferences_date',
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Description of this date type.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -140,33 +125,33 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'start' => array(
+        ],
+        'start' => [
           'name' => 'start',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Start') ,
+          'title' => ts('Start'),
           'description' => 'The start offset relative to current year',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_preferences_date',
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'end' => array(
+        ],
+        'end' => [
           'name' => 'end',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('End Offset') ,
+          'title' => ts('End Offset'),
           'description' => 'The end offset relative to current year, can be negative',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_preferences_date',
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'date_format' => array(
+        ],
+        'date_format' => [
           'name' => 'date_format',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Date Format') ,
+          'title' => ts('Date Format'),
           'description' => 'The date type',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -174,11 +159,11 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-        'time_format' => array(
+        ],
+        'time_format' => [
           'name' => 'time_format',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Time Format') ,
+          'title' => ts('Time Format'),
           'description' => 'time format',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -186,40 +171,44 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
           'entity' => 'PreferencesDate',
           'bao' => 'CRM_Core_BAO_PreferencesDate',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -227,10 +216,11 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'preferences_date', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'preferences_date', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -238,24 +228,30 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'preferences_date', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'preferences_date', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_name' => array(
+    $indices = [
+      'index_name' => [
         'name' => 'index_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_preferences_date::0::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/PrevNextCache.php b/civicrm/CRM/Core/DAO/PrevNextCache.php
index 0c5af39cc5..a68699984b 100644
--- a/civicrm/CRM/Core/DAO/PrevNextCache.php
+++ b/civicrm/CRM/Core/DAO/PrevNextCache.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,93 +8,101 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:cfce4435348e53ba9941ce5ed223c05b)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_PrevNextCache constructor.
+ * Database access object for the PrevNextCache entity.
  */
 class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_prevnext_cache';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id1;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id2;
+
   /**
    * Unique path name for cache element of the searched item
    *
    * @var string
    */
   public $cacheKey;
+
   /**
    * cached snapshot of the serialized data
    *
    * @var longtext
    */
   public $data;
+
   /**
-   *
    * @var boolean
    */
   public $is_selected;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_prevnext_cache';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Prev Next Cache ID') ,
-          'required' => true,
+          'title' => ts('Prev Next Cache ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_prevnext_cache',
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Prev Next Entity Table') ,
+          'title' => ts('Prev Next Entity Table'),
           'description' => 'physical tablename for entity being joined to discount, e.g. civicrm_event',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -126,33 +110,33 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-        'entity_id1' => array(
+        ],
+        'entity_id1' => [
           'name' => 'entity_id1',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Prev Next Entity ID 1') ,
+          'title' => ts('Prev Next Entity ID 1'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_prevnext_cache',
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-        'entity_id2' => array(
+        ],
+        'entity_id2' => [
           'name' => 'entity_id2',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Prev Next Entity ID 2') ,
+          'title' => ts('Prev Next Entity ID 2'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_prevnext_cache',
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-        'cacheKey' => array(
+        ],
+        'cacheKey' => [
           'name' => 'cacheKey',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Cache Key') ,
+          'title' => ts('Cache Key'),
           'description' => 'Unique path name for cache element of the searched item',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -160,60 +144,64 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-        'data' => array(
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Prev Next Data') ,
+          'title' => ts('Prev Next Data'),
           'description' => 'cached snapshot of the serialized data',
           'table_name' => 'civicrm_prevnext_cache',
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'is_selected' => array(
+        ],
+        'is_selected' => [
           'name' => 'is_selected',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Selected') ,
+          'title' => ts('Is Selected'),
           'table_name' => 'civicrm_prevnext_cache',
           'entity' => 'PrevNextCache',
           'bao' => 'CRM_Core_BAO_PrevNextCache',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -221,10 +209,11 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'prevnext_cache', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'prevnext_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -232,28 +221,34 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'prevnext_cache', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'prevnext_cache', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_all' => array(
+    $indices = [
+      'index_all' => [
         'name' => 'index_all',
-        'field' => array(
+        'field' => [
           0 => 'cacheKey',
           1 => 'entity_id1',
           2 => 'entity_id2',
           3 => 'entity_table',
           4 => 'is_selected',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_prevnext_cache::0::cacheKey::entity_id1::entity_id2::entity_table::is_selected',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/PrintLabel.php b/civicrm/CRM/Core/DAO/PrintLabel.php
index 59847d3704..49367c2947 100644
--- a/civicrm/CRM/Core/DAO/PrintLabel.php
+++ b/civicrm/CRM/Core/DAO/PrintLabel.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,132 +8,146 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:60a1aaca1bbf19fe5b752afa03e8fd34)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_PrintLabel constructor.
+ * Database access object for the PrintLabel entity.
  */
 class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_print_label';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * User title for for this label layout
    *
    * @var string
    */
   public $title;
+
   /**
    * variable name/programmatic handle for this field.
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of this label layout
    *
    * @var text
    */
   public $description;
+
   /**
    * This refers to name column of civicrm_option_value row in name_badge option group
    *
    * @var string
    */
   public $label_format_name;
+
   /**
    * Implicit FK to civicrm_option_value row in NEW label_type option group
    *
    * @var int unsigned
    */
   public $label_type_id;
+
   /**
    * contains json encode configurations options
    *
    * @var longtext
    */
   public $data;
+
   /**
    * Is this default?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Is this option active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this reserved label?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * FK to civicrm_contact, who created this label layout
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_print_label';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Print Label ID') ,
-          'required' => true,
+          'title' => ts('Print Label ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title') ,
+          'title' => ts('Title'),
           'description' => 'User title for for this label layout',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -165,11 +155,11 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'variable name/programmatic handle for this field.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -177,21 +167,21 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Description of this label layout',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'label_format_name' => array(
+        ],
+        'label_format_name' => [
           'name' => 'label_format_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label Format') ,
+          'title' => ts('Label Format'),
           'description' => 'This refers to name column of civicrm_option_value row in name_badge option group',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -199,119 +189,123 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'name_badge',
             'optionEditPath' => 'civicrm/admin/options/name_badge',
-          )
-        ) ,
-        'label_type_id' => array(
+          ]
+        ],
+        'label_type_id' => [
           'name' => 'label_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Label Type') ,
+          'title' => ts('Label Type'),
           'description' => 'Implicit FK to civicrm_option_value row in NEW label_type option group',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'label_type',
             'optionEditPath' => 'civicrm/admin/options/label_type',
-          )
-        ) ,
-        'data' => array(
+          ]
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Data') ,
+          'title' => ts('Data'),
           'description' => 'contains json encode configurations options',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_JSON,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Label is Default?') ,
+          'title' => ts('Label is Default?'),
           'description' => 'Is this default?',
           'default' => '1',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Label Is Active?') ,
+          'title' => ts('Label Is Active?'),
           'description' => 'Is this option active?',
           'default' => '1',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Label Reserved?') ,
+          'title' => ts('Is Label Reserved?'),
           'description' => 'Is this reserved label?',
           'default' => '1',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Label Created By') ,
+          'title' => ts('Label Created By'),
           'description' => 'FK to civicrm_contact, who created this label layout',
           'table_name' => 'civicrm_print_label',
           'entity' => 'PrintLabel',
           'bao' => 'CRM_Core_DAO_PrintLabel',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -319,10 +313,11 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'print_label', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'print_label', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -330,15 +325,21 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'print_label', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'print_label', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/RecurringEntity.php b/civicrm/CRM/Core/DAO/RecurringEntity.php
index 81504b5909..9452995999 100644
--- a/civicrm/CRM/Core/DAO/RecurringEntity.php
+++ b/civicrm/CRM/Core/DAO/RecurringEntity.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,157 +8,168 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:926c9bc8d5175511764721bc9dc8562a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_RecurringEntity constructor.
+ * Database access object for the RecurringEntity entity.
  */
 class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_recurring_entity';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Recurring Entity Parent ID
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Recurring Entity Child ID
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Physical tablename for entity, e.g. civicrm_event
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * 1-this entity, 2-this and the following entities, 3-all the entities
    *
    * @var boolean
    */
   public $mode;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_recurring_entity';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('ID') ,
-          'required' => true,
+          'title' => ts('ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_recurring_entity',
           'entity' => 'RecurringEntity',
           'bao' => 'CRM_Core_BAO_RecurringEntity',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent ID') ,
+          'title' => ts('Parent ID'),
           'description' => 'Recurring Entity Parent ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_recurring_entity',
           'entity' => 'RecurringEntity',
           'bao' => 'CRM_Core_BAO_RecurringEntity',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'Recurring Entity Child ID',
           'table_name' => 'civicrm_recurring_entity',
           'entity' => 'RecurringEntity',
           'bao' => 'CRM_Core_BAO_RecurringEntity',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Physical tablename for entity, e.g. civicrm_event',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_recurring_entity',
           'entity' => 'RecurringEntity',
           'bao' => 'CRM_Core_BAO_RecurringEntity',
           'localizable' => 0,
-        ) ,
-        'mode' => array(
+        ],
+        'mode' => [
           'name' => 'mode',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Cascade Type') ,
+          'title' => ts('Cascade Type'),
           'description' => '1-this entity, 2-this and the following entities, 3-all the entities',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_recurring_entity',
           'entity' => 'RecurringEntity',
           'bao' => 'CRM_Core_BAO_RecurringEntity',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -190,10 +177,11 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'recurring_entity', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'recurring_entity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -201,15 +189,21 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'recurring_entity', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'recurring_entity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Setting.php b/civicrm/CRM/Core/DAO/Setting.php
index 4449695e02..a16972205d 100644
--- a/civicrm/CRM/Core/DAO/Setting.php
+++ b/civicrm/CRM/Core/DAO/Setting.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,123 +8,135 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:5aa73137509e3760555c0f3d1d746b05)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Setting constructor.
+ * Database access object for the Setting entity.
  */
 class CRM_Core_DAO_Setting extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_setting';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Unique name for setting
    *
    * @var string
    */
   public $name;
+
   /**
    * data associated with this group / name combo
    *
    * @var text
    */
   public $value;
+
   /**
    * Which Domain is this menu item for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * FK to Contact ID if the setting is localized to a contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Is this setting a contact specific or site wide setting?
    *
    * @var boolean
    */
   public $is_domain;
+
   /**
    * Component that this menu item belongs to
    *
    * @var int unsigned
    */
   public $component_id;
+
   /**
    * When was the setting created
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * FK to civicrm_contact, who created this setting
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_setting';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'component_id', 'civicrm_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'component_id', 'civicrm_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting ID') ,
-          'required' => true,
+          'title' => ts('Setting ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Setting Name') ,
+          'title' => ts('Setting Name'),
           'description' => 'Unique name for setting',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -156,129 +144,133 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
-        ) ,
-        'value' => array(
+        ],
+        'value' => [
           'name' => 'value',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Value') ,
+          'title' => ts('Value'),
           'description' => 'data associated with this group / name combo',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting Domain') ,
+          'title' => ts('Setting Domain'),
           'description' => 'Which Domain is this menu item for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'contact_id' => array(
+          ]
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting Contact') ,
+          'title' => ts('Setting Contact'),
           'description' => 'FK to Contact ID if the setting is localized to a contact',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'is_domain' => array(
+        ],
+        'is_domain' => [
           'name' => 'is_domain',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Domain Setting?') ,
+          'title' => ts('Is Domain Setting?'),
           'description' => 'Is this setting a contact specific or site wide setting?',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
-        ) ,
-        'component_id' => array(
+        ],
+        'component_id' => [
           'name' => 'component_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting Component') ,
+          'title' => ts('Setting Component'),
           'description' => 'Component that this menu item belongs to',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Component',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_component',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'created_date' => array(
+          ]
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Setting Created Date') ,
+          'title' => ts('Setting Created Date'),
           'description' => 'When was the setting created',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting Created By') ,
+          'title' => ts('Setting Created By'),
           'description' => 'FK to civicrm_contact, who created this setting',
           'table_name' => 'civicrm_setting',
           'entity' => 'Setting',
           'bao' => 'CRM_Core_BAO_Setting',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -286,10 +278,11 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'setting', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'setting', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -297,27 +290,33 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'setting', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'setting', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_domain_contact_name' => array(
+    $indices = [
+      'index_domain_contact_name' => [
         'name' => 'index_domain_contact_name',
-        'field' => array(
+        'field' => [
           0 => 'domain_id',
           1 => 'contact_id',
           2 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_setting::1::domain_id::contact_id::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/StateProvince.php b/civicrm/CRM/Core/DAO/StateProvince.php
index ef944d7736..ed6482e652 100644
--- a/civicrm/CRM/Core/DAO/StateProvince.php
+++ b/civicrm/CRM/Core/DAO/StateProvince.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,109 +8,117 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7688143f6e0d809b020a3153f60aff7e)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_StateProvince constructor.
+ * Database access object for the StateProvince entity.
  */
 class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_state_province';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * State/Province ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of State/Province
    *
    * @var string
    */
   public $name;
+
   /**
    * 2-4 Character Abbreviation of State/Province
    *
    * @var string
    */
   public $abbreviation;
+
   /**
    * ID of Country that State/Province belong
    *
    * @var int unsigned
    */
   public $country_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_state_province';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'country_id', 'civicrm_country', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'country_id', 'civicrm_country', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('State ID') ,
+          'title' => ts('State ID'),
           'description' => 'State/Province ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_state_province',
           'entity' => 'StateProvince',
           'bao' => 'CRM_Core_DAO_StateProvince',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('State') ,
+          'title' => ts('State'),
           'description' => 'Name of State/Province',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_state_province.name',
           'headerPattern' => '/state|prov(ince)?/i',
           'dataPattern' => '/[A-Z]{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_state_province',
           'entity' => 'StateProvince',
           'bao' => 'CRM_Core_DAO_StateProvince',
           'localizable' => 0,
-        ) ,
-        'abbreviation' => array(
+        ],
+        'abbreviation' => [
           'name' => 'abbreviation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('State Abbreviation') ,
+          'title' => ts('State Abbreviation'),
           'description' => '2-4 Character Abbreviation of State/Province',
           'maxlength' => 4,
           'size' => CRM_Utils_Type::FOUR,
@@ -142,52 +126,56 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
           'entity' => 'StateProvince',
           'bao' => 'CRM_Core_DAO_StateProvince',
           'localizable' => 0,
-        ) ,
-        'country_id' => array(
+        ],
+        'country_id' => [
           'name' => 'country_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Country') ,
+          'title' => ts('Country'),
           'description' => 'ID of Country that State/Province belong',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_state_province',
           'entity' => 'StateProvince',
           'bao' => 'CRM_Core_DAO_StateProvince',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Country',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -195,10 +183,11 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'state_province', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'state_province', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -206,26 +195,32 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'state_province', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'state_province', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name_country_id' => array(
+    $indices = [
+      'UI_name_country_id' => [
         'name' => 'UI_name_country_id',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'country_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_state_province::1::name::country_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/StatusPreference.php b/civicrm/CRM/Core/DAO/StatusPreference.php
index fd3b58477c..5dc85d39c2 100644
--- a/civicrm/CRM/Core/DAO/StatusPreference.php
+++ b/civicrm/CRM/Core/DAO/StatusPreference.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,180 +8,191 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6a9e433b487d14f9b8e036f8491e6a9c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_StatusPreference constructor.
+ * Database access object for the StatusPreference entity.
  */
 class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_status_pref';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique Status Preference ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this Status Preference for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Name of the status check this preference references.
    *
    * @var string
    */
   public $name;
+
   /**
    * expires ignore_severity.  NULL never hushes.
    *
    * @var date
    */
   public $hush_until;
+
   /**
    * Hush messages up to and including this severity.
    *
    * @var int unsigned
    */
   public $ignore_severity;
+
   /**
    * These settings are per-check, and can't be compared across checks.
    *
    * @var string
    */
   public $prefs;
+
   /**
    * These values are per-check, and can't be compared across checks.
    *
    * @var string
    */
   public $check_info;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_status_pref';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Status Preference ID') ,
+          'title' => ts('Status Preference ID'),
           'description' => 'Unique Status Preference ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_status_pref',
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Setting Domain') ,
+          'title' => ts('Setting Domain'),
           'description' => 'Which Domain is this Status Preference for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_status_pref',
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Status Check Name') ,
+          'title' => ts('Status Check Name'),
           'description' => 'Name of the status check this preference references.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_status_pref.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_status_pref',
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-        ) ,
-        'hush_until' => array(
+        ],
+        'hush_until' => [
           'name' => 'hush_until',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Snooze Status Notifications Until') ,
+          'title' => ts('Snooze Status Notifications Until'),
           'description' => 'expires ignore_severity.  NULL never hushes.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_status_pref.hush_until',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_status_pref',
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-        ) ,
-        'ignore_severity' => array(
+        ],
+        'ignore_severity' => [
           'name' => 'ignore_severity',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Ignore Severity') ,
+          'title' => ts('Ignore Severity'),
           'description' => 'Hush messages up to and including this severity.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_status_pref.ignore_severity',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_status_pref',
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Utils_Check::getSeverityList',
-          )
-        ) ,
-        'prefs' => array(
+          ]
+        ],
+        'prefs' => [
           'name' => 'prefs',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Status Preferences') ,
+          'title' => ts('Status Preferences'),
           'description' => 'These settings are per-check, and can\'t be compared across checks.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -213,11 +200,11 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-        ) ,
-        'check_info' => array(
+        ],
+        'check_info' => [
           'name' => 'check_info',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Check Info') ,
+          'title' => ts('Check Info'),
           'description' => 'These values are per-check, and can\'t be compared across checks.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -225,40 +212,44 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
           'entity' => 'StatusPreference',
           'bao' => 'CRM_Core_BAO_StatusPreference',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -266,10 +257,11 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'status_pref', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'status_pref', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -277,24 +269,30 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'status_pref', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'status_pref', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_status_pref_name' => array(
+    $indices = [
+      'UI_status_pref_name' => [
         'name' => 'UI_status_pref_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_status_pref::0::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/SystemLog.php b/civicrm/CRM/Core/DAO/SystemLog.php
index 74b20b4bd0..32df379c04 100644
--- a/civicrm/CRM/Core/DAO/SystemLog.php
+++ b/civicrm/CRM/Core/DAO/SystemLog.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,119 +8,129 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:74683682d7114abb261677b351cd8711)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_SystemLog constructor.
+ * Database access object for the SystemLog entity.
  */
 class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_system_log';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Primary key ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Standardized message
    *
    * @var string
    */
   public $message;
+
   /**
    * JSON encoded data
    *
    * @var longtext
    */
   public $context;
+
   /**
    * error level per PSR3
    *
    * @var string
    */
   public $level;
+
   /**
    * Timestamp of when event occurred.
    *
    * @var timestamp
    */
   public $timestamp;
+
   /**
    * Optional Contact ID that created the log. Not an FK as we keep this regardless
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Optional Name of logging host
    *
    * @var string
    */
   public $hostname;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_system_log';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('System Log ID') ,
+          'title' => ts('System Log ID'),
           'description' => 'Primary key ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_system_log',
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'message' => array(
+        ],
+        'message' => [
           'name' => 'message',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('System Log Message') ,
+          'title' => ts('System Log Message'),
           'description' => 'Standardized message',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_system_log',
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'context' => array(
+        ],
+        'context' => [
           'name' => 'context',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Detailed Log Data') ,
+          'title' => ts('Detailed Log Data'),
           'description' => 'JSON encoded data',
           'table_name' => 'civicrm_system_log',
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'level' => array(
+        ],
+        'level' => [
           'name' => 'level',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Detailed Log Data') ,
+          'title' => ts('Detailed Log Data'),
           'description' => 'error level per PSR3',
           'maxlength' => 9,
           'size' => CRM_Utils_Type::TWELVE,
@@ -153,32 +139,32 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'timestamp' => array(
+        ],
+        'timestamp' => [
           'name' => 'timestamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Log Timestamp') ,
+          'title' => ts('Log Timestamp'),
           'description' => 'Timestamp of when event occurred.',
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_system_log',
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Log Contact ID') ,
+          'title' => ts('Log Contact ID'),
           'description' => 'Optional Contact ID that created the log. Not an FK as we keep this regardless',
           'table_name' => 'civicrm_system_log',
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-        'hostname' => array(
+        ],
+        'hostname' => [
           'name' => 'hostname',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Log Host') ,
+          'title' => ts('Log Host'),
           'description' => 'Optional Name of logging host',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -186,40 +172,44 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
           'entity' => 'SystemLog',
           'bao' => 'CRM_Core_DAO_SystemLog',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -227,10 +217,11 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'system_log', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'system_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -238,15 +229,21 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'system_log', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'system_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Tag.php b/civicrm/CRM/Core/DAO/Tag.php
index bcbf74b548..1ccdcc9cc2 100644
--- a/civicrm/CRM/Core/DAO/Tag.php
+++ b/civicrm/CRM/Core/DAO/Tag.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,145 +8,157 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:eb22ef992569566021a7faeaf43f0c25)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Tag constructor.
+ * Database access object for the Tag entity.
  */
 class CRM_Core_DAO_Tag extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_tag';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Tag ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of Tag.
    *
    * @var string
    */
   public $name;
+
   /**
    * Optional verbose description of the tag.
    *
    * @var string
    */
   public $description;
+
   /**
    * Optional parent id for this tag.
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Is this tag selectable / displayed
    *
    * @var boolean
    */
   public $is_selectable;
+
   /**
-   *
    * @var boolean
    */
   public $is_reserved;
+
   /**
-   *
    * @var boolean
    */
   public $is_tagset;
+
   /**
-   *
    * @var string
    */
   public $used_for;
+
   /**
    * FK to civicrm_contact, who created this tag
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Hex color value e.g. #ffffff
    *
    * @var string
    */
   public $color;
+
   /**
    * Date and time that tag was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_tag';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_tag', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_tag', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Tag ID') ,
+          'title' => ts('Tag ID'),
           'description' => 'Tag ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Tag Name') ,
+          'title' => ts('Tag Name'),
           'description' => 'Name of Tag.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Optional verbose description of the tag.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -178,11 +166,11 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent Tag') ,
+          'title' => ts('Parent Tag'),
           'description' => 'Optional parent id for this tag.',
           'default' => 'NULL',
           'table_name' => 'civicrm_tag',
@@ -190,40 +178,40 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Tag',
-        ) ,
-        'is_selectable' => array(
+        ],
+        'is_selectable' => [
           'name' => 'is_selectable',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Display Tag?') ,
+          'title' => ts('Display Tag?'),
           'description' => 'Is this tag selectable / displayed',
           'default' => '1',
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Reserved') ,
+          'title' => ts('Reserved'),
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'is_tagset' => array(
+        ],
+        'is_tagset' => [
           'name' => 'is_tagset',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Tagset') ,
+          'title' => ts('Tagset'),
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'used_for' => array(
+        ],
+        'used_for' => [
           'name' => 'used_for',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Used For') ,
+          'title' => ts('Used For'),
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'default' => 'NULL',
@@ -231,29 +219,29 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'tag_used_for',
             'optionEditPath' => 'civicrm/admin/options/tag_used_for',
-          )
-        ) ,
-        'created_id' => array(
+          ]
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Tag Created By') ,
+          'title' => ts('Tag Created By'),
           'description' => 'FK to civicrm_contact, who created this tag',
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'color' => array(
+        ],
+        'color' => [
           'name' => 'color',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Color') ,
+          'title' => ts('Color'),
           'description' => 'Hex color value e.g. #ffffff',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -262,50 +250,54 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Tag Created Date') ,
+          'title' => ts('Tag Created Date'),
           'description' => 'Date and time that tag was created.',
           'table_name' => 'civicrm_tag',
           'entity' => 'Tag',
           'bao' => 'CRM_Core_BAO_Tag',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -313,10 +305,11 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'tag', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'tag', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -324,25 +317,31 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'tag', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'tag', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_tag::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Timezone.php b/civicrm/CRM/Core/DAO/Timezone.php
index de019cb6cc..820a77146a 100644
--- a/civicrm/CRM/Core/DAO/Timezone.php
+++ b/civicrm/CRM/Core/DAO/Timezone.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,103 +8,112 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0f44e0b7202cc3ace2ec6b7003fc941a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Timezone constructor.
+ * Database access object for the Timezone entity.
  */
 class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_timezone';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Timezone Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Timezone full name
    *
    * @var string
    */
   public $name;
+
   /**
    * ISO Code for timezone abbreviation
    *
    * @var string
    */
   public $abbreviation;
+
   /**
    * GMT name of the timezone
    *
    * @var string
    */
   public $gmt;
+
   /**
-   *
    * @var int
    */
   public $offset;
+
   /**
    * Country Id
    *
    * @var int unsigned
    */
   public $country_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_timezone';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'country_id', 'civicrm_country', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'country_id', 'civicrm_country', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Timezone ID') ,
+          'title' => ts('Timezone ID'),
           'description' => 'Timezone Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_timezone',
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Timezone Name') ,
+          'title' => ts('Timezone Name'),
           'description' => 'Timezone full name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -136,11 +121,11 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
-        ) ,
-        'abbreviation' => array(
+        ],
+        'abbreviation' => [
           'name' => 'abbreviation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Timezone Abbreviation') ,
+          'title' => ts('Timezone Abbreviation'),
           'description' => 'ISO Code for timezone abbreviation',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -148,11 +133,11 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
-        ) ,
-        'gmt' => array(
+        ],
+        'gmt' => [
           'name' => 'gmt',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('GMT Name of Timezone') ,
+          'title' => ts('GMT Name of Timezone'),
           'description' => 'GMT name of the timezone',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -160,61 +145,65 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
-        ) ,
-        'offset' => array(
+        ],
+        'offset' => [
           'name' => 'offset',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('GMT Offset') ,
+          'title' => ts('GMT Offset'),
           'table_name' => 'civicrm_timezone',
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
-        ) ,
-        'country_id' => array(
+        ],
+        'country_id' => [
           'name' => 'country_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Country') ,
+          'title' => ts('Country'),
           'description' => 'Country Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_timezone',
           'entity' => 'Timezone',
           'bao' => 'CRM_Core_DAO_Timezone',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Country',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -222,10 +211,11 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'timezone', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'timezone', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -233,15 +223,21 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'timezone', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'timezone', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/UFField.php b/civicrm/CRM/Core/DAO/UFField.php
index 29e55b4509..c59199760e 100644
--- a/civicrm/CRM/Core/DAO/UFField.php
+++ b/civicrm/CRM/Core/DAO/UFField.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,279 +8,302 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:4777c5b97760d4bd4b7138468d18ded5)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_UFField constructor.
+ * Database access object for the UFField entity.
  */
 class CRM_Core_DAO_UFField extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_uf_field';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which form does this field belong to.
    *
    * @var int unsigned
    */
   public $uf_group_id;
+
   /**
    * Name for CiviCRM field which is being exposed for sharing.
    *
    * @var string
    */
   public $field_name;
+
   /**
    * Is this field currently shareable? If false, hide the field for all sharing contexts.
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * the field is view only and not editable in user forms.
    *
    * @var boolean
    */
   public $is_view;
+
   /**
    * Is this field required when included in a user or registration form?
    *
    * @var boolean
    */
   public $is_required;
+
   /**
    * Controls field display order when user framework fields are displayed in registration and account editing forms.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Description and/or help text to display after this field.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Description and/or help text to display before this field.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * In what context(s) is this field visible.
    *
    * @var string
    */
   public $visibility;
+
   /**
    * Is this field included as a column in the selector table?
    *
    * @var boolean
    */
   public $in_selector;
+
   /**
    * Is this field included search form of profile?
    *
    * @var boolean
    */
   public $is_searchable;
+
   /**
    * Location type of this mapping, if required
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * Phone Type Id, if required
    *
    * @var int unsigned
    */
   public $phone_type_id;
+
   /**
    * Website Type Id, if required
    *
    * @var int unsigned
    */
   public $website_type_id;
+
   /**
    * To save label for fields.
    *
    * @var string
    */
   public $label;
+
   /**
    * This field saves field type (ie individual,household.. field etc).
    *
    * @var string
    */
   public $field_type;
+
   /**
    * Is this field reserved for use by some other CiviCRM functionality?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Include in multi-record listing?
    *
    * @var boolean
    */
   public $is_multi_summary;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_uf_field';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'uf_group_id', 'civicrm_uf_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'location_type_id', 'civicrm_location_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'uf_group_id', 'civicrm_uf_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'location_type_id', 'civicrm_location_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Field ID') ,
+          'title' => ts('Profile Field ID'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'uf_group_id' => array(
+        ],
+        'uf_group_id' => [
           'name' => 'uf_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile ID') ,
+          'title' => ts('Profile ID'),
           'description' => 'Which form does this field belong to.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_UFGroup',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_uf_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'field_name' => array(
+          ]
+        ],
+        'field_name' => [
           'name' => 'field_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Field Name') ,
+          'title' => ts('Profile Field Name'),
           'description' => 'Name for CiviCRM field which is being exposed for sharing.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Is Active') ,
+          'title' => ts('Profile Field Is Active'),
           'description' => 'Is this field currently shareable? If false, hide the field for all sharing contexts.',
           'default' => '1',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_view' => array(
+        ],
+        'is_view' => [
           'name' => 'is_view',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Is View Only') ,
+          'title' => ts('Profile Is View Only'),
           'description' => 'the field is view only and not editable in user forms.',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_required' => array(
+        ],
+        'is_required' => [
           'name' => 'is_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Is Required') ,
+          'title' => ts('Profile Field Is Required'),
           'description' => 'Is this field required when included in a user or registration form?',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Controls field display order when user framework fields are displayed in registration and account editing forms.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'help_post' => array(
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Profile Field Post Help') ,
+          'title' => ts('Profile Field Post Help'),
           'description' => 'Description and/or help text to display after this field.',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 1,
-        ) ,
-        'help_pre' => array(
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Profile Field Pre Help') ,
+          'title' => ts('Profile Field Pre Help'),
           'description' => 'Description and/or help text to display before this field.',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 1,
-        ) ,
-        'visibility' => array(
+        ],
+        'visibility' => [
           'name' => 'visibility',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Field Visibility') ,
+          'title' => ts('Profile Field Visibility'),
           'description' => 'In what context(s) is this field visible.',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -313,81 +312,81 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::ufVisibility',
-          )
-        ) ,
-        'in_selector' => array(
+          ]
+        ],
+        'in_selector' => [
           'name' => 'in_selector',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Is a Filter') ,
+          'title' => ts('Profile Field Is a Filter'),
           'description' => 'Is this field included as a column in the selector table?',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_searchable' => array(
+        ],
+        'is_searchable' => [
           'name' => 'is_searchable',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Is Searchable') ,
+          'title' => ts('Profile Field Is Searchable'),
           'description' => 'Is this field included search form of profile?',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Field Location Type') ,
+          'title' => ts('Profile Field Location Type'),
           'description' => 'Location type of this mapping, if required',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_LocationType',
-        ) ,
-        'phone_type_id' => array(
+        ],
+        'phone_type_id' => [
           'name' => 'phone_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Field Phone Type') ,
+          'title' => ts('Profile Field Phone Type'),
           'description' => 'Phone Type Id, if required',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'website_type_id' => array(
+        ],
+        'website_type_id' => [
           'name' => 'website_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Field Website Type') ,
+          'title' => ts('Profile Field Website Type'),
           'description' => 'Website Type Id, if required',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Field Label') ,
+          'title' => ts('Profile Field Label'),
           'description' => 'To save label for fields.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 1,
-        ) ,
-        'field_type' => array(
+        ],
+        'field_type' => [
           'name' => 'field_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Field Type') ,
+          'title' => ts('Profile Field Type'),
           'description' => 'This field saves field type (ie individual,household.. field etc).',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -395,60 +394,64 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Is Reserved') ,
+          'title' => ts('Profile Field Is Reserved'),
           'description' => 'Is this field reserved for use by some other CiviCRM functionality?',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-        'is_multi_summary' => array(
+        ],
+        'is_multi_summary' => [
           'name' => 'is_multi_summary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Field Supports Multiple') ,
+          'title' => ts('Profile Field Supports Multiple'),
           'description' => 'Include in multi-record listing?',
           'table_name' => 'civicrm_uf_field',
           'entity' => 'UFField',
           'bao' => 'CRM_Core_BAO_UFField',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -456,10 +459,11 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_field', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -467,24 +471,30 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_field', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'IX_website_type_id' => array(
+    $indices = [
+      'IX_website_type_id' => [
         'name' => 'IX_website_type_id',
-        'field' => array(
+        'field' => [
           0 => 'website_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_uf_field::0::website_type_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/UFGroup.php b/civicrm/CRM/Core/DAO/UFGroup.php
index e957729b3a..b596ab0de4 100644
--- a/civicrm/CRM/Core/DAO/UFGroup.php
+++ b/civicrm/CRM/Core/DAO/UFGroup.php
@@ -1,292 +1,315 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
  *
  * Generated from xml/schema/CRM/Core/UFGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2c943baba637124caec29c4aefeb9228)
+ * (GenCodeChecksum:a6776694df1be240b3f7be798792175d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_UFGroup constructor.
+ * Database access object for the UFGroup entity.
  */
 class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_uf_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Is this form currently active? If false, hide all related fields for all sharing contexts.
    *
    * @var boolean
    */
   public $is_active;
+
   /**
-   * This column will store a comma separated list of the type(s) of profile fields.
+   * Comma separated list of the type(s) of profile fields.
    *
    * @var string
    */
   public $group_type;
+
   /**
    * Form title.
    *
    * @var string
    */
   public $title;
+
+  /**
+   * Profile Form Public title
+   *
+   * @var string
+   */
+  public $frontend_title;
+
   /**
    * Optional verbose description of the profile.
    *
    * @var text
    */
   public $description;
+
   /**
    * Description and/or help text to display before fields in form.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Description and/or help text to display after fields in form.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Group id, foreign key from civicrm_group
    *
    * @var int unsigned
    */
   public $limit_listings_group_id;
+
   /**
    * Redirect to URL.
    *
    * @var string
    */
   public $post_URL;
+
   /**
    * foreign key to civicrm_group_id
    *
    * @var int unsigned
    */
   public $add_to_group_id;
+
   /**
    * Should a CAPTCHA widget be included this Profile form.
    *
    * @var boolean
    */
   public $add_captcha;
+
   /**
    * Do we want to map results from this profile.
    *
    * @var boolean
    */
   public $is_map;
+
   /**
    * Should edit link display in profile selector
    *
    * @var boolean
    */
   public $is_edit_link;
+
   /**
    * Should we display a link to the website profile in profile selector
    *
    * @var boolean
    */
   public $is_uf_link;
+
   /**
    * Should we update the contact record if we find a duplicate
    *
    * @var boolean
    */
   public $is_update_dupe;
+
   /**
    * Redirect to URL when Cancle button clik .
    *
    * @var string
    */
   public $cancel_URL;
+
   /**
    * Should we create a cms user for this profile
    *
    * @var boolean
    */
   public $is_cms_user;
+
   /**
-   *
    * @var text
    */
   public $notify;
+
   /**
    * Is this group reserved for use by some other CiviCRM functionality?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Name of the UF group for directly addressing it in the codebase
    *
    * @var string
    */
   public $name;
+
   /**
    * FK to civicrm_contact, who created this UF group
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time this UF group was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * Should we include proximity search feature in this profile search form?
    *
    * @var boolean
    */
   public $is_proximity_search;
+
   /**
    * Custom Text to display on the Cancel button when used in create or edit mode
    *
    * @var string
    */
   public $cancel_button_text;
+
   /**
    * Custom Text to display on the submit button on profile edit/create screens
    *
    * @var string
    */
   public $submit_button_text;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_uf_group';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'limit_listings_group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'add_to_group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'limit_listings_group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'add_to_group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile ID') ,
+          'title' => ts('Profile ID'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Is Active') ,
+          'title' => ts('Profile Is Active'),
           'description' => 'Is this form currently active? If false, hide all related fields for all sharing contexts.',
           'default' => '1',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'group_type' => array(
+        ],
+        'group_type' => [
           'name' => 'group_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Group Type') ,
-          'description' => 'This column will store a comma separated list of the type(s) of profile fields.',
+          'title' => ts('Profile Group Type'),
+          'description' => 'Comma separated list of the type(s) of profile fields.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_uf_group.group_type',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-          'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
-        ) ,
-        'title' => array(
+          'serialize' => self::SERIALIZE_COMMA,
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title') ,
+          'title' => ts('Title'),
           'description' => 'Form title.',
-          'required' => true,
+          'required' => TRUE,
+          'maxlength' => 64,
+          'size' => CRM_Utils_Type::BIG,
+          'table_name' => 'civicrm_uf_group',
+          'entity' => 'UFGroup',
+          'bao' => 'CRM_Core_BAO_UFGroup',
+          'localizable' => 1,
+        ],
+        'frontend_title' => [
+          'name' => 'frontend_title',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Frontend Title'),
+          'description' => 'Profile Form Public title',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Profile Description') ,
+          'title' => ts('Profile Description'),
           'description' => 'Optional verbose description of the profile.',
           'rows' => 2,
           'cols' => 60,
@@ -294,14 +317,14 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_pre' => array(
+          ],
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Help Pre') ,
+          'title' => ts('Help Pre'),
           'description' => 'Description and/or help text to display before fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -309,14 +332,14 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_post' => array(
+          ],
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Profile Post Text') ,
+          'title' => ts('Profile Post Text'),
           'description' => 'Description and/or help text to display after fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -324,25 +347,25 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'limit_listings_group_id' => array(
+          ],
+        ],
+        'limit_listings_group_id' => [
           'name' => 'limit_listings_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Search Limit Group') ,
+          'title' => ts('Profile Search Limit Group'),
           'description' => 'Group id, foreign key from civicrm_group',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-        ) ,
-        'post_URL' => array(
+        ],
+        'post_URL' => [
           'name' => 'post_URL',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Post Url') ,
+          'title' => ts('Post Url'),
           'description' => 'Redirect to URL.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -350,72 +373,72 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'add_to_group_id' => array(
+        ],
+        'add_to_group_id' => [
           'name' => 'add_to_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Add Contact To Group') ,
+          'title' => ts('Add Contact To Group'),
           'description' => 'foreign key to civicrm_group_id',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-        ) ,
-        'add_captcha' => array(
+        ],
+        'add_captcha' => [
           'name' => 'add_captcha',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Show Captcha On Profile') ,
+          'title' => ts('Show Captcha On Profile'),
           'description' => 'Should a CAPTCHA widget be included this Profile form.',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_map' => array(
+        ],
+        'is_map' => [
           'name' => 'is_map',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Map Profile') ,
+          'title' => ts('Map Profile'),
           'description' => 'Do we want to map results from this profile.',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_edit_link' => array(
+        ],
+        'is_edit_link' => [
           'name' => 'is_edit_link',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Show Edit Link?') ,
+          'title' => ts('Show Edit Link?'),
           'description' => 'Should edit link display in profile selector',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_uf_link' => array(
+        ],
+        'is_uf_link' => [
           'name' => 'is_uf_link',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Show Link to CMS User') ,
+          'title' => ts('Show Link to CMS User'),
           'description' => 'Should we display a link to the website profile in profile selector',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_update_dupe' => array(
+        ],
+        'is_update_dupe' => [
           'name' => 'is_update_dupe',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Update on Duplicate') ,
+          'title' => ts('Update on Duplicate'),
           'description' => 'Should we update the contact record if we find a duplicate',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'cancel_URL' => array(
+        ],
+        'cancel_URL' => [
           'name' => 'cancel_URL',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Cancel URL') ,
+          'title' => ts('Profile Cancel URL'),
           'description' => 'Redirect to URL when Cancle button clik .',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -423,40 +446,40 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_cms_user' => array(
+        ],
+        'is_cms_user' => [
           'name' => 'is_cms_user',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Create CMS User?') ,
+          'title' => ts('Create CMS User?'),
           'description' => 'Should we create a cms user for this profile ',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'notify' => array(
+        ],
+        'notify' => [
           'name' => 'notify',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Notify on Profile Submit') ,
+          'title' => ts('Notify on Profile Submit'),
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Is Reserved') ,
+          'title' => ts('Profile Is Reserved'),
           'description' => 'Is this group reserved for use by some other CiviCRM functionality?',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Name') ,
+          'title' => ts('Profile Name'),
           'description' => 'Name of the UF group for directly addressing it in the codebase',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -464,42 +487,42 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Created By') ,
+          'title' => ts('Profile Created By'),
           'description' => 'FK to civicrm_contact, who created this UF group',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('UF Group Created Date') ,
+          'title' => ts('UF Group Created Date'),
           'description' => 'Date and time this UF group was created.',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'is_proximity_search' => array(
+        ],
+        'is_proximity_search' => [
           'name' => 'is_proximity_search',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Include Proximity Search?') ,
+          'title' => ts('Include Proximity Search?'),
           'description' => 'Should we include proximity search feature in this profile search form?',
           'table_name' => 'civicrm_uf_group',
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 0,
-        ) ,
-        'cancel_button_text' => array(
+        ],
+        'cancel_button_text' => [
           'name' => 'cancel_button_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Cancel Button Text') ,
+          'title' => ts('Cancel Button Text'),
           'description' => 'Custom Text to display on the Cancel button when used in create or edit mode',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -508,11 +531,11 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 1,
-        ) ,
-        'submit_button_text' => array(
+        ],
+        'submit_button_text' => [
           'name' => 'submit_button_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Submit Button Text') ,
+          'title' => ts('Submit Button Text'),
           'description' => 'Custom Text to display on the submit button on profile edit/create screens',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -521,40 +544,44 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
           'entity' => 'UFGroup',
           'bao' => 'CRM_Core_BAO_UFGroup',
           'localizable' => 1,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -562,10 +589,11 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -573,25 +601,31 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_uf_group::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/UFJoin.php b/civicrm/CRM/Core/DAO/UFJoin.php
index d28ebd7595..59c2a7d1b6 100644
--- a/civicrm/CRM/Core/DAO/UFJoin.php
+++ b/civicrm/CRM/Core/DAO/UFJoin.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,141 +8,153 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:141d4903e67ac8bce639e3db9c7ba875)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_UFJoin constructor.
+ * Database access object for the UFJoin entity.
  */
 class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_uf_join';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique table ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Is this join currently active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Module which owns this uf_join instance, e.g. User Registration, CiviDonate, etc.
    *
    * @var string
    */
   public $module;
+
   /**
    * Name of table where item being referenced is stored. Modules which only need a single collection of uf_join instances may choose not to populate entity_table and entity_id.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Controls display order when multiple user framework groups are setup for concurrent display.
    *
    * @var int
    */
   public $weight;
+
   /**
    * Which form does this field belong to.
    *
    * @var int unsigned
    */
   public $uf_group_id;
+
   /**
    * Json serialized array of data used by the ufjoin.module
    *
    * @var longtext
    */
   public $module_data;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_uf_join';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'uf_group_id', 'civicrm_uf_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'uf_group_id', 'civicrm_uf_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('UF Join ID') ,
+          'title' => ts('UF Join ID'),
           'description' => 'Unique table ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Profile Use is active') ,
+          'title' => ts('Profile Use is active'),
           'description' => 'Is this join currently active?',
           'default' => '1',
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-        ) ,
-        'module' => array(
+        ],
+        'module' => [
           'name' => 'module',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Module') ,
+          'title' => ts('Profile Module'),
           'description' => 'Module which owns this uf_join instance, e.g. User Registration, CiviDonate, etc.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Profile Entity Table') ,
+          'title' => ts('Profile Entity Table'),
           'description' => 'Name of table where item being referenced is stored. Modules which only need a single collection of uf_join instances may choose not to populate entity_table and entity_id.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -174,96 +162,100 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_BAO_UFJoin::entityTables',
-          )
-        ) ,
-        'entity_id' => array(
+          ]
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile Entity ID') ,
+          'title' => ts('Profile Entity ID'),
           'description' => 'Foreign key to the referenced item.',
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Controls display order when multiple user framework groups are setup for concurrent display.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
-        ) ,
-        'uf_group_id' => array(
+        ],
+        'uf_group_id' => [
           'name' => 'uf_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Profile ID') ,
+          'title' => ts('Profile ID'),
           'description' => 'Which form does this field belong to.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_UFGroup',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_uf_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'module_data' => array(
+          ]
+        ],
+        'module_data' => [
           'name' => 'module_data',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Profile Use Data') ,
+          'title' => ts('Profile Use Data'),
           'description' => 'Json serialized array of data used by the ufjoin.module',
           'table_name' => 'civicrm_uf_join',
           'entity' => 'UFJoin',
           'bao' => 'CRM_Core_BAO_UFJoin',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_JSON,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -271,10 +263,11 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_join', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_join', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -282,25 +275,31 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_join', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_join', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_uf_join::0::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/UFMatch.php b/civicrm/CRM/Core/DAO/UFMatch.php
index b81569bbdf..d3e8ddc839 100644
--- a/civicrm/CRM/Core/DAO/UFMatch.php
+++ b/civicrm/CRM/Core/DAO/UFMatch.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,133 +8,143 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c83bd8ebf7ad3a71d2bdaae1767cdcbb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_UFMatch constructor.
+ * Database access object for the UFMatch entity.
  */
 class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_uf_match';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * System generated ID.
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this match entry for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * UF ID
    *
    * @var int unsigned
    */
   public $uf_id;
+
   /**
    * UF Name
    *
    * @var string
    */
   public $uf_name;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * UI language preferred by the given user/contact
    *
    * @var string
    */
   public $language;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_uf_match';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('UF Match ID') ,
+          'title' => ts('UF Match ID'),
           'description' => 'System generated ID.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_match',
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('UF Match Domain ID') ,
+          'title' => ts('UF Match Domain ID'),
           'description' => 'Which Domain is this match entry for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_match',
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'uf_id' => array(
+          ]
+        ],
+        'uf_id' => [
           'name' => 'uf_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('CMS ID') ,
+          'title' => ts('CMS ID'),
           'description' => 'UF ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_uf_match',
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
-        ) ,
-        'uf_name' => array(
+        ],
+        'uf_name' => [
           'name' => 'uf_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('CMS Unique Identifier') ,
+          'title' => ts('CMS Unique Identifier'),
           'description' => 'UF Name',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -166,22 +152,22 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('CiviCRM Contact ID') ,
+          'title' => ts('CiviCRM Contact ID'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_uf_match',
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'language' => array(
+        ],
+        'language' => [
           'name' => 'language',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Preferred Language') ,
+          'title' => ts('Preferred Language'),
           'description' => 'UI language preferred by the given user/contact',
           'maxlength' => 5,
           'size' => CRM_Utils_Type::SIX,
@@ -189,40 +175,44 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
           'entity' => 'UFMatch',
           'bao' => 'CRM_Core_BAO_UFMatch',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -230,10 +220,11 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_match', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_match', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -241,44 +232,50 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_match', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_match', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'I_civicrm_uf_match_uf_id' => array(
+    $indices = [
+      'I_civicrm_uf_match_uf_id' => [
         'name' => 'I_civicrm_uf_match_uf_id',
-        'field' => array(
+        'field' => [
           0 => 'uf_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_uf_match::0::uf_id',
-      ) ,
-      'UI_uf_name_domain_id' => array(
+      ],
+      'UI_uf_name_domain_id' => [
         'name' => 'UI_uf_name_domain_id',
-        'field' => array(
+        'field' => [
           0 => 'uf_name',
           1 => 'domain_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_uf_match::1::uf_name::domain_id',
-      ) ,
-      'UI_contact_domain_id' => array(
+      ],
+      'UI_contact_domain_id' => [
         'name' => 'UI_contact_domain_id',
-        'field' => array(
+        'field' => [
           0 => 'contact_id',
           1 => 'domain_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_uf_match::1::contact_id::domain_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Website.php b/civicrm/CRM/Core/DAO/Website.php
index 4a7ae32aa5..a6df26b94c 100644
--- a/civicrm/CRM/Core/DAO/Website.php
+++ b/civicrm/CRM/Core/DAO/Website.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,169 +8,181 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7f68af3a95bfdc5dc7421efef27c0511)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Website constructor.
+ * Database access object for the Website entity.
  */
 class CRM_Core_DAO_Website extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_website';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique Website ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Website
    *
    * @var string
    */
   public $url;
+
   /**
    * Which Website type does this website belong to.
    *
    * @var int unsigned
    */
   public $website_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_website';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Website ID') ,
+          'title' => ts('Website ID'),
           'description' => 'Unique Website ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_website',
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact') ,
+          'title' => ts('Contact'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_website',
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'url' => array(
+        ],
+        'url' => [
           'name' => 'url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Website') ,
+          'title' => ts('Website'),
           'description' => 'Website',
           'maxlength' => 128,
           'size' => 30,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_website.url',
           'headerPattern' => '/Website/i',
           'dataPattern' => '/^[A-Za-z][0-9A-Za-z]{20,}$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_website',
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'website_type_id' => array(
+          ],
+        ],
+        'website_type_id' => [
           'name' => 'website_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Website Type') ,
+          'title' => ts('Website Type'),
           'description' => 'Which Website type does this website belong to.',
           'table_name' => 'civicrm_website',
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'website_type',
             'optionEditPath' => 'civicrm/admin/options/website_type',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -202,10 +190,11 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'website', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'website', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -213,24 +202,30 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'website', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'website', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_website_type_id' => array(
+    $indices = [
+      'UI_website_type_id' => [
         'name' => 'UI_website_type_id',
-        'field' => array(
+        'field' => [
           0 => 'website_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_website::0::website_type_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/WordReplacement.php b/civicrm/CRM/Core/DAO/WordReplacement.php
index 6db5e7df79..d3a2910bb4 100644
--- a/civicrm/CRM/Core/DAO/WordReplacement.php
+++ b/civicrm/CRM/Core/DAO/WordReplacement.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,103 +8,112 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:550a500d2c0a05672ebf9e2a47d54d69)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_WordReplacement constructor.
+ * Database access object for the WordReplacement entity.
  */
 class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_word_replacement';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Word replacement ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Word which need to be replaced
    *
    * @var string
    */
   public $find_word;
+
   /**
    * Word which will replace the word in find
    *
    * @var string
    */
   public $replace_word;
+
   /**
    * Is this entry active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
-   *
    * @var string
    */
   public $match_type;
+
   /**
    * FK to Domain ID. This is for Domain specific word replacement
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_word_replacement';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Word Replacement ID') ,
+          'title' => ts('Word Replacement ID'),
           'description' => 'Word replacement ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_word_replacement',
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
-        ) ,
-        'find_word' => array(
+        ],
+        'find_word' => [
           'name' => 'find_word',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Replaced Word') ,
+          'title' => ts('Replaced Word'),
           'description' => 'Word which need to be replaced',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -136,11 +121,11 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
-        ) ,
-        'replace_word' => array(
+        ],
+        'replace_word' => [
           'name' => 'replace_word',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Replacement Word') ,
+          'title' => ts('Replacement Word'),
           'description' => 'Word which will replace the word in find',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -148,22 +133,22 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Word Replacement is Active') ,
+          'title' => ts('Word Replacement is Active'),
           'description' => 'Is this entry active?',
           'default' => '1',
           'table_name' => 'civicrm_word_replacement',
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
-        ) ,
-        'match_type' => array(
+        ],
+        'match_type' => [
           'name' => 'match_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Word Replacement Match Type') ,
+          'title' => ts('Word Replacement Match Type'),
           'maxlength' => 16,
           'size' => CRM_Utils_Type::TWELVE,
           'default' => 'wildcardMatch',
@@ -171,62 +156,66 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getWordReplacementMatchType',
-          )
-        ) ,
-        'domain_id' => array(
+          ]
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Word Replacement Domain ID') ,
+          'title' => ts('Word Replacement Domain ID'),
           'description' => 'FK to Domain ID. This is for Domain specific word replacement',
           'table_name' => 'civicrm_word_replacement',
           'entity' => 'WordReplacement',
           'bao' => 'CRM_Core_BAO_WordReplacement',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -234,10 +223,11 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'word_replacement', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'word_replacement', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -245,26 +235,32 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'word_replacement', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'word_replacement', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_domain_find' => array(
+    $indices = [
+      'UI_domain_find' => [
         'name' => 'UI_domain_find',
-        'field' => array(
+        'field' => [
           0 => 'domain_id',
           1 => 'find_word',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_word_replacement::1::domain_id::find_word',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/DAO/Worldregion.php b/civicrm/CRM/Core/DAO/Worldregion.php
index 81c3f641d6..bd1ab11914 100644
--- a/civicrm/CRM/Core/DAO/Worldregion.php
+++ b/civicrm/CRM/Core/DAO/Worldregion.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,70 +8,75 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6dd4c29dfca409c7cd7a735836abd202)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Core_DAO_Worldregion constructor.
+ * Database access object for the Worldregion entity.
  */
 class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_worldregion';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Country Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Region name to be associated with countries
    *
    * @var string
    */
   public $name;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_worldregion';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('World Region ID') ,
+          'title' => ts('World Region ID'),
           'description' => 'Country Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_worldregion',
           'entity' => 'Worldregion',
           'bao' => 'CRM_Core_DAO_Worldregion',
           'localizable' => 0,
-        ) ,
-        'world_region' => array(
+        ],
+        'world_region' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('World Region') ,
+          'title' => ts('World Region'),
           'description' => 'Region name to be associated with countries',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_worldregion.name',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -103,40 +84,44 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
           'entity' => 'Worldregion',
           'bao' => 'CRM_Core_DAO_Worldregion',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -144,10 +129,11 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'worldregion', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'worldregion', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -155,15 +141,21 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'worldregion', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'worldregion', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Core/Error.php b/civicrm/CRM/Core/Error.php
index cffb07980b..88bb83505d 100644
--- a/civicrm/CRM/Core/Error.php
+++ b/civicrm/CRM/Core/Error.php
@@ -106,7 +106,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    * @param bool $throwPEAR_Error
    * @param string $stackClass
    *
-   * @return object
+   * @return CRM_Core_Error
    */
   public static function &singleton($package = NULL, $msgCallback = FALSE, $contextCallback = FALSE, $throwPEAR_Error = FALSE, $stackClass = 'PEAR_ErrorStack') {
     if (self::$_singleton === NULL) {
@@ -149,6 +149,9 @@ class CRM_Core_Error extends PEAR_ErrorStack {
       $message = implode($separator, $message);
       return $message;
     }
+    elseif (is_a($error, 'Civi\Payment\Exception\PaymentProcessorException')) {
+      return $error->getMessage();
+    }
     return NULL;
   }
 
diff --git a/civicrm/CRM/Core/Form.php b/civicrm/CRM/Core/Form.php
index d6035cad3d..6303dc5e3a 100644
--- a/civicrm/CRM/Core/Form.php
+++ b/civicrm/CRM/Core/Form.php
@@ -2388,4 +2388,24 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     return $currency;
   }
 
+  /**
+   * Is the form in view or edit mode.
+   *
+   * The 'addField' function relies on the form action being one of a set list
+   * of actions. Checking for these allows for an early return.
+   *
+   * @return bool
+   */
+  protected function isFormInViewOrEditMode() {
+    return in_array($this->_action, [
+      CRM_Core_Action::UPDATE,
+      CRM_Core_Action::ADD,
+      CRM_Core_Action::VIEW,
+      CRM_Core_Action::BROWSE,
+      CRM_Core_Action::BASIC,
+      CRM_Core_Action::ADVANCED,
+      CRM_Core_Action::PREVIEW,
+    ]);
+  }
+
 }
diff --git a/civicrm/CRM/Core/Form/Search.php b/civicrm/CRM/Core/Form/Search.php
index ec2ef4844c..3b3dcda18b 100644
--- a/civicrm/CRM/Core/Form/Search.php
+++ b/civicrm/CRM/Core/Form/Search.php
@@ -199,4 +199,42 @@ class CRM_Core_Form_Search extends CRM_Core_Form {
     return 'search';
   }
 
+  /**
+   * Add generic fields that specify the contact.
+   */
+  protected function addContactSearchFields() {
+    if (!$this->isFormInViewOrEditMode()) {
+      return;
+    }
+    $this->addSortNameField();
+
+    $this->_group = CRM_Core_PseudoConstant::nestedGroup();
+    if ($this->_group) {
+      $this->add('select', 'group', $this->getGroupLabel(), $this->_group, FALSE,
+        array(
+          'id' => 'group',
+          'multiple' => 'multiple',
+          'class' => 'crm-select2',
+        )
+      );
+    }
+
+    $contactTags = CRM_Core_BAO_Tag::getTags();
+    if ($contactTags) {
+      $this->add('select', 'contact_tags', $this->getTagLabel(), $contactTags, FALSE,
+        array(
+          'id' => 'contact_tags',
+          'multiple' => 'multiple',
+          'class' => 'crm-select2',
+        )
+      );
+    }
+    $this->addField('contact_type', array('entity' => 'Contact'));
+
+    if (CRM_Core_Permission::check('access deleted contacts') && Civi::settings()->get('contact_undelete')) {
+      $this->addElement('checkbox', 'deleted_contacts', ts('Search in Trash') . '<br />' . ts('(deleted contacts)'));
+    }
+
+  }
+
 }
diff --git a/civicrm/CRM/Core/I18n/Schema.php b/civicrm/CRM/Core/I18n/Schema.php
index 7efdc5103c..b795deacab 100644
--- a/civicrm/CRM/Core/I18n/Schema.php
+++ b/civicrm/CRM/Core/I18n/Schema.php
@@ -107,6 +107,9 @@ class CRM_Core_I18n_Schema {
     // update civicrm_domain.locales
     $domain->locales = $locale;
     $domain->save();
+
+    // CRM-21627 Updates the $dbLocale
+    CRM_Core_BAO_ConfigSetting::applyLocale(Civi::settings($domain->id), $domain->locales);
   }
 
   /**
diff --git a/civicrm/CRM/Core/I18n/SchemaStructure.php b/civicrm/CRM/Core/I18n/SchemaStructure.php
index 04f69bf6da..85f8baf934 100644
--- a/civicrm/CRM/Core/I18n/SchemaStructure.php
+++ b/civicrm/CRM/Core/I18n/SchemaStructure.php
@@ -24,6 +24,7 @@
 | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
 +--------------------------------------------------------------------+
 */
+
 /**
  *
  * @package CRM
@@ -33,6 +34,7 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  */
 class CRM_Core_I18n_SchemaStructure {
+
   /**
    * Get translatable columns.
    *
@@ -42,73 +44,73 @@ class CRM_Core_I18n_SchemaStructure {
   public static function &columns() {
     static $result = null;
     if (!$result) {
-      $result = array(
-        'civicrm_location_type' => array(
+      $result = [
+        'civicrm_location_type' => [
           'display_name' => "varchar(64)",
-        ) ,
-        'civicrm_option_group' => array(
+        ],
+        'civicrm_option_group' => [
           'title' => "varchar(255)",
           'description' => "varchar(255)",
-        ) ,
-        'civicrm_relationship_type' => array(
+        ],
+        'civicrm_relationship_type' => [
           'label_a_b' => "varchar(64)",
           'label_b_a' => "varchar(64)",
           'description' => "varchar(255)",
-        ) ,
-        'civicrm_contact_type' => array(
+        ],
+        'civicrm_contact_type' => [
           'label' => "varchar(64)",
           'description' => "text",
-        ) ,
-        'civicrm_batch' => array(
+        ],
+        'civicrm_batch' => [
           'title' => "varchar(255)",
           'description' => "text",
-        ) ,
-        'civicrm_premiums' => array(
+        ],
+        'civicrm_premiums' => [
           'premiums_intro_title' => "varchar(255)",
           'premiums_intro_text' => "text",
           'premiums_nothankyou_label' => "varchar(255)",
-        ) ,
-        'civicrm_membership_status' => array(
+        ],
+        'civicrm_membership_status' => [
           'label' => "varchar(128)",
-        ) ,
-        'civicrm_survey' => array(
+        ],
+        'civicrm_survey' => [
           'title' => "varchar(255)",
           'instructions' => "text",
           'thankyou_title' => "varchar(255)",
           'thankyou_text' => "text",
-        ) ,
-        'civicrm_participant_status_type' => array(
+        ],
+        'civicrm_participant_status_type' => [
           'label' => "varchar(255)",
-        ) ,
-        'civicrm_case_type' => array(
+        ],
+        'civicrm_case_type' => [
           'title' => "varchar(64)",
           'description' => "varchar(255)",
-        ) ,
-        'civicrm_tell_friend' => array(
+        ],
+        'civicrm_tell_friend' => [
           'title' => "varchar(255)",
           'intro' => "text",
           'suggested_message' => "text",
           'thankyou_title' => "varchar(255)",
           'thankyou_text' => "text",
-        ) ,
-        'civicrm_custom_group' => array(
+        ],
+        'civicrm_custom_group' => [
           'title' => "varchar(64)",
           'help_pre' => "text",
           'help_post' => "text",
-        ) ,
-        'civicrm_custom_field' => array(
+        ],
+        'civicrm_custom_field' => [
           'label' => "varchar(255)",
           'help_pre' => "text",
           'help_post' => "text",
-        ) ,
-        'civicrm_option_value' => array(
+        ],
+        'civicrm_option_value' => [
           'label' => "varchar(512)",
           'description' => "text",
-        ) ,
-        'civicrm_group' => array(
+        ],
+        'civicrm_group' => [
           'title' => "varchar(64)",
-        ) ,
-        'civicrm_contribution_page' => array(
+        ],
+        'civicrm_contribution_page' => [
           'title' => "varchar(255)",
           'intro_text' => "text",
           'pay_later_text' => "text",
@@ -121,57 +123,58 @@ class CRM_Core_I18n_SchemaStructure {
           'receipt_from_name' => "varchar(255)",
           'receipt_text' => "text",
           'footer_text' => "text",
-        ) ,
-        'civicrm_product' => array(
+        ],
+        'civicrm_product' => [
           'name' => "varchar(255)",
           'description' => "text",
           'options' => "text",
-        ) ,
-        'civicrm_membership_type' => array(
+        ],
+        'civicrm_membership_type' => [
           'name' => "varchar(128)",
           'description' => "varchar(255)",
-        ) ,
-        'civicrm_membership_block' => array(
+        ],
+        'civicrm_membership_block' => [
           'new_title' => "varchar(255)",
           'new_text' => "text",
           'renewal_title' => "varchar(255)",
           'renewal_text' => "text",
-        ) ,
-        'civicrm_price_set' => array(
+        ],
+        'civicrm_price_set' => [
           'title' => "varchar(255)",
           'help_pre' => "text",
           'help_post' => "text",
-        ) ,
-        'civicrm_dashboard' => array(
+        ],
+        'civicrm_dashboard' => [
           'label' => "varchar(255)",
-        ) ,
-        'civicrm_uf_group' => array(
+        ],
+        'civicrm_uf_group' => [
           'title' => "varchar(64)",
+          'frontend_title' => "varchar(64)",
           'help_pre' => "text",
           'help_post' => "text",
           'cancel_button_text' => "varchar(64)",
           'submit_button_text' => "varchar(64)",
-        ) ,
-        'civicrm_uf_field' => array(
+        ],
+        'civicrm_uf_field' => [
           'help_post' => "text",
           'help_pre' => "text",
           'label' => "varchar(255)",
-        ) ,
-        'civicrm_price_field' => array(
+        ],
+        'civicrm_price_field' => [
           'label' => "varchar(255)",
           'help_pre' => "text",
           'help_post' => "text",
-        ) ,
-        'civicrm_price_field_value' => array(
+        ],
+        'civicrm_price_field_value' => [
           'label' => "varchar(255)",
           'description' => "text",
           'help_pre' => "text",
           'help_post' => "text",
-        ) ,
-        'civicrm_pcp_block' => array(
+        ],
+        'civicrm_pcp_block' => [
           'link_text' => "varchar(255)",
-        ) ,
-        'civicrm_event' => array(
+        ],
+        'civicrm_event' => [
           'title' => "varchar(255)",
           'summary' => "text",
           'description' => "text",
@@ -195,11 +198,12 @@ class CRM_Core_I18n_SchemaStructure {
           'waitlist_text' => "text",
           'approval_req_text' => "text",
           'template_title' => "varchar(255)",
-        ) ,
-      );
+        ],
+      ];
     }
     return $result;
   }
+
   /**
    * Get a table indexed array of the indices for translatable fields.
    *
@@ -209,40 +213,41 @@ class CRM_Core_I18n_SchemaStructure {
   public static function &indices() {
     static $result = null;
     if (!$result) {
-      $result = array(
-        'civicrm_custom_group' => array(
-          'UI_title_extends' => array(
+      $result = [
+        'civicrm_custom_group' => [
+          'UI_title_extends' => [
             'name' => 'UI_title_extends',
-            'field' => array(
+            'field' => [
               'title',
               'extends',
-            ) ,
+            ],
             'unique' => 1,
-          ) ,
-        ) ,
-        'civicrm_custom_field' => array(
-          'UI_label_custom_group_id' => array(
+          ],
+        ],
+        'civicrm_custom_field' => [
+          'UI_label_custom_group_id' => [
             'name' => 'UI_label_custom_group_id',
-            'field' => array(
+            'field' => [
               'label',
               'custom_group_id',
-            ) ,
+            ],
             'unique' => 1,
-          ) ,
-        ) ,
-        'civicrm_group' => array(
-          'UI_title' => array(
+          ],
+        ],
+        'civicrm_group' => [
+          'UI_title' => [
             'name' => 'UI_title',
-            'field' => array(
+            'field' => [
               'title',
-            ) ,
+            ],
             'unique' => 1,
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
     }
     return $result;
   }
+
   /**
    * Get tables with translatable fields.
    *
@@ -256,6 +261,7 @@ class CRM_Core_I18n_SchemaStructure {
     }
     return $result;
   }
+
   /**
    * Get a list of widgets for editing translatable fields.
    *
@@ -265,438 +271,442 @@ class CRM_Core_I18n_SchemaStructure {
   static function &widgets() {
     static $result = null;
     if (!$result) {
-      $result = array(
-        'civicrm_location_type' => array(
-          'display_name' => array(
+      $result = [
+        'civicrm_location_type' => [
+          'display_name' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_option_group' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_option_group' => [
+          'title' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_relationship_type' => array(
-          'label_a_b' => array(
+          ],
+        ],
+        'civicrm_relationship_type' => [
+          'label_a_b' => [
             'type' => "Text",
-          ) ,
-          'label_b_a' => array(
+          ],
+          'label_b_a' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_contact_type' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_contact_type' => [
+          'label' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "2",
             'cols' => "60",
-          ) ,
-        ) ,
-        'civicrm_batch' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_batch' => [
+          'title' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-        ) ,
-        'civicrm_premiums' => array(
-          'premiums_intro_title' => array(
+          ],
+        ],
+        'civicrm_premiums' => [
+          'premiums_intro_title' => [
             'type' => "Text",
-          ) ,
-          'premiums_intro_text' => array(
+          ],
+          'premiums_intro_text' => [
             'type' => "Text",
-          ) ,
-          'premiums_nothankyou_label' => array(
+          ],
+          'premiums_nothankyou_label' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_membership_status' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_membership_status' => [
+          'label' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_survey' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_survey' => [
+          'title' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'instructions' => array(
+          ],
+          'instructions' => [
             'type' => "TextArea",
             'rows' => "20",
             'cols' => "80",
-          ) ,
-          'thankyou_title' => array(
+          ],
+          'thankyou_title' => [
             'type' => "Text",
-          ) ,
-          'thankyou_text' => array(
+          ],
+          'thankyou_text' => [
             'type' => "TextArea",
             'rows' => "8",
             'cols' => "60",
-          ) ,
-        ) ,
-        'civicrm_participant_status_type' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_participant_status_type' => [
+          'label' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_case_type' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_case_type' => [
+          'title' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_tell_friend' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_tell_friend' => [
+          'title' => [
             'type' => "Text",
-          ) ,
-          'intro' => array(
+          ],
+          'intro' => [
             'type' => "Text",
-          ) ,
-          'suggested_message' => array(
+          ],
+          'suggested_message' => [
             'type' => "Text",
-          ) ,
-          'thankyou_title' => array(
+          ],
+          'thankyou_title' => [
             'type' => "Text",
-          ) ,
-          'thankyou_text' => array(
+          ],
+          'thankyou_text' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_custom_group' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_custom_group' => [
+          'title' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-        ) ,
-        'civicrm_custom_field' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_custom_field' => [
+          'label' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "Text",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_option_value' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_option_value' => [
+          'label' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "8",
             'cols' => "60",
-          ) ,
-        ) ,
-        'civicrm_group' => array(
-          'title' => array(
-            'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_contribution_page' => array(
-          'title' => array(
-            'type' => "Text",
-          ) ,
-          'intro_text' => array(
+          ],
+        ],
+        'civicrm_group' => [
+          'title' => [
+            'type' => "Text",
+          ],
+        ],
+        'civicrm_contribution_page' => [
+          'title' => [
+            'type' => "Text",
+          ],
+          'intro_text' => [
             'type' => "RichTextEditor",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'pay_later_text' => array(
+          ],
+          'pay_later_text' => [
             'type' => "Text",
-          ) ,
-          'pay_later_receipt' => array(
+          ],
+          'pay_later_receipt' => [
             'type' => "Text",
-          ) ,
-          'initial_amount_label' => array(
+          ],
+          'initial_amount_label' => [
             'type' => "Text",
-          ) ,
-          'initial_amount_help_text' => array(
+          ],
+          'initial_amount_help_text' => [
             'type' => "Text",
-          ) ,
-          'thankyou_title' => array(
+          ],
+          'thankyou_title' => [
             'type' => "Text",
-          ) ,
-          'thankyou_text' => array(
+          ],
+          'thankyou_text' => [
             'type' => "RichTextEditor",
             'rows' => "8",
             'cols' => "60",
-          ) ,
-          'thankyou_footer' => array(
+          ],
+          'thankyou_footer' => [
             'type' => "RichTextEditor",
             'rows' => "8",
             'cols' => "60",
-          ) ,
-          'receipt_from_name' => array(
+          ],
+          'receipt_from_name' => [
             'type' => "Text",
-          ) ,
-          'receipt_text' => array(
+          ],
+          'receipt_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'footer_text' => array(
+          ],
+          'footer_text' => [
             'type' => "RichTextEditor",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-        ) ,
-        'civicrm_product' => array(
-          'name' => array(
+          ],
+        ],
+        'civicrm_product' => [
+          'name' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "Text",
-          ) ,
-          'options' => array(
+          ],
+          'options' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_membership_type' => array(
-          'name' => array(
+          ],
+        ],
+        'civicrm_membership_type' => [
+          'name' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-        ) ,
-        'civicrm_membership_block' => array(
-          'new_title' => array(
+          ],
+        ],
+        'civicrm_membership_block' => [
+          'new_title' => [
             'type' => "Text",
-          ) ,
-          'new_text' => array(
+          ],
+          'new_text' => [
             'type' => "Text",
-          ) ,
-          'renewal_title' => array(
+          ],
+          'renewal_title' => [
             'type' => "Text",
-          ) ,
-          'renewal_text' => array(
+          ],
+          'renewal_text' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_price_set' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_price_set' => [
+          'title' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-        ) ,
-        'civicrm_dashboard' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_dashboard' => [
+          'label' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_uf_group' => array(
-          'title' => array(
+          ],
+        ],
+        'civicrm_uf_group' => [
+          'title' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'help_pre' => array(
+          ],
+          'frontend_title' => [
+            'type' => "Text",
+          ],
+          'help_pre' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-          'cancel_button_text' => array(
+          ],
+          'cancel_button_text' => [
             'type' => "Text",
-          ) ,
-          'submit_button_text' => array(
+          ],
+          'submit_button_text' => [
             'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_uf_field' => array(
-          'help_post' => array(
+          ],
+        ],
+        'civicrm_uf_field' => [
+          'help_post' => [
             'type' => "Text",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "Text",
-          ) ,
-          'label' => array(
+          ],
+          'label' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-        ) ,
-        'civicrm_price_field' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_price_field' => [
+          'label' => [
             'type' => "Text",
             'required' => "true",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "80",
-          ) ,
-        ) ,
-        'civicrm_price_field_value' => array(
-          'label' => array(
+          ],
+        ],
+        'civicrm_price_field_value' => [
+          'label' => [
             'type' => "Text",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "2",
             'cols' => "60",
-          ) ,
-          'help_pre' => array(
+          ],
+          'help_pre' => [
             'type' => "TextArea",
             'rows' => "2",
             'cols' => "60",
-          ) ,
-          'help_post' => array(
+          ],
+          'help_post' => [
             'type' => "TextArea",
             'rows' => "2",
             'cols' => "60",
-          ) ,
-        ) ,
-        'civicrm_pcp_block' => array(
-          'link_text' => array(
-            'type' => "Text",
-          ) ,
-        ) ,
-        'civicrm_event' => array(
-          'title' => array(
-            'type' => "Text",
-          ) ,
-          'summary' => array(
+          ],
+        ],
+        'civicrm_pcp_block' => [
+          'link_text' => [
+            'type' => "Text",
+          ],
+        ],
+        'civicrm_event' => [
+          'title' => [
+            'type' => "Text",
+          ],
+          'summary' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "60",
-          ) ,
-          'description' => array(
+          ],
+          'description' => [
             'type' => "TextArea",
             'rows' => "8",
             'cols' => "60",
-          ) ,
-          'registration_link_text' => array(
+          ],
+          'registration_link_text' => [
             'type' => "Text",
-          ) ,
-          'event_full_text' => array(
+          ],
+          'event_full_text' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "60",
-          ) ,
-          'fee_label' => array(
+          ],
+          'fee_label' => [
             'type' => "Text",
-          ) ,
-          'intro_text' => array(
+          ],
+          'intro_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'footer_text' => array(
+          ],
+          'footer_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'confirm_title' => array(
+          ],
+          'confirm_title' => [
             'type' => "Text",
-          ) ,
-          'confirm_text' => array(
+          ],
+          'confirm_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'confirm_footer_text' => array(
+          ],
+          'confirm_footer_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'confirm_email_text' => array(
+          ],
+          'confirm_email_text' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "50",
-          ) ,
-          'confirm_from_name' => array(
+          ],
+          'confirm_from_name' => [
             'type' => "Text",
-          ) ,
-          'thankyou_title' => array(
+          ],
+          'thankyou_title' => [
             'type' => "Text",
-          ) ,
-          'thankyou_text' => array(
+          ],
+          'thankyou_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'thankyou_footer_text' => array(
+          ],
+          'thankyou_footer_text' => [
             'type' => "TextArea",
             'rows' => "6",
             'cols' => "50",
-          ) ,
-          'pay_later_text' => array(
+          ],
+          'pay_later_text' => [
             'type' => "Text",
-          ) ,
-          'pay_later_receipt' => array(
+          ],
+          'pay_later_receipt' => [
             'type' => "Text",
-          ) ,
-          'initial_amount_label' => array(
+          ],
+          'initial_amount_label' => [
             'type' => "Text",
-          ) ,
-          'initial_amount_help_text' => array(
+          ],
+          'initial_amount_help_text' => [
             'type' => "Text",
-          ) ,
-          'waitlist_text' => array(
+          ],
+          'waitlist_text' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "60",
-          ) ,
-          'approval_req_text' => array(
+          ],
+          'approval_req_text' => [
             'type' => "TextArea",
             'rows' => "4",
             'cols' => "60",
-          ) ,
-          'template_title' => array(
+          ],
+          'template_title' => [
             'type' => "Text",
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
     }
     return $result;
   }
+
 }
diff --git a/civicrm/CRM/Core/JobManager.php b/civicrm/CRM/Core/JobManager.php
index 6c3b1bec61..4cfdb87456 100644
--- a/civicrm/CRM/Core/JobManager.php
+++ b/civicrm/CRM/Core/JobManager.php
@@ -149,6 +149,12 @@ class CRM_Core_JobManager {
     }
     $this->logEntry('Finished execution of ' . $job->name . ' with result: ' . $this->_apiResultToMessage($result));
     $this->currentJob = FALSE;
+
+    //Disable outBound option after executing the job.
+    $environment = CRM_Core_Config::environment(NULL, TRUE);
+    if ($environment != 'Production' && !empty($job->apiParams['runInNonProductionEnvironment'])) {
+      Civi::settings()->set('mailing_backend', array('outBound_option' => CRM_Mailing_Config::OUTBOUND_OPTION_DISABLED));
+    }
   }
 
   /**
diff --git a/civicrm/CRM/Core/Payment.php b/civicrm/CRM/Core/Payment.php
index 80879d97db..faf05f510a 100644
--- a/civicrm/CRM/Core/Payment.php
+++ b/civicrm/CRM/Core/Payment.php
@@ -998,6 +998,19 @@ abstract class CRM_Core_Payment {
     return CRM_Utils_Array::value('currencyID', $params, CRM_Utils_Array::value('currency', $params));
   }
 
+  /**
+   * Get the currency for the transaction.
+   *
+   * Handle any inconsistency about how it is passed in here.
+   *
+   * @param $params
+   *
+   * @return string
+   */
+  protected function getAmount($params) {
+    return CRM_Utils_Money::format($params['amount'], NULL, NULL, TRUE);
+  }
+
   /**
    * Get url to return to after cancelled or failed transaction.
    *
@@ -1158,7 +1171,7 @@ abstract class CRM_Core_Payment {
    */
   public function doPayment(&$params, $component = 'contribute') {
     $this->_component = $component;
-    $statuses = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id');
+    $statuses = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id', 'validate');
 
     // If we have a $0 amount, skip call to processor and set payment_status to Completed.
     // Conceivably a processor might override this - perhaps for setting up a token - but we don't
diff --git a/civicrm/CRM/Core/Payment/PayPalImpl.php b/civicrm/CRM/Core/Payment/PayPalImpl.php
index bd1fb53e7a..07e0130eec 100644
--- a/civicrm/CRM/Core/Payment/PayPalImpl.php
+++ b/civicrm/CRM/Core/Payment/PayPalImpl.php
@@ -139,7 +139,19 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
   protected function addPaypalExpressCode(&$form) {
     // @todo use $this->isBackOffice() instead, test.
     if (empty($form->isBackOffice)) {
-      $form->_expressButtonName = $form->getButtonName('upload', 'express');
+
+      /**
+       * if payment method selected using ajax call then form object is of 'CRM_Financial_Form_Payment',
+       * instead of 'CRM_Contribute_Form_Contribution_Main' so it generate wrong button name
+       * and then clicking on express button it redirect to confirm screen rather than PayPal Express form
+       */
+
+      if ('CRM_Financial_Form_Payment' == get_class($form) && $form->_formName) {
+        $form->_expressButtonName = '_qf_' . $form->_formName . '_upload_express';
+      }
+      else {
+        $form->_expressButtonName = $form->getButtonName('upload', 'express');
+      }
       $form->assign('expressButtonName', $form->_expressButtonName);
       $form->add(
         'image',
@@ -476,7 +488,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
     $this->initialize($args, 'DoDirectPayment');
 
     $args['paymentAction'] = 'Sale';
-    $args['amt'] = $params['amount'];
+    $args['amt'] = $this->getAmount($params);
     $args['currencyCode'] = $this->getCurrency($params);
     $args['invnum'] = $params['invoiceID'];
     $args['ipaddress'] = $params['ip_address'];
@@ -512,7 +524,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
         $params['amount'] . " Per " .
         $params['frequency_interval'] . " " .
         $params['frequency_unit'];
-      $args['amt'] = $params['amount'];
+      $args['amt'] = $this->getAmount($params);
       $args['totalbillingcycles'] = CRM_Utils_Array::value('installments', $params);
       $args['version'] = 56.0;
       $args['PROFILEREFERENCE'] = "" .
@@ -715,7 +727,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
       $this->initialize($args, 'UpdateRecurringPaymentsProfile');
 
       $args['PROFILEID'] = $params['subscriptionId'];
-      $args['AMT'] = $params['amount'];
+      $args['AMT'] = $this->getAmount($params);
       $args['CURRENCYCODE'] = $config->defaultCurrency;
       $args['CREDITCARDTYPE'] = $params['credit_card_type'];
       $args['ACCT'] = $params['credit_card_number'];
@@ -753,7 +765,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
       $this->initialize($args, 'UpdateRecurringPaymentsProfile');
 
       $args['PROFILEID'] = $params['subscriptionId'];
-      $args['AMT'] = $params['amount'];
+      $args['AMT'] = $this->getAmount($params);
       $args['CURRENCYCODE'] = $config->defaultCurrency;
       $args['BILLINGFREQUENCY'] = $params['installments'];
 
@@ -897,7 +909,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
 
       $paypalParams += array(
         'cmd' => '_xclick-subscriptions',
-        'a3' => $params['amount'],
+        'a3' => $this->getAmount($params),
         'p3' => $params['frequency_interval'],
         't3' => ucfirst(substr($params['frequency_unit'], 0, 1)),
         'src' => 1,
diff --git a/civicrm/CRM/Core/Payment/PayPalProIPN.php b/civicrm/CRM/Core/Payment/PayPalProIPN.php
index adac726bfa..3cfd93d2a5 100644
--- a/civicrm/CRM/Core/Payment/PayPalProIPN.php
+++ b/civicrm/CRM/Core/Payment/PayPalProIPN.php
@@ -537,6 +537,7 @@ INNER JOIN civicrm_membership_payment mp ON m.id = mp.membership_id AND mp.contr
     $input['net_amount'] = self::retrieve('settle_amount', 'Money', 'POST', FALSE);
     $input['trxn_id'] = self::retrieve('txn_id', 'String', 'POST', FALSE);
     $input['payment_date'] = $input['receive_date'] = self::retrieve('payment_date', 'String', 'POST', FALSE);
+    $input['total_amount'] = $input['amount'];
   }
 
   /**
diff --git a/civicrm/CRM/Core/PseudoConstant.php b/civicrm/CRM/Core/PseudoConstant.php
index 96fa65536e..f67c23a2b0 100644
--- a/civicrm/CRM/Core/PseudoConstant.php
+++ b/civicrm/CRM/Core/PseudoConstant.php
@@ -931,6 +931,11 @@ WHERE  id = %1";
    *   array reference of all groups.
    */
   public static function allGroup($groupType = NULL, $excludeHidden = TRUE) {
+    if ($groupType === 'validate') {
+      // validate gets passed through from getoptions. Handle in the deprecated
+      // fn rather than change the new pattern.
+      $groupType = NULL;
+    }
     $condition = CRM_Contact_BAO_Group::groupTypeCondition($groupType, $excludeHidden);
     $groupKey = ($groupType ? $groupType : 'null') . !empty($excludeHidden);
 
@@ -1075,275 +1080,13 @@ WHERE  id = %1";
    */
   public static function &currencyCode() {
     if (!self::$currencyCode) {
-      self::$currencyCode = array(
-        'AFN',
-        'ALL',
-        'DZD',
-        'USD',
-        'EUR',
-        'AOA',
-        'XCD',
-        'XCD',
-        'ARS',
-        'AMD',
-        'AWG',
-        'AUD',
-        'EUR',
-        'AZM',
-        'BSD',
-        'BHD',
-        'BDT',
-        'BBD',
-        'BYR',
-        'EUR',
-        'BZD',
-        'XOF',
-        'BMD',
-        'INR',
-        'BTN',
-        'BOB',
-        'BOV',
-        'BAM',
-        'BWP',
-        'NOK',
-        'BRL',
-        'USD',
-        'BND',
-        'BGN',
-        'XOF',
-        'BIF',
-        'KHR',
-        'XAF',
-        'CAD',
-        'CVE',
-        'KYD',
-        'XAF',
-        'XAF',
-        'CLP',
-        'CLF',
-        'CNY',
-        'AUD',
-        'AUD',
-        'COP',
-        'COU',
-        'KMF',
-        'XAF',
-        'CDF',
-        'NZD',
-        'CRC',
-        'XOF',
-        'HRK',
-        'CUP',
-        'CYP',
-        'CZK',
-        'DKK',
-        'DJF',
-        'XCD',
-        'DOP',
-        'USD',
-        'EGP',
-        'SVC',
-        'USD',
-        'XAF',
-        'ERN',
-        'EEK',
-        'ETB',
-        'FKP',
-        'DKK',
-        'FJD',
-        'EUR',
-        'EUR',
-        'EUR',
-        'XPF',
-        'EUR',
-        'XAF',
-        'GMD',
-        'GEL',
-        'EUR',
-        'GHC',
-        'GIP',
-        'EUR',
-        'DKK',
-        'XCD',
-        'EUR',
-        'USD',
-        'GTQ',
-        'GNF',
-        'GWP',
-        'XOF',
-        'GYD',
-        'HTG',
-        'USD',
-        'AUD',
-        'EUR',
-        'HNL',
-        'HKD',
-        'HUF',
-        'ISK',
-        'INR',
-        'IDR',
-        'XDR',
-        'IRR',
-        'IQD',
-        'EUR',
-        'ILS',
-        'EUR',
-        'JMD',
-        'JPY',
-        'JOD',
-        'KZT',
-        'KES',
-        'AUD',
-        'KPW',
-        'KRW',
-        'KWD',
-        'KGS',
-        'LAK',
-        'LVL',
-        'LBP',
-        'ZAR',
-        'LSL',
-        'LRD',
-        'LYD',
-        'CHF',
-        'LTL',
-        'EUR',
-        'MOP',
-        'MKD',
-        'MGA',
-        'MWK',
-        'MYR',
-        'MVR',
-        'XOF',
-        'MTL',
-        'USD',
-        'EUR',
-        'MRO',
-        'MUR',
-        'EUR',
-        'MXN',
-        'MXV',
-        'USD',
-        'MDL',
-        'EUR',
-        'MNT',
-        'XCD',
-        'MAD',
-        'MZM',
-        'MMK',
-        'ZAR',
-        'NAD',
-        'AUD',
-        'NPR',
-        'EUR',
-        'ANG',
-        'XPF',
-        'NZD',
-        'NIO',
-        'XOF',
-        'NGN',
-        'NZD',
-        'AUD',
-        'USD',
-        'NOK',
-        'OMR',
-        'PKR',
-        'USD',
-        'PAB',
-        'USD',
-        'PGK',
-        'PYG',
-        'PEN',
-        'PHP',
-        'NZD',
-        'PLN',
-        'EUR',
-        'USD',
-        'QAR',
-        'EUR',
-        'ROL',
-        'RON',
-        'RUB',
-        'RWF',
-        'SHP',
-        'XCD',
-        'XCD',
-        'EUR',
-        'XCD',
-        'WST',
-        'EUR',
-        'STD',
-        'SAR',
-        'XOF',
-        'CSD',
-        'EUR',
-        'SCR',
-        'SLL',
-        'SGD',
-        'SKK',
-        'SIT',
-        'SBD',
-        'SOS',
-        'ZAR',
-        'EUR',
-        'LKR',
-        'SDD',
-        'SRD',
-        'NOK',
-        'SZL',
-        'SEK',
-        'CHF',
-        'CHW',
-        'CHE',
-        'SYP',
-        'TWD',
-        'TJS',
-        'TZS',
-        'THB',
-        'USD',
-        'XOF',
-        'NZD',
-        'TOP',
-        'TTD',
-        'TND',
-        'TRY',
-        'TRL',
-        'TMM',
-        'USD',
-        'AUD',
-        'UGX',
-        'UAH',
-        'AED',
-        'GBP',
-        'USD',
-        'USS',
-        'USN',
-        'USD',
-        'UYU',
-        'UZS',
-        'VUV',
-        'VEB',
-        'VND',
-        'USD',
-        'USD',
-        'XPF',
-        'MAD',
-        'YER',
-        'ZMK',
-        'ZWD',
-        'XAU',
-        'XBA',
-        'XBB',
-        'XBC',
-        'XBD',
-        'XPD',
-        'XPT',
-        'XAG',
-        'XFU',
-        'XFO',
-        'XTS',
-        'XXX',
-      );
+
+      $query = "SELECT name FROM civicrm_currency";
+      $dao = CRM_Core_DAO::executeQuery($query);
+      $currencyCode = array();
+      while ($dao->fetch()) {
+        self::$currencyCode[] = $dao->name;
+      }
     }
     return self::$currencyCode;
   }
diff --git a/civicrm/CRM/Core/Task.php b/civicrm/CRM/Core/Task.php
new file mode 100644
index 0000000000..96a64e8a56
--- /dev/null
+++ b/civicrm/CRM/Core/Task.php
@@ -0,0 +1,202 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | CiviCRM version 4.7                                                |
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC (c) 2004-2017                                |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM.                                    |
+ |                                                                    |
+ | CiviCRM is free software; you can copy, modify, and distribute it  |
+ | under the terms of the GNU Affero General Public License           |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ |                                                                    |
+ | CiviCRM 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 Affero General Public License for more details.        |
+ |                                                                    |
+ | You should have received a copy of the GNU Affero General Public   |
+ | License and the CiviCRM Licensing Exception along                  |
+ | with this program; if not, contact CiviCRM LLC                     |
+ | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ | GNU Affero General Public License or the licensing of CiviCRM,     |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * @package CRM
+ * @copyright CiviCRM LLC (c) 2004-2017
+ */
+
+/**
+ * Class to represent the actions that can be performed on a group of contacts used by the search forms.
+ */
+abstract class CRM_Core_Task {
+
+  /**
+   * These constants are only used as enumerators for each of the batch tasks.
+   */
+  const
+    // General (Implemented by more than one entity)
+    GROUP_REMOVE = 1,
+    GROUP_ADD = 2,
+    PDF_LETTER = 3,
+    TASK_DELETE = 4,
+    TASK_PRINT = 5,
+    BATCH_UPDATE = 6,
+    TASK_SMS = 7,
+    TASK_EXPORT = 8,
+    TASK_EMAIL = 9,
+    TAG_ADD = 10,
+    TAG_REMOVE = 11,
+    // Contact tasks
+    SAVE_SEARCH = 12,
+    SAVE_SEARCH_UPDATE = 13,
+    CREATE_MAILING = 14,
+    DELETE_PERMANENTLY = 15,
+    LABEL_CONTACTS = 16;
+
+  /**
+   * The task array
+   *
+   * @var array
+   */
+  public static $_tasks = NULL;
+
+  /**
+   * @var string
+   *   This must be defined in each child class.  It is passed to the searchTasks hook.
+   *   Example: $objectType = 'event';
+   */
+  static $objectType = NULL;
+
+  /**
+   * Generates a list of batch tasks available for the current entities.
+   * Each child class should populate $_tasks array and then call this parent function for shared functionality.
+   *    * @return array The set of tasks for a group of contacts
+   *            [ 'title' => The Task title,
+   *              'class' => The Task Form class name,
+   *              'result => Boolean.  FIXME: Not sure what this is for
+   *            ]
+   */
+  public static function tasks() {
+    CRM_Utils_Hook::searchTasks(self::$objectType, self::$_tasks);
+    asort(self::$_tasks);
+
+    return self::$_tasks;
+  }
+
+  /**
+   * These tasks are the core set of tasks that the user can perform
+   * on a contact / group of contacts
+   *
+   * @return array
+   *   the set of tasks for a group of contacts
+   */
+  public static function taskTitles() {
+    static::tasks();
+
+    $titles = array();
+    foreach (self::$_tasks as $id => $value) {
+      $titles[$id] = $value['title'];
+    }
+
+    if (!CRM_Utils_Mail::validOutBoundMail()) {
+      unset($titles[self::TASK_EMAIL]);
+      unset($titles[self::CREATE_MAILING]);
+    }
+
+    // Users who do not have 'access deleted contacts' should NOT have the 'Delete Permanently' option in search result tasks
+    if (!CRM_Core_Permission::check('access deleted contacts') ||
+      !CRM_Core_Permission::check('delete contacts')
+    ) {
+      unset($titles[self::DELETE_PERMANENTLY]);
+    }
+    return $titles;
+  }
+
+  /**
+   * Show tasks selectively based on the permission level
+   * of the user
+   * This function should be call parent::corePermissionedTaskTitles
+   *
+   * @param int $permission
+   * @param array $params
+   *             "ssID: Saved Search ID": If !empty we are in saved search context
+   *
+   * @return array
+   *   set of tasks that are valid for the user
+   */
+  abstract public static function permissionedTaskTitles($permission, $params);
+
+  /**
+   * Show tasks selectively based on the permission level
+   * of the user
+   * This function should be called by permissionedTaskTitles in children
+   *
+   * @param array $tasks The array of tasks generated by permissionedTaskTitles
+   * @param int $permission
+   * @param array $params
+   *             "ssID: Saved Search ID": If !empty we are in saved search context
+   *
+   * @return array
+   *   set of tasks that are valid for the user
+   */
+  public static function corePermissionedTaskTitles($tasks, $permission, $params) {
+    // Only offer the "Update Smart Group" task if a smart group/saved search is already in play and we have edit permissions
+    if (!empty($params['ssID']) && ($permission == CRM_Core_Permission::EDIT)) {
+      $tasks[self::SAVE_SEARCH_UPDATE] = self::$_tasks[self::SAVE_SEARCH_UPDATE]['title'];
+    }
+    else {
+      unset($tasks[self::SAVE_SEARCH_UPDATE]);
+    }
+
+    asort($tasks);
+    return $tasks;
+  }
+
+  /**
+   * These tasks are the core set of tasks that the user can perform
+   * on participants
+   *
+   * @param int $value
+   *
+   * @return array
+   *   the set of tasks for a group of participants
+   */
+  public static function getTask($value) {
+    static::tasks();
+
+    if (!CRM_Utils_Array::value($value, self::$_tasks)) {
+      // Children can specify a default task (eg. print), we don't here
+      return array();
+    }
+    return array(
+      CRM_Utils_Array::value('class', self::$_tasks[$value]),
+      CRM_Utils_Array::value('result', self::$_tasks[$value]),
+    );
+  }
+
+  /**
+   * Function to return the task information on basis of provided task's form name
+   *
+   * @param string $className
+   *
+   * @return array [ 0 => Task ID, 1 => Task Title ]
+   */
+  public static function getTaskAndTitleByClass($className) {
+    static::tasks();
+
+    foreach (self::$_tasks as $task => $value) {
+      if ((!empty($value['url']) || $task == self::TASK_EXPORT)
+          && ((is_array($value['class']) && in_array($className, $value['class']))
+          || ($value['class'] == $className))) {
+        return array($task, CRM_Utils_Array::value('title', $value));
+      }
+    }
+    return array();
+  }
+
+}
diff --git a/civicrm/CRM/Custom/Import/Form/MapField.php b/civicrm/CRM/Custom/Import/Form/MapField.php
index d68aa95a36..abc0138c04 100644
--- a/civicrm/CRM/Custom/Import/Form/MapField.php
+++ b/civicrm/CRM/Custom/Import/Form/MapField.php
@@ -88,8 +88,7 @@ class CRM_Custom_Import_Form_MapField extends CRM_Contact_Import_Form_MapField {
         $errors['saveMappingName'] = ts('Name is required to save Import Mapping');
       }
       else {
-        $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', 'Import Multi value custom data', 'name');
-        if (CRM_Core_BAO_Mapping::checkMapping($nameField, $mappingTypeId)) {
+        if (CRM_Core_BAO_Mapping::checkMapping($nameField, CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Multi value custom data'))) {
           $errors['saveMappingName'] = ts('Duplicate ' . $self->_mappingType . 'Mapping Name');
         }
       }
@@ -187,10 +186,7 @@ class CRM_Custom_Import_Form_MapField extends CRM_Contact_Import_Form_MapField {
       $mappingParams = array(
         'name' => $params['saveMappingName'],
         'description' => $params['saveMappingDesc'],
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          $this->_mappingType,
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', $this->_mappingType),
       );
       $saveMapping = CRM_Core_BAO_Mapping::add($mappingParams);
 
diff --git a/civicrm/CRM/Cxn/DAO/Cxn.php b/civicrm/CRM/Cxn/DAO/Cxn.php
index 36a519468e..679858f8a2 100644
--- a/civicrm/CRM/Cxn/DAO/Cxn.php
+++ b/civicrm/CRM/Cxn/DAO/Cxn.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,120 +8,134 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:90ebdb9687fcc28fb71ec5ef15dafc1b)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Cxn_DAO_Cxn constructor.
+ * Database access object for the Cxn entity.
  */
 class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_cxn';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Connection ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Application GUID
    *
    * @var string
    */
   public $app_guid;
+
   /**
    * Application Metadata (JSON)
    *
    * @var text
    */
   public $app_meta;
+
   /**
    * Connection GUID
    *
    * @var string
    */
   public $cxn_guid;
+
   /**
    * Shared secret
    *
    * @var text
    */
   public $secret;
+
   /**
    * Permissions approved for the service (JSON)
    *
    * @var text
    */
   public $perm;
+
   /**
    * Options for the service (JSON)
    *
    * @var text
    */
   public $options;
+
   /**
    * Is connection currently enabled?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * When was the connection was created.
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When the connection was created or modified.
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * The last time the application metadata was fetched.
    *
    * @var timestamp
    */
   public $fetched_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_cxn';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Connection ID') ,
+          'title' => ts('Connection ID'),
           'description' => 'Connection ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'app_guid' => array(
+        ],
+        'app_guid' => [
           'name' => 'app_guid',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Application GUID') ,
+          'title' => ts('Application GUID'),
           'description' => 'Application GUID',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -153,21 +143,21 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'app_meta' => array(
+        ],
+        'app_meta' => [
           'name' => 'app_meta',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Application Metadata (JSON)') ,
+          'title' => ts('Application Metadata (JSON)'),
           'description' => 'Application Metadata (JSON)',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'cxn_guid' => array(
+        ],
+        'cxn_guid' => [
           'name' => 'cxn_guid',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Connection GUID') ,
+          'title' => ts('Connection GUID'),
           'description' => 'Connection GUID',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -175,118 +165,122 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'secret' => array(
+        ],
+        'secret' => [
           'name' => 'secret',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Secret') ,
+          'title' => ts('Secret'),
           'description' => 'Shared secret',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'perm' => array(
+        ],
+        'perm' => [
           'name' => 'perm',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Perm') ,
+          'title' => ts('Perm'),
           'description' => 'Permissions approved for the service (JSON)',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'options' => array(
+        ],
+        'options' => [
           'name' => 'options',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Options') ,
+          'title' => ts('Options'),
           'description' => 'Options for the service (JSON)',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_JSON,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is connection currently enabled?',
           'default' => '1',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'When was the connection was created.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When the connection was created or modified.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-        'fetched_date' => array(
+        ],
+        'fetched_date' => [
           'name' => 'fetched_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Fetched Date') ,
+          'title' => ts('Fetched Date'),
           'description' => 'The last time the application metadata was fetched.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_cxn',
           'entity' => 'Cxn',
           'bao' => 'CRM_Cxn_BAO_Cxn',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -294,10 +288,11 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'cxn', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'cxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -305,34 +300,40 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'cxn', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'cxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_appid' => array(
+    $indices = [
+      'UI_appid' => [
         'name' => 'UI_appid',
-        'field' => array(
+        'field' => [
           0 => 'app_guid',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_cxn::1::app_guid',
-      ) ,
-      'UI_keypair_cxnid' => array(
+      ],
+      'UI_keypair_cxnid' => [
         'name' => 'UI_keypair_cxnid',
-        'field' => array(
+        'field' => [
           0 => 'cxn_guid',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_cxn::1::cxn_guid',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Dashlet/Page/AllCases.php b/civicrm/CRM/Dashlet/Page/AllCases.php
index a6f6078a11..733cfcf6fc 100644
--- a/civicrm/CRM/Dashlet/Page/AllCases.php
+++ b/civicrm/CRM/Dashlet/Page/AllCases.php
@@ -53,12 +53,17 @@ class CRM_Dashlet_Page_AllCases extends CRM_Core_Page {
       CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
     }
 
-    $session = CRM_Core_Session::singleton();
-    $userID = $session->get('userID');
-    $upcoming = CRM_Case_BAO_Case::getCases(TRUE, $userID, 'upcoming', $context);
+    $controller = new CRM_Core_Controller_Simple('CRM_Case_Form_Search',
+      ts('Case'), CRM_Core_Action::BROWSE,
+      NULL,
+      FALSE, FALSE, TRUE
+    );
+    $controller->setEmbedded(TRUE);
+    $controller->process();
+    $controller->run();
 
-    if (!empty($upcoming)) {
-      $this->assign('AllCases', $upcoming);
+    if (CRM_Case_BAO_Case::getCases(TRUE, array('type' => 'any'), 'dashboard', TRUE)) {
+      $this->assign('casePresent', TRUE);
     }
     return parent::run();
   }
diff --git a/civicrm/CRM/Dashlet/Page/CaseDashboard.php b/civicrm/CRM/Dashlet/Page/CaseDashboard.php
index 0765646103..79627fd5f5 100644
--- a/civicrm/CRM/Dashlet/Page/CaseDashboard.php
+++ b/civicrm/CRM/Dashlet/Page/CaseDashboard.php
@@ -45,15 +45,12 @@ class CRM_Dashlet_Page_CaseDashboard extends CRM_Core_Page {
    * @return void
    */
   public function run() {
-
     //check for civicase access.
     if (!CRM_Case_BAO_Case::accessCiviCase()) {
       CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
     }
 
-    $session = &CRM_Core_Session::singleton();
-    $userID = $session->get('userID');
-    $summary = CRM_Case_BAO_Case::getCasesSummary(TRUE, $userID);
+    $summary = CRM_Case_BAO_Case::getCasesSummary(TRUE);
 
     if (!empty($summary)) {
       $this->assign('casesSummary', $summary);
diff --git a/civicrm/CRM/Dashlet/Page/MyCases.php b/civicrm/CRM/Dashlet/Page/MyCases.php
index 51d9b06385..234e4c6d56 100644
--- a/civicrm/CRM/Dashlet/Page/MyCases.php
+++ b/civicrm/CRM/Dashlet/Page/MyCases.php
@@ -53,12 +53,17 @@ class CRM_Dashlet_Page_MyCases extends CRM_Core_Page {
       CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
     }
 
-    $session = CRM_Core_Session::singleton();
-    $userID = $session->get('userID');
-    $upcoming = CRM_Case_BAO_Case::getCases(FALSE, $userID, 'upcoming', $context);
+    $controller = new CRM_Core_Controller_Simple('CRM_Case_Form_Search',
+      ts('Case'), CRM_Core_Action::BROWSE,
+      NULL,
+      FALSE, FALSE, TRUE
+    );
+    $controller->setEmbedded(TRUE);
+    $controller->process();
+    $controller->run();
 
-    if (!empty($upcoming)) {
-      $this->assign('upcomingCases', $upcoming);
+    if (CRM_Case_BAO_Case::getCases(FALSE, array('type' => 'any'), $context, TRUE)) {
+      $this->assign('casePresent', TRUE);
     }
     return parent::run();
   }
diff --git a/civicrm/CRM/Dedupe/DAO/Exception.php b/civicrm/CRM/Dedupe/DAO/Exception.php
index 3b6b7e52b1..ecf939fba3 100644
--- a/civicrm/CRM/Dedupe/DAO/Exception.php
+++ b/civicrm/CRM/Dedupe/DAO/Exception.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,138 +8,149 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:5e9f138ebec5aa2fcfd30120dffacdf5)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Dedupe_DAO_Exception constructor.
+ * Database access object for the Exception entity.
  */
 class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_dedupe_exception';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique dedupe exception id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id1;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id2;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_dedupe_exception';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id1', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id2', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id1', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id2', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dedupe Exception ID') ,
+          'title' => ts('Dedupe Exception ID'),
           'description' => 'Unique dedupe exception id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_exception',
           'entity' => 'Exception',
           'bao' => 'CRM_Dedupe_DAO_Exception',
           'localizable' => 0,
-        ) ,
-        'contact_id1' => array(
+        ],
+        'contact_id1' => [
           'name' => 'contact_id1',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('First Dupe Contact ID') ,
+          'title' => ts('First Dupe Contact ID'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_dedupe_exception',
           'entity' => 'Exception',
           'bao' => 'CRM_Dedupe_DAO_Exception',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'contact_id2' => array(
+        ],
+        'contact_id2' => [
           'name' => 'contact_id2',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Second Dupe Contact ID') ,
+          'title' => ts('Second Dupe Contact ID'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_dedupe_exception',
           'entity' => 'Exception',
           'bao' => 'CRM_Dedupe_DAO_Exception',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -171,10 +158,11 @@ class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_exception', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_exception', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -182,26 +170,32 @@ class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_exception', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_exception', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contact_id1_contact_id2' => array(
+    $indices = [
+      'UI_contact_id1_contact_id2' => [
         'name' => 'UI_contact_id1_contact_id2',
-        'field' => array(
+        'field' => [
           0 => 'contact_id1',
           1 => 'contact_id2',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_dedupe_exception::1::contact_id1::contact_id2',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Dedupe/DAO/Rule.php b/civicrm/CRM/Dedupe/DAO/Rule.php
index 924e230f52..49d3356f4f 100644
--- a/civicrm/CRM/Dedupe/DAO/Rule.php
+++ b/civicrm/CRM/Dedupe/DAO/Rule.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,198 +8,212 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:d4069481ff6f6925ed299206f67ab01e)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Dedupe_DAO_Rule constructor.
+ * Database access object for the Rule entity.
  */
 class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_dedupe_rule';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique dedupe rule id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The id of the rule group this rule belongs to
    *
    * @var int unsigned
    */
   public $dedupe_rule_group_id;
+
   /**
    * The name of the table this rule is about
    *
    * @var string
    */
   public $rule_table;
+
   /**
    * The name of the field of the table referenced in rule_table
    *
    * @var string
    */
   public $rule_field;
+
   /**
    * The length of the matching substring
    *
    * @var int unsigned
    */
   public $rule_length;
+
   /**
    * The weight of the rule
    *
    * @var int
    */
   public $rule_weight;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_dedupe_rule';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'dedupe_rule_group_id', 'civicrm_dedupe_rule_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'dedupe_rule_group_id', 'civicrm_dedupe_rule_group', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dedupe Rule ID') ,
+          'title' => ts('Dedupe Rule ID'),
           'description' => 'Unique dedupe rule id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
-        ) ,
-        'dedupe_rule_group_id' => array(
+        ],
+        'dedupe_rule_group_id' => [
           'name' => 'dedupe_rule_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dedupe Rule Group') ,
+          'title' => ts('Dedupe Rule Group'),
           'description' => 'The id of the rule group this rule belongs to',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
           'FKClassName' => 'CRM_Dedupe_DAO_RuleGroup',
-        ) ,
-        'rule_table' => array(
+        ],
+        'rule_table' => [
           'name' => 'rule_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Rule Table') ,
+          'title' => ts('Rule Table'),
           'description' => 'The name of the table this rule is about',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
-        ) ,
-        'rule_field' => array(
+        ],
+        'rule_field' => [
           'name' => 'rule_field',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Rule Field') ,
+          'title' => ts('Rule Field'),
           'description' => 'The name of the field of the table referenced in rule_table',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
-        ) ,
-        'rule_length' => array(
+        ],
+        'rule_length' => [
           'name' => 'rule_length',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Rule Length') ,
+          'title' => ts('Rule Length'),
           'description' => 'The length of the matching substring',
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'rule_weight' => array(
+          ],
+        ],
+        'rule_weight' => [
           'name' => 'rule_weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'The weight of the rule',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_rule',
           'entity' => 'Rule',
           'bao' => 'CRM_Dedupe_BAO_Rule',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -231,10 +221,11 @@ class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_rule', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_rule', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -242,15 +233,21 @@ class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_rule', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_rule', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Dedupe/DAO/RuleGroup.php b/civicrm/CRM/Dedupe/DAO/RuleGroup.php
index b662b02795..924b83400e 100644
--- a/civicrm/CRM/Dedupe/DAO/RuleGroup.php
+++ b/civicrm/CRM/Dedupe/DAO/RuleGroup.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,96 +8,106 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0f103fb52cf7d96d601d83e8417f77ad)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Dedupe_DAO_RuleGroup constructor.
+ * Database access object for the RuleGroup entity.
  */
 class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_dedupe_rule_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Unique dedupe rule group id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The type of contacts this group applies to
    *
    * @var string
    */
   public $contact_type;
+
   /**
    * The weight threshold the sum of the rule weights has to cross to consider two contacts the same
    *
    * @var int
    */
   public $threshold;
+
   /**
    * Whether the rule should be used for cases where usage is Unsupervised, Supervised OR General(programatically)
    *
    * @var string
    */
   public $used;
+
   /**
    * Name of the rule group
    *
    * @var string
    */
   public $name;
+
   /**
    * Label of the rule group
    *
    * @var string
    */
   public $title;
+
   /**
    * Is this a reserved rule - a rule group that has been optimized and cannot be changed by the admin
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_dedupe_rule_group';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Rule Group ID') ,
+          'title' => ts('Rule Group ID'),
           'description' => 'Unique dedupe rule group id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_rule_group',
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-        ) ,
-        'contact_type' => array(
+        ],
+        'contact_type' => [
           'name' => 'contact_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Contact Type') ,
+          'title' => ts('Contact Type'),
           'description' => 'The type of contacts this group applies to',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -129,53 +115,53 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_contact_type',
             'keyColumn' => 'name',
             'labelColumn' => 'label',
             'condition' => 'parent_id IS NULL',
-          )
-        ) ,
-        'threshold' => array(
+          ]
+        ],
+        'threshold' => [
           'name' => 'threshold',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Threshold') ,
+          'title' => ts('Threshold'),
           'description' => 'The weight threshold the sum of the rule weights has to cross to consider two contacts the same',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_dedupe_rule_group',
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'used' => array(
+          ],
+        ],
+        'used' => [
           'name' => 'used',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Length') ,
+          'title' => ts('Length'),
           'description' => 'Whether the rule should be used for cases where usage is Unsupervised, Supervised OR General(programatically)',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_dedupe_rule_group',
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Radio',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getDedupeRuleTypes',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Name of the rule group',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -183,11 +169,11 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title') ,
+          'title' => ts('Title'),
           'description' => 'Label of the rule group',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -195,56 +181,60 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_reserved' => array(
+          ],
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Reserved?') ,
+          'title' => ts('Reserved?'),
           'description' => 'Is this a reserved rule - a rule group that has been optimized and cannot be changed by the admin',
           'table_name' => 'civicrm_dedupe_rule_group',
           'entity' => 'RuleGroup',
           'bao' => 'CRM_Dedupe_BAO_RuleGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -252,10 +242,11 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_rule_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dedupe_rule_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -263,15 +254,21 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_rule_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dedupe_rule_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Dedupe/Merger.php b/civicrm/CRM/Dedupe/Merger.php
index 12c3903d8c..381488563b 100644
--- a/civicrm/CRM/Dedupe/Merger.php
+++ b/civicrm/CRM/Dedupe/Merger.php
@@ -1528,9 +1528,20 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     CRM_Core_OptionGroup::lookupValues($submitted, $names, TRUE);
 
     // fix custom fields so they're edible by createProfileContact()
-    static $treeCache = array();
+    $treeCache = array();
     if (!array_key_exists($migrationInfo['main_details']['contact_type'], $treeCache)) {
-      $treeCache[$migrationInfo['main_details']['contact_type']] = CRM_Core_BAO_CustomGroup::getTree($migrationInfo['main_details']['contact_type'], NULL, NULL, -1);
+      $treeCache[$migrationInfo['main_details']['contact_type']] = CRM_Core_BAO_CustomGroup::getTree(
+        $migrationInfo['main_details']['contact_type'],
+        NULL,
+        NULL,
+        -1,
+        array(),
+        NULL,
+        TRUE,
+        NULL,
+        FALSE,
+        FALSE
+      );
     }
 
     $cFields = array();
@@ -1696,12 +1707,12 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     // move view only custom fields CRM-5362
     $viewOnlyCustomFields = array();
     foreach ($submitted as $key => $value) {
-      $fid = (int) substr($key, 7);
-      if (array_key_exists($fid, $cFields) && !empty($cFields[$fid]['attributes']['is_view'])) {
+      $fid = CRM_Core_BAO_CustomField::getKeyID($key);
+      if ($fid && array_key_exists($fid, $cFields) && !empty($cFields[$fid]['attributes']['is_view'])
+      ) {
         $viewOnlyCustomFields[$key] = $value;
       }
     }
-
     // special case to set values for view only, CRM-5362
     if (!empty($viewOnlyCustomFields)) {
       $viewOnlyCustomFields['entityID'] = $mainId;
diff --git a/civicrm/CRM/Event/Cart/DAO/Cart.php b/civicrm/CRM/Event/Cart/DAO/Cart.php
index 568bb3f0e1..9fc151b895 100644
--- a/civicrm/CRM/Event/Cart/DAO/Cart.php
+++ b/civicrm/CRM/Event/Cart/DAO/Cart.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,134 +8,144 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:fd3bfb8e04f5a5101f38d928b1d056cb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_Cart_DAO_Cart constructor.
+ * Database access object for the Cart entity.
  */
 class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_event_carts';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Cart Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_contact who created this cart
    *
    * @var int unsigned
    */
   public $user_id;
+
   /**
-   *
    * @var boolean
    */
   public $completed;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_event_carts';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'user_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'user_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'cart_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'cart_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Cart ID') ,
+          'title' => ts('Cart ID'),
           'description' => 'Cart Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_event_carts',
           'entity' => 'Cart',
           'bao' => 'CRM_Event_Cart_BAO_Cart',
           'localizable' => 0,
-        ) ,
-        'user_id' => array(
+        ],
+        'user_id' => [
           'name' => 'user_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Created By') ,
+          'title' => ts('Created By'),
           'description' => 'FK to civicrm_contact who created this cart',
           'table_name' => 'civicrm_event_carts',
           'entity' => 'Cart',
           'bao' => 'CRM_Event_Cart_BAO_Cart',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'completed' => array(
+        ],
+        'completed' => [
           'name' => 'completed',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Complete?') ,
+          'title' => ts('Complete?'),
           'table_name' => 'civicrm_event_carts',
           'entity' => 'Cart',
           'bao' => 'CRM_Event_Cart_BAO_Cart',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -167,10 +153,11 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'event_carts', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'event_carts', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -178,15 +165,21 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'event_carts', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'event_carts', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/Cart/DAO/EventInCart.php b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
index 3178c52bde..a10b01c195 100644
--- a/civicrm/CRM/Event/Cart/DAO/EventInCart.php
+++ b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,138 +8,149 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6b0b02cd86b7cc7e07b35cd72afa785f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_Cart_DAO_EventInCart constructor.
+ * Database access object for the EventInCart entity.
  */
 class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_events_in_carts';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Event In Cart Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Event ID
    *
    * @var int unsigned
    */
   public $event_id;
+
   /**
    * FK to Event Cart ID
    *
    * @var int unsigned
    */
   public $event_cart_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_events_in_carts';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_id', 'civicrm_event', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_cart_id', 'civicrm_event_carts', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_id', 'civicrm_event', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_cart_id', 'civicrm_event_carts', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'event_in_cart_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'event_in_cart_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event In Cart') ,
+          'title' => ts('Event In Cart'),
           'description' => 'Event In Cart Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_events_in_carts',
           'entity' => 'EventInCart',
           'bao' => 'CRM_Event_Cart_BAO_EventInCart',
           'localizable' => 0,
-        ) ,
-        'event_id' => array(
+        ],
+        'event_id' => [
           'name' => 'event_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event') ,
+          'title' => ts('Event'),
           'description' => 'FK to Event ID',
           'table_name' => 'civicrm_events_in_carts',
           'entity' => 'EventInCart',
           'bao' => 'CRM_Event_Cart_BAO_EventInCart',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_DAO_Event',
-        ) ,
-        'event_cart_id' => array(
+        ],
+        'event_cart_id' => [
           'name' => 'event_cart_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event In Cart') ,
+          'title' => ts('Event In Cart'),
           'description' => 'FK to Event Cart ID',
           'table_name' => 'civicrm_events_in_carts',
           'entity' => 'EventInCart',
           'bao' => 'CRM_Event_Cart_BAO_EventInCart',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_Cart_DAO_Cart',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -171,10 +158,11 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'events_in_carts', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'events_in_carts', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -182,15 +170,21 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'events_in_carts', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'events_in_carts', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/Cart/Form/Checkout/Payment.php b/civicrm/CRM/Event/Cart/Form/Checkout/Payment.php
index 59f843ad46..51f9126b9d 100644
--- a/civicrm/CRM/Event/Cart/Form/Checkout/Payment.php
+++ b/civicrm/CRM/Event/Cart/Form/Checkout/Payment.php
@@ -328,16 +328,6 @@ class CRM_Event_Cart_Form_Checkout_Payment extends CRM_Event_Cart_Form_Cart {
     $this->sub_total += $amount;
   }
 
-  /**
-   * Get default from address.
-   *
-   * @return mixed
-   */
-  public function getDefaultFrom() {
-    $values = CRM_Core_OptionGroup::values('from_email_address');
-    return $values[1];
-  }
-
   /**
    * Send email receipt.
    *
@@ -362,7 +352,7 @@ class CRM_Event_Cart_Form_Checkout_Payment extends CRM_Event_Cart_Form_Cart {
     $send_template_params = array(
       'table' => 'civicrm_msg_template',
       'contactId' => $this->payer_contact_id,
-      'from' => $this->getDefaultFrom(),
+      'from' => CRM_Core_BAO_Domain::getNameAndEmail(TRUE, TRUE),
       'groupName' => 'msg_tpl_workflow_event',
       'isTest' => FALSE,
       'toEmail' => $contact_details[1],
diff --git a/civicrm/CRM/Event/DAO/Event.php b/civicrm/CRM/Event/DAO/Event.php
index 54734c3b05..e132610e1e 100644
--- a/civicrm/CRM/Event/DAO/Event.php
+++ b/civicrm/CRM/Event/DAO/Event.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,504 +8,576 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6c0950f3a5f6305f8d7e0a05d4703018)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_DAO_Event constructor.
+ * Database access object for the Event entity.
  */
 class CRM_Event_DAO_Event extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_event';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Event
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Event Title (e.g. Fall Fundraiser Dinner)
    *
    * @var string
    */
   public $title;
+
   /**
    * Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.
    *
    * @var text
    */
   public $summary;
+
   /**
    * Full description of event. Text and html allowed. Displayed on built-in Event Information screens.
    *
    * @var text
    */
   public $description;
+
   /**
    * Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.
    *
    * @var int unsigned
    */
   public $event_type_id;
+
   /**
    * Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.
    *
    * @var int unsigned
    */
   public $participant_listing_id;
+
   /**
    * Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.
    *
    * @var boolean
    */
   public $is_public;
+
   /**
    * Date and time that event starts.
    *
    * @var datetime
    */
   public $start_date;
+
   /**
    * Date and time that event ends. May be NULL if no defined end date/time
    *
    * @var datetime
    */
   public $end_date;
+
   /**
    * If true, include registration link on Event Info page.
    *
    * @var boolean
    */
   public $is_online_registration;
+
   /**
    * Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.
    *
    * @var string
    */
   public $registration_link_text;
+
   /**
    * Date and time that online registration starts.
    *
    * @var datetime
    */
   public $registration_start_date;
+
   /**
    * Date and time that online registration ends.
    *
    * @var datetime
    */
   public $registration_end_date;
+
   /**
    * Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.
    *
    * @var int unsigned
    */
   public $max_participants;
+
   /**
    * Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.
    *
    * @var text
    */
   public $event_full_text;
+
   /**
    * If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.
    *
    * @var boolean
    */
   public $is_monetary;
+
   /**
    * Financial type assigned to paid event registrations for this event. Required if is_monetary is true.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Payment Processors configured for this Event (if is_monetary is true)
    *
    * @var string
    */
   public $payment_processor;
+
   /**
    * Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?
    *
    * @var boolean
    */
   public $is_map;
+
   /**
    * Is this Event enabled or disabled/cancelled?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
-   *
    * @var string
    */
   public $fee_label;
+
   /**
    * If true, show event location.
    *
    * @var boolean
    */
   public $is_show_location;
+
   /**
    * FK to Location Block ID
    *
    * @var int unsigned
    */
   public $loc_block_id;
+
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
    * @var int unsigned
    */
   public $default_role_id;
+
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
    * @var text
    */
   public $intro_text;
+
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
    * @var text
    */
   public $footer_text;
+
   /**
    * Title for Confirmation page.
    *
    * @var string
    */
   public $confirm_title;
+
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
    * @var text
    */
   public $confirm_text;
+
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
    * @var text
    */
   public $confirm_footer_text;
+
   /**
    * If true, confirmation is automatically emailed to contact on successful registration.
    *
    * @var boolean
    */
   public $is_email_confirm;
+
   /**
    * text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now
    *
    * @var text
    */
   public $confirm_email_text;
+
   /**
    * FROM email name used for confirmation emails.
    *
    * @var string
    */
   public $confirm_from_name;
+
   /**
    * FROM email address used for confirmation emails.
    *
    * @var string
    */
   public $confirm_from_email;
+
   /**
    * comma-separated list of email addresses to cc each time a confirmation is sent
    *
    * @var string
    */
   public $cc_confirm;
+
   /**
    * comma-separated list of email addresses to bcc each time a confirmation is sent
    *
    * @var string
    */
   public $bcc_confirm;
+
   /**
    * FK to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $default_fee_id;
+
   /**
    * FK to civicrm_option_value.
    *
    * @var int unsigned
    */
   public $default_discount_fee_id;
+
   /**
    * Title for ThankYou page.
    *
    * @var string
    */
   public $thankyou_title;
+
   /**
    * ThankYou Text.
    *
    * @var text
    */
   public $thankyou_text;
+
   /**
    * Footer message.
    *
    * @var text
    */
   public $thankyou_footer_text;
+
   /**
    * if true - allows the user to send payment directly to the org later
    *
    * @var boolean
    */
   public $is_pay_later;
+
   /**
    * The text displayed to the user in the main form
    *
    * @var text
    */
   public $pay_later_text;
+
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
    * @var text
    */
   public $pay_later_receipt;
+
   /**
    * is partial payment enabled for this event
    *
    * @var boolean
    */
   public $is_partial_payment;
+
   /**
    * Initial amount label for partial payment
    *
    * @var string
    */
   public $initial_amount_label;
+
   /**
    * Initial amount help text for partial payment
    *
    * @var text
    */
   public $initial_amount_help_text;
+
   /**
    * Minimum initial amount for partial payment
    *
    * @var float
    */
   public $min_initial_amount;
+
   /**
    * if true - allows the user to register multiple participants for event
    *
    * @var boolean
    */
   public $is_multiple_registrations;
+
   /**
    * Maximum number of additional participants that can be registered on a single booking
    *
    * @var int unsigned
    */
   public $max_additional_participants;
+
   /**
    * if true - allows the user to register multiple registrations from same email address.
    *
    * @var boolean
    */
   public $allow_same_participant_emails;
+
   /**
    * Whether the event has waitlist support.
    *
    * @var boolean
    */
   public $has_waitlist;
+
   /**
    * Whether participants require approval before they can finish registering.
    *
    * @var boolean
    */
   public $requires_approval;
+
   /**
    * Expire pending but unconfirmed registrations after this many hours.
    *
    * @var int unsigned
    */
   public $expiration_time;
+
   /**
    * Allow self service cancellation or transfer for event?
    *
    * @var boolean
    */
   public $allow_selfcancelxfer;
+
   /**
    * Number of hours prior to event start date to allow self-service cancellation or transfer.
    *
    * @var int unsigned
    */
   public $selfcancelxfer_time;
+
   /**
    * Text to display when the event is full, but participants can signup for a waitlist.
    *
    * @var text
    */
   public $waitlist_text;
+
   /**
    * Text to display when the approval is required to complete registration for an event.
    *
    * @var text
    */
   public $approval_req_text;
+
   /**
    * whether the event has template
    *
    * @var boolean
    */
   public $is_template;
+
   /**
    * Event Template Title
    *
    * @var string
    */
   public $template_title;
+
   /**
    * FK to civicrm_contact, who created this event
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time that event was created.
    *
    * @var datetime
    */
   public $created_date;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * The campaign for which this event has been created.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Can people share the event through social media?
    *
    * @var boolean
    */
   public $is_share;
+
   /**
    * If false, the event booking confirmation screen gets skipped
    *
    * @var boolean
    */
   public $is_confirm_enabled;
+
   /**
    * Implicit FK to civicrm_event: parent event
    *
    * @var int unsigned
    */
   public $parent_event_id;
+
   /**
    * Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.
    *
    * @var int unsigned
    */
   public $slot_label_id;
+
   /**
    * Rule to use when matching registrations for this event
    *
    * @var int unsigned
    */
   public $dedupe_rule_group_id;
+
   /**
    * if true than billing block is required this event
    *
    * @var boolean
    */
   public $is_billing_required;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_event';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'loc_block_id', 'civicrm_loc_block', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'dedupe_rule_group_id', 'civicrm_dedupe_rule_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'loc_block_id', 'civicrm_loc_block', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'dedupe_rule_group_id', 'civicrm_dedupe_rule_group', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event ID') ,
+          'title' => ts('Event ID'),
           'description' => 'Event',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-        ) ,
-        'event_title' => array(
+        ],
+        'event_title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Event Title') ,
+          'title' => ts('Event Title'),
           'description' => 'Event Title (e.g. Fall Fundraiser Dinner)',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.title',
           'headerPattern' => '/(event.)?title$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'summary' => array(
+          ],
+        ],
+        'summary' => [
           'name' => 'summary',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Event Summary') ,
+          'title' => ts('Event Summary'),
           'description' => 'Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.',
           'rows' => 4,
           'cols' => 60,
@@ -537,14 +585,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'event_description' => array(
+          ],
+        ],
+        'event_description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Event Description') ,
+          'title' => ts('Event Description'),
           'description' => 'Full description of event. Text and html allowed. Displayed on built-in Event Information screens.',
           'rows' => 8,
           'cols' => 60,
@@ -552,111 +600,111 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'event_type_id' => array(
+          ],
+        ],
+        'event_type_id' => [
           'name' => 'event_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Type') ,
+          'title' => ts('Event Type'),
           'description' => 'Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'event_type',
             'optionEditPath' => 'civicrm/admin/options/event_type',
-          )
-        ) ,
-        'participant_listing_id' => array(
+          ]
+        ],
+        'participant_listing_id' => [
           'name' => 'participant_listing_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant Listing') ,
+          'title' => ts('Participant Listing'),
           'description' => 'Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'participant_listing',
             'optionEditPath' => 'civicrm/admin/options/participant_listing',
-          )
-        ) ,
-        'is_public' => array(
+          ]
+        ],
+        'is_public' => [
           'name' => 'is_public',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Event Public') ,
+          'title' => ts('Is Event Public'),
           'description' => 'Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.',
           'default' => '1',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'event_start_date' => array(
+          ],
+        ],
+        'event_start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Event Start Date') ,
+          'title' => ts('Event Start Date'),
           'description' => 'Date and time that event starts.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.start_date',
           'headerPattern' => '/^start|(s(tart\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'event_end_date' => array(
+          ],
+        ],
+        'event_end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Event End Date') ,
+          'title' => ts('Event End Date'),
           'description' => 'Date and time that event ends. May be NULL if no defined end date/time',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.end_date',
           'headerPattern' => '/^end|(e(nd\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'is_online_registration' => array(
+          ],
+        ],
+        'is_online_registration' => [
           'name' => 'is_online_registration',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Online Registration') ,
+          'title' => ts('Is Online Registration'),
           'description' => 'If true, include registration link on Event Info page.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'registration_link_text' => array(
+          ],
+        ],
+        'registration_link_text' => [
           'name' => 'registration_link_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Event Registration Link Text') ,
+          'title' => ts('Event Registration Link Text'),
           'description' => 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -664,54 +712,54 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'registration_start_date' => array(
+          ],
+        ],
+        'registration_start_date' => [
           'name' => 'registration_start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Registration Start Date') ,
+          'title' => ts('Registration Start Date'),
           'description' => 'Date and time that online registration starts.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'registration_end_date' => array(
+          ],
+        ],
+        'registration_end_date' => [
           'name' => 'registration_end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Registration End Date') ,
+          'title' => ts('Registration End Date'),
           'description' => 'Date and time that online registration ends.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'max_participants' => array(
+          ],
+        ],
+        'max_participants' => [
           'name' => 'max_participants',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Max Participants') ,
+          'title' => ts('Max Participants'),
           'description' => 'Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.',
           'default' => 'NULL',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'event_full_text' => array(
+          ],
+        ],
+        'event_full_text' => [
           'name' => 'event_full_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Event Information') ,
+          'title' => ts('Event Information'),
           'description' => 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.',
           'rows' => 4,
           'cols' => 60,
@@ -719,46 +767,46 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_monetary' => array(
+          ],
+        ],
+        'is_monetary' => [
           'name' => 'is_monetary',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is this a PAID event?') ,
+          'title' => ts('Is this a PAID event?'),
           'description' => 'If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'financial_type_id' => array(
+          ],
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'Financial type assigned to paid event registrations for this event. Required if is_monetary is true.',
           'default' => 'NULL',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'payment_processor' => array(
+          ]
+        ],
+        'payment_processor' => [
           'name' => 'payment_processor',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Payment Processor') ,
+          'title' => ts('Payment Processor'),
           'description' => 'Payment Processors configured for this Event (if is_monetary is true)',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -766,112 +814,112 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_payment_processor',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'is_map' => array(
+          ]
+        ],
+        'is_map' => [
           'name' => 'is_map',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Map Enabled') ,
+          'title' => ts('Map Enabled'),
           'description' => 'Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is this Event enabled or disabled/cancelled?',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'fee_label' => array(
+          ],
+        ],
+        'fee_label' => [
           'name' => 'fee_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Fee Label') ,
+          'title' => ts('Fee Label'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.fee_label',
           'headerPattern' => '/^fee|(f(ee\s)?label)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_show_location' => array(
+          ],
+        ],
+        'is_show_location' => [
           'name' => 'is_show_location',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('show location') ,
+          'title' => ts('show location'),
           'description' => 'If true, show event location.',
           'default' => '1',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'loc_block_id' => array(
+          ],
+        ],
+        'loc_block_id' => [
           'name' => 'loc_block_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Block ID') ,
+          'title' => ts('Location Block ID'),
           'description' => 'FK to Location Block ID',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_LocBlock',
-        ) ,
-        'default_role_id' => array(
+        ],
+        'default_role_id' => [
           'name' => 'default_role_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Default Role') ,
+          'title' => ts('Default Role'),
           'description' => 'Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.default_role_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'participant_role',
             'optionEditPath' => 'civicrm/admin/options/participant_role',
-          )
-        ) ,
-        'intro_text' => array(
+          ]
+        ],
+        'intro_text' => [
           'name' => 'intro_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Introductory Message') ,
+          'title' => ts('Introductory Message'),
           'description' => 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
           'rows' => 6,
           'cols' => 50,
@@ -879,14 +927,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'footer_text' => array(
+          ],
+        ],
+        'footer_text' => [
           'name' => 'footer_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Footer Message') ,
+          'title' => ts('Footer Message'),
           'description' => 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
           'rows' => 6,
           'cols' => 50,
@@ -894,14 +942,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'confirm_title' => array(
+          ],
+        ],
+        'confirm_title' => [
           'name' => 'confirm_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Confirmation Title') ,
+          'title' => ts('Confirmation Title'),
           'description' => 'Title for Confirmation page.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -910,14 +958,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'confirm_text' => array(
+          ],
+        ],
+        'confirm_text' => [
           'name' => 'confirm_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Confirm Text') ,
+          'title' => ts('Confirm Text'),
           'description' => 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
           'rows' => 6,
           'cols' => 50,
@@ -925,14 +973,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'confirm_footer_text' => array(
+          ],
+        ],
+        'confirm_footer_text' => [
           'name' => 'confirm_footer_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Footer Text') ,
+          'title' => ts('Footer Text'),
           'description' => 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
           'rows' => 6,
           'cols' => 50,
@@ -940,27 +988,27 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_email_confirm' => array(
+          ],
+        ],
+        'is_email_confirm' => [
           'name' => 'is_email_confirm',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is confirm email') ,
+          'title' => ts('Is confirm email'),
           'description' => 'If true, confirmation is automatically emailed to contact on successful registration.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'confirm_email_text' => array(
+          ],
+        ],
+        'confirm_email_text' => [
           'name' => 'confirm_email_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Confirmation Email Text') ,
+          'title' => ts('Confirmation Email Text'),
           'description' => 'text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now',
           'rows' => 4,
           'cols' => 50,
@@ -968,14 +1016,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'confirm_from_name' => array(
+          ],
+        ],
+        'confirm_from_name' => [
           'name' => 'confirm_from_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Confirm From Name') ,
+          'title' => ts('Confirm From Name'),
           'description' => 'FROM email name used for confirmation emails.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -983,14 +1031,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'confirm_from_email' => array(
+          ],
+        ],
+        'confirm_from_email' => [
           'name' => 'confirm_from_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Confirm From Email') ,
+          'title' => ts('Confirm From Email'),
           'description' => 'FROM email address used for confirmation emails.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -998,14 +1046,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'cc_confirm' => array(
+          ],
+        ],
+        'cc_confirm' => [
           'name' => 'cc_confirm',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Cc Confirm') ,
+          'title' => ts('Cc Confirm'),
           'description' => 'comma-separated list of email addresses to cc each time a confirmation is sent',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1013,14 +1061,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'bcc_confirm' => array(
+          ],
+        ],
+        'bcc_confirm' => [
           'name' => 'bcc_confirm',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Bcc Confirm') ,
+          'title' => ts('Bcc Confirm'),
           'description' => 'comma-separated list of email addresses to bcc each time a confirmation is sent',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1028,34 +1076,34 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'default_fee_id' => array(
+          ],
+        ],
+        'default_fee_id' => [
           'name' => 'default_fee_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Default Fee ID') ,
+          'title' => ts('Default Fee ID'),
           'description' => 'FK to civicrm_option_value.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-        ) ,
-        'default_discount_fee_id' => array(
+        ],
+        'default_discount_fee_id' => [
           'name' => 'default_discount_fee_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Default Discount Fee ID') ,
+          'title' => ts('Default Discount Fee ID'),
           'description' => 'FK to civicrm_option_value.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-        ) ,
-        'thankyou_title' => array(
+        ],
+        'thankyou_title' => [
           'name' => 'thankyou_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('ThankYou Title') ,
+          'title' => ts('ThankYou Title'),
           'description' => 'Title for ThankYou page.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1064,14 +1112,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'thankyou_text' => array(
+          ],
+        ],
+        'thankyou_text' => [
           'name' => 'thankyou_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('ThankYou Text') ,
+          'title' => ts('ThankYou Text'),
           'description' => 'ThankYou Text.',
           'rows' => 6,
           'cols' => 50,
@@ -1079,14 +1127,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'thankyou_footer_text' => array(
+          ],
+        ],
+        'thankyou_footer_text' => [
           'name' => 'thankyou_footer_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Footer Text') ,
+          'title' => ts('Footer Text'),
           'description' => 'Footer message.',
           'rows' => 6,
           'cols' => 50,
@@ -1094,66 +1142,66 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_pay_later' => array(
+          ],
+        ],
+        'is_pay_later' => [
           'name' => 'is_pay_later',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Pay Later Allowed') ,
+          'title' => ts('Pay Later Allowed'),
           'description' => 'if true - allows the user to send payment directly to the org later',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'pay_later_text' => array(
+          ],
+        ],
+        'pay_later_text' => [
           'name' => 'pay_later_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Pay Later Text') ,
+          'title' => ts('Pay Later Text'),
           'description' => 'The text displayed to the user in the main form',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'pay_later_receipt' => array(
+          ],
+        ],
+        'pay_later_receipt' => [
           'name' => 'pay_later_receipt',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Pay Later Receipt Text') ,
+          'title' => ts('Pay Later Receipt Text'),
           'description' => 'The receipt sent to the user instead of the normal receipt text',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_partial_payment' => array(
+          ],
+        ],
+        'is_partial_payment' => [
           'name' => 'is_partial_payment',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Partial Payments Enabled') ,
+          'title' => ts('Partial Payments Enabled'),
           'description' => 'is partial payment enabled for this event',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'initial_amount_label' => array(
+          ],
+        ],
+        'initial_amount_label' => [
           'name' => 'initial_amount_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Initial Amount Label') ,
+          'title' => ts('Initial Amount Label'),
           'description' => 'Initial amount label for partial payment',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -1161,145 +1209,145 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'initial_amount_help_text' => array(
+          ],
+        ],
+        'initial_amount_help_text' => [
           'name' => 'initial_amount_help_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Initial Amount Help Text') ,
+          'title' => ts('Initial Amount Help Text'),
           'description' => 'Initial amount help text for partial payment',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'min_initial_amount' => array(
+          ],
+        ],
+        'min_initial_amount' => [
           'name' => 'min_initial_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Minimum Initial Amount') ,
+          'title' => ts('Minimum Initial Amount'),
           'description' => 'Minimum initial amount for partial payment',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_multiple_registrations' => array(
+          ],
+        ],
+        'is_multiple_registrations' => [
           'name' => 'is_multiple_registrations',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Multiple Registrations') ,
+          'title' => ts('Allow Multiple Registrations'),
           'description' => 'if true - allows the user to register multiple participants for event',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'max_additional_participants' => array(
+          ],
+        ],
+        'max_additional_participants' => [
           'name' => 'max_additional_participants',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum number of additional participants per registration') ,
+          'title' => ts('Maximum number of additional participants per registration'),
           'description' => 'Maximum number of additional participants that can be registered on a single booking',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-        ) ,
-        'allow_same_participant_emails' => array(
+        ],
+        'allow_same_participant_emails' => [
           'name' => 'allow_same_participant_emails',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Does Event allow multiple registrations from same email address?') ,
+          'title' => ts('Does Event allow multiple registrations from same email address?'),
           'description' => 'if true - allows the user to register multiple registrations from same email address.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'has_waitlist' => array(
+          ],
+        ],
+        'has_waitlist' => [
           'name' => 'has_waitlist',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Waitlist Enabled') ,
+          'title' => ts('Waitlist Enabled'),
           'description' => 'Whether the event has waitlist support.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'requires_approval' => array(
+          ],
+        ],
+        'requires_approval' => [
           'name' => 'requires_approval',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Requires Approval') ,
+          'title' => ts('Requires Approval'),
           'description' => 'Whether participants require approval before they can finish registering.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'expiration_time' => array(
+          ],
+        ],
+        'expiration_time' => [
           'name' => 'expiration_time',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Expiration Time') ,
+          'title' => ts('Expiration Time'),
           'description' => 'Expire pending but unconfirmed registrations after this many hours.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'allow_selfcancelxfer' => array(
+          ],
+        ],
+        'allow_selfcancelxfer' => [
           'name' => 'allow_selfcancelxfer',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Self-service Cancellation or Transfer') ,
+          'title' => ts('Allow Self-service Cancellation or Transfer'),
           'description' => 'Allow self service cancellation or transfer for event?',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'selfcancelxfer_time' => array(
+          ],
+        ],
+        'selfcancelxfer_time' => [
           'name' => 'selfcancelxfer_time',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Self-service Cancellation or Transfer Time') ,
+          'title' => ts('Self-service Cancellation or Transfer Time'),
           'description' => 'Number of hours prior to event start date to allow self-service cancellation or transfer.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'waitlist_text' => array(
+          ],
+        ],
+        'waitlist_text' => [
           'name' => 'waitlist_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Waitlist Text') ,
+          'title' => ts('Waitlist Text'),
           'description' => 'Text to display when the event is full, but participants can signup for a waitlist.',
           'rows' => 4,
           'cols' => 60,
@@ -1307,14 +1355,14 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'approval_req_text' => array(
+          ],
+        ],
+        'approval_req_text' => [
           'name' => 'approval_req_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Approval Req Text') ,
+          'title' => ts('Approval Req Text'),
           'description' => 'Text to display when the approval is required to complete registration for an event.',
           'rows' => 4,
           'cols' => 60,
@@ -1322,170 +1370,170 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_template' => array(
+          ],
+        ],
+        'is_template' => [
           'name' => 'is_template',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is an Event Template') ,
+          'title' => ts('Is an Event Template'),
           'description' => 'whether the event has template',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'template_title' => array(
+          ],
+        ],
+        'template_title' => [
           'name' => 'template_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Event Template Title') ,
+          'title' => ts('Event Template Title'),
           'description' => 'Event Template Title',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.template_title',
           'headerPattern' => '/(template.)?title$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'created_id' => array(
+          ],
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Created By Contact ID') ,
+          'title' => ts('Created By Contact ID'),
           'description' => 'FK to civicrm_contact, who created this event',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Event Created Date') ,
+          'title' => ts('Event Created Date'),
           'description' => 'Date and time that event was created.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_event.currency',
           'headerPattern' => '/cur(rency)?/i',
           'dataPattern' => '/^[A-Z]{3}$/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'campaign_id' => array(
+          ]
+        ],
+        'campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this event has been created.',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'is_share' => array(
+          ]
+        ],
+        'is_share' => [
           'name' => 'is_share',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is shared through social media') ,
+          'title' => ts('Is shared through social media'),
           'description' => 'Can people share the event through social media?',
           'default' => '1',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_confirm_enabled' => array(
+          ],
+        ],
+        'is_confirm_enabled' => [
           'name' => 'is_confirm_enabled',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is the booking confirmation screen enabled?') ,
+          'title' => ts('Is the booking confirmation screen enabled?'),
           'description' => 'If false, the event booking confirmation screen gets skipped',
           'default' => '1',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'parent_event_id' => array(
+          ],
+        ],
+        'parent_event_id' => [
           'name' => 'parent_event_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Parent Event ID') ,
+          'title' => ts('Parent Event ID'),
           'description' => 'Implicit FK to civicrm_event: parent event',
           'default' => 'NULL',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'slot_label_id' => array(
+          ],
+        ],
+        'slot_label_id' => [
           'name' => 'slot_label_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Subevent Slot Label ID') ,
+          'title' => ts('Subevent Slot Label ID'),
           'description' => 'Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.',
           'default' => 'NULL',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'dedupe_rule_group_id' => array(
+          ],
+        ],
+        'dedupe_rule_group_id' => [
           'name' => 'dedupe_rule_group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Dedupe Rule') ,
+          'title' => ts('Dedupe Rule'),
           'description' => 'Rule to use when matching registrations for this event',
           'default' => 'NULL',
           'table_name' => 'civicrm_event',
@@ -1493,62 +1541,66 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
           'FKClassName' => 'CRM_Dedupe_DAO_RuleGroup',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_dedupe_rule_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'is_billing_required' => array(
+          ]
+        ],
+        'is_billing_required' => [
           'name' => 'is_billing_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is billing block required') ,
+          'title' => ts('Is billing block required'),
           'description' => 'if true than billing block is required this event',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -1556,10 +1608,11 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'event', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'event', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -1567,40 +1620,46 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'event', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'event', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_event_type_id' => array(
+    $indices = [
+      'index_event_type_id' => [
         'name' => 'index_event_type_id',
-        'field' => array(
+        'field' => [
           0 => 'event_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_event::0::event_type_id',
-      ) ,
-      'index_participant_listing_id' => array(
+      ],
+      'index_participant_listing_id' => [
         'name' => 'index_participant_listing_id',
-        'field' => array(
+        'field' => [
           0 => 'participant_listing_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_event::0::participant_listing_id',
-      ) ,
-      'index_parent_event_id' => array(
+      ],
+      'index_parent_event_id' => [
         'name' => 'index_parent_event_id',
-        'field' => array(
+        'field' => [
           0 => 'parent_event_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_event::0::parent_event_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/DAO/Participant.php b/civicrm/CRM/Event/DAO/Participant.php
index 1bbcdaa842..f67959c5b4 100644
--- a/civicrm/CRM/Event/DAO/Participant.php
+++ b/civicrm/CRM/Event/DAO/Participant.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,66 +8,75 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:444d0ee69773ce242341f8544e192087)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_DAO_Participant constructor.
+ * Database access object for the Participant entity.
  */
 class CRM_Event_DAO_Participant extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_participant';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Participant Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to Event ID
    *
    * @var int unsigned
    */
   public $event_id;
+
   /**
    * Participant status ID. FK to civicrm_participant_status_type. Default of 1 should map to status = Registered.
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
    * @var string
    */
   public $role_id;
+
   /**
    * When did contact register for event?
    *
    * @var datetime
    */
   public $register_date;
+
   /**
    * Source of this event registration.
    *
    * @var string
    */
   public $source;
+
   /**
    * Populate with the label (text) associated with a fee level for paid events with multiple levels. Note that
    we store the label value and not the key
@@ -99,330 +84,342 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    * @var text
    */
   public $fee_level;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
-   *
    * @var boolean
    */
   public $is_pay_later;
+
   /**
    * actual processor fee if known - may be 0.
    *
    * @var float
    */
   public $fee_amount;
+
   /**
    * FK to Participant ID
    *
    * @var int unsigned
    */
   public $registered_by_id;
+
   /**
    * FK to Discount ID
    *
    * @var int unsigned
    */
   public $discount_id;
+
   /**
    * 3 character string, value derived from config setting.
    *
    * @var string
    */
   public $fee_currency;
+
   /**
    * The campaign for which this participant has been registered.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Discount Amount
    *
    * @var int unsigned
    */
   public $discount_amount;
+
   /**
    * FK to civicrm_event_carts
    *
    * @var int unsigned
    */
   public $cart_id;
+
   /**
    * On Waiting List
    *
    * @var int
    */
   public $must_wait;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $transferred_to_contact_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_participant';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_id', 'civicrm_event', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'status_id', 'civicrm_participant_status_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'registered_by_id', 'civicrm_participant', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'discount_id', 'civicrm_discount', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'cart_id', 'civicrm_event_carts', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'transferred_to_contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_id', 'civicrm_event', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'status_id', 'civicrm_participant_status_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'registered_by_id', 'civicrm_participant', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'discount_id', 'civicrm_discount', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'cart_id', 'civicrm_event_carts', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'transferred_to_contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'participant_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'participant_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant ID') ,
+          'title' => ts('Participant ID'),
           'description' => 'Participant Id',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_participant.id',
           'headerPattern' => '/(^(participant(.)?)?id$)/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'participant_contact_id' => array(
+        ],
+        'participant_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_participant.contact_id',
           'headerPattern' => '/contact(.?id)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'event_id' => array(
+        ],
+        'event_id' => [
           'name' => 'event_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event') ,
+          'title' => ts('Event'),
           'description' => 'FK to Event ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_participant.event_id',
           'headerPattern' => '/event id$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_DAO_Event',
-        ) ,
-        'participant_status_id' => array(
+        ],
+        'participant_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant Status') ,
+          'title' => ts('Participant Status'),
           'description' => 'Participant status ID. FK to civicrm_participant_status_type. Default of 1 should map to status = Registered.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_participant.status_id',
           'headerPattern' => '/(participant.)?(status)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_DAO_ParticipantStatusType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_participant_status_type',
             'keyColumn' => 'id',
             'labelColumn' => 'label',
-          )
-        ) ,
-        'participant_role_id' => array(
+          ]
+        ],
+        'participant_role_id' => [
           'name' => 'role_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Participant Role') ,
+          'title' => ts('Participant Role'),
           'description' => 'Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.role_id',
           'headerPattern' => '/(participant.)?(role)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'participant_role',
             'optionEditPath' => 'civicrm/admin/options/participant_role',
-          )
-        ) ,
-        'participant_register_date' => array(
+          ]
+        ],
+        'participant_register_date' => [
           'name' => 'register_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Register date') ,
+          'title' => ts('Register date'),
           'description' => 'When did contact register for event?',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.register_date',
           'headerPattern' => '/^(r(egister\s)?date)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'participant_source' => array(
+          ],
+        ],
+        'participant_source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Participant Source') ,
+          'title' => ts('Participant Source'),
           'description' => 'Source of this event registration.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.source',
           'headerPattern' => '/(participant.)?(source)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'participant_fee_level' => array(
+        ],
+        'participant_fee_level' => [
           'name' => 'fee_level',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Fee level') ,
+          'title' => ts('Fee level'),
           'description' => 'Populate with the label (text) associated with a fee level for paid events with multiple levels. Note that
       we store the label value and not the key
     ',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.fee_level',
           'headerPattern' => '/^(f(ee\s)?level)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_BOOKEND,
-        ) ,
-        'participant_is_test' => array(
+        ],
+        'participant_is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_participant.is_test',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'participant_is_pay_later' => array(
+        ],
+        'participant_is_pay_later' => [
           'name' => 'is_pay_later',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Pay Later') ,
-          'import' => true,
+          'title' => ts('Is Pay Later'),
+          'import' => TRUE,
           'where' => 'civicrm_participant.is_pay_later',
           'headerPattern' => '/(is.)?(pay(.)?later)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'participant_fee_amount' => array(
+        ],
+        'participant_fee_amount' => [
           'name' => 'fee_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Fee Amount') ,
+          'title' => ts('Fee Amount'),
           'description' => 'actual processor fee if known - may be 0.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_participant.fee_amount',
           'headerPattern' => '/fee(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'participant_registered_by_id' => array(
+        ],
+        'participant_registered_by_id' => [
           'name' => 'registered_by_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Registered By ID') ,
+          'title' => ts('Registered By ID'),
           'description' => 'FK to Participant ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.registered_by_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_DAO_Participant',
-        ) ,
-        'participant_discount_id' => array(
+        ],
+        'participant_discount_id' => [
           'name' => 'discount_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Discount ID') ,
+          'title' => ts('Discount ID'),
           'description' => 'FK to Discount ID',
           'default' => 'NULL',
           'table_name' => 'civicrm_participant',
@@ -430,136 +427,140 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Discount',
-        ) ,
-        'participant_fee_currency' => array(
+        ],
+        'participant_fee_currency' => [
           'name' => 'fee_currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Fee Currency') ,
+          'title' => ts('Fee Currency'),
           'description' => '3 character string, value derived from config setting.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.fee_currency',
           'headerPattern' => '/(fee)?.?cur(rency)?/i',
           'dataPattern' => '/^[A-Z]{3}$/i',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'participant_campaign_id' => array(
+          ]
+        ],
+        'participant_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this participant has been registered.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'discount_amount' => array(
+          ]
+        ],
+        'discount_amount' => [
           'name' => 'discount_amount',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Discount Amount') ,
+          'title' => ts('Discount Amount'),
           'description' => 'Discount Amount',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'cart_id' => array(
+        ],
+        'cart_id' => [
           'name' => 'cart_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Cart ID') ,
+          'title' => ts('Event Cart ID'),
           'description' => 'FK to civicrm_event_carts',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_Cart_DAO_Cart',
-        ) ,
-        'must_wait' => array(
+        ],
+        'must_wait' => [
           'name' => 'must_wait',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Must Wait on List') ,
+          'title' => ts('Must Wait on List'),
           'description' => 'On Waiting List',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
-        ) ,
-        'transferred_to_contact_id' => array(
+        ],
+        'transferred_to_contact_id' => [
           'name' => 'transferred_to_contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Transferred to Contact ID') ,
+          'title' => ts('Transferred to Contact ID'),
           'description' => 'FK to Contact ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant.transferred_to_contact_id',
           'headerPattern' => '/transfer(.?id)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_participant',
           'entity' => 'Participant',
           'bao' => 'CRM_Event_BAO_Participant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -567,10 +568,11 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -578,32 +580,38 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_status_id' => array(
+    $indices = [
+      'index_status_id' => [
         'name' => 'index_status_id',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_participant::0::status_id',
-      ) ,
-      'index_role_id' => array(
+      ],
+      'index_role_id' => [
         'name' => 'index_role_id',
-        'field' => array(
+        'field' => [
           0 => 'role_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_participant::0::role_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/DAO/ParticipantPayment.php b/civicrm/CRM/Event/DAO/ParticipantPayment.php
index ca92fc99c0..477459d7c1 100644
--- a/civicrm/CRM/Event/DAO/ParticipantPayment.php
+++ b/civicrm/CRM/Event/DAO/ParticipantPayment.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,140 +8,151 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:293a5e4f208de9a01639960975850cd4)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_DAO_ParticipantPayment constructor.
+ * Database access object for the ParticipantPayment entity.
  */
 class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_participant_payment';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Participant Payment Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Participant Id (FK)
    *
    * @var int unsigned
    */
   public $participant_id;
+
   /**
    * FK to contribution table.
    *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_participant_payment';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'participant_id', 'civicrm_participant', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'participant_id', 'civicrm_participant', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment ID') ,
+          'title' => ts('Payment ID'),
           'description' => 'Participant Payment Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_participant_payment',
           'entity' => 'ParticipantPayment',
           'bao' => 'CRM_Event_BAO_ParticipantPayment',
           'localizable' => 0,
-        ) ,
-        'participant_id' => array(
+        ],
+        'participant_id' => [
           'name' => 'participant_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant ID') ,
+          'title' => ts('Participant ID'),
           'description' => 'Participant Id (FK)',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_participant_payment',
           'entity' => 'ParticipantPayment',
           'bao' => 'CRM_Event_BAO_ParticipantPayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Event_DAO_Participant',
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution') ,
+          'title' => ts('Contribution'),
           'description' => 'FK to contribution table.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_participant_payment',
           'entity' => 'ParticipantPayment',
           'bao' => 'CRM_Event_BAO_ParticipantPayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -173,10 +160,11 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant_payment', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -184,26 +172,32 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant_payment', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contribution_participant' => array(
+    $indices = [
+      'UI_contribution_participant' => [
         'name' => 'UI_contribution_participant',
-        'field' => array(
+        'field' => [
           0 => 'contribution_id',
           1 => 'participant_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_participant_payment::1::contribution_id::participant_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/DAO/ParticipantStatusType.php b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
index a902d4432f..a0bff1b197 100644
--- a/civicrm/CRM/Event/DAO/ParticipantStatusType.php
+++ b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,125 +8,137 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:614f4f6813728d18eb5ccd003c6d3d33)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Event_DAO_ParticipantStatusType constructor.
+ * Database access object for the ParticipantStatusType entity.
  */
 class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_participant_status_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * unique participant status type id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * non-localized name of the status type
    *
    * @var string
    */
   public $name;
+
   /**
    * localized label for display of this status type
    *
    * @var string
    */
   public $label;
+
   /**
    * the general group of status type this one belongs to
    *
    * @var string
    */
   public $class;
+
   /**
    * whether this is a status type required by the system
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * whether this status type is active
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * whether this status type is counted against event size limit
    *
    * @var boolean
    */
   public $is_counted;
+
   /**
    * controls sort order
    *
    * @var int unsigned
    */
   public $weight;
+
   /**
    * whether the status type is visible to the public, an implicit foreign key to option_value.value related to the `visibility` option_group
    *
    * @var int unsigned
    */
   public $visibility_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_participant_status_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant Status Type ID') ,
+          'title' => ts('Participant Status Type ID'),
           'description' => 'unique participant status type id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'participant_status' => array(
+        ],
+        'participant_status' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Participant Status') ,
+          'title' => ts('Participant Status'),
           'description' => 'non-localized name of the status type',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_participant_status_type.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Participant Status Label') ,
+          'title' => ts('Participant Status Label'),
           'description' => 'localized label for display of this status type',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -158,11 +146,11 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 1,
-        ) ,
-        'class' => array(
+        ],
+        'class' => [
           'name' => 'class',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Participant Status Class') ,
+          'title' => ts('Participant Status Class'),
           'description' => 'the general group of status type this one belongs to',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -170,105 +158,109 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Event_PseudoConstant::participantStatusClassOptions',
-          )
-        ) ,
-        'is_reserved' => array(
+          ]
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Participant Status Is Reserved?>') ,
+          'title' => ts('Participant Status Is Reserved?>'),
           'description' => 'whether this is a status type required by the system',
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Participant Status is Active') ,
+          'title' => ts('Participant Status is Active'),
           'description' => 'whether this status type is active',
           'default' => '1',
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'is_counted' => array(
+        ],
+        'is_counted' => [
           'name' => 'is_counted',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Participant Status Counts?') ,
+          'title' => ts('Participant Status Counts?'),
           'description' => 'whether this status type is counted against event size limit',
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'controls sort order',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-        ) ,
-        'visibility_id' => array(
+        ],
+        'visibility_id' => [
           'name' => 'visibility_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Participant Status Visibility') ,
+          'title' => ts('Participant Status Visibility'),
           'description' => 'whether the status type is visible to the public, an implicit foreign key to option_value.value related to the `visibility` option_group',
           'table_name' => 'civicrm_participant_status_type',
           'entity' => 'ParticipantStatusType',
           'bao' => 'CRM_Event_BAO_ParticipantStatusType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'visibility',
             'optionEditPath' => 'civicrm/admin/options/visibility',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -276,10 +268,11 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant_status_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'participant_status_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -287,15 +280,21 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant_status_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'participant_status_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Event/Form/ManageEvent/Location.php b/civicrm/CRM/Event/Form/ManageEvent/Location.php
index 87ba5c2500..9fccb5fa41 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/Location.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/Location.php
@@ -147,17 +147,14 @@ class CRM_Event_Form_ManageEvent_Location extends CRM_Event_Form_ManageEvent {
    * Function to build location block.
    */
   public function buildQuickForm() {
-    //load form for child blocks
-    if ($this->_addBlockName) {
-      $className = "CRM_Contact_Form_Edit_{$this->_addBlockName}";
-      return $className::buildQuickForm($this);
-    }
+    CRM_Contact_Form_Edit_Address::buildQuickForm($this, 1);
+    CRM_Contact_Form_Edit_Email::buildQuickForm($this, 1);
+    CRM_Contact_Form_Edit_Email::buildQuickForm($this, 2);
+    CRM_Contact_Form_Edit_Phone::buildQuickForm($this, 1);
+    CRM_Contact_Form_Edit_Phone::buildQuickForm($this, 2);
 
     $this->applyFilter('__ALL__', 'trim');
 
-    //build location blocks.
-    CRM_Contact_Form_Location::buildQuickForm($this);
-
     //fix for CRM-1971
     $this->assign('action', $this->_action);
 
@@ -184,7 +181,6 @@ class CRM_Event_Form_ManageEvent_Location extends CRM_Event_Form_ManageEvent {
       $locationEvents = array_unique($locationEvents);
     }
 
-    $events = array();
     if (!empty($locationEvents)) {
       $this->assign('locEvents', TRUE);
       $optionTypes = array(
@@ -256,6 +252,9 @@ class CRM_Event_Form_ManageEvent_Location extends CRM_Event_Form_ManageEvent {
           $values['is_primary'] = 1;
         }
         $values['location_type_id'] = ($defaultLocationType->id) ? $defaultLocationType->id : 1;
+        if (isset($this->_values[$block][$count])) {
+          $values['id'] = $this->_values[$block][$count]['id'];
+        }
       }
     }
 
diff --git a/civicrm/CRM/Event/Form/Participant.php b/civicrm/CRM/Event/Form/Participant.php
index b9a1dec7cd..b7958bb4a0 100644
--- a/civicrm/CRM/Event/Form/Participant.php
+++ b/civicrm/CRM/Event/Form/Participant.php
@@ -986,7 +986,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
     }
     if ($this->_isPaidEvent) {
 
-      $contributionParams = array();
+      $contributionParams = array('skipCleanMoney' => TRUE);
       $lineItem = array();
       $additionalParticipantDetails = array();
       if (CRM_Contribute_BAO_Contribution::checkContributeSettings('deferred_revenue_enabled')) {
diff --git a/civicrm/CRM/Event/Form/Registration/Confirm.php b/civicrm/CRM/Event/Form/Registration/Confirm.php
index 99b021c9b1..43ed2923d2 100644
--- a/civicrm/CRM/Event/Form/Registration/Confirm.php
+++ b/civicrm/CRM/Event/Form/Registration/Confirm.php
@@ -49,6 +49,15 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
    */
   public $_totalAmount;
 
+  /**
+   * Monetary fields that may be submitted.
+   *
+   * These should get a standardised format in the beginPostProcess function.
+   *
+   * These fields are common to many forms. Some may override this.
+   */
+  protected $submittableMoneyFields = ['total_amount', 'net_amount', 'non_deductible_amount', 'fee_amount', 'tax_amount', 'amount'];
+
   /**
    * Set variables up before form is built.
    */
@@ -205,6 +214,7 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
 
       $taxAmount = 0;
       foreach ($this->_params as $k => $v) {
+        $this->cleanMoneyFields($v);
         if ($v == 'skip') {
           continue;
         }
@@ -398,6 +408,8 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
     $now = date('YmdHis');
 
     $this->_params = $this->get('params');
+    $this->cleanMoneyFields($this->_params);
+
     if (!empty($this->_params[0]['contact_id'])) {
       // unclear when this would be set & whether it could be checked in getContactID.
       // perhaps it relates to when cid is in the url
@@ -1039,8 +1051,9 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
     }
 
     $contribParams['skipLineItem'] = 1;
+    $contribParams['skipCleanMoney'] = 1;
     // create contribution record
-    $contribution = CRM_Contribute_BAO_Contribution::add($contribParams, $ids);
+    $contribution = CRM_Contribute_BAO_Contribution::add($contribParams);
     // CRM-11124
     CRM_Event_BAO_Participant::createDiscountTrxn($form->_eventId, $contribParams, NULL, CRM_Price_BAO_PriceSet::parseFirstPriceSetValueIDFromParams($params));
 
@@ -1296,7 +1309,8 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
     $_REQUEST['id'] = $form->_eventId = $params['id'];
     $form->controller = new CRM_Event_Controller_Registration();
     $form->_params = $params['params'];
-    $form->_amount = $form->_totalAmount = CRM_Utils_Array::value('totalAmount', $params);
+    // This happens in buildQuickForm so emulate here.
+    $form->_amount = $form->_totalAmount = CRM_Utils_Rule::cleanMoney(CRM_Utils_Array::value('totalAmount', $params));
     $form->set('params', $params['params']);
     $form->_values['custom_pre_id'] = array();
     $form->_values['custom_post_id'] = array();
@@ -1332,4 +1346,19 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration {
     return array();
   }
 
+  /**
+   * Clean money fields from the form.
+   *
+   * @param array $params
+   */
+  protected function cleanMoneyFields(&$params) {
+    foreach ($this->submittableMoneyFields as $moneyField) {
+      foreach ($params as $index => $paramField) {
+        if (isset($paramField[$moneyField])) {
+          $params[$index][$moneyField] = CRM_Utils_Rule::cleanMoney($paramField[$moneyField]);
+        }
+      }
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Event/Form/Search.php b/civicrm/CRM/Event/Form/Search.php
index 4552103135..282ae87d82 100644
--- a/civicrm/CRM/Event/Form/Search.php
+++ b/civicrm/CRM/Event/Form/Search.php
@@ -29,8 +29,6 @@
  *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
- * $Id$
- *
  */
 
 /**
@@ -168,11 +166,7 @@ class CRM_Event_Form_Search extends CRM_Core_Form_Search {
    */
   public function buildQuickForm() {
     parent::buildQuickForm();
-    $this->addSortNameField();
-
-    if (CRM_Core_Permission::check('access deleted contacts') and Civi::settings()->get('contact_undelete')) {
-      $this->addElement('checkbox', 'deleted_contacts', ts('Search in Trash') . '<br />' . ts('(deleted contacts)'));
-    }
+    $this->addContactSearchFields();
 
     CRM_Event_BAO_Query::buildSearchForm($this);
 
@@ -229,14 +223,10 @@ class CRM_Event_Form_Search extends CRM_Core_Form_Search {
       $this->assign('participantCount', $participantCount);
       $this->assign('lineItems', $lineItems);
 
-      $permission = CRM_Core_Permission::getPermission();
+      $taskParams['ssID'] = isset($this->_ssID) ? $this->_ssID : NULL;
+      $tasks = CRM_Event_Task::permissionedTaskTitles(CRM_Core_Permission::getPermission(), $taskParams);
 
-      $tasks = CRM_Event_Task::permissionedTaskTitles($permission);
       if (isset($this->_ssID)) {
-        if ($permission == CRM_Core_Permission::EDIT) {
-          $tasks = $tasks + CRM_Event_Task::optionalTaskTitle();
-        }
-
         $savedSearchValues = array(
           'id' => $this->_ssID,
           'name' => CRM_Contact_BAO_SavedSearch::getName($this->_ssID, 'title'),
@@ -272,6 +262,36 @@ class CRM_Event_Form_Search extends CRM_Core_Form_Search {
     return ts('Participant Name');
   }
 
+  /**
+   * Get the label for the tag field.
+   *
+   * We do this in a function so the 'ts' wraps the whole string to allow
+   * better translation.
+   *
+   * @return string
+   */
+  protected function getTagLabel() {
+    return ts('Participant Tag(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getGroupLabel() {
+    return ts('Participant Group(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getContactTypeLabel() {
+    return ts('Participant Contact Type');
+  }
+
   /**
    * The post processing of the form gets done here.
    *
diff --git a/civicrm/CRM/Event/Form/SearchEvent.php b/civicrm/CRM/Event/Form/SearchEvent.php
index d76fb9e4ad..4b59a7b0e9 100644
--- a/civicrm/CRM/Event/Form/SearchEvent.php
+++ b/civicrm/CRM/Event/Form/SearchEvent.php
@@ -64,7 +64,7 @@ class CRM_Event_Form_SearchEvent extends CRM_Core_Form {
    * @return void
    */
   public function buildQuickForm() {
-    $this->add('text', 'title', ts('Find'),
+    $this->add('text', 'title', ts('Event Name'),
       array(CRM_Core_DAO::getAttribute('CRM_Event_DAO_Event', 'title'))
     );
 
diff --git a/civicrm/CRM/Event/Form/Task.php b/civicrm/CRM/Event/Form/Task.php
index 1929edd6b8..3bc742a451 100644
--- a/civicrm/CRM/Event/Form/Task.php
+++ b/civicrm/CRM/Event/Form/Task.php
@@ -88,8 +88,11 @@ class CRM_Event_Form_Task extends CRM_Core_Form {
     $values = $form->controller->exportValues($form->get('searchFormName'));
 
     $form->_task = $values['task'];
-    $eventTasks = CRM_Event_Task::tasks();
-    $form->assign('taskName', $eventTasks[$form->_task]);
+    $tasks = CRM_Event_Task::permissionedTaskTitles(CRM_Core_Permission::getPermission());
+    if (!array_key_exists($form->_task, $tasks)) {
+      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
+    }
+    $form->assign('taskName', $tasks[$form->_task]);
 
     $ids = array();
     if ($values['radio_ts'] == 'ts_sel') {
diff --git a/civicrm/CRM/Event/Import/Form/MapField.php b/civicrm/CRM/Event/Import/Form/MapField.php
index 2f63420270..0751cbe0a6 100644
--- a/civicrm/CRM/Event/Import/Form/MapField.php
+++ b/civicrm/CRM/Event/Import/Form/MapField.php
@@ -362,8 +362,7 @@ class CRM_Event_Import_Form_MapField extends CRM_Import_Form_MapField {
         $errors['saveMappingName'] = ts('Name is required to save Import Mapping');
       }
       else {
-        $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', 'Import Participant', 'name');
-        if (CRM_Core_BAO_Mapping::checkMapping($nameField, $mappingTypeId)) {
+        if (CRM_Core_BAO_Mapping::checkMapping($nameField, CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Participant'))) {
           $errors['saveMappingName'] = ts('Duplicate Import Participant Mapping Name');
         }
       }
@@ -461,10 +460,7 @@ class CRM_Event_Import_Form_MapField extends CRM_Import_Form_MapField {
       $mappingParams = array(
         'name' => $params['saveMappingName'],
         'description' => $params['saveMappingDesc'],
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Import Participant',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Participant'),
       );
       $saveMapping = CRM_Core_BAO_Mapping::add($mappingParams);
 
diff --git a/civicrm/CRM/Event/StateMachine/Search.php b/civicrm/CRM/Event/StateMachine/Search.php
index c4ca4e7d5b..6347afed11 100644
--- a/civicrm/CRM/Event/StateMachine/Search.php
+++ b/civicrm/CRM/Event/StateMachine/Search.php
@@ -45,7 +45,7 @@ class CRM_Event_StateMachine_Search extends CRM_Core_StateMachine {
    * Class constructor.
    *
    * @param object $controller
-   * @param \const|int $action
+   * @param int $action
    */
   public function __construct($controller, $action = CRM_Core_Action::NONE) {
     parent::__construct($controller, $action);
@@ -82,7 +82,7 @@ class CRM_Event_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Event/Task.php b/civicrm/CRM/Event/Task.php
index 4bc04bf7bd..1637e0d9f5 100644
--- a/civicrm/CRM/Event/Task.php
+++ b/civicrm/CRM/Event/Task.php
@@ -26,10 +26,8 @@
  */
 
 /**
- *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
- * $Id$
  *
  */
 
@@ -38,48 +36,39 @@
  * used by the search forms
  *
  */
-class CRM_Event_Task {
-  // Value for SAVE_SEARCH is set to 13 in accordance with CRM_Contact_Task::SAVE_SEARCH
-  const DELETE_EVENTS = 1, PRINT_EVENTS = 2, EXPORT_EVENTS = 3, BATCH_EVENTS = 4, CANCEL_REGISTRATION = 5, EMAIL_CONTACTS = 6,
-    // Value for LABEL_CONTACTS is set to 16 in accordance with CRM_Contact_Task::LABEL_CONTACTS
-    SAVE_SEARCH = 13, SAVE_SEARCH_UPDATE = 14, PARTICIPANT_STATUS = 15,
-    LABEL_CONTACTS = 16, GROUP_CONTACTS = 20;
+class CRM_Event_Task extends CRM_Core_Task {
 
-  /**
-   * The task array
-   *
-   * @var array
-   */
-  static $_tasks = NULL;
+  const
+    // Event tasks
+    CANCEL_REGISTRATION = 301,
+    PARTICIPANT_STATUS = 302;
 
-  /**
-   * The optional task array
-   *
-   * @var array
-   */
-  static $_optionalTasks = NULL;
+  static $objectType = 'event';
 
   /**
    * These tasks are the core set of tasks that the user can perform
    * on a contact / group of contacts
    *
-   * @return array
-   *   the set of tasks for a group of contacts
+   * @return array The set of tasks for a group of contacts
+   *            [ 'title' => The Task title,
+   *              'class' => The Task Form class name,
+   *              'result => Boolean.  FIXME: Not sure what this is for
+   *            ]
    */
-  public static function &tasks() {
-    if (!(self::$_tasks)) {
+  public static function tasks() {
+    if (!self::$_tasks) {
       self::$_tasks = array(
-        1 => array(
+        self::TASK_DELETE => array(
           'title' => ts('Delete participants from event'),
           'class' => 'CRM_Event_Form_Task_Delete',
           'result' => FALSE,
         ),
-        2 => array(
+        self::TASK_PRINT => array(
           'title' => ts('Print selected rows'),
           'class' => 'CRM_Event_Form_Task_Print',
           'result' => FALSE,
         ),
-        3 => array(
+        self::TASK_EXPORT => array(
           'title' => ts('Export participants'),
           'class' => array(
             'CRM_Export_Form_Select',
@@ -87,7 +76,7 @@ class CRM_Event_Task {
           ),
           'result' => FALSE,
         ),
-        4 => array(
+        self::BATCH_UPDATE => array(
           'title' => ts('Update multiple participants'),
           'class' => array(
             'CRM_Event_Form_Task_PickProfile',
@@ -95,42 +84,45 @@ class CRM_Event_Task {
           ),
           'result' => TRUE,
         ),
-        5 => array(
+        self::CANCEL_REGISTRATION => array(
           'title' => ts('Cancel registration'),
           'class' => 'CRM_Event_Form_Task_Cancel',
           'result' => FALSE,
         ),
-        6 => array(
-          'title' => ts('Email - send now'),
+        self::TASK_EMAIL => array(
+          'title' => ts('Email - send now (to %1 or less)', array(
+            1 => Civi::settings()
+              ->get('simple_mail_limit'),
+          )),
           'class' => 'CRM_Event_Form_Task_Email',
           'result' => TRUE,
         ),
-        13 => array(
+        self::SAVE_SEARCH => array(
           'title' => ts('Group - create smart group'),
           'class' => 'CRM_Event_Form_Task_SaveSearch',
           'result' => TRUE,
         ),
-        14 => array(
+        self::SAVE_SEARCH_UPDATE => array(
           'title' => ts('Group - update smart group'),
           'class' => 'CRM_Event_Form_Task_SaveSearch_Update',
           'result' => TRUE,
         ),
-        15 => array(
+        self::PARTICIPANT_STATUS => array(
           'title' => ts('Participant status - change'),
           'class' => 'CRM_Event_Form_Task_ParticipantStatus',
           'result' => TRUE,
         ),
-        16 => array(
+        self::LABEL_CONTACTS => array(
           'title' => ts('Name badges - print'),
           'class' => 'CRM_Event_Form_Task_Badge',
           'result' => FALSE,
         ),
-        17 => array(
+        self::TASK_PRINT => array(
           'title' => ts('PDF letter - print for participants'),
           'class' => 'CRM_Event_Form_Task_PDF',
           'result' => TRUE,
         ),
-        20 => array(
+        self::GROUP_ADD => array(
           'title' => ts('Group - add contacts'),
           'class' => 'CRM_Event_Form_Task_AddToGroup',
           'result' => FALSE,
@@ -139,62 +131,30 @@ class CRM_Event_Task {
 
       //CRM-4418, check for delete
       if (!CRM_Core_Permission::check('delete in CiviEvent')) {
-        unset(self::$_tasks[1]);
+        unset(self::$_tasks[self::TASK_DELETE]);
       }
       //CRM-12920 - check for edit permission
       if (!CRM_Core_Permission::check('edit event participants')) {
-        unset(self::$_tasks[4], self::$_tasks[5], self::$_tasks[15]);
+        unset(self::$_tasks[self::BATCH_UPDATE], self::$_tasks[self::CANCEL_REGISTRATION], self::$_tasks[self::PARTICIPANT_STATUS]);
       }
 
-      CRM_Utils_Hook::searchTasks('event', self::$_tasks);
+      parent::tasks();
     }
 
     return self::$_tasks;
   }
 
-  /**
-   * These tasks are the core set of task titles
-   * for participants
-   *
-   * @return array
-   *   the set of task titles
-   */
-  public static function &taskTitles() {
-    self::tasks();
-    $titles = array();
-    foreach (self::$_tasks as $id => $value) {
-      // skip Update Smart Group task
-      if ($id != self::SAVE_SEARCH_UPDATE) {
-        $titles[$id] = $value['title'];
-      }
-    }
-    return $titles;
-  }
-
-  /**
-   * These tasks get added based on the context the user is in.
-   *
-   * @return array
-   *   the set of optional tasks for a group of contacts
-   */
-  public static function &optionalTaskTitle() {
-    $tasks = array(
-      14 => self::$_tasks[14]['title'],
-    );
-    return $tasks;
-  }
-
   /**
    * Show tasks selectively based on the permission level
    * of the user
    *
    * @param int $permission
+   * @param array $params
    *
    * @return array
    *   set of tasks that are valid for the user
    */
-  public static function &permissionedTaskTitles($permission) {
-    $tasks = array();
+  public static function permissionedTaskTitles($permission, $params = array()) {
     if (($permission == CRM_Core_Permission::EDIT)
       || CRM_Core_Permission::check('edit event participants')
     ) {
@@ -202,15 +162,17 @@ class CRM_Event_Task {
     }
     else {
       $tasks = array(
-        3 => self::$_tasks[3]['title'],
-        6 => self::$_tasks[6]['title'],
+        self::TASK_EXPORT => self::$_tasks[self::TASK_EXPORT]['title'],
+        self::TASK_EMAIL => self::$_tasks[self::TASK_EMAIL]['title'],
       );
 
       //CRM-4418,
       if (CRM_Core_Permission::check('delete in CiviEvent')) {
-        $tasks[1] = self::$_tasks[1]['title'];
+        $tasks[self::TASK_DELETE] = self::$_tasks[self::TASK_DELETE]['title'];
       }
     }
+
+    $tasks = parent::corePermissionedTaskTitles($tasks, $permission, $params);
     return $tasks;
   }
 
@@ -227,13 +189,9 @@ class CRM_Event_Task {
     self::tasks();
     if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) {
       // make the print task by default
-      $value = 2;
+      $value = self::TASK_PRINT;
     }
-    asort(self::$_tasks);
-    return array(
-      self::$_tasks[$value]['class'],
-      self::$_tasks[$value]['result'],
-    );
+    return parent::getTask($value);
   }
 
 }
diff --git a/civicrm/CRM/Export/BAO/Export.php b/civicrm/CRM/Export/BAO/Export.php
index e097d4e188..bf8ade7a92 100644
--- a/civicrm/CRM/Export/BAO/Export.php
+++ b/civicrm/CRM/Export/BAO/Export.php
@@ -286,6 +286,10 @@ class CRM_Export_BAO_Export {
    * @param array $exportParams
    * @param string $queryOperator
    *
+   * @return array|null
+   *   An array can be requested from within a unit test.
+   *
+   * @throws \CRM_Core_Exception
    */
   public static function exportComponents(
     $selectAll,
@@ -385,7 +389,6 @@ class CRM_Export_BAO_Export {
           }
         }
 
-        $contactType = CRM_Utils_Array::value(0, $value);
         $locTypeId = CRM_Utils_Array::value(2, $value);
 
         if ($relationField) {
@@ -609,10 +612,12 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c
         }
         elseif ($exportMode == CRM_Export_Form_Select::ACTIVITY_EXPORT) {
           $sourceID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_ActivityContact', 'record_type_id', 'Activity Source');
-          $query = "SELECT contact_id FROM civicrm_activity_contact
-                              WHERE activity_id IN ( " . implode(',', $ids) . ") AND
-                              record_type_id = {$sourceID}";
-          $dao = CRM_Core_DAO::executeQuery($query);
+          $dao = CRM_Core_DAO::executeQuery("
+            SELECT contact_id FROM civicrm_activity_contact
+            WHERE activity_id IN ( " . implode(',', $ids) . ") AND
+            record_type_id = {$sourceID}
+          ");
+
           while ($dao->fetch()) {
             $relIDs[] = $dao->contact_id;
           }
@@ -1075,6 +1080,14 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c
     if ($exportTempTable) {
       self::writeDetailsToTable($exportTempTable, $componentDetails, $sqlColumns);
 
+      // if postalMailing option is checked, exclude contacts who are deceased, have
+      // "Do not mail" privacy setting, or have no street address
+      if (isset($exportParams['postal_mailing_export']['postal_mailing_export']) &&
+        $exportParams['postal_mailing_export']['postal_mailing_export'] == 1
+      ) {
+        self::postalMailingFormat($exportTempTable, $headerRows, $sqlColumns, $exportMode);
+      }
+
       // do merge same address and merge same household processing
       if ($mergeSameAddress) {
         self::mergeSameAddress($exportTempTable, $headerRows, $sqlColumns, $exportParams);
@@ -1086,14 +1099,6 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c
         self::mergeSameHousehold($exportTempTable, $headerRows, $sqlColumns, $relationKeyHOH);
       }
 
-      // if postalMailing option is checked, exclude contacts who are deceased, have
-      // "Do not mail" privacy setting, or have no street address
-      if (isset($exportParams['postal_mailing_export']['postal_mailing_export']) &&
-        $exportParams['postal_mailing_export']['postal_mailing_export'] == 1
-      ) {
-        self::postalMailingFormat($exportTempTable, $headerRows, $sqlColumns, $exportMode);
-      }
-
       // call export hook
       CRM_Utils_Hook::export($exportTempTable, $headerRows, $sqlColumns, $exportMode);
 
@@ -1114,7 +1119,7 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c
       CRM_Utils_System::civiExit();
     }
     else {
-      CRM_Core_Error::fatal(ts('No records to export'));
+      throw new CRM_Core_Exception(ts('No records to export'));
     }
   }
 
diff --git a/civicrm/CRM/Export/Form/Select.php b/civicrm/CRM/Export/Form/Select.php
index f1575a8b29..e5ee25856f 100644
--- a/civicrm/CRM/Export/Form/Select.php
+++ b/civicrm/CRM/Export/Form/Select.php
@@ -70,6 +70,8 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
 
   public $_componentTable;
 
+  public $_customSearchID;
+
   /**
    * Build all the data structures needed to build the form.
    *
@@ -81,13 +83,7 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
     $this->preventAjaxSubmit();
 
     //special case for custom search, directly give option to download csv file
-    $customSearchID = $this->get('customSearchID');
-    if ($customSearchID) {
-      CRM_Export_BAO_Export::exportCustom($this->get('customSearchClass'),
-        $this->get('formValues'),
-        $this->get(CRM_Utils_Sort::SORT_ORDER)
-      );
-    }
+    $this->_customSearchID = $this->get('customSearchID');
 
     $this->_selectAll = FALSE;
     $this->_exportMode = self::CONTACT_EXPORT;
@@ -99,7 +95,11 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
     $isStandalone = $formName == 'CRM_Export_StateMachine_Standalone';
 
     // get the submitted values based on search
-    if ($this->_action == CRM_Core_Action::ADVANCED) {
+    if ($this->_customSearchID) {
+      $values = $this->get('formValues');
+      $this->assign('exportCustomSearchField', TRUE);
+    }
+    elseif ($this->_action == CRM_Core_Action::ADVANCED) {
       $values = $this->controller->exportValues('Advanced');
     }
     elseif ($this->_action == CRM_Core_Action::PROFILE) {
@@ -231,7 +231,7 @@ FROM   {$this->_componentTable}
     $exportOptions = $mergeOptions = $postalMailing = array();
     $exportOptions[] = $this->createElement('radio',
       NULL, NULL,
-      ts('Export PRIMARY fields'),
+      ts('Export %1 fields', array(1 => empty($this->_customSearchID) ? 'PRIMARY' : 'custom search')),
       self::EXPORT_ALL,
       array('onClick' => 'showMappingOption( );')
     );
@@ -396,20 +396,28 @@ FROM   {$this->_componentTable}
     }
 
     if ($exportOption == self::EXPORT_ALL) {
-      CRM_Export_BAO_Export::exportComponents($this->_selectAll,
-        $this->_componentIds,
-        (array) $this->get('queryParams'),
-        $this->get(CRM_Utils_Sort::SORT_ORDER),
-        NULL,
-        $this->get('returnProperties'),
-        $this->_exportMode,
-        $this->_componentClause,
-        $this->_componentTable,
-        $mergeSameAddress,
-        $mergeSameHousehold,
-        $exportParams,
-        $this->get('queryOperator')
-      );
+      if ($this->_customSearchID) {
+        CRM_Export_BAO_Export::exportCustom($this->get('customSearchClass'),
+          $this->get('formValues'),
+          $this->get(CRM_Utils_Sort::SORT_ORDER)
+        );
+      }
+      else {
+        CRM_Export_BAO_Export::exportComponents($this->_selectAll,
+          $this->_componentIds,
+          (array) $this->get('queryParams'),
+          $this->get(CRM_Utils_Sort::SORT_ORDER),
+          NULL,
+          $this->get('returnProperties'),
+          $this->_exportMode,
+          $this->_componentClause,
+          $this->_componentTable,
+          $mergeSameAddress,
+          $mergeSameHousehold,
+          $exportParams,
+          $this->get('queryOperator')
+        );
+      }
     }
 
     //reset map page
@@ -463,8 +471,7 @@ FROM   {$this->_componentTable}
         break;
     }
 
-    $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', $exportType, 'name');
-    $this->set('mappingTypeId', $mappingTypeId);
+    $this->set('mappingTypeId', CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', $exportType));
 
     $mappings = CRM_Core_BAO_Mapping::getMappings($exportType);
     if (!empty($mappings)) {
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat.php b/civicrm/CRM/Financial/BAO/ExportFormat.php
index 438efb682f..cea6a39986 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat.php
@@ -50,6 +50,12 @@ abstract class CRM_Financial_BAO_ExportFormat {
    */
   static protected $_template;
 
+  /**
+   * Download Exported file.
+   * @var boolean
+   */
+  public $_isDownloadFile;
+
   /**
    * Class constructor.
    */
@@ -141,6 +147,9 @@ abstract class CRM_Financial_BAO_ExportFormat {
   }
 
   public function initiateDownload() {
+    if (!$this->_isDownloadFile) {
+      return NULL;
+    }
     $config = CRM_Core_Config::singleton();
     // zip files if more than one.
     if (count($this->_downloadFile) > 1) {
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
index fcb0d05c34..bcb6768655 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
@@ -182,7 +182,6 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
       $financialItems = array();
       $this->_batchIds = $batchId;
 
-      $batchItems = array();
       $queryResults = array();
 
       while ($dao->fetch()) {
@@ -225,11 +224,10 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
         );
 
         end($financialItems);
-        $batchItems[] = &$financialItems[key($financialItems)];
         $queryResults[] = get_object_vars($dao);
       }
 
-      CRM_Utils_Hook::batchItems($queryResults, $batchItems);
+      CRM_Utils_Hook::batchItems($queryResults, $financialItems);
 
       $financialItems['headers'] = self::formatHeaders($financialItems);
       self::export($financialItems);
diff --git a/civicrm/CRM/Financial/BAO/FinancialType.php b/civicrm/CRM/Financial/BAO/FinancialType.php
index b8a95c53d3..9b24f0381d 100644
--- a/civicrm/CRM/Financial/BAO/FinancialType.php
+++ b/civicrm/CRM/Financial/BAO/FinancialType.php
@@ -304,18 +304,17 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType {
       CRM_Core_Action::ADD => 'add',
       CRM_Core_Action::DELETE => 'delete',
     );
-    // check cached value
-    if (CRM_Utils_Array::value($action, self::$_availableFinancialTypes) && !$resetCache) {
-      $financialTypes = self::$_availableFinancialTypes[$action];
-      return self::$_availableFinancialTypes[$action];
-    }
-    foreach ($financialTypes as $finTypeId => $type) {
-      if (!CRM_Core_Permission::check($actions[$action] . ' contributions of type ' . $type)) {
-        unset($financialTypes[$finTypeId]);
+
+    if (!isset(\Civi::$statics[__CLASS__]['available_types_' . $action])) {
+      foreach ($financialTypes as $finTypeId => $type) {
+        if (!CRM_Core_Permission::check($actions[$action] . ' contributions of type ' . $type)) {
+          unset($financialTypes[$finTypeId]);
+        }
       }
+      \Civi::$statics[__CLASS__]['available_types_' . $action] = $financialTypes;
     }
-    self::$_availableFinancialTypes[$action] = $financialTypes;
-    return $financialTypes;
+    $financialTypes = \Civi::$statics[__CLASS__]['available_types_' . $action];
+    return \Civi::$statics[__CLASS__]['available_types_' . $action];
   }
 
   /**
@@ -459,15 +458,14 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType {
    * @return bool
    */
   public static function isACLFinancialTypeStatus() {
-    if (array_key_exists('acl_financial_type', self::$_statusACLFt)) {
-      return self::$_statusACLFt['acl_financial_type'];
-    }
-    $contributeSettings = Civi::settings()->get('contribution_invoice_settings');
-    self::$_statusACLFt['acl_financial_type'] = FALSE;
-    if (CRM_Utils_Array::value('acl_financial_type', $contributeSettings)) {
-      self::$_statusACLFt['acl_financial_type'] = TRUE;
+    if (!isset(\Civi::$statics[__CLASS__]['is_acl_enabled'])) {
+      \Civi::$statics[__CLASS__]['is_acl_enabled'] = FALSE;
+      $contributeSettings = Civi::settings()->get('contribution_invoice_settings');
+      if (CRM_Utils_Array::value('acl_financial_type', $contributeSettings)) {
+        \Civi::$statics[__CLASS__]['is_acl_enabled'] = TRUE;
+      }
     }
-    return self::$_statusACLFt['acl_financial_type'];
+    return \Civi::$statics[__CLASS__]['is_acl_enabled'];
   }
 
 }
diff --git a/civicrm/CRM/Financial/BAO/PaymentProcessor.php b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
index f318aaacfd..c3312c6f67 100644
--- a/civicrm/CRM/Financial/BAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
@@ -444,8 +444,12 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
    * @return bool
    */
   public static function hasPaymentProcessorSupporting($capabilities = array()) {
-    $result = self::getPaymentProcessors($capabilities);
-    return (!empty($result)) ? TRUE : FALSE;
+    $capabilitiesString = implode('', $capabilities);
+    if (!isset(\Civi::$statics[__CLASS__]['supported_capabilities'][$capabilitiesString])) {
+      $result = self::getPaymentProcessors($capabilities);
+      \Civi::$statics[__CLASS__]['supported_capabilities'][$capabilitiesString] = (!empty($result)) ? TRUE : FALSE;
+    }
+    return \Civi::$statics[__CLASS__]['supported_capabilities'][$capabilitiesString];
   }
 
   /**
@@ -565,4 +569,21 @@ INNER JOIN civicrm_contribution       con ON ( mp.contribution_id = con.id )
     return Civi\Payment\System::singleton()->getById($paymentProcessorId);
   }
 
+  /**
+   * Generate and assign an arbitrary value to a field of a test object.
+   *
+   * @param string $fieldName
+   * @param array $fieldDef
+   * @param int $counter
+   *   The globally-unique ID of the test object.
+   */
+  protected function assignTestValue($fieldName, &$fieldDef, $counter) {
+    if ($fieldName === 'class_name') {
+      $this->class_name = 'Payment_Dummy';
+    }
+    else {
+      parent::assignTestValue($fieldName, $fieldDef, $counter);
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/Currency.php b/civicrm/CRM/Financial/DAO/Currency.php
index 52cf12bedc..a119e49882 100644
--- a/civicrm/CRM/Financial/DAO/Currency.php
+++ b/civicrm/CRM/Financial/DAO/Currency.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,104 +8,112 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8cf9dbd2493448f02e1173d686b98fbb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_Currency constructor.
+ * Database access object for the Currency entity.
  */
 class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_currency';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Currency Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Currency Name
    *
    * @var string
    */
   public $name;
+
   /**
    * Currency Symbol
    *
    * @var string
    */
   public $symbol;
+
   /**
    * Numeric currency code
    *
    * @var string
    */
   public $numeric_code;
+
   /**
    * Full currency name
    *
    * @var string
    */
   public $full_name;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_currency';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Currency ID') ,
+          'title' => ts('Currency ID'),
           'description' => 'Currency Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_currency',
           'entity' => 'Currency',
           'bao' => 'CRM_Financial_DAO_Currency',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => 'Currency Name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_currency.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_currency',
           'entity' => 'Currency',
           'bao' => 'CRM_Financial_DAO_Currency',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'symbol' => array(
+          ],
+        ],
+        'symbol' => [
           'name' => 'symbol',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency Symbol') ,
+          'title' => ts('Currency Symbol'),
           'description' => 'Currency Symbol',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -137,31 +121,31 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
           'entity' => 'Currency',
           'bao' => 'CRM_Financial_DAO_Currency',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'numeric_code' => array(
+          ],
+        ],
+        'numeric_code' => [
           'name' => 'numeric_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency Numeric Code') ,
+          'title' => ts('Currency Numeric Code'),
           'description' => 'Numeric currency code',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_currency.numeric_code',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_currency',
           'entity' => 'Currency',
           'bao' => 'CRM_Financial_DAO_Currency',
           'localizable' => 0,
-        ) ,
-        'full_name' => array(
+        ],
+        'full_name' => [
           'name' => 'full_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Full Currency Name') ,
+          'title' => ts('Full Currency Name'),
           'description' => 'Full currency name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -169,43 +153,47 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
           'entity' => 'Currency',
           'bao' => 'CRM_Financial_DAO_Currency',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -213,10 +201,11 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'currency', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'currency', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -224,15 +213,21 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'currency', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'currency', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
index 338a68afd3..6264a92388 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,195 +8,208 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:b9e9a095e5a6631dd7104828d40ec55a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_EntityFinancialAccount constructor.
+ * Database access object for the EntityFinancialAccount entity.
  */
 class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_entity_financial_account';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Links to an entity_table like civicrm_financial_type
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Links to an id in the entity_table, such as vid in civicrm_financial_type
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to a new civicrm_option_value (account_relationship)
    *
    * @var int unsigned
    */
   public $account_relationship;
+
   /**
    * FK to the financial_account_id
    *
    * @var int unsigned
    */
   public $financial_account_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_entity_financial_account';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_account_id', 'civicrm_financial_account', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_account_id', 'civicrm_financial_account', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity Financial Account ID') ,
+          'title' => ts('Entity Financial Account ID'),
           'description' => 'ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_account',
           'entity' => 'EntityFinancialAccount',
           'bao' => 'CRM_Financial_DAO_EntityFinancialAccount',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Links to an entity_table like civicrm_financial_type',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_entity_financial_account.entity_table',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_entity_financial_account',
           'entity' => 'EntityFinancialAccount',
           'bao' => 'CRM_Financial_DAO_EntityFinancialAccount',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'Links to an id in the entity_table, such as vid in civicrm_financial_type',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_account',
           'entity' => 'EntityFinancialAccount',
           'bao' => 'CRM_Financial_DAO_EntityFinancialAccount',
           'localizable' => 0,
-        ) ,
-        'account_relationship' => array(
+        ],
+        'account_relationship' => [
           'name' => 'account_relationship',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Account Relationship') ,
+          'title' => ts('Account Relationship'),
           'description' => 'FK to a new civicrm_option_value (account_relationship)',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_account',
           'entity' => 'EntityFinancialAccount',
           'bao' => 'CRM_Financial_DAO_EntityFinancialAccount',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'account_relationship',
             'optionEditPath' => 'civicrm/admin/options/account_relationship',
-          )
-        ) ,
-        'financial_account_id' => array(
+          ]
+        ],
+        'financial_account_id' => [
           'name' => 'financial_account_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Account') ,
+          'title' => ts('Financial Account'),
           'description' => 'FK to the financial_account_id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_account',
           'entity' => 'EntityFinancialAccount',
           'bao' => 'CRM_Financial_DAO_EntityFinancialAccount',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialAccount',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_account',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -228,10 +217,11 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_financial_account', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_financial_account', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -239,27 +229,33 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_financial_account', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_financial_account', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity_id_entity_table_account_relationship' => array(
+    $indices = [
+      'index_entity_id_entity_table_account_relationship' => [
         'name' => 'index_entity_id_entity_table_account_relationship',
-        'field' => array(
+        'field' => [
           0 => 'entity_id',
           1 => 'entity_table',
           2 => 'account_relationship',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_entity_financial_account::1::entity_id::entity_table::account_relationship',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
index dc94113815..5bf7545ab5 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,184 +8,195 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8650c2685e9d125bed6f9b65ce208621)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_EntityFinancialTrxn constructor.
+ * Database access object for the EntityFinancialTrxn entity.
  */
 class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_entity_financial_trxn';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * May contain civicrm_financial_item, civicrm_contribution, civicrm_financial_trxn, civicrm_grant, etc
    *
    * @var string
    */
   public $entity_table;
+
   /**
-   *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $financial_trxn_id;
+
   /**
    * allocated amount of transaction to this entity
    *
    * @var float
    */
   public $amount;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_entity_financial_trxn';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_trxn_id', 'civicrm_financial_trxn', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_trxn_id', 'civicrm_financial_trxn', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity Financial Transaction ID') ,
+          'title' => ts('Entity Financial Transaction ID'),
           'description' => 'ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_trxn',
           'entity' => 'EntityFinancialTrxn',
           'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'May contain civicrm_financial_item, civicrm_contribution, civicrm_financial_trxn, civicrm_grant, etc',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_entity_financial_trxn.entity_table',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_entity_financial_trxn',
           'entity' => 'EntityFinancialTrxn',
           'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
-          'required' => true,
+          'title' => ts('Entity ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_entity_financial_trxn',
           'entity' => 'EntityFinancialTrxn',
           'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'financial_trxn_id' => array(
+        ],
+        'financial_trxn_id' => [
           'name' => 'financial_trxn_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Transaction Id') ,
+          'title' => ts('Financial Transaction Id'),
           'table_name' => 'civicrm_entity_financial_trxn',
           'entity' => 'EntityFinancialTrxn',
           'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialTrxn',
-        ) ,
-        'amount' => array(
+        ],
+        'amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount') ,
+          'title' => ts('Amount'),
           'description' => 'allocated amount of transaction to this entity',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_entity_financial_trxn.amount',
           'headerPattern' => '/amount/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_entity_financial_trxn',
           'entity' => 'EntityFinancialTrxn',
           'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -217,10 +204,11 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_financial_trxn', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'entity_financial_trxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -228,32 +216,38 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_financial_trxn', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'entity_financial_trxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_entity_financial_trxn_entity_table' => array(
+    $indices = [
+      'UI_entity_financial_trxn_entity_table' => [
         'name' => 'UI_entity_financial_trxn_entity_table',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_entity_financial_trxn::0::entity_table',
-      ) ,
-      'UI_entity_financial_trxn_entity_id' => array(
+      ],
+      'UI_entity_financial_trxn_entity_id' => [
         'name' => 'UI_entity_financial_trxn_entity_id',
-        'field' => array(
+        'field' => [
           0 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_entity_financial_trxn::0::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/FinancialAccount.php b/civicrm/CRM/Financial/DAO/FinancialAccount.php
index ec43d41a2f..cb3ec66074 100644
--- a/civicrm/CRM/Financial/DAO/FinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/FinancialAccount.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,206 +8,225 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:4b1497d1607b10f8eec89c101665cd1d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_FinancialAccount constructor.
+ * Database access object for the FinancialAccount entity.
  */
 class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_financial_account';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Financial Account Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * FK to Contact ID that is responsible for the funds in this account
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * pseudo FK into civicrm_option_value.
    *
    * @var int unsigned
    */
   public $financial_account_type_id;
+
   /**
    * Optional value for mapping monies owed and received to accounting system codes.
    *
    * @var string
    */
   public $accounting_code;
+
   /**
    * Optional value for mapping account types to accounting system account categories (QuickBooks Account Type Codes for example).
    *
    * @var string
    */
   public $account_type_code;
+
   /**
    * Financial Type Description.
    *
    * @var string
    */
   public $description;
+
   /**
    * Parent ID in account hierarchy
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Is this a header account which does not allow transactions to be posted against it directly, but only to its sub-accounts?
    *
    * @var boolean
    */
   public $is_header_account;
+
   /**
    * Is this account tax-deductible?
    *
    * @var boolean
    */
   public $is_deductible;
+
   /**
    * Is this account for taxes?
    *
    * @var boolean
    */
   public $is_tax;
+
   /**
    * The percentage of the total_amount that is due for this tax.
    *
    * @var float
    */
   public $tax_rate;
+
   /**
    * Is this a predefined system object?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this account the default one (or default tax one) for its financial_account_type?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_financial_account';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_financial_account', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_financial_account', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Account ID') ,
+          'title' => ts('Financial Account ID'),
           'description' => 'ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Account Name') ,
+          'title' => ts('Financial Account Name'),
           'description' => 'Financial Account Name.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'financial_account_contact_id' => array(
+        ],
+        'financial_account_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID that is responsible for the funds in this account',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'financial_account_type_id' => array(
+        ],
+        'financial_account_type_id' => [
           'name' => 'financial_account_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Account Type') ,
+          'title' => ts('Financial Account Type'),
           'description' => 'pseudo FK into civicrm_option_value.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '3',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'financial_account_type',
             'optionEditPath' => 'civicrm/admin/options/financial_account_type',
-          )
-        ) ,
-        'accounting_code' => array(
+          ]
+        ],
+        'accounting_code' => [
           'name' => 'accounting_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Accounting Code') ,
+          'title' => ts('Accounting Code'),
           'description' => 'Optional value for mapping monies owed and received to accounting system codes.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_financial_account.accounting_code',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -239,15 +234,15 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'account_type_code' => array(
+        ],
+        'account_type_code' => [
           'name' => 'account_type_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Account Type Code') ,
+          'title' => ts('Account Type Code'),
           'description' => 'Optional value for mapping account types to accounting system account categories (QuickBooks Account Type Codes for example).',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_financial_account.account_type_code',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -255,11 +250,11 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Account Description') ,
+          'title' => ts('Financial Account Description'),
           'description' => 'Financial Type Description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -267,126 +262,130 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Account Parent') ,
+          'title' => ts('Financial Account Parent'),
           'description' => 'Parent ID in account hierarchy',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialAccount',
-        ) ,
-        'is_header_account' => array(
+        ],
+        'is_header_account' => [
           'name' => 'is_header_account',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Header Financial Account?') ,
+          'title' => ts('Header Financial Account?'),
           'description' => 'Is this a header account which does not allow transactions to be posted against it directly, but only to its sub-accounts?',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'is_deductible' => array(
+        ],
+        'is_deductible' => [
           'name' => 'is_deductible',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Deductible Financial Account?') ,
+          'title' => ts('Deductible Financial Account?'),
           'description' => 'Is this account tax-deductible?',
           'default' => '1',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'is_tax' => array(
+        ],
+        'is_tax' => [
           'name' => 'is_tax',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Tax Financial Account?') ,
+          'title' => ts('Tax Financial Account?'),
           'description' => 'Is this account for taxes?',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'tax_rate' => array(
+        ],
+        'tax_rate' => [
           'name' => 'tax_rate',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Financial Account Tax Rate') ,
+          'title' => ts('Financial Account Tax Rate'),
           'description' => 'The percentage of the total_amount that is due for this tax.',
-          'precision' => array(
+          'precision' => [
             10,
             8
-          ) ,
+          ],
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Reserved Financial Account?') ,
+          'title' => ts('Reserved Financial Account?'),
           'description' => 'Is this a predefined system object?',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Financial Account is Active') ,
+          'title' => ts('Financial Account is Active'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Default Financial Account') ,
+          'title' => ts('Default Financial Account'),
           'description' => 'Is this account the default one (or default tax one) for its financial_account_type?',
           'table_name' => 'civicrm_financial_account',
           'entity' => 'FinancialAccount',
           'bao' => 'CRM_Financial_BAO_FinancialAccount',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -394,10 +393,11 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_account', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_account', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -405,25 +405,31 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_account', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_account', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_financial_account::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/FinancialItem.php b/civicrm/CRM/Financial/DAO/FinancialItem.php
index 82d71822af..154ff57456 100644
--- a/civicrm/CRM/Financial/DAO/FinancialItem.php
+++ b/civicrm/CRM/Financial/DAO/FinancialItem.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,160 +8,174 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:95e199969f4ff93ccae635fb7e0d30f2)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_FinancialItem constructor.
+ * Database access object for the FinancialItem entity.
  */
 class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_financial_item';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Date and time the item was created
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * Date and time of the source transaction
    *
    * @var datetime
    */
   public $transaction_date;
+
   /**
    * FK to Contact ID of contact the item is from
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Human readable description of this item, to ease display without lookup of source item.
    *
    * @var string
    */
   public $description;
+
   /**
    * Total amount of this item
    *
    * @var float
    */
   public $amount;
+
   /**
    * Currency for the amount
    *
    * @var string
    */
   public $currency;
+
   /**
    * FK to civicrm_financial_account
    *
    * @var int unsigned
    */
   public $financial_account_id;
+
   /**
    * Payment status: test, paid, part_paid, unpaid (if empty assume unpaid)
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * The table providing the source of this item such as civicrm_line_item
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * The specific source item that is responsible for the creation of this financial_item
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_financial_item';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_account_id', 'civicrm_financial_account', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_account_id', 'civicrm_financial_account', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Item ID') ,
-          'required' => true,
+          'title' => ts('Financial Item ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Financial Item Created Date') ,
+          'title' => ts('Financial Item Created Date'),
           'description' => 'Date and time the item was created',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'transaction_date' => array(
+        ],
+        'transaction_date' => [
           'name' => 'transaction_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Financial Item Transaction Date') ,
+          'title' => ts('Financial Item Transaction Date'),
           'description' => 'Date and time of the source transaction',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Item Contact ID') ,
+          'title' => ts('Financial Item Contact ID'),
           'description' => 'FK to Contact ID of contact the item is from',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_financial_item.contact_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -194,11 +184,11 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Item Description') ,
+          'title' => ts('Financial Item Description'),
           'description' => 'Human readable description of this item, to ease display without lookup of source item.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -206,30 +196,30 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'amount' => array(
+        ],
+        'amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount') ,
+          'title' => ts('Amount'),
           'description' => 'Total amount of this item',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Item Currency') ,
+          'title' => ts('Financial Item Currency'),
           'description' => 'Currency for the amount',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_financial_item.currency',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -237,41 +227,41 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'financial_account_id' => array(
+          ]
+        ],
+        'financial_account_id' => [
           'name' => 'financial_account_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Account ID') ,
+          'title' => ts('Financial Account ID'),
           'description' => 'FK to civicrm_financial_account',
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialAccount',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_account',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'status_id' => array(
+          ]
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Item Status ID') ,
+          'title' => ts('Financial Item Status ID'),
           'description' => 'Payment status: test, paid, part_paid, unpaid (if empty assume unpaid)',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_financial_item.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -279,18 +269,18 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'financial_item_status',
             'optionEditPath' => 'civicrm/admin/options/financial_item_status',
-          )
-        ) ,
-        'entity_table' => array(
+          ]
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'The table providing the source of this item such as civicrm_line_item',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -298,50 +288,54 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'The specific source item that is responsible for the creation of this financial_item',
           'table_name' => 'civicrm_financial_item',
           'entity' => 'FinancialItem',
           'bao' => 'CRM_Financial_BAO_FinancialItem',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -349,10 +343,11 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_item', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -360,41 +355,47 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_item', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'IX_created_date' => array(
+    $indices = [
+      'IX_created_date' => [
         'name' => 'IX_created_date',
-        'field' => array(
+        'field' => [
           0 => 'created_date',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_item::0::created_date',
-      ) ,
-      'IX_transaction_date' => array(
+      ],
+      'IX_transaction_date' => [
         'name' => 'IX_transaction_date',
-        'field' => array(
+        'field' => [
           0 => 'transaction_date',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_item::0::transaction_date',
-      ) ,
-      'index_entity_id_entity_table' => array(
+      ],
+      'index_entity_id_entity_table' => [
         'name' => 'index_entity_id_entity_table',
-        'field' => array(
+        'field' => [
           0 => 'entity_id',
           1 => 'entity_table',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_item::0::entity_id::entity_table',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/FinancialTrxn.php b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
index 4aac190592..78e557943d 100644
--- a/civicrm/CRM/Financial/DAO/FinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,308 +8,328 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:21185c4929ef1a8d126c72733cc7ad1d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_FinancialTrxn constructor.
+ * Database access object for the FinancialTrxn entity.
  */
 class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_financial_trxn';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to financial_account table.
    *
    * @var int unsigned
    */
   public $from_financial_account_id;
+
   /**
    * FK to financial_financial_account table.
    *
    * @var int unsigned
    */
   public $to_financial_account_id;
+
   /**
    * date transaction occurred
    *
    * @var datetime
    */
   public $trxn_date;
+
   /**
    * amount of transaction
    *
    * @var float
    */
   public $total_amount;
+
   /**
    * actual processor fee if known - may be 0.
    *
    * @var float
    */
   public $fee_amount;
+
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
    * @var float
    */
   public $net_amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * Is this entry either a payment or a reversal of a payment?
    *
    * @var boolean
    */
   public $is_payment;
+
   /**
    * Transaction id supplied by external processor. This may not be unique.
    *
    * @var string
    */
   public $trxn_id;
+
   /**
    * processor result code
    *
    * @var string
    */
   public $trxn_result_code;
+
   /**
    * pseudo FK to civicrm_option_value of contribution_status_id option_group
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * Payment Processor for this financial transaction
    *
    * @var int unsigned
    */
   public $payment_processor_id;
+
   /**
    * FK to payment_instrument option group values
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
    * FK to accept_creditcard option group values
    *
    * @var int unsigned
    */
   public $card_type_id;
+
   /**
    * Check number
    *
    * @var string
    */
   public $check_number;
+
   /**
    * Last 4 digits of credit card
    *
    * @var string
    */
   public $pan_truncation;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_financial_trxn';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'from_financial_account_id', 'civicrm_financial_account', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'to_financial_account_id', 'civicrm_financial_account', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'payment_processor_id', 'civicrm_payment_processor', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'from_financial_account_id', 'civicrm_financial_account', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'to_financial_account_id', 'civicrm_financial_account', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'payment_processor_id', 'civicrm_payment_processor', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Transaction ID') ,
-          'required' => true,
+          'title' => ts('Financial Transaction ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'from_financial_account_id' => array(
+        ],
+        'from_financial_account_id' => [
           'name' => 'from_financial_account_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Transaction From Account') ,
+          'title' => ts('Financial Transaction From Account'),
           'description' => 'FK to financial_account table.',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialAccount',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_account',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'to_financial_account_id' => array(
+          ]
+        ],
+        'to_financial_account_id' => [
           'name' => 'to_financial_account_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Transaction To Account') ,
+          'title' => ts('Financial Transaction To Account'),
           'description' => 'FK to financial_financial_account table.',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialAccount',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_account',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'trxn_date' => array(
+          ]
+        ],
+        'trxn_date' => [
           'name' => 'trxn_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Financial Transaction Date') ,
+          'title' => ts('Financial Transaction Date'),
           'description' => 'date transaction occurred',
           'default' => 'NULL',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'total_amount' => array(
+          ],
+        ],
+        'total_amount' => [
           'name' => 'total_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Financial Total Amount') ,
+          'title' => ts('Financial Total Amount'),
           'description' => 'amount of transaction',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'fee_amount' => array(
+        ],
+        'fee_amount' => [
           'name' => 'fee_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Financial Fee Amount') ,
+          'title' => ts('Financial Fee Amount'),
           'description' => 'actual processor fee if known - may be 0.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'net_amount' => array(
+        ],
+        'net_amount' => [
           'name' => 'net_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Financial Net Amount') ,
+          'title' => ts('Financial Net Amount'),
           'description' => 'actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Currency') ,
+          'title' => ts('Financial Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_financial_trxn.currency',
           'headerPattern' => '/cur(rency)?/i',
           'dataPattern' => '/^[A-Z]{3}$/',
-          'export' => true,
+          'export' => TRUE,
           'default' => 'NULL',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'is_payment' => array(
+          ]
+        ],
+        'is_payment' => [
           'name' => 'is_payment',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Payment?') ,
+          'title' => ts('Is Payment?'),
           'description' => 'Is this entry either a payment or a reversal of a payment?',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_financial_trxn.is_payment',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'trxn_id' => array(
+        ],
+        'trxn_id' => [
           'name' => 'trxn_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Transaction ID') ,
+          'title' => ts('Transaction ID'),
           'description' => 'Transaction id supplied by external processor. This may not be unique.',
           'maxlength' => 255,
           'size' => 10,
@@ -341,14 +337,14 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'trxn_result_code' => array(
+          ],
+        ],
+        'trxn_result_code' => [
           'name' => 'trxn_result_code',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Transaction Result Code') ,
+          'title' => ts('Transaction Result Code'),
           'description' => 'processor result code',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -356,75 +352,75 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-        ) ,
-        'status_id' => array(
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Transaction Status Id') ,
+          'title' => ts('Financial Transaction Status Id'),
           'description' => 'pseudo FK to civicrm_option_value of contribution_status_id option_group',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_financial_trxn.status_id',
           'headerPattern' => '/status/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'contribution_status',
             'optionEditPath' => 'civicrm/admin/options/contribution_status',
-          )
-        ) ,
-        'payment_processor_id' => array(
+          ]
+        ],
+        'payment_processor_id' => [
           'name' => 'payment_processor_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor') ,
+          'title' => ts('Payment Processor'),
           'description' => 'Payment Processor for this financial transaction',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_PaymentProcessor',
-        ) ,
-        'financial_trxn_payment_instrument_id' => array(
+        ],
+        'financial_trxn_payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Method') ,
+          'title' => ts('Payment Method'),
           'description' => 'FK to payment_instrument option group values',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-        'financial_trxn_card_type_id' => array(
+          ]
+        ],
+        'financial_trxn_card_type_id' => [
           'name' => 'card_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Card Type ID') ,
+          'title' => ts('Card Type ID'),
           'description' => 'FK to accept_creditcard option group values',
           'table_name' => 'civicrm_financial_trxn',
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'accept_creditcard',
             'optionEditPath' => 'civicrm/admin/options/accept_creditcard',
-          )
-        ) ,
-        'financial_trxn_check_number' => array(
+          ]
+        ],
+        'financial_trxn_check_number' => [
           'name' => 'check_number',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Check Number') ,
+          'title' => ts('Check Number'),
           'description' => 'Check number',
           'maxlength' => 255,
           'size' => 6,
@@ -432,14 +428,14 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'financial_trxn_pan_truncation' => array(
+          ],
+        ],
+        'financial_trxn_pan_truncation' => [
           'name' => 'pan_truncation',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pan Truncation') ,
+          'title' => ts('Pan Truncation'),
           'description' => 'Last 4 digits of credit card',
           'maxlength' => 4,
           'size' => 4,
@@ -447,43 +443,47 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
           'entity' => 'FinancialTrxn',
           'bao' => 'CRM_Financial_DAO_FinancialTrxn',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -491,10 +491,11 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_trxn', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_trxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -502,40 +503,46 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_trxn', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_trxn', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_ftrxn_trxn_id' => array(
+    $indices = [
+      'UI_ftrxn_trxn_id' => [
         'name' => 'UI_ftrxn_trxn_id',
-        'field' => array(
+        'field' => [
           0 => 'trxn_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_trxn::0::trxn_id',
-      ) ,
-      'UI_ftrxn_payment_instrument_id' => array(
+      ],
+      'UI_ftrxn_payment_instrument_id' => [
         'name' => 'UI_ftrxn_payment_instrument_id',
-        'field' => array(
+        'field' => [
           0 => 'payment_instrument_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_trxn::0::payment_instrument_id',
-      ) ,
-      'UI_ftrxn_check_number' => array(
+      ],
+      'UI_ftrxn_check_number' => [
         'name' => 'UI_ftrxn_check_number',
-        'field' => array(
+        'field' => [
           0 => 'check_number',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_financial_trxn::0::check_number',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/FinancialType.php b/civicrm/CRM/Financial/DAO/FinancialType.php
index 3be6e3a6cf..fc8d2924e2 100644
--- a/civicrm/CRM/Financial/DAO/FinancialType.php
+++ b/civicrm/CRM/Financial/DAO/FinancialType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,108 +8,117 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:9d787931917508983d68631821eea721)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_FinancialType constructor.
+ * Database access object for the FinancialType entity.
  */
 class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_financial_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Financial Type Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * Financial Type Description.
    *
    * @var string
    */
   public $description;
+
   /**
    * Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.
    *
    * @var boolean
    */
   public $is_deductible;
+
   /**
    * Is this a predefined system object?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_financial_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type ID') ,
+          'title' => ts('Financial Type ID'),
           'description' => 'ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_financial_type',
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-        'financial_type' => array(
+        ],
+        'financial_type' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'Financial Type Name.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_financial_type.name',
           'headerPattern' => '/(finan(cial)?)?type/i',
           'dataPattern' => '/donation|member|campaign/i',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_financial_type',
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => 'Financial Type Description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -141,71 +126,75 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-        'is_deductible' => array(
+        ],
+        'is_deductible' => [
           'name' => 'is_deductible',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Tax Deductible?') ,
+          'title' => ts('Is Tax Deductible?'),
           'description' => 'Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.',
           'default' => '1',
           'table_name' => 'civicrm_financial_type',
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Financial Type is Reserved?') ,
+          'title' => ts('Financial Type is Reserved?'),
           'description' => 'Is this a predefined system object?',
           'table_name' => 'civicrm_financial_type',
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Financial Type Is Active?') ,
+          'title' => ts('Financial Type Is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_financial_type',
           'entity' => 'FinancialType',
           'bao' => 'CRM_Financial_BAO_FinancialType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -213,10 +202,11 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -224,25 +214,31 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_id' => array(
+    $indices = [
+      'UI_id' => [
         'name' => 'UI_id',
-        'field' => array(
+        'field' => [
           0 => 'id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_financial_type::1::id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessor.php b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
index f554656440..a0568b18c8 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,208 +8,224 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:5a228384ec4b687a6961505b12d40512)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_PaymentProcessor constructor.
+ * Database access object for the PaymentProcessor entity.
  */
 class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_payment_processor';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Payment Processor ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this match entry for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Payment Processor Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * Payment Processor Description.
    *
    * @var string
    */
   public $description;
+
   /**
-   *
    * @var int unsigned
    */
   public $payment_processor_type_id;
+
   /**
    * Is this processor active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this processor the default?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Is this processor for a test site?
    *
    * @var boolean
    */
   public $is_test;
+
   /**
-   *
    * @var string
    */
   public $user_name;
+
   /**
-   *
    * @var string
    */
   public $password;
+
   /**
-   *
    * @var text
    */
   public $signature;
+
   /**
-   *
    * @var string
    */
   public $url_site;
+
   /**
-   *
    * @var string
    */
   public $url_api;
+
   /**
-   *
    * @var string
    */
   public $url_recur;
+
   /**
-   *
    * @var string
    */
   public $url_button;
+
   /**
-   *
    * @var string
    */
   public $subject;
+
   /**
-   *
    * @var string
    */
   public $class_name;
+
   /**
    * Billing Mode (deprecated)
    *
    * @var int unsigned
    */
   public $billing_mode;
+
   /**
    * Can process recurring contributions
    *
    * @var boolean
    */
   public $is_recur;
+
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
    * @var int unsigned
    */
   public $payment_type;
+
   /**
    * Payment Instrument ID
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
    * array of accepted credit card types
    *
    * @var text
    */
   public $accepted_credit_cards;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_payment_processor';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'payment_processor_type_id', 'civicrm_payment_processor_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'payment_processor_type_id', 'civicrm_payment_processor_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor ID') ,
+          'title' => ts('Payment Processor ID'),
           'description' => 'Payment Processor ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor Domain') ,
+          'title' => ts('Payment Processor Domain'),
           'description' => 'Which Domain is this match entry for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Payment Processor') ,
+          'title' => ts('Payment Processor'),
           'description' => 'Payment Processor Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -241,14 +233,14 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Processor Description') ,
+          'title' => ts('Processor Description'),
           'description' => 'Payment Processor Description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -256,226 +248,226 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'payment_processor_type_id' => array(
+        ],
+        'payment_processor_type_id' => [
           'name' => 'payment_processor_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor Type ID') ,
+          'title' => ts('Payment Processor Type ID'),
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_PaymentProcessorType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_payment_processor_type',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor is Active?') ,
+          'title' => ts('Processor is Active?'),
           'description' => 'Is this processor active?',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor Is Default?') ,
+          'title' => ts('Processor Is Default?'),
           'description' => 'Is this processor the default?',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'is_test' => array(
+        ],
+        'is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Test Processor?') ,
+          'title' => ts('Is Test Processor?'),
           'description' => 'Is this processor for a test site?',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'user_name' => array(
+        ],
+        'user_name' => [
           'name' => 'user_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('User Name') ,
+          'title' => ts('User Name'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'password' => array(
+          ],
+        ],
+        'password' => [
           'name' => 'password',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Password') ,
+          'title' => ts('Password'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Password',
-          ) ,
-        ) ,
-        'signature' => array(
+          ],
+        ],
+        'signature' => [
           'name' => 'signature',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Signature') ,
+          'title' => ts('Signature'),
           'rows' => 4,
           'cols' => 40,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'url_site' => array(
+          ],
+        ],
+        'url_site' => [
           'name' => 'url_site',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Site URL') ,
+          'title' => ts('Site URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'url_api' => array(
+          ],
+        ],
+        'url_api' => [
           'name' => 'url_api',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('API URL') ,
+          'title' => ts('API URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'url_recur' => array(
+          ],
+        ],
+        'url_recur' => [
           'name' => 'url_recur',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Recurring Payments URL') ,
+          'title' => ts('Recurring Payments URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'url_button' => array(
+          ],
+        ],
+        'url_button' => [
           'name' => 'url_button',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Button URL') ,
+          'title' => ts('Button URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'subject' => array(
+          ],
+        ],
+        'subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Subject') ,
+          'title' => ts('Subject'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'class_name' => array(
+          ],
+        ],
+        'class_name' => [
           'name' => 'class_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Suffix for PHP class name implementation') ,
+          'title' => ts('Suffix for PHP class name implementation'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'billing_mode' => array(
+        ],
+        'billing_mode' => [
           'name' => 'billing_mode',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Processor Billing Mode') ,
+          'title' => ts('Processor Billing Mode'),
           'description' => 'Billing Mode (deprecated)',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'is_recur' => array(
+        ],
+        'is_recur' => [
           'name' => 'is_recur',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor Supports Recurring?') ,
+          'title' => ts('Processor Supports Recurring?'),
           'description' => 'Can process recurring contributions',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'payment_type' => array(
+        ],
+        'payment_type' => [
           'name' => 'payment_type',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Type') ,
+          'title' => ts('Payment Type'),
           'description' => 'Payment Type: Credit or Debit (deprecated)',
           'default' => '1',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-        ) ,
-        'payment_instrument_id' => array(
+        ],
+        'payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Method') ,
+          'title' => ts('Payment Method'),
           'description' => 'Payment Instrument ID',
           'default' => '1',
           'table_name' => 'civicrm_payment_processor',
           'entity' => 'PaymentProcessor',
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-        'accepted_credit_cards' => array(
+          ]
+        ],
+        'accepted_credit_cards' => [
           'name' => 'accepted_credit_cards',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Accepted Credit Cards') ,
+          'title' => ts('Accepted Credit Cards'),
           'description' => 'array of accepted credit card types',
           'default' => 'NULL',
           'table_name' => 'civicrm_payment_processor',
@@ -483,40 +475,44 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
           'bao' => 'CRM_Financial_BAO_PaymentProcessor',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_JSON,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -524,10 +520,11 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_processor', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_processor', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -535,27 +532,33 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_processor', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_processor', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name_test_domain_id' => array(
+    $indices = [
+      'UI_name_test_domain_id' => [
         'name' => 'UI_name_test_domain_id',
-        'field' => array(
+        'field' => [
           0 => 'name',
           1 => 'is_test',
           2 => 'domain_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_payment_processor::1::name::is_test::domain_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
index f98f34e9d4..316051d01e 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,179 +8,192 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:b47064fa57473507062b1e69983ccc52)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_PaymentProcessorType constructor.
+ * Database access object for the PaymentProcessorType entity.
  */
 class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_payment_processor_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Payment Processor Type ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Payment Processor Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * Payment Processor Name.
    *
    * @var string
    */
   public $title;
+
   /**
    * Payment Processor Description.
    *
    * @var string
    */
   public $description;
+
   /**
    * Is this processor active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this processor the default?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
-   *
    * @var string
    */
   public $user_name_label;
+
   /**
-   *
    * @var string
    */
   public $password_label;
+
   /**
-   *
    * @var string
    */
   public $signature_label;
+
   /**
-   *
    * @var string
    */
   public $subject_label;
+
   /**
-   *
    * @var string
    */
   public $class_name;
+
   /**
-   *
    * @var string
    */
   public $url_site_default;
+
   /**
-   *
    * @var string
    */
   public $url_api_default;
+
   /**
-   *
    * @var string
    */
   public $url_recur_default;
+
   /**
-   *
    * @var string
    */
   public $url_button_default;
+
   /**
-   *
    * @var string
    */
   public $url_site_test_default;
+
   /**
-   *
    * @var string
    */
   public $url_api_test_default;
+
   /**
-   *
    * @var string
    */
   public $url_recur_test_default;
+
   /**
-   *
    * @var string
    */
   public $url_button_test_default;
+
   /**
    * Billing Mode (deprecated)
    *
    * @var int unsigned
    */
   public $billing_mode;
+
   /**
    * Can process recurring contributions
    *
    * @var boolean
    */
   public $is_recur;
+
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
    * @var int unsigned
    */
   public $payment_type;
+
   /**
    * Payment Instrument ID
    *
    * @var int unsigned
    */
   public $payment_instrument_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_payment_processor_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor Type ID') ,
+          'title' => ts('Payment Processor Type ID'),
           'description' => 'Payment Processor Type ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Payment Processor variable name to be used in code') ,
+          'title' => ts('Payment Processor variable name to be used in code'),
           'description' => 'Payment Processor Name.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -212,11 +201,11 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Payment Processor Title') ,
+          'title' => ts('Payment Processor Title'),
           'description' => 'Payment Processor Name.',
           'maxlength' => 127,
           'size' => CRM_Utils_Type::HUGE,
@@ -224,11 +213,11 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Processor Type Description') ,
+          'title' => ts('Processor Type Description'),
           'description' => 'Payment Processor Description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -236,256 +225,260 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor Type Is Active?') ,
+          'title' => ts('Processor Type Is Active?'),
           'description' => 'Is this processor active?',
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor Type is Default?') ,
+          'title' => ts('Processor Type is Default?'),
           'description' => 'Is this processor the default?',
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'user_name_label' => array(
+        ],
+        'user_name_label' => [
           'name' => 'user_name_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label for User Name if used') ,
+          'title' => ts('Label for User Name if used'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'password_label' => array(
+        ],
+        'password_label' => [
           'name' => 'password_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label for password') ,
+          'title' => ts('Label for password'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'signature_label' => array(
+        ],
+        'signature_label' => [
           'name' => 'signature_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label for Signature') ,
+          'title' => ts('Label for Signature'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'subject_label' => array(
+        ],
+        'subject_label' => [
           'name' => 'subject_label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label for Subject') ,
+          'title' => ts('Label for Subject'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'class_name' => array(
+        ],
+        'class_name' => [
           'name' => 'class_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Suffix for PHP class name implementation') ,
+          'title' => ts('Suffix for PHP class name implementation'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_site_default' => array(
+        ],
+        'url_site_default' => [
           'name' => 'url_site_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Live Site URL') ,
+          'title' => ts('Default Live Site URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_api_default' => array(
+        ],
+        'url_api_default' => [
           'name' => 'url_api_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default API Site URL') ,
+          'title' => ts('Default API Site URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_recur_default' => array(
+        ],
+        'url_recur_default' => [
           'name' => 'url_recur_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Live Recurring Payments URL') ,
+          'title' => ts('Default Live Recurring Payments URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_button_default' => array(
+        ],
+        'url_button_default' => [
           'name' => 'url_button_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Live Button URL') ,
+          'title' => ts('Default Live Button URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_site_test_default' => array(
+        ],
+        'url_site_test_default' => [
           'name' => 'url_site_test_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Test Site URL') ,
+          'title' => ts('Default Test Site URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_api_test_default' => array(
+        ],
+        'url_api_test_default' => [
           'name' => 'url_api_test_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Test API URL') ,
+          'title' => ts('Default Test API URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_recur_test_default' => array(
+        ],
+        'url_recur_test_default' => [
           'name' => 'url_recur_test_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Test Recurring Payment URL') ,
+          'title' => ts('Default Test Recurring Payment URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'url_button_test_default' => array(
+        ],
+        'url_button_test_default' => [
           'name' => 'url_button_test_default',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Default Test Button URL') ,
+          'title' => ts('Default Test Button URL'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'billing_mode' => array(
+        ],
+        'billing_mode' => [
           'name' => 'billing_mode',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Billing Mode') ,
+          'title' => ts('Billing Mode'),
           'description' => 'Billing Mode (deprecated)',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::billingMode',
-          )
-        ) ,
-        'is_recur' => array(
+          ]
+        ],
+        'is_recur' => [
           'name' => 'is_recur',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Processor Type Supports Recurring?') ,
+          'title' => ts('Processor Type Supports Recurring?'),
           'description' => 'Can process recurring contributions',
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'payment_type' => array(
+        ],
+        'payment_type' => [
           'name' => 'payment_type',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Processor Type Payment Type') ,
+          'title' => ts('Processor Type Payment Type'),
           'description' => 'Payment Type: Credit or Debit (deprecated)',
           'default' => '1',
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-        ) ,
-        'payment_instrument_id' => array(
+        ],
+        'payment_instrument_id' => [
           'name' => 'payment_instrument_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Method') ,
+          'title' => ts('Payment Method'),
           'description' => 'Payment Instrument ID',
           'default' => '1',
           'table_name' => 'civicrm_payment_processor_type',
           'entity' => 'PaymentProcessorType',
           'bao' => 'CRM_Financial_BAO_PaymentProcessorType',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'payment_instrument',
             'optionEditPath' => 'civicrm/admin/options/payment_instrument',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -493,10 +486,11 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_processor_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_processor_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -504,25 +498,31 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_processor_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_processor_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_payment_processor_type::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/DAO/PaymentToken.php b/civicrm/CRM/Financial/DAO/PaymentToken.php
index d5fe14b10f..c8fb590e07 100644
--- a/civicrm/CRM/Financial/DAO/PaymentToken.php
+++ b/civicrm/CRM/Financial/DAO/PaymentToken.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,215 +8,231 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6b3810f34b7a2c1aacecfb67f1d09b42)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Financial_DAO_PaymentToken constructor.
+ * Database access object for the PaymentToken entity.
  */
 class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_payment_token';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Payment Token ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID for the owner of the token
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $payment_processor_id;
+
   /**
    * Externally provided token string
    *
    * @var string
    */
   public $token;
+
   /**
    * Date created
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * Contact ID of token creator
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date this token expires
    *
    * @var datetime
    */
   public $expiry_date;
+
   /**
    * Email at the time of token creation. Useful for fraud forensics
    *
    * @var string
    */
   public $email;
+
   /**
    * Billing first name at the time of token creation. Useful for fraud forensics
    *
    * @var string
    */
   public $billing_first_name;
+
   /**
    * Billing middle name at the time of token creation. Useful for fraud forensics
    *
    * @var string
    */
   public $billing_middle_name;
+
   /**
    * Billing last name at the time of token creation. Useful for fraud forensics
    *
    * @var string
    */
   public $billing_last_name;
+
   /**
    * Holds the part of the card number or account details that may be retained or displayed
    *
    * @var string
    */
   public $masked_account_number;
+
   /**
    * IP used when creating the token. Useful for fraud forensics
    *
    * @var string
    */
   public $ip_address;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_payment_token';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'payment_processor_id', 'civicrm_payment_processor', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'payment_processor_id', 'civicrm_payment_processor', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'payment_token_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'payment_token_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Token ID') ,
+          'title' => ts('Payment Token ID'),
           'description' => 'Payment Token ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID for the owner of the token',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'payment_processor_id' => array(
+        ],
+        'payment_processor_id' => [
           'name' => 'payment_processor_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Processor ID') ,
-          'required' => true,
+          'title' => ts('Payment Processor ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_PaymentProcessor',
-        ) ,
-        'token' => array(
+        ],
+        'token' => [
           'name' => 'token',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Token') ,
+          'title' => ts('Token'),
           'description' => 'Externally provided token string',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Created Date') ,
+          'title' => ts('Created Date'),
           'description' => 'Date created',
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Created ID') ,
+          'title' => ts('Created ID'),
           'description' => 'Contact ID of token creator',
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'expiry_date' => array(
+        ],
+        'expiry_date' => [
           'name' => 'expiry_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Expiry Date') ,
+          'title' => ts('Expiry Date'),
           'description' => 'Date this token expires',
           'table_name' => 'civicrm_payment_token',
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'email' => array(
+        ],
+        'email' => [
           'name' => 'email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Email') ,
+          'title' => ts('Email'),
           'description' => 'Email at the time of token creation. Useful for fraud forensics',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -248,11 +240,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'billing_first_name' => array(
+        ],
+        'billing_first_name' => [
           'name' => 'billing_first_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Billing First Name') ,
+          'title' => ts('Billing First Name'),
           'description' => 'Billing first name at the time of token creation. Useful for fraud forensics',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -260,11 +252,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'billing_middle_name' => array(
+        ],
+        'billing_middle_name' => [
           'name' => 'billing_middle_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Billing Middle Name') ,
+          'title' => ts('Billing Middle Name'),
           'description' => 'Billing middle name at the time of token creation. Useful for fraud forensics',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -272,11 +264,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'billing_last_name' => array(
+        ],
+        'billing_last_name' => [
           'name' => 'billing_last_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Billing Last Name') ,
+          'title' => ts('Billing Last Name'),
           'description' => 'Billing last name at the time of token creation. Useful for fraud forensics',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -284,11 +276,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'masked_account_number' => array(
+        ],
+        'masked_account_number' => [
           'name' => 'masked_account_number',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Masked Account Number') ,
+          'title' => ts('Masked Account Number'),
           'description' => 'Holds the part of the card number or account details that may be retained or displayed',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -296,11 +288,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-        'ip_address' => array(
+        ],
+        'ip_address' => [
           'name' => 'ip_address',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('IP Address') ,
+          'title' => ts('IP Address'),
           'description' => 'IP used when creating the token. Useful for fraud forensics',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -308,40 +300,44 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
           'entity' => 'PaymentToken',
           'bao' => 'CRM_Financial_DAO_PaymentToken',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -349,10 +345,11 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_token', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'payment_token', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -360,15 +357,21 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_token', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'payment_token', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Financial/Form/Export.php b/civicrm/CRM/Financial/Form/Export.php
index 46034b1708..b58e57bba3 100644
--- a/civicrm/CRM/Financial/Form/Export.php
+++ b/civicrm/CRM/Financial/Form/Export.php
@@ -60,6 +60,11 @@ class CRM_Financial_Form_Export extends CRM_Core_Form {
    */
   protected $_exportFormat;
 
+  /**
+   * Download export File.
+   */
+  protected $_downloadFile = TRUE;
+
   /**
    * Build all the data structures needed to build the form.
    */
@@ -89,8 +94,7 @@ class CRM_Financial_Form_Export extends CRM_Core_Form {
       $this->_batchIds = $this->_id;
     }
 
-    $allBatchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id');
-    $this->_exportStatusId = CRM_Utils_Array::key('Exported', $allBatchStatus);
+    $this->_exportStatusId = CRM_Core_PseudoConstant::getKey('CRM_Batch_DAO_Batch', 'status_id', 'Exported');
 
     // check if batch status is valid, do not allow exported batches to export again
     $batchStatus = CRM_Batch_BAO_Batch::getBatchStatuses($this->_batchIds);
@@ -175,7 +179,7 @@ class CRM_Financial_Form_Export extends CRM_Core_Form {
       CRM_Batch_BAO_Batch::create($batchParams);
     }
 
-    CRM_Batch_BAO_Batch::exportFinancialBatch($batchIds, $this->_exportFormat);
+    CRM_Batch_BAO_Batch::exportFinancialBatch($batchIds, $this->_exportFormat, $this->_downloadFile);
   }
 
 }
diff --git a/civicrm/CRM/Financial/Form/Payment.php b/civicrm/CRM/Financial/Form/Payment.php
index b5d2c22066..4863f5848b 100644
--- a/civicrm/CRM/Financial/Form/Payment.php
+++ b/civicrm/CRM/Financial/Form/Payment.php
@@ -50,12 +50,19 @@ class CRM_Financial_Form_Payment extends CRM_Core_Form {
    */
   public $isBackOffice = FALSE;
 
+  /**
+   * @var String
+   */
+  public $_formName = '';
+
   /**
    * Set variables up before form is built.
    */
   public function preProcess() {
     parent::preProcess();
 
+    $this->_formName = CRM_Utils_Request::retrieve('formName', 'String', $this);
+
     $this->_values['custom_pre_id'] = CRM_Utils_Request::retrieve('pre_profile_id', 'Integer', $this);
 
     $this->_paymentProcessorID = CRM_Utils_Request::retrieve('processor_id', 'Integer', CRM_Core_DAO::$_nullObject,
diff --git a/civicrm/CRM/Friend/DAO/Friend.php b/civicrm/CRM/Friend/DAO/Friend.php
index 186a78673f..c98623ee74 100644
--- a/civicrm/CRM/Friend/DAO/Friend.php
+++ b/civicrm/CRM/Friend/DAO/Friend.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,210 +8,222 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0f2c6f4aab46e551d1e3ec7fdd55f0f5)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Friend_DAO_Friend constructor.
+ * Database access object for the Friend entity.
  */
 class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_tell_friend';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Friend ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of table where item being referenced is stored.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
-   *
    * @var string
    */
   public $title;
+
   /**
    * Introductory message to contributor or participant displayed on the Tell a Friend form.
    *
    * @var text
    */
   public $intro;
+
   /**
    * Suggested message to friends, provided as default on the Tell A Friend form.
    *
    * @var text
    */
   public $suggested_message;
+
   /**
    * URL for general info about the organization - included in the email sent to friends.
    *
    * @var string
    */
   public $general_link;
+
   /**
    * Text for Tell a Friend thank you page header and HTML title.
    *
    * @var string
    */
   public $thankyou_title;
+
   /**
    * Thank you message displayed on success page.
    *
    * @var text
    */
   public $thankyou_text;
+
   /**
-   *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_tell_friend';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Friend ID') ,
+          'title' => ts('Friend ID'),
           'description' => 'Friend ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Name of table where item being referenced is stored.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity ID') ,
+          'title' => ts('Entity ID'),
           'description' => 'Foreign key to the referenced item.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Title') ,
+          'title' => ts('Title'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'intro' => array(
+          ],
+        ],
+        'intro' => [
           'name' => 'intro',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Intro') ,
+          'title' => ts('Intro'),
           'description' => 'Introductory message to contributor or participant displayed on the Tell a Friend form.',
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'suggested_message' => array(
+          ],
+        ],
+        'suggested_message' => [
           'name' => 'suggested_message',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Suggested Message') ,
+          'title' => ts('Suggested Message'),
           'description' => 'Suggested message to friends, provided as default on the Tell A Friend form.',
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'general_link' => array(
+          ],
+        ],
+        'general_link' => [
           'name' => 'general_link',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('General Link') ,
+          'title' => ts('General Link'),
           'description' => 'URL for general info about the organization - included in the email sent to friends.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_tell_friend.general_link',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'thankyou_title' => array(
+          ],
+        ],
+        'thankyou_title' => [
           'name' => 'thankyou_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Thank You Title') ,
+          'title' => ts('Thank You Title'),
           'description' => 'Text for Tell a Friend thank you page header and HTML title.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -243,68 +231,72 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'thankyou_text' => array(
+          ],
+        ],
+        'thankyou_text' => [
           'name' => 'thankyou_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Thank You Text') ,
+          'title' => ts('Thank You Text'),
           'description' => 'Thank you message displayed on success page.',
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Enabled?') ,
+          'title' => ts('Enabled?'),
           'table_name' => 'civicrm_tell_friend',
           'entity' => 'Friend',
           'bao' => 'CRM_Friend_BAO_Friend',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -312,10 +304,11 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'tell_friend', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'tell_friend', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -323,15 +316,21 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'tell_friend', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'tell_friend', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Grant/BAO/Grant.php b/civicrm/CRM/Grant/BAO/Grant.php
index 7a669d599e..5fe5e2b1c9 100644
--- a/civicrm/CRM/Grant/BAO/Grant.php
+++ b/civicrm/CRM/Grant/BAO/Grant.php
@@ -34,12 +34,6 @@
  */
 class CRM_Grant_BAO_Grant extends CRM_Grant_DAO_Grant {
 
-  /**
-   * Static field for all the grant information that we can potentially export.
-   * @var array
-   */
-  static $_exportableFields = NULL;
-
   /**
    * Class constructor.
    */
@@ -346,54 +340,19 @@ class CRM_Grant_BAO_Grant extends CRM_Grant_DAO_Grant {
    *   array of exportable Fields
    */
   public static function &exportableFields() {
-    if (!self::$_exportableFields) {
-      if (!self::$_exportableFields) {
-        self::$_exportableFields = array();
-      }
-
-      $grantFields = array(
-        'grant_status' => array(
-          'title' => ts('Grant Status'),
-          'name' => 'grant_status',
-          'data_type' => CRM_Utils_Type::T_STRING,
-        ),
-        'grant_type' => array(
-          'title' => ts('Grant Type'),
-          'name' => 'grant_type',
-          'data_type' => CRM_Utils_Type::T_STRING,
-        ),
-        'grant_money_transfer_date' => array(
-          'title' => ts('Grant Money Transfer Date'),
-          'name' => 'grant_money_transfer_date',
-          'data_type' => CRM_Utils_Type::T_DATE,
-        ),
-        'grant_amount_requested' => array(
-          'title' => ts('Grant Amount Requested'),
-          'name' => 'grant_amount_requested',
-          'data_type' => CRM_Utils_Type::T_FLOAT,
-        ),
-        'grant_application_received_date' => array(
-          'title' => ts('Grant Application Received Date'),
-          'name' => 'grant_application_received_date',
-          'data_type' => CRM_Utils_Type::T_DATE,
-        ),
-      );
-
-      $fields = CRM_Grant_DAO_Grant::export();
-      $grantNote = array(
-        'grant_note' => array(
-          'title' => ts('Grant Note'),
-          'name' => 'grant_note',
-          'data_type' => CRM_Utils_Type::T_TEXT,
-        ),
-      );
-      $fields = array_merge($fields, $grantFields, $grantNote,
-        CRM_Core_BAO_CustomField::getFieldsForImport('Grant')
-      );
-      self::$_exportableFields = $fields;
-    }
+    $fields = CRM_Grant_DAO_Grant::export();
+    $grantNote = array(
+      'grant_note' => array(
+        'title' => ts('Grant Note'),
+        'name' => 'grant_note',
+        'data_type' => CRM_Utils_Type::T_TEXT,
+      ),
+    );
+    $fields = array_merge($fields, $grantNote,
+      CRM_Core_BAO_CustomField::getFieldsForImport('Grant')
+    );
 
-    return self::$_exportableFields;
+    return $fields;
   }
 
   /**
diff --git a/civicrm/CRM/Grant/DAO/Grant.php b/civicrm/CRM/Grant/DAO/Grant.php
index f5a4372a52..329a05259b 100644
--- a/civicrm/CRM/Grant/DAO/Grant.php
+++ b/civicrm/CRM/Grant/DAO/Grant.php
@@ -1,198 +1,193 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
  *
  * Generated from xml/schema/CRM/Grant/Grant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:600fc71093543f1c7b31ad663f2325c6)
+ * (GenCodeChecksum:13652dd0ca88b2b29b17df240790eece)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Grant_DAO_Grant constructor.
+ * Database access object for the Grant entity.
  */
 class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_grant';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Unique Grant id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Contact ID of contact record given grant belongs to.
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Date on which grant application was received by donor.
    *
    * @var date
    */
   public $application_received_date;
+
   /**
    * Date on which grant decision was made.
    *
    * @var date
    */
   public $decision_date;
+
   /**
    * Date on which grant money transfer was made.
    *
    * @var date
    */
   public $money_transfer_date;
+
   /**
    * Date on which grant report is due.
    *
    * @var date
    */
   public $grant_due_date;
+
   /**
    * Yes/No field stating whether grant report was received by donor.
    *
    * @var boolean
    */
   public $grant_report_received;
+
   /**
    * Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.
    *
    * @var int unsigned
    */
   public $grant_type_id;
+
   /**
    * Requested grant amount, in default currency.
    *
    * @var float
    */
   public $amount_total;
+
   /**
    * Requested grant amount, in original currency (optional).
    *
    * @var float
    */
   public $amount_requested;
+
   /**
    * Granted amount, in default currency.
    *
    * @var float
    */
   public $amount_granted;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * Grant rationale.
    *
    * @var text
    */
   public $rationale;
+
   /**
    * Id of Grant status.
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * FK to Financial Type.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_grant';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'grant_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'grant_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant ID') ,
+          'title' => ts('Grant ID'),
           'description' => 'Unique Grant id',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_grant.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-        ) ,
-        'grant_contact_id' => array(
+        ],
+        'grant_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Contact ID of contact record given grant belongs to.',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_grant.contact_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -201,98 +196,111 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'application_received_date' => array(
+          ],
+        ],
+        'application_received_date' => [
           'name' => 'application_received_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Application received date') ,
+          'title' => ts('Application received date'),
           'description' => 'Date on which grant application was received by donor.',
-          'export' => true,
+          'import' => TRUE,
           'where' => 'civicrm_grant.application_received_date',
           'headerPattern' => '',
           'dataPattern' => '',
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-        ) ,
-        'decision_date' => array(
+          'html' => [
+            'type' => 'Select Date',
+            'formatType' => 'activityDate',
+          ],
+        ],
+        'decision_date' => [
           'name' => 'decision_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Decision date') ,
+          'title' => ts('Decision date'),
           'description' => 'Date on which grant decision was made.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_grant.decision_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'grant_money_transfer_date' => array(
+            'formatType' => 'activityDate',
+          ],
+        ],
+        'grant_money_transfer_date' => [
           'name' => 'money_transfer_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Money transfer date') ,
+          'title' => ts('Grant Money transfer date'),
           'description' => 'Date on which grant money transfer was made.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_grant.money_transfer_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'grant_due_date' => array(
+            'formatType' => 'activityDate',
+          ],
+        ],
+        'grant_due_date' => [
           'name' => 'grant_due_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Due Date') ,
+          'title' => ts('Grant Due Date'),
           'description' => 'Date on which grant report is due.',
+          'import' => TRUE,
+          'where' => 'civicrm_grant.grant_due_date',
+          'headerPattern' => '',
+          'dataPattern' => '',
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'grant_report_received' => array(
+            'formatType' => 'activityDate',
+          ],
+        ],
+        'grant_report_received' => [
           'name' => 'grant_report_received',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Grant report received') ,
+          'title' => ts('Grant report received'),
           'description' => 'Yes/No field stating whether grant report was received by donor.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_grant.grant_report_received',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'grant_type_id' => array(
+          ],
+        ],
+        'grant_type_id' => [
           'name' => 'grant_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Type') ,
+          'title' => ts('Grant Type'),
           'description' => 'Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.',
-          'required' => true,
-          'export' => true,
+          'required' => TRUE,
+          'export' => TRUE,
           'where' => 'civicrm_grant.grant_type_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -300,145 +308,145 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'grant_type',
             'optionEditPath' => 'civicrm/admin/options/grant_type',
-          )
-        ) ,
-        'amount_total' => array(
+          ]
+        ],
+        'amount_total' => [
           'name' => 'amount_total',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Total Amount') ,
+          'title' => ts('Total Amount'),
           'description' => 'Requested grant amount, in default currency.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_grant.amount_total',
           'headerPattern' => '',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'amount_requested' => array(
+          ],
+        ],
+        'amount_requested' => [
           'name' => 'amount_requested',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount Requested') ,
+          'title' => ts('Amount Requested'),
           'description' => 'Requested grant amount, in original currency (optional).',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'amount_granted' => array(
+          ],
+        ],
+        'amount_granted' => [
           'name' => 'amount_granted',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount granted') ,
+          'title' => ts('Amount granted'),
           'description' => 'Granted amount, in default currency.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_grant.amount_granted',
           'headerPattern' => '',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'currency' => array(
+          ],
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Grant Currency') ,
+          'title' => ts('Grant Currency'),
           'description' => '3 character string, value from config setting or input via user.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'rationale' => array(
+          ]
+        ],
+        'rationale' => [
           'name' => 'rationale',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Grant Rationale') ,
+          'title' => ts('Grant Rationale'),
           'description' => 'Grant rationale.',
           'rows' => 4,
           'cols' => 60,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_grant.rationale',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'grant_status_id' => array(
+          ],
+        ],
+        'grant_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Status') ,
+          'title' => ts('Grant Status'),
           'description' => 'Id of Grant status.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_grant.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'grant_status',
             'optionEditPath' => 'civicrm/admin/options/grant_status',
-          )
-        ) ,
-        'financial_type_id' => array(
+          ]
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_grant',
@@ -446,45 +454,49 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'bao' => 'CRM_Grant_BAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -492,10 +504,11 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'grant', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'grant', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -503,32 +516,38 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'grant', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'grant', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_grant_type_id' => array(
+    $indices = [
+      'index_grant_type_id' => [
         'name' => 'index_grant_type_id',
-        'field' => array(
+        'field' => [
           0 => 'grant_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_grant::0::grant_type_id',
-      ) ,
-      'index_status_id' => array(
+      ],
+      'index_status_id' => [
         'name' => 'index_status_id',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_grant::0::status_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Grant/StateMachine/Search.php b/civicrm/CRM/Grant/StateMachine/Search.php
index 2b387d63b0..549db4e654 100644
--- a/civicrm/CRM/Grant/StateMachine/Search.php
+++ b/civicrm/CRM/Grant/StateMachine/Search.php
@@ -82,7 +82,7 @@ class CRM_Grant_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Logging/Schema.php b/civicrm/CRM/Logging/Schema.php
index 4551b89a64..e91f02d52f 100644
--- a/civicrm/CRM/Logging/Schema.php
+++ b/civicrm/CRM/Logging/Schema.php
@@ -444,7 +444,7 @@ AND    (TABLE_NAME LIKE 'log_civicrm_%' $nonStandardTableNameString )
     $line = preg_grep("/^  `$col` /", $createQuery);
     $line = rtrim(array_pop($line), ',');
     // CRM-11179
-    $line = $this->fixTimeStampAndNotNullSQL($line);
+    $line = self::fixTimeStampAndNotNullSQL($line);
     return $line;
   }
 
@@ -484,9 +484,12 @@ AND    (TABLE_NAME LIKE 'log_civicrm_%' $nonStandardTableNameString )
    *
    * @return mixed
    */
-  public function fixTimeStampAndNotNullSQL($query) {
+  public static function fixTimeStampAndNotNullSQL($query) {
+    $query = str_ireplace("TIMESTAMP() NOT NULL", "TIMESTAMP NULL", $query);
     $query = str_ireplace("TIMESTAMP NOT NULL", "TIMESTAMP NULL", $query);
+    $query = str_ireplace("DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP()", '', $query);
     $query = str_ireplace("DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", '', $query);
+    $query = str_ireplace("DEFAULT CURRENT_TIMESTAMP()", '', $query);
     $query = str_ireplace("DEFAULT CURRENT_TIMESTAMP", '', $query);
     $query = str_ireplace("NOT NULL", '', $query);
     return $query;
diff --git a/civicrm/CRM/Mailing/BAO/Mailing.php b/civicrm/CRM/Mailing/BAO/Mailing.php
index fab0bcb82d..5d954fdfb0 100644
--- a/civicrm/CRM/Mailing/BAO/Mailing.php
+++ b/civicrm/CRM/Mailing/BAO/Mailing.php
@@ -96,59 +96,289 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
   /**
    * @deprecated
    *
-   * @param int $job_id
-   * @param int $mailing_id
+   * @param int $mailingID
    *
    * @return int
    */
-  public static function getRecipientsCount($job_id, $mailing_id = NULL) {
-    // need this for backward compatibility, so we can get count for old mailings
-    // please do not use this function if possible.
-    $eq = self::getRecipients($job_id, $mailing_id);
-    return $eq->N;
+  public static function getRecipientsCount($mailingID) {
+    //rebuild the recipients
+    self::getRecipients($mailingID);
+
+    return civicrm_api3('MailingRecipients', 'getcount', array('mailing_id' => $mailingID));
   }
 
   /**
-   * note that $job_id is used only as a variable in the temp table construction
-   * and does not play a role in the queries generated.
-   * @param int $job_id
-   *   (misnomer) a nonce value used to name temporary tables.
-   * @param int $mailing_id
-   * @param bool $storeRecipients
-   * @param bool $dedupeEmail
-   * @param null $mode
+   * This function retrieve recipients of selected mailing groups.
    *
-   * @return CRM_Mailing_Event_BAO_Queue|string
+   * @param int $mailingID
+   *
+   * @return void
    */
-  public static function getRecipients(
-    $job_id,
-    $mailing_id = NULL,
-    $storeRecipients = FALSE,
-    $dedupeEmail = FALSE,
-    $mode = NULL) {
-    $mailingGroup = new CRM_Mailing_DAO_MailingGroup();
+  public static function getRecipients($mailingID) {
+    // load mailing object
+    $mailingObj = new self();
+    $mailingObj->id = $mailingID;
+    $mailingObj->find(TRUE);
 
     $mailing = CRM_Mailing_BAO_Mailing::getTableName();
-    $job = CRM_Mailing_BAO_MailingJob::getTableName();
-    $mg = CRM_Mailing_DAO_MailingGroup::getTableName();
-    $eq = CRM_Mailing_Event_DAO_Queue::getTableName();
+    $contact = CRM_Contact_DAO_Contact::getTableName();
+    $isSMSmode = (!CRM_Utils_System::isNull($mailingObj->sms_provider_id));
 
-    $email = CRM_Core_DAO_Email::getTableName();
-    if ($mode == 'sms') {
-      $phone = CRM_Core_DAO_Phone::getTableName();
+    $mailingGroup = new CRM_Mailing_DAO_MailingGroup();
+    $recipientsGroup = $excludeSmartGroupIDs = $includeSmartGroupIDs = $priorMailingIDs = array();
+    $dao = CRM_Utils_SQL_Select::from('civicrm_mailing_group')
+             ->select('GROUP_CONCAT(entity_id SEPARATOR ",") as group_ids, group_type, entity_table')
+             ->where('mailing_id = #mailing_id AND entity_table IN ("civicrm_group", "civicrm_mailing")')
+             ->groupBy(array('group_type', 'entity_table'))
+             ->param('#mailing_id', $mailingID)
+             ->execute();
+    while ($dao->fetch()) {
+      if ($dao->entity_table == 'civicrm_mailing') {
+        $priorMailingIDs[$dao->group_type] = explode(',', $dao->group_ids);
+      }
+      else {
+        $recipientsGroup[$dao->group_type] = explode(',', $dao->group_ids);
+      }
     }
-    $contact = CRM_Contact_DAO_Contact::getTableName();
 
-    $group = CRM_Contact_DAO_Group::getTableName();
-    $g2contact = CRM_Contact_DAO_GroupContact::getTableName();
+    // there is no need to proceed further if no mailing group is selected to include recipients,
+    // but before return clear the mailing recipients populated earlier since as per current params no group is selected
+    if (empty($recipientsGroup['Include']) && empty($priorMailingIDs['Include'])) {
+      CRM_Core_DAO::executeQuery(" DELETE FROM civicrm_mailing_recipients WHERE  mailing_id = %1 ", array(1 => array($mailingID, 'Integer')));
+      return;
+    }
+
+    list($location_filter, $order_by) = self::getLocationFilterAndOrderBy($mailingObj->email_selection_method, $mailingObj->location_type_id);
 
-    $m = new CRM_Mailing_DAO_Mailing();
-    $m->id = $mailing_id;
-    $m->find(TRUE);
+    // get all the saved searches AND hierarchical groups
+    // and load them in the cache
+    foreach ($recipientsGroup as $groupType => $groupIDs) {
+      $groupDAO = CRM_Utils_SQL_Select::from('civicrm_group')
+        ->where('id IN (#groupIDs)')
+        ->where('saved_search_id != 0 OR saved_search_id IS NOT NULL OR children IS NOT NULL')
+        ->param('#groupIDs', $groupIDs)
+        ->execute();
+      while ($groupDAO->fetch()) {
+        if ($groupDAO->cache_date == NULL) {
+          CRM_Contact_BAO_GroupContactCache::load($groupDAO);
+        }
+        if ($groupType == 'Include') {
+          $includeSmartGroupIDs[] = $groupDAO->id;
+        }
+        else {
+          $excludeSmartGroupIDs[] = $groupDAO->id;
+        }
+      }
+    }
 
-    $email_selection_method = $m->email_selection_method;
-    $location_type_id = $m->location_type_id;
+    // Create a temp table for contact exclusion.
+    $excludeTempTablename = "excluded_recipients_temp" . substr(sha1(rand()), 0, 4);
+    $includedTempTablename = "included_recipients_temp" . substr(sha1(rand()), 0, 4);
+    $mailingGroup->query(
+      "CREATE TEMPORARY TABLE $excludeTempTablename
+            (contact_id int primary key)
+            ENGINE=HEAP"
+    );
+    // populate exclude temp-table with recipients to be excluded from the list
+    //  on basis of selected recipients groups and/or previous mailing
+    if (!empty($recipientsGroup['Exclude'])) {
+      CRM_Utils_SQL_Select::from('civicrm_group_contact')
+        ->select('DISTINCT contact_id')
+        ->where('status = "Added" AND group_id IN (#groups)')
+        ->param('#groups', $recipientsGroup['Exclude'])
+        ->insertInto($excludeTempTablename, array('contact_id'))
+        ->execute();
+
+      if (count($excludeSmartGroupIDs)) {
+        CRM_Utils_SQL_Select::from('civicrm_group_contact_cache')
+          ->select('contact_id')
+          ->where('group_id IN (#groups)')
+          ->param('#groups', $excludeSmartGroupIDs)
+          ->insertIgnoreInto($excludeTempTablename, array('contact_id'))
+          ->execute();
+      }
+    }
+    if (!empty($priorMailingIDs['Exclude'])) {
+      CRM_Utils_SQL_Select::from('civicrm_mailing_recipients')
+        ->select('DISTINCT contact_id')
+        ->where('mailing_id IN (#mailings)')
+        ->param('#mailings', $priorMailingIDs['Exclude'])
+        ->insertIgnoreInto($excludeTempTablename, array('contact_id'))
+        ->execute();
+    }
+
+    if (!empty($recipientsGroup['Base'])) {
+      CRM_Utils_SQL_Select::from('civicrm_group_contact')
+        ->select('DISTINCT contact_id')
+        ->where('status = "Removed" AND group_id IN (#groups)')
+        ->param('#groups', $recipientsGroup['Base'])
+        ->insertIgnoreInto($excludeTempTablename, array('contact_id'))
+        ->execute();
+    }
+
+    $entityColumn = $isSMSmode ? 'phone_id' : 'email_id';
+    $entityTable = $isSMSmode ? CRM_Core_DAO_Phone::getTableName() : CRM_Core_DAO_Email::getTableName();
+    // Get all the group contacts we want to include.
+    $mailingGroup->query(
+      "CREATE TEMPORARY TABLE $includedTempTablename
+            (contact_id int primary key, $entityColumn int)
+            ENGINE=HEAP"
+    );
 
+    if ($isSMSmode) {
+      $includeFilters = array(
+        "mg.group_type = 'Include'",
+        'mg.search_id IS NULL',
+        "$contact.is_opt_out = 0",
+        "$contact.is_deceased <> 1",
+        "$entityTable.phone_type_id = " . CRM_Core_PseudoConstant::getKey('CRM_Core_DAO_Phone', 'phone_type_id', 'Mobile'),
+        "$entityTable.phone IS NOT NULL",
+        "$entityTable.phone != ''",
+        "$entityTable.is_primary = 1",
+        "mg.mailing_id = #mailingID",
+        'temp.contact_id IS null',
+      );
+      $order_by = array("$entityTable.is_primary = 1");
+    }
+    else {
+      // Criterias to filter recipients that need to be included
+      $includeFilters = array(
+        "$contact.do_not_email = 0",
+        "$contact.is_opt_out = 0",
+        "$contact.is_deceased <> 1",
+        $location_filter,
+        "$entityTable.email IS NOT NULL",
+        "$entityTable.email != ''",
+        "mg.mailing_id = #mailingID",
+        'temp.contact_id IS NULL',
+      );
+    }
+
+    // Get the group contacts, but only those which are not in the
+    // exclusion temp table.
+    if (!empty($recipientsGroup['Include'])) {
+      CRM_Utils_SQL_Select::from($entityTable)
+        ->select("$contact.id as contact_id, $entityTable.id as $entityColumn")
+        ->join($contact, " INNER JOIN $contact ON $entityTable.contact_id = $contact.id ")
+        ->join('gc', " INNER JOIN civicrm_group_contact gc ON gc.contact_id = $contact.id ")
+        ->join('mg', " INNER JOIN civicrm_mailing_group mg  ON  gc.group_id = mg.entity_id AND mg.search_id IS NULL ")
+        ->join('temp', " LEFT JOIN $excludeTempTablename temp ON $contact.id = temp.contact_id ")
+        ->where('gc.group_id IN (#groups) AND gc.status = "Added"')
+        ->where($includeFilters)
+        ->groupBy(array("$contact.id", "$entityTable.id"))
+        ->replaceInto($includedTempTablename, array('contact_id', $entityColumn))
+        ->param('#groups', $recipientsGroup['Include'])
+        ->param('#mailingID', $mailingID)
+        ->execute();
+    }
+
+    // Get recipients selected in prior mailings
+    if (!empty($priorMailingIDs['Include'])) {
+      CRM_Utils_SQL_Select::from('civicrm_mailing_recipients')
+        ->select("contact_id, $entityColumn")
+        ->where('mailing_id IN (#mailings)')
+        ->param('#mailings', $priorMailingIDs['Include'])
+        ->insertIgnoreInto($includedTempTablename, array('contact_id', $entityColumn))
+        ->execute();
+    }
+
+    if (count($includeSmartGroupIDs)) {
+      $query = CRM_Utils_SQL_Select::from($contact)
+        ->select("$contact.id as contact_id, $entityTable.id as $entityColumn")
+        ->join($entityTable, " INNER JOIN $entityTable ON $entityTable.contact_id = $contact.id ")
+        ->join('gc', " INNER JOIN civicrm_group_contact_cache gc ON $contact.id = gc.contact_id ")
+        ->join('mg', " INNER JOIN civicrm_mailing_group mg  ON  gc.group_id = mg.entity_id AND mg.search_id IS NULL ")
+        ->join('temp', " LEFT JOIN $excludeTempTablename temp ON $contact.id = temp.contact_id ")
+        ->where('gc.group_id IN (#groups)')
+        ->where($includeFilters)
+        ->orderBy($order_by)
+        ->replaceInto($includedTempTablename, array('contact_id', $entityColumn))
+        ->param('#groups', $includeSmartGroupIDs)
+        ->param('#mailingID', $mailingID)
+        ->execute();
+    }
+
+    // Construct the filtered search queries.
+    $dao = CRM_Utils_SQL_Select::from('civicrm_mailing_group')
+            ->select('search_id, search_args, entity_id')
+            ->where('search_id IS NOT NULL AND mailing_id = #mailingID')
+            ->param('#mailingID', $mailingID)
+            ->execute();
+    while ($dao->fetch()) {
+      $customSQL = CRM_Contact_BAO_SearchCustom::civiMailSQL($dao->search_id,
+        $dao->search_args,
+        $dao->entity_id
+      );
+      $query = "REPLACE INTO {$includedTempTablename} ($entityColumn, contact_id) {$customSQL} ";
+      $mailingGroup->query($query);
+    }
+
+    list($aclFrom, $aclWhere) = CRM_Contact_BAO_Contact_Permission::cacheClause();
+
+    // clear all the mailing recipients before populating
+    CRM_Core_DAO::executeQuery(" DELETE FROM civicrm_mailing_recipients WHERE  mailing_id = %1 ", array(1 => array($mailingID, 'Integer')));
+
+    $selectClause = array('#mailingID', 'i.contact_id', "i.$entityColumn");
+    // CRM-3975
+    $orderBy = array("i.contact_id", "i.$entityColumn");
+
+    $query = CRM_Utils_SQL_Select::from('civicrm_contact contact_a')->join('i', " INNER JOIN {$includedTempTablename} i ON contact_a.id = i.contact_id ");
+    if (!$isSMSmode && $mailingObj->dedupe_email) {
+      $orderBy = array("MIN(i.contact_id)", "MIN(i.$entityColumn)");
+      $query = $query->join('e', " INNER JOIN civicrm_email e ON e.id = i.email_id ")->groupBy("e.email");
+      if (CRM_Utils_SQL::supportsFullGroupBy()) {
+        $selectClause = array('#mailingID', 'ANY_VALUE(i.contact_id) contact_id', "ANY_VALUE(i.$entityColumn) $entityColumn", "e.email");
+      }
+    }
+
+    $query = $query->select($selectClause)->orderBy($orderBy);
+    if (!CRM_Utils_System::isNull($aclFrom)) {
+      $query = $query->from('acl', $aclFrom);
+    }
+    if (!CRM_Utils_System::isNull($aclWhere)) {
+      $query = $query->where($aclWhere);
+    }
+
+    // this mean if dedupe_email AND the mysql 5.7 supports ONLY_FULL_GROUP_BY mode then as
+    //  SELECT must contain 'email' column as its used in GROUP BY, so in order to resolve This
+    //  here the whole SQL code is wrapped up in FROM table i and not selecting email column for INSERT
+    if ($key = array_search('e.email', $selectClause)) {
+      unset($selectClause[$key]);
+      $sql = $query->toSQL();
+      CRM_Utils_SQL_Select::from("( $sql ) AS i ")
+        ->select($selectClause)
+        ->insertInto('civicrm_mailing_recipients', array('mailing_id', 'contact_id', $entityColumn))
+        ->param('#mailingID', $mailingID)
+        ->execute();
+    }
+    else {
+      $query->insertInto('civicrm_mailing_recipients', array('mailing_id', 'contact_id', $entityColumn))
+        ->param('#mailingID', $mailingID)
+        ->execute();
+    }
+
+    // if we need to add all emails marked bulk, do it as a post filter
+    // on the mailing recipients table
+    if (CRM_Core_BAO_Email::isMultipleBulkMail()) {
+      self::addMultipleEmails($mailingID);
+    }
+
+    // Delete the temp table.
+    $mailingGroup->reset();
+    $mailingGroup->query(" DROP TEMPORARY TABLE $excludeTempTablename ");
+    $mailingGroup->query(" DROP TEMPORARY TABLE $includedTempTablename ");
+  }
+
+  /**
+   * Function to retrieve location filter and order by clause later used by SQL query that is used to fetch and include mailing recipients
+   *
+   * @param string $email_selection_method
+   * @param int $location_type_id
+   *
+   * @return array
+   */
+  public static function getLocationFilterAndOrderBy($email_selection_method, $location_type_id) {
+    $email = CRM_Core_DAO_Email::getTableName();
     // Note: When determining the ORDER that results are returned, it's
     // the record that comes last that counts. That's because we are
     // INSERT'ing INTO a table with a primary id so that last record
@@ -158,19 +388,18 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
         $location_filter = "($email.location_type_id != $location_type_id)";
         // If there is more than one email that doesn't match the location,
         // prefer the one marked is_bulkmail, followed by is_primary.
-        $order_by = "ORDER BY $email.is_bulkmail, $email.is_primary";
+        $orderBy = array("$email.is_bulkmail", "$email.is_primary");
         break;
 
       case 'location-only':
         $location_filter = "($email.location_type_id = $location_type_id)";
         // If there is more than one email of the desired location, prefer
         // the one marked is_bulkmail, followed by is_primary.
-        $order_by = "ORDER BY $email.is_bulkmail, $email.is_primary";
+        $orderBy = array("$email.is_bulkmail", "$email.is_primary");
         break;
 
       case 'location-prefer':
         $location_filter = "($email.is_bulkmail = 1 OR $email.is_primary = 1 OR $email.location_type_id = $location_type_id)";
-
         // ORDER BY is more complicated because we have to set an arbitrary
         // order that prefers the location that we want. We do that using
         // the FIELD function. For more info, see:
@@ -180,404 +409,17 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
         // types are left out, so they will be assigned the value 0. That
         // means, they will all be equally tied for first place, with our
         // location being last.
-        $order_by = "ORDER BY FIELD($email.location_type_id, $location_type_id), $email.is_bulkmail, $email.is_primary";
+        $orderBy = array("FIELD($email.location_type_id, $location_type_id)", "$email.is_bulkmail", "$email.is_primary");
         break;
 
       case 'automatic':
         // fall through to default
       default:
         $location_filter = "($email.is_bulkmail = 1 OR $email.is_primary = 1)";
-        $order_by = "ORDER BY $email.is_bulkmail";
-    }
-
-    // Create a temp table for contact exclusion.
-    $mailingGroup->query(
-      "CREATE TEMPORARY TABLE X_$job_id
-            (contact_id int primary key)
-            ENGINE=HEAP"
-    );
-
-    // Add all the members of groups excluded from this mailing to the temp
-    // table.
-
-    $excludeSubGroup = "INSERT INTO        X_$job_id (contact_id)
-                    SELECT  DISTINCT    $g2contact.contact_id
-                    FROM                $g2contact
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id AND $mg.entity_table = '$group'
-                    WHERE
-                                        $mg.mailing_id = {$mailing_id}
-                        AND             $g2contact.status = 'Added'
-                        AND             $mg.group_type = 'Exclude'";
-    $mailingGroup->query($excludeSubGroup);
-
-    // Add all unsubscribe members of base group from this mailing to the temp
-    // table.
-
-    $unSubscribeBaseGroup = "INSERT INTO        X_$job_id (contact_id)
-                    SELECT  DISTINCT    $g2contact.contact_id
-                    FROM                $g2contact
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id AND $mg.entity_table = '$group'
-                    WHERE
-                                        $mg.mailing_id = {$mailing_id}
-                        AND             $g2contact.status = 'Removed'
-                        AND             $mg.group_type = 'Base'";
-    $mailingGroup->query($unSubscribeBaseGroup);
-
-    // Add all the (intended) recipients of an excluded prior mailing to
-    // the temp table.
-
-    $excludeSubMailing = "INSERT IGNORE INTO X_$job_id (contact_id)
-                    SELECT  DISTINCT    $eq.contact_id
-                    FROM                $eq
-                    INNER JOIN          $job
-                            ON          $eq.job_id = $job.id
-                    INNER JOIN          $mg
-                            ON          $job.mailing_id = $mg.entity_id AND $mg.entity_table = '$mailing'
-                    WHERE
-                                        $mg.mailing_id = {$mailing_id}
-                        AND             $mg.group_type = 'Exclude'";
-    $mailingGroup->query($excludeSubMailing);
-
-    // get all the saved searches AND hierarchical groups
-    // and load them in the cache
-    $sql = "
-SELECT     $group.id, $group.cache_date, $group.saved_search_id, $group.children
-FROM       $group
-INNER JOIN $mg ON $mg.entity_id = $group.id
-WHERE      $mg.entity_table = '$group'
-  AND      $mg.group_type = 'Exclude'
-  AND      $mg.mailing_id = {$mailing_id}
-  AND      ( saved_search_id != 0
-   OR        saved_search_id IS NOT NULL
-   OR        children IS NOT NULL )
-";
-
-    $groupDAO = CRM_Core_DAO::executeQuery($sql);
-    while ($groupDAO->fetch()) {
-      if ($groupDAO->cache_date == NULL) {
-        CRM_Contact_BAO_GroupContactCache::load($groupDAO);
-      }
-
-      $smartGroupExclude = "
-INSERT IGNORE INTO X_$job_id (contact_id)
-SELECT c.contact_id
-FROM   civicrm_group_contact_cache c
-WHERE  c.group_id = {$groupDAO->id}
-";
-      $mailingGroup->query($smartGroupExclude);
-    }
-
-    $tempColumn = 'email_id';
-    if ($mode == 'sms') {
-      $tempColumn = 'phone_id';
-    }
-
-    // Get all the group contacts we want to include.
-
-    $mailingGroup->query(
-      "CREATE TEMPORARY TABLE I_$job_id
-            ($tempColumn int, contact_id int primary key)
-            ENGINE=HEAP"
-    );
-
-    // Get the group contacts, but only those which are not in the
-    // exclusion temp table.
-
-    $query = "REPLACE INTO       I_$job_id (email_id, contact_id)
-
-                    SELECT      $email.id as email_id,
-                                        $contact.id as contact_id
-                    FROM                $email
-                    INNER JOIN          $contact
-                            ON          $email.contact_id = $contact.id
-                    INNER JOIN          $g2contact
-                            ON          $contact.id = $g2contact.contact_id
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id
-                                AND     $mg.entity_table = '$group'
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                       ($mg.group_type = 'Include')
-                        AND             $mg.search_id IS NULL
-                        AND             $g2contact.status = 'Added'
-                        AND             $contact.do_not_email = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $location_filter
-                        AND             $email.email IS NOT NULL
-                        AND             $email.email != ''
-                        AND             $email.on_hold = 0
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null
-                        GROUP BY $email.id, $contact.id
-                    $order_by";
-
-    if ($mode == 'sms') {
-      $phoneTypes = CRM_Core_OptionGroup::values('phone_type', TRUE, FALSE, FALSE, NULL, 'name');
-      $query = "REPLACE INTO       I_$job_id (phone_id, contact_id)
-
-                    SELECT DISTINCT     $phone.id as phone_id,
-                                        $contact.id as contact_id
-                    FROM                $phone
-                    INNER JOIN          $contact
-                            ON          $phone.contact_id = $contact.id
-                    INNER JOIN          $g2contact
-                            ON          $contact.id = $g2contact.contact_id
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id
-                                AND     $mg.entity_table = '$group'
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                       ($mg.group_type = 'Include')
-                        AND             $mg.search_id IS NULL
-                        AND             $g2contact.status = 'Added'
-                        AND             $contact.do_not_sms = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $phone.phone_type_id = {$phoneTypes['Mobile']}
-                        AND             $phone.phone IS NOT NULL
-                        AND             $phone.phone != ''
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null";
-    }
-    $mailingGroup->query($query);
-
-    // Query prior mailings.
-
-    $query = "REPLACE INTO       I_$job_id (email_id, contact_id)
-                    SELECT      $email.id as email_id,
-                                        $contact.id as contact_id
-                    FROM                $email
-                    INNER JOIN          $contact
-                            ON          $email.contact_id = $contact.id
-                    INNER JOIN          $eq
-                            ON          $eq.contact_id = $contact.id
-                    INNER JOIN          $job
-                            ON          $eq.job_id = $job.id
-                    INNER JOIN          $mg
-                            ON          $job.mailing_id = $mg.entity_id AND $mg.entity_table = '$mailing'
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                       ($mg.group_type = 'Include')
-                        AND             $contact.do_not_email = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $location_filter
-                        AND             $email.on_hold = 0
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null
-                        GROUP BY $email.id, $contact.id
-                    $order_by";
-
-    if ($mode == 'sms') {
-      $query = "REPLACE INTO       I_$job_id (phone_id, contact_id)
-                    SELECT DISTINCT     $phone.id as phone_id,
-                                        $contact.id as contact_id
-                    FROM                $phone
-                    INNER JOIN          $contact
-                            ON          $phone.contact_id = $contact.id
-                    INNER JOIN          $eq
-                            ON          $eq.contact_id = $contact.id
-                    INNER JOIN          $job
-                            ON          $eq.job_id = $job.id
-                    INNER JOIN          $mg
-                            ON          $job.mailing_id = $mg.entity_id AND $mg.entity_table = '$mailing'
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                       ($mg.group_type = 'Include')
-                        AND             $contact.do_not_sms = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $phone.phone_type_id = {$phoneTypes['Mobile']}
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null";
-    }
-    $mailingGroup->query($query);
-
-    $sql = "
-SELECT     $group.id, $group.cache_date, $group.saved_search_id, $group.children
-FROM       $group
-INNER JOIN $mg ON $mg.entity_id = $group.id
-WHERE      $mg.entity_table = '$group'
-  AND      $mg.group_type = 'Include'
-  AND      $mg.search_id IS NULL
-  AND      $mg.mailing_id = {$mailing_id}
-  AND      ( saved_search_id != 0
-   OR        saved_search_id IS NOT NULL
-   OR        children IS NOT NULL )
-";
-
-    $groupDAO = CRM_Core_DAO::executeQuery($sql);
-    while ($groupDAO->fetch()) {
-      if ($groupDAO->cache_date == NULL) {
-        CRM_Contact_BAO_GroupContactCache::load($groupDAO);
-      }
-
-      $smartGroupInclude = "
-REPLACE INTO I_$job_id (email_id, contact_id)
-SELECT     civicrm_email.id as email_id, c.id as contact_id
-FROM       civicrm_contact c
-INNER JOIN civicrm_email                ON civicrm_email.contact_id         = c.id
-INNER JOIN civicrm_group_contact_cache gc ON gc.contact_id        = c.id
-LEFT  JOIN X_$job_id                      ON X_$job_id.contact_id = c.id
-WHERE      gc.group_id = {$groupDAO->id}
-  AND      c.do_not_email = 0
-  AND      c.is_opt_out = 0
-  AND      c.is_deceased <> 1
-  AND      $location_filter
-  AND      civicrm_email.on_hold = 0
-  AND      X_$job_id.contact_id IS null
-$order_by
-";
-      if ($mode == 'sms') {
-        $smartGroupInclude = "
-REPLACE INTO I_$job_id (phone_id, contact_id)
-SELECT     p.id as phone_id, c.id as contact_id
-FROM       civicrm_contact c
-INNER JOIN civicrm_phone p                ON p.contact_id         = c.id
-INNER JOIN civicrm_group_contact_cache gc ON gc.contact_id        = c.id
-LEFT  JOIN X_$job_id                      ON X_$job_id.contact_id = c.id
-WHERE      gc.group_id = {$groupDAO->id}
-  AND      c.do_not_sms = 0
-  AND      c.is_opt_out = 0
-  AND      c.is_deceased <> 1
-  AND      p.phone_type_id = {$phoneTypes['Mobile']}
-  AND      X_$job_id.contact_id IS null";
-      }
-      $mailingGroup->query($smartGroupInclude);
-    }
-
-    // Construct the filtered search queries.
-    $query = "
-SELECT search_id, search_args, entity_id
-FROM   $mg
-WHERE  $mg.search_id IS NOT NULL
-AND    $mg.mailing_id = {$mailing_id}
-";
-    $dao = CRM_Core_DAO::executeQuery($query);
-    while ($dao->fetch()) {
-      $customSQL = CRM_Contact_BAO_SearchCustom::civiMailSQL($dao->search_id,
-        $dao->search_args,
-        $dao->entity_id
-      );
-      $query = "REPLACE INTO       I_$job_id ({$tempColumn}, contact_id)
-                         $customSQL";
-      $mailingGroup->query($query);
+        $orderBy = array("$email.is_bulkmail");
     }
 
-    // Get the emails with only location override.
-
-    $query = "REPLACE INTO       I_$job_id (email_id, contact_id)
-                    SELECT              $email.id as local_email_id,
-                                        $contact.id as contact_id
-                    FROM                $email
-                    INNER JOIN          $contact
-                            ON          $email.contact_id = $contact.id
-                    INNER JOIN          $g2contact
-                            ON          $contact.id = $g2contact.contact_id
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                        $mg.entity_table = '$group'
-                        AND             $mg.group_type = 'Include'
-                        AND             $g2contact.status = 'Added'
-                        AND             $contact.do_not_email = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $location_filter
-                        AND             $email.on_hold = 0
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null
-                        GROUP BY $email.id, $contact.id
-                    $order_by";
-    if ($mode == "sms") {
-      $query = "REPLACE INTO       I_$job_id (phone_id, contact_id)
-                    SELECT DISTINCT     $phone.id as phone_id,
-                                        $contact.id as contact_id
-                    FROM                $phone
-                    INNER JOIN          $contact
-                            ON          $phone.contact_id = $contact.id
-                    INNER JOIN          $g2contact
-                            ON          $contact.id = $g2contact.contact_id
-                    INNER JOIN          $mg
-                            ON          $g2contact.group_id = $mg.entity_id
-                    LEFT JOIN           X_$job_id
-                            ON          $contact.id = X_$job_id.contact_id
-                    WHERE
-                                        $mg.entity_table = '$group'
-                        AND             $mg.group_type = 'Include'
-                        AND             $g2contact.status = 'Added'
-                        AND             $contact.do_not_sms = 0
-                        AND             $contact.is_opt_out = 0
-                        AND             $contact.is_deceased <> 1
-                        AND             $phone.phone_type_id = {$phoneTypes['Mobile']}
-                        AND             $mg.mailing_id = {$mailing_id}
-                        AND             X_$job_id.contact_id IS null";
-    }
-    $mailingGroup->query($query);
-
-    $eq = new CRM_Mailing_Event_BAO_Queue();
-
-    list($aclFrom, $aclWhere) = CRM_Contact_BAO_Contact_Permission::cacheClause();
-    $aclWhere = $aclWhere ? "WHERE {$aclWhere}" : '';
-
-    if ($storeRecipients && $mailing_id) {
-      $sql = "
-DELETE
-FROM   civicrm_mailing_recipients
-WHERE  mailing_id = %1
-";
-      $params = array(1 => array($mailing_id, 'Integer'));
-      CRM_Core_DAO::executeQuery($sql, $params);
-
-      $selectClause = array('%1', 'i.contact_id', "i.{$tempColumn}");
-      $select = "SELECT " . implode(', ', $selectClause);
-      // CRM-3975
-      $groupBy = $groupJoin = '';
-      $orderBy = "i.contact_id, i.{$tempColumn}";
-      if ($dedupeEmail) {
-        $orderBy = "MIN(i.contact_id), MIN(i.{$tempColumn})";
-        $groupJoin = " INNER JOIN civicrm_email e ON e.id = i.email_id";
-        $groupBy = " GROUP BY e.email ";
-        $select = CRM_Contact_BAO_Query::appendAnyValueToSelect($selectClause, 'e.email');
-      }
-
-      $sql = "
-INSERT INTO civicrm_mailing_recipients ( mailing_id, contact_id, {$tempColumn} )
-{$select}
-FROM       civicrm_contact contact_a
-INNER JOIN I_$job_id i ON contact_a.id = i.contact_id
-           $groupJoin
-           {$aclFrom}
-           {$aclWhere}
-           $groupBy
-ORDER BY   {$orderBy}
-";
-
-      CRM_Core_DAO::executeQuery($sql, $params);
-
-      // if we need to add all emails marked bulk, do it as a post filter
-      // on the mailing recipients table
-      if (CRM_Core_BAO_Email::isMultipleBulkMail()) {
-        self::addMultipleEmails($mailing_id);
-      }
-    }
-
-    // Delete the temp table.
-
-    $mailingGroup->reset();
-    $mailingGroup->query("DROP TEMPORARY TABLE X_$job_id");
-    $mailingGroup->query("DROP TEMPORARY TABLE I_$job_id");
-
-    return $eq;
+    return array($location_filter, $orderBy);
   }
 
   /**
@@ -1717,7 +1559,7 @@ ORDER BY   civicrm_email.is_bulkmail DESC
 
       // Get the default from email address, if not provided.
       if (empty($defaults['from_email'])) {
-        $defaultAddress = CRM_Core_OptionGroup::values('from_email_address', NULL, NULL, NULL, ' AND is_default = 1');
+        $defaultAddress = CRM_Core_BAO_Domain::getNameAndEmail(TRUE, TRUE);
         foreach ($defaultAddress as $id => $value) {
           if (preg_match('/"(.*)" <(.*)>/', $value, $match)) {
             $defaults['from_email'] = $match[2];
@@ -1801,18 +1643,16 @@ ORDER BY   civicrm_email.is_bulkmail DESC
         $job->scheduled_date = NULL;
         $job->save();
       }
-
-      // Populate the recipients.
-      if (empty($params['_skip_evil_bao_auto_recipients_'])) {
-        // check if it's sms
-        $mode = $mailing->sms_provider_id && $mailing->sms_provider_id != 'null' ? 'sms' : NULL;
-        self::getRecipients($job->id, $mailing->id, TRUE, $mailing->dedupe_email, $mode);
-      }
       // Schedule the job now that it has recipients.
       $job->scheduled_date = $params['scheduled_date'];
       $job->save();
     }
 
+    // Populate the recipients.
+    if (empty($params['_skip_evil_bao_auto_recipients_'])) {
+      self::getRecipients($mailing->id);
+    }
+
     return $mailing;
   }
 
@@ -2211,7 +2051,7 @@ ORDER BY   civicrm_email.is_bulkmail DESC
       $report['event_totals']['queue'] = $newTableSize;
     }
     else {
-      $report['event_totals']['queue'] = self::getRecipientsCount($mailing_id, $mailing_id);
+      $report['event_totals']['queue'] = self::getRecipientsCount($mailing_id);
     }
 
     if (!empty($report['event_totals']['queue'])) {
diff --git a/civicrm/CRM/Mailing/BAO/MailingAB.php b/civicrm/CRM/Mailing/BAO/MailingAB.php
index 21a80ada55..535593646c 100644
--- a/civicrm/CRM/Mailing/BAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/BAO/MailingAB.php
@@ -147,7 +147,7 @@ class CRM_Mailing_BAO_MailingAB extends CRM_Mailing_DAO_MailingAB {
    * @param CRM_Mailing_DAO_MailingAB $dao
    */
   public static function distributeRecipients(CRM_Mailing_DAO_MailingAB $dao) {
-    CRM_Mailing_BAO_Mailing::getRecipients($dao->mailing_id_a, $dao->mailing_id_a, TRUE);
+    CRM_Mailing_BAO_Mailing::getRecipients($dao->mailing_id_a);
 
     //calculate total number of random recipients for mail C from group_percentage selected
     $totalCount = CRM_Mailing_BAO_Recipients::mailingSize($dao->mailing_id_a);
diff --git a/civicrm/CRM/Mailing/BAO/MailingJob.php b/civicrm/CRM/Mailing/BAO/MailingJob.php
index 9818bacd2f..3fe82a511b 100644
--- a/civicrm/CRM/Mailing/BAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/BAO/MailingJob.php
@@ -69,10 +69,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
     $job->scheduled_date = $params['scheduled_date'];
     $job->is_test = $params['is_test'];
     $job->save();
-    $mailing = new CRM_Mailing_BAO_Mailing();
-    $mailing->id = $params['mailing_id'];
-    if ($mailing->id && $mailing->find(TRUE)) {
-      $mailing->getRecipients($job->id, $params['mailing_id'], TRUE, $mailing->dedupe_email);
+    if ($params['mailing_id']) {
+      CRM_Mailing_BAO_Mailing::getRecipients($params['mailing_id']);
       return $job;
     }
     else {
diff --git a/civicrm/CRM/Mailing/DAO/BouncePattern.php b/civicrm/CRM/Mailing/DAO/BouncePattern.php
index 4901666cca..597200636e 100644
--- a/civicrm/CRM/Mailing/DAO/BouncePattern.php
+++ b/civicrm/CRM/Mailing/DAO/BouncePattern.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,96 +8,102 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:d913b0da4c5cbb03a7d23cc28e3d4dcd)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_BouncePattern constructor.
+ * Database access object for the BouncePattern entity.
  */
 class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_bounce_pattern';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Type of bounce
    *
    * @var int unsigned
    */
   public $bounce_type_id;
+
   /**
    * A regexp to match a message to a bounce type
    *
    * @var string
    */
   public $pattern;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_bounce_pattern';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'bounce_type_id', 'civicrm_mailing_bounce_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'bounce_type_id', 'civicrm_mailing_bounce_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Bounce Pattern ID') ,
-          'required' => true,
+          'title' => ts('Bounce Pattern ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_bounce_pattern',
           'entity' => 'BouncePattern',
           'bao' => 'CRM_Mailing_BAO_BouncePattern',
           'localizable' => 0,
-        ) ,
-        'bounce_type_id' => array(
+        ],
+        'bounce_type_id' => [
           'name' => 'bounce_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Bounce Type') ,
+          'title' => ts('Bounce Type'),
           'description' => 'Type of bounce',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_bounce_pattern',
           'entity' => 'BouncePattern',
           'bao' => 'CRM_Mailing_BAO_BouncePattern',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_BounceType',
-        ) ,
-        'pattern' => array(
+        ],
+        'pattern' => [
           'name' => 'pattern',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pattern') ,
+          'title' => ts('Pattern'),
           'description' => 'A regexp to match a message to a bounce type',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -129,40 +111,44 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
           'entity' => 'BouncePattern',
           'bao' => 'CRM_Mailing_BAO_BouncePattern',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_bounce_pattern', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_bounce_pattern', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,15 +168,21 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_bounce_pattern', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_bounce_pattern', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/BounceType.php b/civicrm/CRM/Mailing/DAO/BounceType.php
index 0c358e49d2..458121ddb5 100644
--- a/civicrm/CRM/Mailing/DAO/BounceType.php
+++ b/civicrm/CRM/Mailing/DAO/BounceType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,89 +8,95 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:58e082dadf7a5125e5c34d0f9cffb0f1)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_BounceType constructor.
+ * Database access object for the BounceType entity.
  */
 class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_bounce_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Type of bounce
    *
    * @var string
    */
   public $name;
+
   /**
    * A description of this bounce type
    *
    * @var string
    */
   public $description;
+
   /**
    * Number of bounces of this type required before the email address is put on bounce hold
    *
    * @var int unsigned
    */
   public $hold_threshold;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_bounce_type';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Bounce Type ID') ,
-          'required' => true,
+          'title' => ts('Bounce Type ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_bounce_type',
           'entity' => 'BounceType',
           'bao' => 'CRM_Mailing_DAO_BounceType',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Bounce Type Name') ,
+          'title' => ts('Bounce Type Name'),
           'description' => 'Type of bounce',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 24,
           'size' => CRM_Utils_Type::MEDIUM,
           'table_name' => 'civicrm_mailing_bounce_type',
           'entity' => 'BounceType',
           'bao' => 'CRM_Mailing_DAO_BounceType',
           'localizable' => 0,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Bounce Type Description') ,
+          'title' => ts('Bounce Type Description'),
           'description' => 'A description of this bounce type',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -122,51 +104,55 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
           'entity' => 'BounceType',
           'bao' => 'CRM_Mailing_DAO_BounceType',
           'localizable' => 0,
-        ) ,
-        'hold_threshold' => array(
+        ],
+        'hold_threshold' => [
           'name' => 'hold_threshold',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Hold Threshold') ,
+          'title' => ts('Hold Threshold'),
           'description' => 'Number of bounces of this type required before the email address is put on bounce hold',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_bounce_type',
           'entity' => 'BounceType',
           'bao' => 'CRM_Mailing_DAO_BounceType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -174,10 +160,11 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_bounce_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_bounce_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -185,15 +172,21 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_bounce_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_bounce_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/Component.php b/civicrm/CRM/Mailing/DAO/Component.php
index 589a09268b..636a754aea 100644
--- a/civicrm/CRM/Mailing/DAO/Component.php
+++ b/civicrm/CRM/Mailing/DAO/Component.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,99 +8,108 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:33742feaa53eaba2c4a543c4e5c673ab)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_Component constructor.
+ * Database access object for the Component entity.
  */
 class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_component';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The name of this component
    *
    * @var string
    */
   public $name;
+
   /**
    * Type of Component.
    *
    * @var string
    */
   public $component_type;
+
   /**
-   *
    * @var string
    */
   public $subject;
+
   /**
    * Body of the component in html format.
    *
    * @var text
    */
   public $body_html;
+
   /**
    * Body of the component in text format.
    *
    * @var text
    */
   public $body_text;
+
   /**
    * Is this the default component for this component_type?
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Is this property active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_component';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Component ID') ,
-          'required' => true,
+          'title' => ts('Mailing Component ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_component',
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Component Name') ,
+          'title' => ts('Component Name'),
           'description' => 'The name of this component',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -132,11 +117,11 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-        ) ,
-        'component_type' => array(
+        ],
+        'component_type' => [
           'name' => 'component_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Component Type') ,
+          'title' => ts('Mailing Component Type'),
           'description' => 'Type of Component.',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -144,28 +129,28 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::mailingComponents',
-          )
-        ) ,
-        'subject' => array(
+          ]
+        ],
+        'subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Subject') ,
+          'title' => ts('Subject'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_mailing_component',
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-        ) ,
-        'body_html' => array(
+        ],
+        'body_html' => [
           'name' => 'body_html',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Mailing Component Body HTML') ,
+          'title' => ts('Mailing Component Body HTML'),
           'description' => 'Body of the component in html format.',
           'rows' => 8,
           'cols' => 80,
@@ -173,14 +158,14 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'body_text' => array(
+          ],
+        ],
+        'body_text' => [
           'name' => 'body_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Body Text') ,
+          'title' => ts('Body Text'),
           'description' => 'Body of the component in text format.',
           'rows' => 8,
           'cols' => 80,
@@ -188,63 +173,67 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_default' => array(
+          ],
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Mailing Component is Default?') ,
+          'title' => ts('Mailing Component is Default?'),
           'description' => 'Is this the default component for this component_type?',
           'table_name' => 'civicrm_mailing_component',
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Mailing Component Is Active?') ,
+          'title' => ts('Mailing Component Is Active?'),
           'description' => 'Is this property active?',
           'table_name' => 'civicrm_mailing_component',
           'entity' => 'Component',
           'bao' => 'CRM_Mailing_BAO_Component',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -252,10 +241,11 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_component', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_component', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -263,15 +253,21 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_component', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_component', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/Mailing.php b/civicrm/CRM/Mailing/DAO/Mailing.php
index 5a7f5d57b0..9f1f31356e 100644
--- a/civicrm/CRM/Mailing/DAO/Mailing.php
+++ b/civicrm/CRM/Mailing/DAO/Mailing.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,414 +8,458 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:3e332257744be5cf9d7a2545f69f67eb)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_Mailing constructor.
+ * Database access object for the Mailing entity.
  */
 class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which site is this mailing for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * FK to the header component.
    *
    * @var int unsigned
    */
   public $header_id;
+
   /**
    * FK to the footer component.
    *
    * @var int unsigned
    */
   public $footer_id;
+
   /**
    * FK to the auto-responder component.
    *
    * @var int unsigned
    */
   public $reply_id;
+
   /**
    * FK to the unsubscribe component.
    *
    * @var int unsigned
    */
   public $unsubscribe_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $resubscribe_id;
+
   /**
    * FK to the opt-out component.
    *
    * @var int unsigned
    */
   public $optout_id;
+
   /**
    * Mailing Name.
    *
    * @var string
    */
   public $name;
+
   /**
    * differentiate between standalone mailings, A/B tests, and A/B final-winner
    *
    * @var string
    */
   public $mailing_type;
+
   /**
    * From Header of mailing
    *
    * @var string
    */
   public $from_name;
+
   /**
    * From Email of mailing
    *
    * @var string
    */
   public $from_email;
+
   /**
    * Reply-To Email of mailing
    *
    * @var string
    */
   public $replyto_email;
+
   /**
    * The language/processing system used for email templates.
    *
    * @var string
    */
   public $template_type;
+
   /**
    * Advanced options used by the email templating system. (JSON encoded)
    *
    * @var longtext
    */
   public $template_options;
+
   /**
    * Subject of mailing
    *
    * @var string
    */
   public $subject;
+
   /**
    * Body of the mailing in text format.
    *
    * @var longtext
    */
   public $body_text;
+
   /**
    * Body of the mailing in html format.
    *
    * @var longtext
    */
   public $body_html;
+
   /**
    * Should we track URL click-throughs for this mailing?
    *
    * @var boolean
    */
   public $url_tracking;
+
   /**
    * Should we forward replies back to the author?
    *
    * @var boolean
    */
   public $forward_replies;
+
   /**
    * Should we enable the auto-responder?
    *
    * @var boolean
    */
   public $auto_responder;
+
   /**
    * Should we track when recipients open/read this mailing?
    *
    * @var boolean
    */
   public $open_tracking;
+
   /**
    * Has at least one job associated with this mailing finished?
    *
    * @var boolean
    */
   public $is_completed;
+
   /**
    * FK to the message template.
    *
    * @var int unsigned
    */
   public $msg_template_id;
+
   /**
    * Should we overrite VERP address in Reply-To
    *
    * @var boolean
    */
   public $override_verp;
+
   /**
    * FK to Contact ID who first created this mailing
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * Date and time this mailing was created.
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * When the mailing (or closely related entity) was created or modified or deleted.
    *
    * @var timestamp
    */
   public $modified_date;
+
   /**
    * FK to Contact ID who scheduled this mailing
    *
    * @var int unsigned
    */
   public $scheduled_id;
+
   /**
    * Date and time this mailing was scheduled.
    *
    * @var timestamp
    */
   public $scheduled_date;
+
   /**
    * FK to Contact ID who approved this mailing
    *
    * @var int unsigned
    */
   public $approver_id;
+
   /**
    * Date and time this mailing was approved.
    *
    * @var timestamp
    */
   public $approval_date;
+
   /**
    * The status of this mailing. Values: none, approved, rejected
    *
    * @var int unsigned
    */
   public $approval_status_id;
+
   /**
    * Note behind the decision.
    *
    * @var longtext
    */
   public $approval_note;
+
   /**
    * Is this mailing archived?
    *
    * @var boolean
    */
   public $is_archived;
+
   /**
    * In what context(s) is the mailing contents visible (online viewing)
    *
    * @var string
    */
   public $visibility;
+
   /**
    * The campaign for which this mailing has been initiated.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Remove duplicate emails?
    *
    * @var boolean
    */
   public $dedupe_email;
+
   /**
-   *
    * @var int unsigned
    */
   public $sms_provider_id;
+
   /**
    * Key for validating requests related to this mailing.
    *
    * @var string
    */
   public $hash;
+
   /**
    * With email_selection_method, determines which email address to use
    *
    * @var int unsigned
    */
   public $location_type_id;
+
   /**
    * With location_type_id, determine how to choose the email address to use.
    *
    * @var string
    */
   public $email_selection_method;
+
   /**
    * Language of the content of the mailing. Useful for tokens.
    *
    * @var string
    */
   public $language;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'header_id', 'civicrm_mailing_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'footer_id', 'civicrm_mailing_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'reply_id', 'civicrm_mailing_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'unsubscribe_id', 'civicrm_mailing_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'optout_id', 'civicrm_mailing_component', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'msg_template_id', 'civicrm_msg_template', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'scheduled_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'approver_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'sms_provider_id', 'civicrm_sms_provider', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'location_type_id', 'civicrm_location_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'header_id', 'civicrm_mailing_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'footer_id', 'civicrm_mailing_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'reply_id', 'civicrm_mailing_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'unsubscribe_id', 'civicrm_mailing_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'optout_id', 'civicrm_mailing_component', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'msg_template_id', 'civicrm_msg_template', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'scheduled_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'approver_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'sms_provider_id', 'civicrm_sms_provider', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'location_type_id', 'civicrm_location_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing ID') ,
-          'required' => true,
+          'title' => ts('Mailing ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Domain') ,
+          'title' => ts('Mailing Domain'),
           'description' => 'Which site is this mailing for',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'header_id' => array(
+          ]
+        ],
+        'header_id' => [
           'name' => 'header_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Header') ,
+          'title' => ts('Mailing Header'),
           'description' => 'FK to the header component.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Component',
-        ) ,
-        'footer_id' => array(
+        ],
+        'footer_id' => [
           'name' => 'footer_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Footer') ,
+          'title' => ts('Mailing Footer'),
           'description' => 'FK to the footer component.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Component',
-        ) ,
-        'reply_id' => array(
+        ],
+        'reply_id' => [
           'name' => 'reply_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Reply') ,
+          'title' => ts('Mailing Reply'),
           'description' => 'FK to the auto-responder component.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Component',
-        ) ,
-        'unsubscribe_id' => array(
+        ],
+        'unsubscribe_id' => [
           'name' => 'unsubscribe_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Unsubscribe') ,
+          'title' => ts('Mailing Unsubscribe'),
           'description' => 'FK to the unsubscribe component.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Component',
-        ) ,
-        'resubscribe_id' => array(
+        ],
+        'resubscribe_id' => [
           'name' => 'resubscribe_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Resubscribe') ,
+          'title' => ts('Mailing Resubscribe'),
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'optout_id' => array(
+        ],
+        'optout_id' => [
           'name' => 'optout_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Opt Out') ,
+          'title' => ts('Mailing Opt Out'),
           'description' => 'FK to the opt-out component.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Component',
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Name') ,
+          'title' => ts('Mailing Name'),
           'description' => 'Mailing Name.',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -447,14 +467,14 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'mailing_type' => array(
+          ],
+        ],
+        'mailing_type' => [
           'name' => 'mailing_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Type') ,
+          'title' => ts('Mailing Type'),
           'description' => 'differentiate between standalone mailings, A/B tests, and A/B final-winner',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -462,17 +482,17 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_PseudoConstant::mailingTypes',
-          )
-        ) ,
-        'from_name' => array(
+          ]
+        ],
+        'from_name' => [
           'name' => 'from_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing From Name') ,
+          'title' => ts('Mailing From Name'),
           'description' => 'From Header of mailing',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -480,14 +500,14 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'from_email' => array(
+          ],
+        ],
+        'from_email' => [
           'name' => 'from_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing From Email') ,
+          'title' => ts('Mailing From Email'),
           'description' => 'From Email of mailing',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -495,14 +515,14 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'replyto_email' => array(
+          ],
+        ],
+        'replyto_email' => [
           'name' => 'replyto_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Replyto Email') ,
+          'title' => ts('Replyto Email'),
           'description' => 'Reply-To Email of mailing',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -510,16 +530,16 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'template_type' => array(
+          ],
+        ],
+        'template_type' => [
           'name' => 'template_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Template Type') ,
+          'title' => ts('Template Type'),
           'description' => 'The language/processing system used for email templates.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'default' => 'traditional',
@@ -527,24 +547,24 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_BAO_Mailing::getTemplateTypeNames',
-          )
-        ) ,
-        'template_options' => array(
+          ]
+        ],
+        'template_options' => [
           'name' => 'template_options',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Template Options (JSON)') ,
+          'title' => ts('Template Options (JSON)'),
           'description' => 'Advanced options used by the email templating system. (JSON encoded)',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'subject' => array(
+        ],
+        'subject' => [
           'name' => 'subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Subject') ,
+          'title' => ts('Subject'),
           'description' => 'Subject of mailing',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -552,150 +572,150 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'body_text' => array(
+          ],
+        ],
+        'body_text' => [
           'name' => 'body_text',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Body Text') ,
+          'title' => ts('Body Text'),
           'description' => 'Body of the mailing in text format.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'body_html' => array(
+        ],
+        'body_html' => [
           'name' => 'body_html',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Body Html') ,
+          'title' => ts('Body Html'),
           'description' => 'Body of the mailing in html format.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'url_tracking' => array(
+        ],
+        'url_tracking' => [
           'name' => 'url_tracking',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Url Tracking') ,
+          'title' => ts('Url Tracking'),
           'description' => 'Should we track URL click-throughs for this mailing?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'forward_replies' => array(
+          ],
+        ],
+        'forward_replies' => [
           'name' => 'forward_replies',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Forward Replies') ,
+          'title' => ts('Forward Replies'),
           'description' => 'Should we forward replies back to the author?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'auto_responder' => array(
+          ],
+        ],
+        'auto_responder' => [
           'name' => 'auto_responder',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Auto Responder') ,
+          'title' => ts('Auto Responder'),
           'description' => 'Should we enable the auto-responder?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'open_tracking' => array(
+          ],
+        ],
+        'open_tracking' => [
           'name' => 'open_tracking',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Track Mailing?') ,
+          'title' => ts('Track Mailing?'),
           'description' => 'Should we track when recipients open/read this mailing?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'is_completed' => array(
+        ],
+        'is_completed' => [
           'name' => 'is_completed',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Mailing Completed') ,
+          'title' => ts('Mailing Completed'),
           'description' => 'Has at least one job associated with this mailing finished?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'msg_template_id' => array(
+          ],
+        ],
+        'msg_template_id' => [
           'name' => 'msg_template_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Message Template') ,
+          'title' => ts('Mailing Message Template'),
           'description' => 'FK to the message template.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_MessageTemplate',
-        ) ,
-        'override_verp' => array(
+        ],
+        'override_verp' => [
           'name' => 'override_verp',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Override Verp') ,
+          'title' => ts('Override Verp'),
           'description' => 'Should we overrite VERP address in Reply-To',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'created_id' => array(
+          ],
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Creator') ,
+          'title' => ts('Mailing Creator'),
           'description' => 'FK to Contact ID who first created this mailing',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Created Date') ,
+          'title' => ts('Mailing Created Date'),
           'description' => 'Date and time this mailing was created.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'mailing_modified_date' => array(
+          ],
+        ],
+        'mailing_modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Modified Date') ,
+          'title' => ts('Modified Date'),
           'description' => 'When the mailing (or closely related entity) was created or modified or deleted.',
-          'required' => false,
-          'export' => true,
+          'required' => FALSE,
+          'export' => TRUE,
           'where' => 'civicrm_mailing.modified_date',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -704,108 +724,108 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'scheduled_id' => array(
+        ],
+        'scheduled_id' => [
           'name' => 'scheduled_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Scheduled By') ,
+          'title' => ts('Scheduled By'),
           'description' => 'FK to Contact ID who scheduled this mailing',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'scheduled_date' => array(
+        ],
+        'scheduled_date' => [
           'name' => 'scheduled_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Scheduled Date') ,
+          'title' => ts('Mailing Scheduled Date'),
           'description' => 'Date and time this mailing was scheduled.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'approver_id' => array(
+          ],
+        ],
+        'approver_id' => [
           'name' => 'approver_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Approved By') ,
+          'title' => ts('Approved By'),
           'description' => 'FK to Contact ID who approved this mailing',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'approval_date' => array(
+        ],
+        'approval_date' => [
           'name' => 'approval_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Approved Date') ,
+          'title' => ts('Mailing Approved Date'),
           'description' => 'Date and time this mailing was approved.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDateTime',
-          ) ,
-        ) ,
-        'approval_status_id' => array(
+          ],
+        ],
+        'approval_status_id' => [
           'name' => 'approval_status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Approval Status') ,
+          'title' => ts('Approval Status'),
           'description' => 'The status of this mailing. Values: none, approved, rejected',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'mail_approval_status',
             'optionEditPath' => 'civicrm/admin/options/mail_approval_status',
-          )
-        ) ,
-        'approval_note' => array(
+          ]
+        ],
+        'approval_note' => [
           'name' => 'approval_note',
           'type' => CRM_Utils_Type::T_LONGTEXT,
-          'title' => ts('Approval Note') ,
+          'title' => ts('Approval Note'),
           'description' => 'Note behind the decision.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'is_archived' => array(
+          ],
+        ],
+        'is_archived' => [
           'name' => 'is_archived',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Mailing Archived?') ,
+          'title' => ts('Is Mailing Archived?'),
           'description' => 'Is this mailing archived?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'visibility' => array(
+          ],
+        ],
+        'visibility' => [
           'name' => 'visibility',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Visibility') ,
+          'title' => ts('Mailing Visibility'),
           'description' => 'In what context(s) is the mailing contents visible (online viewing)',
           'maxlength' => 40,
           'size' => CRM_Utils_Type::BIG,
@@ -814,62 +834,62 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::groupVisibility',
-          )
-        ) ,
-        'campaign_id' => array(
+          ]
+        ],
+        'campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Campaign') ,
+          'title' => ts('Mailing Campaign'),
           'description' => 'The campaign for which this mailing has been initiated.',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'dedupe_email' => array(
+          ]
+        ],
+        'dedupe_email' => [
           'name' => 'dedupe_email',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('No Duplicate emails?') ,
+          'title' => ts('No Duplicate emails?'),
           'description' => 'Remove duplicate emails?',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'sms_provider_id' => array(
+          ],
+        ],
+        'sms_provider_id' => [
           'name' => 'sms_provider_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing SMS Provider') ,
+          'title' => ts('Mailing SMS Provider'),
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_SMS_DAO_Provider',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'hash' => array(
+          ],
+        ],
+        'hash' => [
           'name' => 'hash',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Hash') ,
+          'title' => ts('Mailing Hash'),
           'description' => 'Key for validating requests related to this mailing.',
           'maxlength' => 16,
           'size' => CRM_Utils_Type::TWELVE,
@@ -877,27 +897,27 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-        ) ,
-        'location_type_id' => array(
+        ],
+        'location_type_id' => [
           'name' => 'location_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Location Type') ,
+          'title' => ts('Location Type'),
           'description' => 'With email_selection_method, determines which email address to use',
           'table_name' => 'civicrm_mailing',
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_LocationType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_location_type',
             'keyColumn' => 'id',
             'labelColumn' => 'display_name',
-          )
-        ) ,
-        'email_selection_method' => array(
+          ]
+        ],
+        'email_selection_method' => [
           'name' => 'email_selection_method',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Email Selection Method') ,
+          'title' => ts('Email Selection Method'),
           'description' => 'With location_type_id, determine how to choose the email address to use.',
           'maxlength' => 20,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -906,14 +926,14 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::emailSelectMethods',
-          )
-        ) ,
-        'language' => array(
+          ]
+        ],
+        'language' => [
           'name' => 'language',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Language') ,
+          'title' => ts('Mailing Language'),
           'description' => 'Language of the content of the mailing. Useful for tokens.',
           'maxlength' => 5,
           'size' => CRM_Utils_Type::SIX,
@@ -921,48 +941,52 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
           'entity' => 'Mailing',
           'bao' => 'CRM_Mailing_BAO_Mailing',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'languages',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/languages',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -970,10 +994,11 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -981,24 +1006,30 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_hash' => array(
+    $indices = [
+      'index_hash' => [
         'name' => 'index_hash',
-        'field' => array(
+        'field' => [
           0 => 'hash',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_mailing::0::hash',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/MailingAB.php b/civicrm/CRM/Mailing/DAO/MailingAB.php
index b3997d94fb..64028865d2 100644
--- a/civicrm/CRM/Mailing/DAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/DAO/MailingAB.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,147 +8,161 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:12d9514d27712e3d9ad545ca6c2bfe91)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_MailingAB constructor.
+ * Database access object for the MailingAB entity.
  */
 class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_abtest';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the A/B test
    *
    * @var string
    */
   public $name;
+
   /**
    * Status
    *
    * @var string
    */
   public $status;
+
   /**
    * The first experimental mailing ("A" condition)
    *
    * @var int unsigned
    */
   public $mailing_id_a;
+
   /**
    * The second experimental mailing ("B" condition)
    *
    * @var int unsigned
    */
   public $mailing_id_b;
+
   /**
    * The final, general mailing (derived from A or B)
    *
    * @var int unsigned
    */
   public $mailing_id_c;
+
   /**
    * Which site is this mailing for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
-   *
    * @var string
    */
   public $testing_criteria;
+
   /**
-   *
    * @var string
    */
   public $winner_criteria;
+
   /**
    * What specific url to track
    *
    * @var string
    */
   public $specific_url;
+
   /**
    * In how much time to declare winner
    *
    * @var datetime
    */
   public $declare_winning_time;
+
   /**
-   *
    * @var int unsigned
    */
   public $group_percentage;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * When was this item created
    *
    * @var timestamp
    */
   public $created_date;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_abtest';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('MailingAB ID') ,
-          'required' => true,
+          'title' => ts('MailingAB ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Name of the A/B test',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -180,11 +170,11 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'status' => array(
+        ],
+        'status' => [
           'name' => 'status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Status') ,
+          'title' => ts('Status'),
           'description' => 'Status',
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
@@ -192,82 +182,82 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_PseudoConstant::abStatus',
-          )
-        ) ,
-        'mailing_id_a' => array(
+          ]
+        ],
+        'mailing_id_a' => [
           'name' => 'mailing_id_a',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing ID (A)') ,
+          'title' => ts('Mailing ID (A)'),
           'description' => 'The first experimental mailing ("A" condition)',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'mailing_id_b' => array(
+        ],
+        'mailing_id_b' => [
           'name' => 'mailing_id_b',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing ID (B)') ,
+          'title' => ts('Mailing ID (B)'),
           'description' => 'The second experimental mailing ("B" condition)',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'mailing_id_c' => array(
+        ],
+        'mailing_id_c' => [
           'name' => 'mailing_id_c',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing ID (C)') ,
+          'title' => ts('Mailing ID (C)'),
           'description' => 'The final, general mailing (derived from A or B)',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Domain ID') ,
+          'title' => ts('Domain ID'),
           'description' => 'Which site is this mailing for',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'testing_criteria' => array(
+        ],
+        'testing_criteria' => [
           'name' => 'testing_criteria',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Testing Criteria') ,
+          'title' => ts('Testing Criteria'),
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_PseudoConstant::abTestCriteria',
-          )
-        ) ,
-        'winner_criteria' => array(
+          ]
+        ],
+        'winner_criteria' => [
           'name' => 'winner_criteria',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Winner Criteria') ,
+          'title' => ts('Winner Criteria'),
           'maxlength' => 32,
           'size' => CRM_Utils_Type::MEDIUM,
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_PseudoConstant::abWinnerCriteria',
-          )
-        ) ,
-        'specific_url' => array(
+          ]
+        ],
+        'specific_url' => [
           'name' => 'specific_url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('URL for Winner Criteria') ,
+          'title' => ts('URL for Winner Criteria'),
           'description' => 'What specific url to track',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -275,85 +265,89 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'declare_winning_time' => array(
+        ],
+        'declare_winning_time' => [
           'name' => 'declare_winning_time',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Declaration Time') ,
+          'title' => ts('Declaration Time'),
           'description' => 'In how much time to declare winner',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'group_percentage' => array(
+        ],
+        'group_percentage' => [
           'name' => 'group_percentage',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Group Percentage') ,
+          'title' => ts('Group Percentage'),
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-        ) ,
-        'created_id' => array(
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('AB Test Created By') ,
+          'title' => ts('AB Test Created By'),
           'description' => 'FK to Contact ID',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'created_date' => array(
+        ],
+        'created_date' => [
           'name' => 'created_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('AB Test Created Date') ,
+          'title' => ts('AB Test Created Date'),
           'description' => 'When was this item created',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_abtest',
           'entity' => 'MailingAB',
           'bao' => 'CRM_Mailing_BAO_MailingAB',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -361,10 +355,11 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_abtest', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_abtest', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -372,15 +367,21 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_abtest', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_abtest', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/MailingGroup.php b/civicrm/CRM/Mailing/DAO/MailingGroup.php
index acf0d827e2..2468ba601a 100644
--- a/civicrm/CRM/Mailing/DAO/MailingGroup.php
+++ b/civicrm/CRM/Mailing/DAO/MailingGroup.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,121 +8,131 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a96d346551d72b03fa3ca07ac47cff2b)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_MailingGroup constructor.
+ * Database access object for the MailingGroup entity.
  */
 class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_group';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The ID of a previous mailing to include/exclude recipients.
    *
    * @var int unsigned
    */
   public $mailing_id;
+
   /**
    * Are the members of the group included or excluded?.
    *
    * @var string
    */
   public $group_type;
+
   /**
    * Name of table where item being referenced is stored.
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Foreign key to the referenced item.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * The filtering search. custom search id or -1 for civicrm api search
    *
    * @var int
    */
   public $search_id;
+
   /**
    * The arguments to be sent to the search function
    *
    * @var text
    */
   public $search_args;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_group';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mailing_id', 'civicrm_mailing', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mailing_id', 'civicrm_mailing', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Group ID') ,
-          'required' => true,
+          'title' => ts('Mailing Group ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-        ) ,
-        'mailing_id' => array(
+        ],
+        'mailing_id' => [
           'name' => 'mailing_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing') ,
+          'title' => ts('Mailing'),
           'description' => 'The ID of a previous mailing to include/exclude recipients.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Mailing',
-        ) ,
-        'group_type' => array(
+        ],
+        'group_type' => [
           'name' => 'group_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Group Type') ,
+          'title' => ts('Mailing Group Type'),
           'description' => 'Are the members of the group included or excluded?.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -154,93 +140,97 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getMailingGroupTypes',
-          )
-        ) ,
-        'entity_table' => array(
+          ]
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Group Entity Table') ,
+          'title' => ts('Mailing Group Entity Table'),
           'description' => 'Name of table where item being referenced is stored.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Mailing_BAO_Mailing::mailingGroupEntityTables',
-          )
-        ) ,
-        'entity_id' => array(
+          ]
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Group Entity') ,
+          'title' => ts('Mailing Group Entity'),
           'description' => 'Foreign key to the referenced item.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-        ) ,
-        'search_id' => array(
+        ],
+        'search_id' => [
           'name' => 'search_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Group Search') ,
+          'title' => ts('Mailing Group Search'),
           'description' => 'The filtering search. custom search id or -1 for civicrm api search',
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-        ) ,
-        'search_args' => array(
+        ],
+        'search_args' => [
           'name' => 'search_args',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Mailing Group Search Arguments') ,
+          'title' => ts('Mailing Group Search Arguments'),
           'description' => 'The arguments to be sent to the search function',
           'table_name' => 'civicrm_mailing_group',
           'entity' => 'MailingGroup',
           'bao' => 'CRM_Mailing_DAO_MailingGroup',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -248,10 +238,11 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_group', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -259,15 +250,21 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_group', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_group', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/MailingJob.php b/civicrm/CRM/Mailing/DAO/MailingJob.php
index ecdbe4705e..4e2c3e3b8c 100644
--- a/civicrm/CRM/Mailing/DAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/DAO/MailingJob.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,181 +8,195 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:51449e1b36d9d248712f346f20c9e446)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_MailingJob constructor.
+ * Database access object for the MailingJob entity.
  */
 class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_job';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The ID of the mailing this Job will send.
    *
    * @var int unsigned
    */
   public $mailing_id;
+
   /**
    * date on which this job was scheduled.
    *
    * @var timestamp
    */
   public $scheduled_date;
+
   /**
    * date on which this job was started.
    *
    * @var timestamp
    */
   public $start_date;
+
   /**
    * date on which this job ended.
    *
    * @var timestamp
    */
   public $end_date;
+
   /**
    * The state of this job
    *
    * @var string
    */
   public $status;
+
   /**
    * Is this job for a test mail?
    *
    * @var boolean
    */
   public $is_test;
+
   /**
    * Type of mailling job: null | child
    *
    * @var string
    */
   public $job_type;
+
   /**
    * Parent job id
    *
    * @var int unsigned
    */
   public $parent_id;
+
   /**
    * Offset of the child job
    *
    * @var int
    */
   public $job_offset;
+
   /**
    * Queue size limit for each child job
    *
    * @var int
    */
   public $job_limit;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_job';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mailing_id', 'civicrm_mailing', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'parent_id', 'civicrm_mailing_job', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mailing_id', 'civicrm_mailing', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'parent_id', 'civicrm_mailing_job', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Job ID') ,
-          'required' => true,
+          'title' => ts('Mailing Job ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'mailing_id' => array(
+        ],
+        'mailing_id' => [
           'name' => 'mailing_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing') ,
+          'title' => ts('Mailing'),
           'description' => 'The ID of the mailing this Job will send.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Mailing',
-        ) ,
-        'scheduled_date' => array(
+        ],
+        'scheduled_date' => [
           'name' => 'scheduled_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Scheduled Date') ,
+          'title' => ts('Mailing Scheduled Date'),
           'description' => 'date on which this job was scheduled.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'start_date' => array(
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Job Start Date') ,
+          'title' => ts('Mailing Job Start Date'),
           'description' => 'date on which this job was started.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'end_date' => array(
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Job End Date') ,
+          'title' => ts('Mailing Job End Date'),
           'description' => 'date on which this job ended.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'status' => array(
+        ],
+        'status' => [
           'name' => 'status',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Job Status') ,
+          'title' => ts('Mailing Job Status'),
           'description' => 'The state of this job',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -214,27 +204,27 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::getMailingJobStatus',
-          )
-        ) ,
-        'is_test' => array(
+          ]
+        ],
+        'is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Mailing Job Is Test?') ,
+          'title' => ts('Mailing Job Is Test?'),
           'description' => 'Is this job for a test mail?',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'job_type' => array(
+        ],
+        'job_type' => [
           'name' => 'job_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Job Type') ,
+          'title' => ts('Mailing Job Type'),
           'description' => 'Type of mailling job: null | child ',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -242,11 +232,11 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'parent_id' => array(
+        ],
+        'parent_id' => [
           'name' => 'parent_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Job Parent') ,
+          'title' => ts('Mailing Job Parent'),
           'description' => 'Parent job id',
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_job',
@@ -254,60 +244,64 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_MailingJob',
-        ) ,
-        'job_offset' => array(
+        ],
+        'job_offset' => [
           'name' => 'job_offset',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Job Offset') ,
+          'title' => ts('Mailing Job Offset'),
           'description' => 'Offset of the child job',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-        'job_limit' => array(
+        ],
+        'job_limit' => [
           'name' => 'job_limit',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Job Limit') ,
+          'title' => ts('Mailing Job Limit'),
           'description' => 'Queue size limit for each child job',
           'table_name' => 'civicrm_mailing_job',
           'entity' => 'MailingJob',
           'bao' => 'CRM_Mailing_BAO_MailingJob',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -315,10 +309,11 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_job', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_job', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -326,15 +321,21 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_job', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_job', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/Recipients.php b/civicrm/CRM/Mailing/DAO/Recipients.php
index 327369db4a..679ab342c1 100644
--- a/civicrm/CRM/Mailing/DAO/Recipients.php
+++ b/civicrm/CRM/Mailing/DAO/Recipients.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,123 +8,131 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c342948a9f69ec474335688029f101e0)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_Recipients constructor.
+ * Database access object for the Recipients entity.
  */
 class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_recipients';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The ID of the mailing this Job will send.
    *
    * @var int unsigned
    */
   public $mailing_id;
+
   /**
    * FK to Contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to Email
    *
    * @var int unsigned
    */
   public $email_id;
+
   /**
    * FK to Phone
    *
    * @var int unsigned
    */
   public $phone_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_recipients';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mailing_id', 'civicrm_mailing', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'email_id', 'civicrm_email', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'phone_id', 'civicrm_phone', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mailing_id', 'civicrm_mailing', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'email_id', 'civicrm_email', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'phone_id', 'civicrm_phone', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Recipients ID') ,
-          'required' => true,
+          'title' => ts('Mailing Recipients ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_recipients',
           'entity' => 'Recipients',
           'bao' => 'CRM_Mailing_BAO_Recipients',
           'localizable' => 0,
-        ) ,
-        'mailing_id' => array(
+        ],
+        'mailing_id' => [
           'name' => 'mailing_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing') ,
+          'title' => ts('Mailing'),
           'description' => 'The ID of the mailing this Job will send.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_recipients',
           'entity' => 'Recipients',
           'bao' => 'CRM_Mailing_BAO_Recipients',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Mailing',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Recipient') ,
+          'title' => ts('Mailing Recipient'),
           'description' => 'FK to Contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_recipients',
           'entity' => 'Recipients',
           'bao' => 'CRM_Mailing_BAO_Recipients',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'email_id' => array(
+        ],
+        'email_id' => [
           'name' => 'email_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Recipient Email') ,
+          'title' => ts('Recipient Email'),
           'description' => 'FK to Email',
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_recipients',
@@ -156,11 +140,11 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
           'bao' => 'CRM_Mailing_BAO_Recipients',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
-        ) ,
-        'phone_id' => array(
+        ],
+        'phone_id' => [
           'name' => 'phone_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Recipient Phone') ,
+          'title' => ts('Recipient Phone'),
           'description' => 'FK to Phone',
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_recipients',
@@ -168,40 +152,44 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
           'bao' => 'CRM_Mailing_BAO_Recipients',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -209,10 +197,11 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_recipients', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_recipients', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -220,15 +209,21 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_recipients', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_recipients', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/Spool.php b/civicrm/CRM/Mailing/DAO/Spool.php
index f463bb7f90..d3ee6281c8 100644
--- a/civicrm/CRM/Mailing/DAO/Spool.php
+++ b/civicrm/CRM/Mailing/DAO/Spool.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,203 +8,217 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8cdc46330195fed32b15c2560dee858d)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_Spool constructor.
+ * Database access object for the Spool entity.
  */
 class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_spool';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The ID of the Job .
    *
    * @var int unsigned
    */
   public $job_id;
+
   /**
    * The email of the receipients this mail is to be sent.
    *
    * @var text
    */
   public $recipient_email;
+
   /**
    * The header information of this mailing .
    *
    * @var text
    */
   public $headers;
+
   /**
    * The body of this mailing.
    *
    * @var text
    */
   public $body;
+
   /**
    * date on which this job was added.
    *
    * @var timestamp
    */
   public $added_at;
+
   /**
    * date on which this job was removed.
    *
    * @var timestamp
    */
   public $removed_at;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_spool';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'job_id', 'civicrm_mailing_job', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'job_id', 'civicrm_mailing_job', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Spool ID') ,
-          'required' => true,
+          'title' => ts('Spool ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-        'job_id' => array(
+        ],
+        'job_id' => [
           'name' => 'job_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Job') ,
+          'title' => ts('Mailing Job'),
           'description' => 'The ID of the Job .',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_MailingJob',
-        ) ,
-        'recipient_email' => array(
+        ],
+        'recipient_email' => [
           'name' => 'recipient_email',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Recipient Email') ,
+          'title' => ts('Recipient Email'),
           'description' => 'The email of the receipients this mail is to be sent.',
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-        'headers' => array(
+        ],
+        'headers' => [
           'name' => 'headers',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Headers') ,
+          'title' => ts('Headers'),
           'description' => 'The header information of this mailing .',
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-        'body' => array(
+        ],
+        'body' => [
           'name' => 'body',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Body') ,
+          'title' => ts('Body'),
           'description' => 'The body of this mailing.',
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-        'added_at' => array(
+        ],
+        'added_at' => [
           'name' => 'added_at',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Added') ,
+          'title' => ts('Added'),
           'description' => 'date on which this job was added.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-        'removed_at' => array(
+        ],
+        'removed_at' => [
           'name' => 'removed_at',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Removed') ,
+          'title' => ts('Removed'),
           'description' => 'date on which this job was removed.',
-          'required' => false,
+          'required' => FALSE,
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_spool',
           'entity' => 'Spool',
           'bao' => 'CRM_Mailing_BAO_Spool',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -236,10 +226,11 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_spool', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_spool', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -247,15 +238,21 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_spool', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_spool', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/DAO/TrackableURL.php b/civicrm/CRM/Mailing/DAO/TrackableURL.php
index 687cb86376..16eeadff8b 100644
--- a/civicrm/CRM/Mailing/DAO/TrackableURL.php
+++ b/civicrm/CRM/Mailing/DAO/TrackableURL.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,136 +8,146 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:13d0c2db9be0713818bda26731896ae6)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_DAO_TrackableURL constructor.
+ * Database access object for the TrackableURL entity.
  */
 class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_trackable_url';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * The URL to be tracked.
    *
    * @var text
    */
   public $url;
+
   /**
    * FK to the mailing
    *
    * @var int unsigned
    */
   public $mailing_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_trackable_url';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'mailing_id', 'civicrm_mailing', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'mailing_id', 'civicrm_mailing', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Trackable URL ID') ,
-          'required' => true,
+          'title' => ts('Trackable URL ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_trackable_url',
           'entity' => 'TrackableURL',
           'bao' => 'CRM_Mailing_BAO_TrackableURL',
           'localizable' => 0,
-        ) ,
-        'url' => array(
+        ],
+        'url' => [
           'name' => 'url',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Url') ,
+          'title' => ts('Url'),
           'description' => 'The URL to be tracked.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_trackable_url',
           'entity' => 'TrackableURL',
           'bao' => 'CRM_Mailing_BAO_TrackableURL',
           'localizable' => 0,
-        ) ,
-        'mailing_id' => array(
+        ],
+        'mailing_id' => [
           'name' => 'mailing_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing') ,
+          'title' => ts('Mailing'),
           'description' => 'FK to the mailing',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_trackable_url',
           'entity' => 'TrackableURL',
           'bao' => 'CRM_Mailing_BAO_TrackableURL',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_Mailing',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -169,10 +155,11 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_trackable_url', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_trackable_url', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -180,15 +167,21 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_trackable_url', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_trackable_url', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Bounce.php b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
index 4da0c9b083..23f11839d9 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Bounce.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,126 +8,134 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c63363ca2be2a2fb9eb090786bdf0fa3)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Bounce constructor.
+ * Database access object for the Bounce entity.
  */
 class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_bounce';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * What type of bounce was it?
    *
    * @var int unsigned
    */
   public $bounce_type_id;
+
   /**
    * The reason the email bounced.
    *
    * @var string
    */
   public $bounce_reason;
+
   /**
    * When this bounce event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_bounce';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Bounce ID') ,
-          'required' => true,
+          'title' => ts('Bounce ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_bounce',
           'entity' => 'Bounce',
           'bao' => 'CRM_Mailing_Event_BAO_Bounce',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Queue') ,
+          'title' => ts('Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_bounce',
           'entity' => 'Bounce',
           'bao' => 'CRM_Mailing_Event_BAO_Bounce',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'bounce_type_id' => array(
+        ],
+        'bounce_type_id' => [
           'name' => 'bounce_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Bounce Type') ,
+          'title' => ts('Bounce Type'),
           'description' => 'What type of bounce was it?',
           'table_name' => 'civicrm_mailing_event_bounce',
           'entity' => 'Bounce',
           'bao' => 'CRM_Mailing_Event_BAO_Bounce',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_mailing_bounce_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'bounce_reason' => array(
+          ]
+        ],
+        'bounce_reason' => [
           'name' => 'bounce_reason',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Bounce Reason') ,
+          'title' => ts('Bounce Reason'),
           'description' => 'The reason the email bounced.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -159,52 +143,56 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
           'entity' => 'Bounce',
           'bao' => 'CRM_Mailing_Event_BAO_Bounce',
           'localizable' => 0,
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'When this bounce event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_bounce',
           'entity' => 'Bounce',
           'bao' => 'CRM_Mailing_Event_BAO_Bounce',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -212,10 +200,11 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_bounce', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_bounce', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -223,15 +212,21 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_bounce', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_bounce', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Confirm.php b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
index 4afbbe3f56..27bf841717 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Confirm.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,137 +8,147 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f4259bbb8f00037fd48b242a332dcbc0)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Confirm constructor.
+ * Database access object for the Confirm entity.
  */
 class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_confirm';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_mailing_event_subscribe
    *
    * @var int unsigned
    */
   public $event_subscribe_id;
+
   /**
    * When this confirmation event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_confirm';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_subscribe_id', 'civicrm_mailing_event_subscribe', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_subscribe_id', 'civicrm_mailing_event_subscribe', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Confirmation ID') ,
-          'required' => true,
+          'title' => ts('Mailing Confirmation ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_confirm',
           'entity' => 'Confirm',
           'bao' => 'CRM_Mailing_Event_BAO_Confirm',
           'localizable' => 0,
-        ) ,
-        'event_subscribe_id' => array(
+        ],
+        'event_subscribe_id' => [
           'name' => 'event_subscribe_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Subscribe ID') ,
+          'title' => ts('Mailing Subscribe ID'),
           'description' => 'FK to civicrm_mailing_event_subscribe',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_confirm',
           'entity' => 'Confirm',
           'bao' => 'CRM_Mailing_Event_BAO_Confirm',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Subscribe',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Confirm Timestamp') ,
+          'title' => ts('Confirm Timestamp'),
           'description' => 'When this confirmation event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_confirm',
           'entity' => 'Confirm',
           'bao' => 'CRM_Mailing_Event_BAO_Confirm',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_confirm', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_confirm', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,15 +168,21 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_confirm', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_confirm', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Delivered.php b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
index 1489e5d879..6c6f7674e2 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Delivered.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,137 +8,147 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f5c02a90e7ec94814797559e9080c96a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Delivered constructor.
+ * Database access object for the Delivered entity.
  */
 class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_delivered';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * When this delivery event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_delivered';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Delivered ID') ,
-          'required' => true,
+          'title' => ts('Delivered ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_delivered',
           'entity' => 'Delivered',
           'bao' => 'CRM_Mailing_Event_BAO_Delivered',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Queue') ,
+          'title' => ts('Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_delivered',
           'entity' => 'Delivered',
           'bao' => 'CRM_Mailing_Event_BAO_Delivered',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'When this delivery event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_delivered',
           'entity' => 'Delivered',
           'bao' => 'CRM_Mailing_Event_BAO_Delivered',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_delivered', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_delivered', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,15 +168,21 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_delivered', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_delivered', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Forward.php b/civicrm/CRM/Mailing/Event/DAO/Forward.php
index 94cfe08b79..04b9153f8a 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Forward.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Forward.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,155 +8,166 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c187b9e7dd1d6f2a9a9fd19180acd98f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Forward constructor.
+ * Database access object for the Forward entity.
  */
 class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_forward';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * FK to EventQueue for destination
    *
    * @var int unsigned
    */
   public $dest_queue_id;
+
   /**
    * When this forward event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_forward';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'dest_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'dest_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Forward ID') ,
-          'required' => true,
+          'title' => ts('Forward ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_forward',
           'entity' => 'Forward',
           'bao' => 'CRM_Mailing_Event_BAO_Forward',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Event Queue') ,
+          'title' => ts('Mailing Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_forward',
           'entity' => 'Forward',
           'bao' => 'CRM_Mailing_Event_BAO_Forward',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'dest_queue_id' => array(
+        ],
+        'dest_queue_id' => [
           'name' => 'dest_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Destination Queue') ,
+          'title' => ts('Destination Queue'),
           'description' => 'FK to EventQueue for destination',
           'table_name' => 'civicrm_mailing_event_forward',
           'entity' => 'Forward',
           'bao' => 'CRM_Mailing_Event_BAO_Forward',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'When this forward event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_forward',
           'entity' => 'Forward',
           'bao' => 'CRM_Mailing_Event_BAO_Forward',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -188,10 +175,11 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_forward', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_forward', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -199,15 +187,21 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_forward', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_forward', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Opened.php b/civicrm/CRM/Mailing/Event/DAO/Opened.php
index a31e2d1e17..84ba084a5d 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Opened.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Opened.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,137 +8,147 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:8f5b5d87a40bd9589541faf9cd3bd4e4)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Opened constructor.
+ * Database access object for the Opened entity.
  */
 class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_opened';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * When this open event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_opened';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Opened ID') ,
-          'required' => true,
+          'title' => ts('Mailing Opened ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_opened',
           'entity' => 'Opened',
           'bao' => 'CRM_Mailing_Event_BAO_Opened',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Queue') ,
+          'title' => ts('Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_opened',
           'entity' => 'Opened',
           'bao' => 'CRM_Mailing_Event_BAO_Opened',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'When this open event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_opened',
           'entity' => 'Opened',
           'bao' => 'CRM_Mailing_Event_BAO_Opened',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_opened', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_opened', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,15 +168,21 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_opened', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_opened', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Queue.php b/civicrm/CRM/Mailing/Event/DAO/Queue.php
index af49601ac2..e4da32e666 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Queue.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Queue.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,117 +8,126 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:61df95ab05407c3c8fcd677a03e32b99)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Queue constructor.
+ * Database access object for the Queue entity.
  */
 class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_queue';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Job
    *
    * @var int unsigned
    */
   public $job_id;
+
   /**
    * FK to Email
    *
    * @var int unsigned
    */
   public $email_id;
+
   /**
    * FK to Contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Security hash
    *
    * @var string
    */
   public $hash;
+
   /**
    * FK to Phone
    *
    * @var int unsigned
    */
   public $phone_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_queue';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'job_id', 'civicrm_mailing_job', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'email_id', 'civicrm_email', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'phone_id', 'civicrm_phone', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'job_id', 'civicrm_mailing_job', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'email_id', 'civicrm_email', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'phone_id', 'civicrm_phone', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Event Queue ID') ,
-          'required' => true,
+          'title' => ts('Mailing Event Queue ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_queue',
           'entity' => 'Queue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
-        ) ,
-        'job_id' => array(
+        ],
+        'job_id' => [
           'name' => 'job_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Job ID') ,
+          'title' => ts('Job ID'),
           'description' => 'FK to Job',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_queue',
           'entity' => 'Queue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_MailingJob',
-        ) ,
-        'email_id' => array(
+        ],
+        'email_id' => [
           'name' => 'email_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Email ID') ,
+          'title' => ts('Email ID'),
           'description' => 'FK to Email',
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_event_queue',
@@ -150,36 +135,36 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
-        ) ,
-        'contact_id' => array(
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_queue',
           'entity' => 'Queue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'hash' => array(
+        ],
+        'hash' => [
           'name' => 'hash',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Security Hash') ,
+          'title' => ts('Security Hash'),
           'description' => 'Security hash',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_mailing_event_queue',
           'entity' => 'Queue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
-        ) ,
-        'phone_id' => array(
+        ],
+        'phone_id' => [
           'name' => 'phone_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Phone ID') ,
+          'title' => ts('Phone ID'),
           'description' => 'FK to Phone',
           'default' => 'NULL',
           'table_name' => 'civicrm_mailing_event_queue',
@@ -187,40 +172,44 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -228,10 +217,11 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_queue', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_queue', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -239,24 +229,30 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_queue', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_queue', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_hash' => array(
+    $indices = [
+      'index_hash' => [
         'name' => 'index_hash',
-        'field' => array(
+        'field' => [
           0 => 'hash',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_mailing_event_queue::0::hash',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Reply.php b/civicrm/CRM/Mailing/Event/DAO/Reply.php
index d5f3085cb4..7b3286e265 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Reply.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Reply.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,137 +8,147 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c820f3b64d2152014b47a738c32f1f84)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Reply constructor.
+ * Database access object for the Reply entity.
  */
 class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_reply';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * When this reply event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_reply';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Reply ID') ,
-          'required' => true,
+          'title' => ts('Reply ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_reply',
           'entity' => 'Reply',
           'bao' => 'CRM_Mailing_Event_BAO_Reply',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Queue') ,
+          'title' => ts('Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_reply',
           'entity' => 'Reply',
           'bao' => 'CRM_Mailing_Event_BAO_Reply',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Reply Timestamp') ,
+          'title' => ts('Reply Timestamp'),
           'description' => 'When this reply event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_reply',
           'entity' => 'Reply',
           'bao' => 'CRM_Mailing_Event_BAO_Reply',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_reply', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_reply', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,15 +168,21 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_reply', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_reply', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
index 4bfe339a63..1d019cfb4f 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,183 +8,195 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7d7961401e033cc63575a58821bfa5c7)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Subscribe constructor.
+ * Database access object for the Subscribe entity.
  */
 class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_subscribe';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Group
    *
    * @var int unsigned
    */
   public $group_id;
+
   /**
    * FK to Contact
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * Security hash
    *
    * @var string
    */
   public $hash;
+
   /**
    * When this subscription event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_subscribe';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'group_id', 'civicrm_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Subscribe ID') ,
-          'required' => true,
+          'title' => ts('Mailing Subscribe ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_subscribe',
           'entity' => 'Subscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Subscribe',
           'localizable' => 0,
-        ) ,
-        'group_id' => array(
+        ],
+        'group_id' => [
           'name' => 'group_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Subscribe Group') ,
+          'title' => ts('Mailing Subscribe Group'),
           'description' => 'FK to Group',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_subscribe',
           'entity' => 'Subscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Subscribe',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Group',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_group',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-        'contact_id' => array(
+          ]
+        ],
+        'contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Subscribe Contact') ,
+          'title' => ts('Mailing Subscribe Contact'),
           'description' => 'FK to Contact',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_subscribe',
           'entity' => 'Subscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Subscribe',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'hash' => array(
+        ],
+        'hash' => [
           'name' => 'hash',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Mailing Subscribe Hash') ,
+          'title' => ts('Mailing Subscribe Hash'),
           'description' => 'Security hash',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_mailing_event_subscribe',
           'entity' => 'Subscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Subscribe',
           'localizable' => 0,
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Mailing Subscribe Timestamp') ,
+          'title' => ts('Mailing Subscribe Timestamp'),
           'description' => 'When this subscription event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_subscribe',
           'entity' => 'Subscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Subscribe',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -216,10 +204,11 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_subscribe', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_subscribe', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -227,15 +216,21 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_subscribe', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_subscribe', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
index 0074f3c3dc..b96efc392a 100644
--- a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
+++ b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,156 +8,167 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:fc2a3b22d6de10cd6b46ee649df9e471)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_TrackableURLOpen constructor.
+ * Database access object for the TrackableURLOpen entity.
  */
 class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_trackable_url_open';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * FK to TrackableURL
    *
    * @var int unsigned
    */
   public $trackable_url_id;
+
   /**
    * When this trackable URL open occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_trackable_url_open';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'trackable_url_id', 'civicrm_mailing_trackable_url', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'trackable_url_id', 'civicrm_mailing_trackable_url', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Trackable URL Open ID') ,
-          'required' => true,
+          'title' => ts('Trackable URL Open ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_trackable_url_open',
           'entity' => 'TrackableURLOpen',
           'bao' => 'CRM_Mailing_Event_BAO_TrackableURLOpen',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Event Queue') ,
+          'title' => ts('Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_trackable_url_open',
           'entity' => 'TrackableURLOpen',
           'bao' => 'CRM_Mailing_Event_BAO_TrackableURLOpen',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'trackable_url_id' => array(
+        ],
+        'trackable_url_id' => [
           'name' => 'trackable_url_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Trackable Url') ,
+          'title' => ts('Trackable Url'),
           'description' => 'FK to TrackableURL',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_trackable_url_open',
           'entity' => 'TrackableURLOpen',
           'bao' => 'CRM_Mailing_Event_BAO_TrackableURLOpen',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_TrackableURL',
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Timestamp') ,
+          'title' => ts('Timestamp'),
           'description' => 'When this trackable URL open occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_trackable_url_open',
           'entity' => 'TrackableURLOpen',
           'bao' => 'CRM_Mailing_Event_BAO_TrackableURLOpen',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -189,10 +176,11 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_trackable_url_open', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_trackable_url_open', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -200,15 +188,21 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_trackable_url_open', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_trackable_url_open', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
index d18f977fab..7e953d6f0a 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,154 +8,165 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:a44ecc4ce8b1a8ecdca57fff8d053392)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Mailing_Event_DAO_Unsubscribe constructor.
+ * Database access object for the Unsubscribe entity.
  */
 class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_mailing_event_unsubscribe';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to EventQueue
    *
    * @var int unsigned
    */
   public $event_queue_id;
+
   /**
    * Unsubscribe at org- or group-level
    *
    * @var boolean
    */
   public $org_unsubscribe;
+
   /**
    * When this delivery event occurred.
    *
    * @var timestamp
    */
   public $time_stamp;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_mailing_event_unsubscribe';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'event_queue_id', 'civicrm_mailing_event_queue', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Unsubscribe ID') ,
-          'required' => true,
+          'title' => ts('Unsubscribe ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_unsubscribe',
           'entity' => 'Unsubscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Unsubscribe',
           'localizable' => 0,
-        ) ,
-        'event_queue_id' => array(
+        ],
+        'event_queue_id' => [
           'name' => 'event_queue_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Mailing Event Queue') ,
+          'title' => ts('Mailing Event Queue'),
           'description' => 'FK to EventQueue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_unsubscribe',
           'entity' => 'Unsubscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Unsubscribe',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_Event_DAO_Queue',
-        ) ,
-        'org_unsubscribe' => array(
+        ],
+        'org_unsubscribe' => [
           'name' => 'org_unsubscribe',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Unsubscribe is for Organization?') ,
+          'title' => ts('Unsubscribe is for Organization?'),
           'description' => 'Unsubscribe at org- or group-level',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_mailing_event_unsubscribe',
           'entity' => 'Unsubscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Unsubscribe',
           'localizable' => 0,
-        ) ,
-        'time_stamp' => array(
+        ],
+        'time_stamp' => [
           'name' => 'time_stamp',
           'type' => CRM_Utils_Type::T_TIMESTAMP,
-          'title' => ts('Unsubscribe Timestamp') ,
+          'title' => ts('Unsubscribe Timestamp'),
           'description' => 'When this delivery event occurred.',
-          'required' => true,
+          'required' => TRUE,
           'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_mailing_event_unsubscribe',
           'entity' => 'Unsubscribe',
           'bao' => 'CRM_Mailing_Event_BAO_Unsubscribe',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -187,10 +174,11 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_unsubscribe', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'mailing_event_unsubscribe', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -198,15 +186,21 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_unsubscribe', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'mailing_event_unsubscribe', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/BAO/Membership.php b/civicrm/CRM/Member/BAO/Membership.php
index a0c5445338..00361ca217 100644
--- a/civicrm/CRM/Member/BAO/Membership.php
+++ b/civicrm/CRM/Member/BAO/Membership.php
@@ -1477,6 +1477,10 @@ WHERE  civicrm_membership.contact_id = civicrm_contact.id
           $params['createActivity'] = TRUE;
         }
 
+        //CRM-20707 - include start/end date
+        $params['start_date'] = $membership->start_date;
+        $params['end_date'] = $membership->end_date;
+
         // we should not created contribution record for related contacts, CRM-3371
         unset($params['contribution_status_id']);
 
@@ -2113,6 +2117,57 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
     return $returnParams;
   }
 
+  /**
+   * Update the status of all deceased members to deceased.
+   *
+   * @return int
+   *   Count of updated contacts.
+   */
+  protected static function updateDeceasedMembersStatuses() {
+    $count = 0;
+    // 'create' context for buildOptions returns only if enabled.
+    $allStatus = self::buildOptions('status_id', 'create');
+    if (($deceasedStatusId = array_search('Deceased', $allStatus)) === FALSE) {
+      // Deceased status is an admin status & is required. We want to fail early if
+      // it is not present or active.
+      // We could make the case 'some databases just don't use deceased so we will check
+      // for the presence of a deceased contact in the DB before rejecting.
+      if (CRM_Core_DAO::singleValueQuery('
+        SELECT count(*) FROM civicrm_contact WHERE is_deceased = 0'
+      )) {
+        throw new CRM_Core_Exception(
+          ts("Deceased Membership status is missing or not active. <a href='%1'>Click here to check</a>.",
+            [1 => CRM_Utils_System::url('civicrm/admin/member/membershipStatus', 'reset=1')]
+          ));
+      }
+    }
+    $deceasedDAO = CRM_Core_DAO::executeQuery(
+      $baseQuery = "
+       SELECT membership.id as membership_id
+       FROM civicrm_membership membership
+       INNER JOIN civicrm_contact ON membership.contact_id = civicrm_contact.id
+       INNER JOIN civicrm_membership_type ON membership.membership_type_id = civicrm_membership_type.id
+         AND civicrm_membership_type.is_active = 1
+       WHERE membership.is_test = 0
+         AND civicrm_contact.is_deceased = 1
+         AND membership.status_id <> %1
+      ",
+      [1 => [$deceasedStatusId, 'Integer']]
+    );
+    while ($deceasedDAO->fetch()) {
+      civicrm_api3('membership', 'create', [
+        'id' => $deceasedDAO->membership_id,
+        'status_id' => $deceasedStatusId,
+        'createActivity' => TRUE,
+        'skipStatusCal' => TRUE,
+        'skipRecentView' => TRUE,
+      ]);
+      $count++;
+    }
+    $deceasedDAO->free();
+    return $count;
+  }
+
   /**
    * Process price set and line items.
    *
@@ -2179,14 +2234,14 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
    * @return array
    */
   public static function updateAllMembershipStatus() {
+    // Tests for this function are in api_v3_JobTest. Please add tests for all updates.
+
+    $updateCount = $processCount = self::updateDeceasedMembersStatuses();
 
-    //get all active statuses of membership, CRM-3984
-    $allStatus = CRM_Member_PseudoConstant::membershipStatus();
-    $statusLabels = CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'label');
     $allTypes = CRM_Member_PseudoConstant::membershipType();
 
-    // get only memberships with active membership types
-    $query = "
+    // This query retrieves ALL memberships of active types.
+    $baseQuery = "
 SELECT     civicrm_membership.id                    as membership_id,
            civicrm_membership.is_override           as is_override,
            civicrm_membership.membership_type_id    as membership_type_id,
@@ -2196,7 +2251,6 @@ SELECT     civicrm_membership.id                    as membership_id,
            civicrm_membership.end_date              as end_date,
            civicrm_membership.source                as source,
            civicrm_contact.id                       as contact_id,
-           civicrm_contact.is_deceased              as is_deceased,
            civicrm_membership.owner_membership_id   as owner_membership_id,
            civicrm_membership.contribution_recur_id as recur_id
 FROM       civicrm_membership
@@ -2205,19 +2259,12 @@ INNER JOIN civicrm_membership_type ON
   (civicrm_membership.membership_type_id = civicrm_membership_type.id AND civicrm_membership_type.is_active = 1)
 WHERE      civicrm_membership.is_test = 0";
 
-    $params = array();
-    $dao = CRM_Core_DAO::executeQuery($query, $params);
-
-    $processCount = 0;
-    $updateCount = 0;
-
-    $smarty = CRM_Core_Smarty::singleton();
+    $dao = CRM_Core_DAO::executeQuery($baseQuery . " AND civicrm_contact.is_deceased = 0");
 
+    $allStatus = self::buildOptions('status_id', 'create');
     while ($dao->fetch()) {
-      // echo ".";
       $processCount++;
 
-      // Put common parameters into array for easy access
       $memberParams = array(
         'id' => $dao->membership_id,
         'status_id' => $dao->status_id,
@@ -2232,43 +2279,6 @@ WHERE      civicrm_membership.is_test = 0";
         'skipRecentView' => TRUE,
       );
 
-      $smarty->assign_by_ref('memberParams', $memberParams);
-
-      //update membership record to Deceased if contact is deceased
-      if ($dao->is_deceased) {
-        // check for 'Deceased' membership status, CRM-5636
-        $deceaseStatusId = array_search('Deceased', $allStatus);
-        if (!$deceaseStatusId) {
-          CRM_Core_Error::fatal(ts("Deceased Membership status is missing or not active. <a href='%1'>Click here to check</a>.", array(1 => CRM_Utils_System::url('civicrm/admin/member/membershipStatus', 'reset=1'))));
-        }
-
-        //process only when status change.
-        if ($dao->status_id != $deceaseStatusId) {
-          //take all params that need to save.
-          $deceasedMembership = $memberParams;
-          $deceasedMembership['status_id'] = $deceaseStatusId;
-          $deceasedMembership['createActivity'] = TRUE;
-          $deceasedMembership['version'] = 3;
-
-          //since there is change in status.
-          $statusChange = array('status_id' => $deceaseStatusId);
-          $smarty->append_by_ref('memberParams', $statusChange, TRUE);
-          unset(
-            $deceasedMembership['contact_id'],
-            $deceasedMembership['membership_type_id'],
-            $deceasedMembership['membership_type'],
-            $deceasedMembership['join_date'],
-            $deceasedMembership['start_date'],
-            $deceasedMembership['end_date'],
-            $deceasedMembership['source']
-          );
-
-          //process membership record.
-          civicrm_api('membership', 'create', $deceasedMembership);
-        }
-        continue;
-      }
-
       //we fetch related, since we need to check for deceased
       //now further processing is handle w/ main membership record.
       if ($dao->owner_membership_id) {
@@ -2323,9 +2333,6 @@ WHERE      civicrm_membership.is_test = 0";
             $memParams['end_date'],
             $memParams['source']
           );
-          //since there is change in status.
-          $statusChange = array('status_id' => $statusId);
-          $smarty->append_by_ref('memberParams', $statusChange, TRUE);
 
           //process member record.
           civicrm_api('membership', 'create', $memParams);
diff --git a/civicrm/CRM/Member/BAO/MembershipBlock.php b/civicrm/CRM/Member/BAO/MembershipBlock.php
index 921735ba03..eb32779f7b 100644
--- a/civicrm/CRM/Member/BAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/BAO/MembershipBlock.php
@@ -53,7 +53,7 @@ class CRM_Member_BAO_MembershipBlock extends CRM_Member_DAO_MembershipBlock {
     $hook = empty($params['id']) ? 'create' : 'edit';
     CRM_Utils_Hook::pre($hook, 'MembershipBlock', CRM_Utils_Array::value('id', $params), $params);
     $dao = new CRM_Member_DAO_MembershipBlock();
-    $dao->copyValues($params);
+    $dao->copyValues($params, TRUE);
     $dao->id = CRM_Utils_Array::value('id', $params);
     $dao->save();
     CRM_Utils_Hook::post($hook, 'MembershipBlock', $dao->id, $dao);
diff --git a/civicrm/CRM/Member/DAO/Membership.php b/civicrm/CRM/Member/DAO/Membership.php
index 99ab3cbc78..7a378b086a 100644
--- a/civicrm/CRM/Member/DAO/Membership.php
+++ b/civicrm/CRM/Member/DAO/Membership.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,331 +8,347 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:1a9ebe9e0d3ab9247f2a3dda32bab22a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_Membership constructor.
+ * Database access object for the Membership entity.
  */
 class CRM_Member_DAO_Membership extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Membership Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to Membership Type
    *
    * @var int unsigned
    */
   public $membership_type_id;
+
   /**
    * Beginning of initial membership period (member since...).
    *
    * @var date
    */
   public $join_date;
+
   /**
    * Beginning of current uninterrupted membership period.
    *
    * @var date
    */
   public $start_date;
+
   /**
    * Current membership period expire date.
    *
    * @var date
    */
   public $end_date;
+
   /**
-   *
    * @var string
    */
   public $source;
+
   /**
    * FK to Membership Status
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.
    *
    * @var boolean
    */
   public $is_override;
+
   /**
    * Optional FK to Parent Membership.
    *
    * @var int unsigned
    */
   public $owner_membership_id;
+
   /**
    * Maximum number of related memberships (membership_type override).
    *
    * @var int
    */
   public $max_related;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
-   *
    * @var boolean
    */
   public $is_pay_later;
+
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
    * @var int unsigned
    */
   public $contribution_recur_id;
+
   /**
    * The campaign for which this membership is attached.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_type_id', 'civicrm_membership_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'status_id', 'civicrm_membership_status', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'owner_membership_id', 'civicrm_membership', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_recur_id', 'civicrm_contribution_recur', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_type_id', 'civicrm_membership_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'status_id', 'civicrm_membership_status', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'owner_membership_id', 'civicrm_membership', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_recur_id', 'civicrm_contribution_recur', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'membership_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'membership_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership ID') ,
+          'title' => ts('Membership ID'),
           'description' => 'Membership Id',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_membership.id',
           'headerPattern' => '/^(m(embership\s)?id)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-        ) ,
-        'membership_contact_id' => array(
+        ],
+        'membership_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_membership.contact_id',
           'headerPattern' => '/contact(.?id)?/i',
           'dataPattern' => '/^\d+$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'membership_type_id' => array(
+          ],
+        ],
+        'membership_type_id' => [
           'name' => 'membership_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type Id') ,
+          'title' => ts('Membership Type Id'),
           'description' => 'FK to Membership Type',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_membership.membership_type_id',
           'headerPattern' => '/^(m(embership\s)?type)$/i',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_membership_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'join_date' => array(
+          ]
+        ],
+        'join_date' => [
           'name' => 'join_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Member Since') ,
+          'title' => ts('Member Since'),
           'description' => 'Beginning of initial membership period (member since...).',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.join_date',
           'headerPattern' => '/^join|(j(oin\s)?date)$/i',
           'dataPattern' => '/\d{4}-?\d{2}-?\d{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDate',
-          ) ,
-        ) ,
-        'membership_start_date' => array(
+          ],
+        ],
+        'membership_start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Membership Start Date') ,
+          'title' => ts('Membership Start Date'),
           'description' => 'Beginning of current uninterrupted membership period.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.start_date',
           'headerPattern' => '/(member(ship)?.)?start(s)?(.date$)?/i',
           'dataPattern' => '/\d{4}-?\d{2}-?\d{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDate',
-          ) ,
-        ) ,
-        'membership_end_date' => array(
+          ],
+        ],
+        'membership_end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Membership Expiration Date') ,
+          'title' => ts('Membership Expiration Date'),
           'description' => 'Current membership period expire date.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.end_date',
           'headerPattern' => '/(member(ship)?.)?end(s)?(.date$)?/i',
           'dataPattern' => '/\d{4}-?\d{2}-?\d{2}/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
             'formatType' => 'activityDate',
-          ) ,
-        ) ,
-        'membership_source' => array(
+          ],
+        ],
+        'membership_source' => [
           'name' => 'source',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Source') ,
+          'title' => ts('Source'),
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.source',
           'headerPattern' => '/^(member(ship?))?source$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'status_id' => array(
+          ],
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Status Id') ,
+          'title' => ts('Membership Status Id'),
           'description' => 'FK to Membership Status',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_membership.status_id',
           'headerPattern' => '/(member(ship|).)?(status)$/i',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipStatus',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_membership_status',
             'keyColumn' => 'id',
             'labelColumn' => 'label',
-          )
-        ) ,
-        'is_override' => array(
+          ]
+        ],
+        'is_override' => [
           'name' => 'is_override',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Status Override') ,
+          'title' => ts('Status Override'),
           'description' => 'Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.is_override',
           'headerPattern' => '/override$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'owner_membership_id' => array(
+          ],
+        ],
+        'owner_membership_id' => [
           'name' => 'owner_membership_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Primary Member ID') ,
+          'title' => ts('Primary Member ID'),
           'description' => 'Optional FK to Parent Membership.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_membership.owner_membership_id',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -365,122 +357,126 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_Membership',
-        ) ,
-        'max_related' => array(
+        ],
+        'max_related' => [
           'name' => 'max_related',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Max Related') ,
+          'title' => ts('Max Related'),
           'description' => 'Maximum number of related memberships (membership_type override).',
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'member_is_test' => array(
+          ],
+        ],
+        'member_is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_membership.is_test',
           'headerPattern' => '/(is.)?test(.member(ship)?)?/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'member_is_pay_later' => array(
+          ],
+        ],
+        'member_is_pay_later' => [
           'name' => 'is_pay_later',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Pay Later') ,
-          'import' => true,
+          'title' => ts('Is Pay Later'),
+          'import' => TRUE,
           'where' => 'civicrm_membership.is_pay_later',
           'headerPattern' => '/(is.)?(pay(.)?later)$/i',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'contribution_recur_id' => array(
+          ],
+        ],
+        'contribution_recur_id' => [
           'name' => 'contribution_recur_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Recurring Contribution') ,
+          'title' => ts('Membership Recurring Contribution'),
           'description' => 'Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.',
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionRecur',
-        ) ,
-        'member_campaign_id' => array(
+        ],
+        'member_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this membership is attached.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership',
           'entity' => 'Membership',
           'bao' => 'CRM_Member_BAO_Membership',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -488,10 +484,11 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -499,24 +496,30 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_owner_membership_id' => array(
+    $indices = [
+      'index_owner_membership_id' => [
         'name' => 'index_owner_membership_id',
-        'field' => array(
+        'field' => [
           0 => 'owner_membership_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_membership::0::owner_membership_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/DAO/MembershipBlock.php b/civicrm/CRM/Member/DAO/MembershipBlock.php
index db4feda293..084c706f81 100644
--- a/civicrm/CRM/Member/DAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/DAO/MembershipBlock.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,147 +8,164 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:b99880f7b9c20c98f428dd694d8264ba)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_MembershipBlock constructor.
+ * Database access object for the MembershipBlock entity.
  */
 class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership_block';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Membership Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name for Membership Status
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to civicrm_contribution_page.id
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Membership types to be exposed by this block
    *
    * @var string
    */
   public $membership_types;
+
   /**
    * Optional foreign key to membership_type
    *
    * @var int unsigned
    */
   public $membership_type_default;
+
   /**
    * Display minimum membership fee
    *
    * @var boolean
    */
   public $display_min_fee;
+
   /**
    * Should membership transactions be processed separately
    *
    * @var boolean
    */
   public $is_separate_payment;
+
   /**
    * Title to display at top of block
    *
    * @var string
    */
   public $new_title;
+
   /**
    * Text to display below title
    *
    * @var text
    */
   public $new_text;
+
   /**
    * Title for renewal
    *
    * @var string
    */
   public $renewal_title;
+
   /**
    * Text to display for member renewal
    *
    * @var text
    */
   public $renewal_text;
+
   /**
    * Is membership sign up optional
    *
    * @var boolean
    */
   public $is_required;
+
   /**
    * Is this membership_block enabled
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership_block';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'entity_id', 'civicrm_contribution_page', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_type_default', 'civicrm_membership_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'entity_id', 'civicrm_contribution_page', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_type_default', 'civicrm_membership_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Block ID') ,
+          'title' => ts('Membership Block ID'),
           'description' => 'Membership Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Block Entity Table') ,
+          'title' => ts('Membership Block Entity Table'),
           'description' => 'Name for Membership Status',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -180,23 +173,23 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Block Entity ID') ,
+          'title' => ts('Membership Block Entity ID'),
           'description' => 'FK to civicrm_contribution_page.id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionPage',
-        ) ,
-        'membership_types' => array(
+        ],
+        'membership_types' => [
           'name' => 'membership_types',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Block Membership Types') ,
+          'title' => ts('Membership Block Membership Types'),
           'description' => 'Membership types to be exposed by this block',
           'maxlength' => 1024,
           'size' => CRM_Utils_Type::HUGE,
@@ -205,44 +198,44 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'membership_type_default' => array(
+        ],
+        'membership_type_default' => [
           'name' => 'membership_type_default',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Block Default Type') ,
+          'title' => ts('Membership Block Default Type'),
           'description' => 'Optional foreign key to membership_type',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipType',
-        ) ,
-        'display_min_fee' => array(
+        ],
+        'display_min_fee' => [
           'name' => 'display_min_fee',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Membership Block Display Minimum Fee') ,
+          'title' => ts('Membership Block Display Minimum Fee'),
           'description' => 'Display minimum membership fee',
           'default' => '1',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-        'is_separate_payment' => array(
+        ],
+        'is_separate_payment' => [
           'name' => 'is_separate_payment',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Membership Block Is Separate Payment') ,
+          'title' => ts('Membership Block Is Separate Payment'),
           'description' => 'Should membership transactions be processed separately',
           'default' => '1',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-        'new_title' => array(
+        ],
+        'new_title' => [
           'name' => 'new_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Block New Title') ,
+          'title' => ts('Membership Block New Title'),
           'description' => 'Title to display at top of block',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -250,21 +243,21 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 1,
-        ) ,
-        'new_text' => array(
+        ],
+        'new_text' => [
           'name' => 'new_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Membership Block New Text') ,
+          'title' => ts('Membership Block New Text'),
           'description' => 'Text to display below title',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 1,
-        ) ,
-        'renewal_title' => array(
+        ],
+        'renewal_title' => [
           'name' => 'renewal_title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Block Renewal Title') ,
+          'title' => ts('Membership Block Renewal Title'),
           'description' => 'Title for renewal',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -272,71 +265,75 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 1,
-        ) ,
-        'renewal_text' => array(
+        ],
+        'renewal_text' => [
           'name' => 'renewal_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Membership Block Renewal Text') ,
+          'title' => ts('Membership Block Renewal Text'),
           'description' => 'Text to display for member renewal',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 1,
-        ) ,
-        'is_required' => array(
+        ],
+        'is_required' => [
           'name' => 'is_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Required') ,
+          'title' => ts('Is Required'),
           'description' => 'Is membership sign up optional',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is this membership_block enabled',
           'default' => '1',
           'table_name' => 'civicrm_membership_block',
           'entity' => 'MembershipBlock',
           'bao' => 'CRM_Member_BAO_MembershipBlock',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -344,10 +341,11 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_block', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -355,15 +353,21 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_block', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/DAO/MembershipLog.php b/civicrm/CRM/Member/DAO/MembershipLog.php
index 8b7f6b986e..3b6310bd57 100644
--- a/civicrm/CRM/Member/DAO/MembershipLog.php
+++ b/civicrm/CRM/Member/DAO/MembershipLog.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,238 +8,254 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:9182bcbeed0a05c3fed5f3027ba89668)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_MembershipLog constructor.
+ * Database access object for the MembershipLog entity.
  */
 class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership_log';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Membership table
    *
    * @var int unsigned
    */
   public $membership_id;
+
   /**
    * New status assigned to membership by this action. FK to Membership Status
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * New membership period start date
    *
    * @var date
    */
   public $start_date;
+
   /**
    * New membership period expiration date.
    *
    * @var date
    */
   public $end_date;
+
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
    * @var int unsigned
    */
   public $modified_id;
+
   /**
    * Date this membership modification action was logged.
    *
    * @var date
    */
   public $modified_date;
+
   /**
    * FK to Membership Type.
    *
    * @var int unsigned
    */
   public $membership_type_id;
+
   /**
    * Maximum number of related memberships.
    *
    * @var int
    */
   public $max_related;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership_log';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_id', 'civicrm_membership', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'status_id', 'civicrm_membership_status', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'modified_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_type_id', 'civicrm_membership_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_id', 'civicrm_membership', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'status_id', 'civicrm_membership_status', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'modified_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_type_id', 'civicrm_membership_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Log ID') ,
-          'required' => true,
+          'title' => ts('Membership Log ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
-        ) ,
-        'membership_id' => array(
+        ],
+        'membership_id' => [
           'name' => 'membership_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership ID') ,
+          'title' => ts('Membership ID'),
           'description' => 'FK to Membership table',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_Membership',
-        ) ,
-        'status_id' => array(
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Status') ,
+          'title' => ts('Membership Status'),
           'description' => 'New status assigned to membership by this action. FK to Membership Status',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipStatus',
-        ) ,
-        'start_date' => array(
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Membership Log Start Date') ,
+          'title' => ts('Membership Log Start Date'),
           'description' => 'New membership period start date',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
-        ) ,
-        'end_date' => array(
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Membership Log End Date') ,
+          'title' => ts('Membership Log End Date'),
           'description' => 'New membership period expiration date.',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
-        ) ,
-        'modified_id' => array(
+        ],
+        'modified_id' => [
           'name' => 'modified_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Log modified By') ,
+          'title' => ts('Membership Log modified By'),
           'description' => 'FK to Contact ID of person under whose credentials this data modification was made.',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'modified_date' => array(
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Membership Change Date') ,
+          'title' => ts('Membership Change Date'),
           'description' => 'Date this membership modification action was logged.',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
-        ) ,
-        'membership_type_id' => array(
+        ],
+        'membership_type_id' => [
           'name' => 'membership_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type ID') ,
+          'title' => ts('Membership Type ID'),
           'description' => 'FK to Membership Type.',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipType',
-        ) ,
-        'max_related' => array(
+        ],
+        'max_related' => [
           'name' => 'max_related',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum Related Memberships') ,
+          'title' => ts('Maximum Related Memberships'),
           'description' => 'Maximum number of related memberships.',
           'table_name' => 'civicrm_membership_log',
           'entity' => 'MembershipLog',
           'bao' => 'CRM_Member_BAO_MembershipLog',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -271,10 +263,11 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_log', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -282,15 +275,21 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_log', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_log', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/DAO/MembershipPayment.php b/civicrm/CRM/Member/DAO/MembershipPayment.php
index 73af131b1e..6d7ea99b97 100644
--- a/civicrm/CRM/Member/DAO/MembershipPayment.php
+++ b/civicrm/CRM/Member/DAO/MembershipPayment.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,137 +8,147 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:f5961822475bf3b83377d72f9ed34b07)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_MembershipPayment constructor.
+ * Database access object for the MembershipPayment entity.
  */
 class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership_payment';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Membership table
    *
    * @var int unsigned
    */
   public $membership_id;
+
   /**
    * FK to contribution table.
    *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership_payment';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_id', 'civicrm_membership', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_id', 'civicrm_membership', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Payment ID') ,
-          'required' => true,
+          'title' => ts('Membership Payment ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_payment',
           'entity' => 'MembershipPayment',
           'bao' => 'CRM_Member_BAO_MembershipPayment',
           'localizable' => 0,
-        ) ,
-        'membership_id' => array(
+        ],
+        'membership_id' => [
           'name' => 'membership_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership') ,
+          'title' => ts('Membership'),
           'description' => 'FK to Membership table',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_payment',
           'entity' => 'MembershipPayment',
           'bao' => 'CRM_Member_BAO_MembershipPayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_Membership',
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution') ,
+          'title' => ts('Contribution'),
           'description' => 'FK to contribution table.',
           'table_name' => 'civicrm_membership_payment',
           'entity' => 'MembershipPayment',
           'bao' => 'CRM_Member_BAO_MembershipPayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -170,10 +156,11 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_payment', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -181,26 +168,32 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_payment', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_contribution_membership' => array(
+    $indices = [
+      'UI_contribution_membership' => [
         'name' => 'UI_contribution_membership',
-        'field' => array(
+        'field' => [
           0 => 'contribution_id',
           1 => 'membership_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_membership_payment::1::contribution_id::membership_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/DAO/MembershipStatus.php b/civicrm/CRM/Member/DAO/MembershipStatus.php
index 3d7f1d8daf..b40573e637 100644
--- a/civicrm/CRM/Member/DAO/MembershipStatus.php
+++ b/civicrm/CRM/Member/DAO/MembershipStatus.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,160 +8,177 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:dfe977e53a6b66703ab4eca3560048e6)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_MembershipStatus constructor.
+ * Database access object for the MembershipStatus entity.
  */
 class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership_status';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Membership Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name for Membership Status
    *
    * @var string
    */
   public $name;
+
   /**
    * Label for Membership Status
    *
    * @var string
    */
   public $label;
+
   /**
    * Event when this status starts.
    *
    * @var string
    */
   public $start_event;
+
   /**
    * Unit used for adjusting from start_event.
    *
    * @var string
    */
   public $start_event_adjust_unit;
+
   /**
    * Status range begins this many units from start_event.
    *
    * @var int
    */
   public $start_event_adjust_interval;
+
   /**
    * Event after which this status ends.
    *
    * @var string
    */
   public $end_event;
+
   /**
    * Unit used for adjusting from the ending event.
    *
    * @var string
    */
   public $end_event_adjust_unit;
+
   /**
    * Status range ends this many units from end_event.
    *
    * @var int
    */
   public $end_event_adjust_interval;
+
   /**
    * Does this status aggregate to current members (e.g. New, Renewed, Grace might all be TRUE... while Unrenewed, Lapsed, Inactive would be FALSE).
    *
    * @var boolean
    */
   public $is_current_member;
+
   /**
    * Is this status for admin/manual assignment only.
    *
    * @var boolean
    */
   public $is_admin;
+
   /**
-   *
    * @var int
    */
   public $weight;
+
   /**
    * Assign this status to a membership record if no other status match is found.
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Is this membership_status enabled.
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this membership_status reserved.
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership_status';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Status ID') ,
+          'title' => ts('Membership Status ID'),
           'description' => 'Membership Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'membership_status' => array(
+        ],
+        'membership_status' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Status') ,
+          'title' => ts('Membership Status'),
           'description' => 'Name for Membership Status',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership_status.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label') ,
+          'title' => ts('Label'),
           'description' => 'Label for Membership Status',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -193,11 +186,11 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 1,
-        ) ,
-        'start_event' => array(
+        ],
+        'start_event' => [
           'name' => 'start_event',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Start Event') ,
+          'title' => ts('Start Event'),
           'description' => 'Event when this status starts.',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -205,17 +198,17 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::eventDate',
-          )
-        ) ,
-        'start_event_adjust_unit' => array(
+          ]
+        ],
+        'start_event_adjust_unit' => [
           'name' => 'start_event_adjust_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Start Event Adjust Unit') ,
+          'title' => ts('Start Event Adjust Unit'),
           'description' => 'Unit used for adjusting from start_event.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -223,27 +216,27 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::unitList',
-          )
-        ) ,
-        'start_event_adjust_interval' => array(
+          ]
+        ],
+        'start_event_adjust_interval' => [
           'name' => 'start_event_adjust_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Start Event Adjust Interval') ,
+          'title' => ts('Start Event Adjust Interval'),
           'description' => 'Status range begins this many units from start_event.',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'end_event' => array(
+        ],
+        'end_event' => [
           'name' => 'end_event',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('End Event') ,
+          'title' => ts('End Event'),
           'description' => 'Event after which this status ends.',
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
@@ -251,17 +244,17 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::eventDate',
-          )
-        ) ,
-        'end_event_adjust_unit' => array(
+          ]
+        ],
+        'end_event_adjust_unit' => [
           'name' => 'end_event_adjust_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('End Event Adjust Unit') ,
+          'title' => ts('End Event Adjust Unit'),
           'description' => 'Unit used for adjusting from the ending event.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -269,116 +262,120 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::unitList',
-          )
-        ) ,
-        'end_event_adjust_interval' => array(
+          ]
+        ],
+        'end_event_adjust_interval' => [
           'name' => 'end_event_adjust_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('End Event Adjust Interval') ,
+          'title' => ts('End Event Adjust Interval'),
           'description' => 'Status range ends this many units from end_event.',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'is_current_member' => array(
+        ],
+        'is_current_member' => [
           'name' => 'is_current_member',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Current Membership?') ,
+          'title' => ts('Current Membership?'),
           'description' => 'Does this status aggregate to current members (e.g. New, Renewed, Grace might all be TRUE... while Unrenewed, Lapsed, Inactive would be FALSE).',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'is_admin' => array(
+        ],
+        'is_admin' => [
           'name' => 'is_admin',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Admin Assigned Only?') ,
+          'title' => ts('Admin Assigned Only?'),
           'description' => 'Is this status for admin/manual assignment only.',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'weight' => array(
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'is_default' => array(
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Default Status?') ,
+          'title' => ts('Default Status?'),
           'description' => 'Assign this status to a membership record if no other status match is found.',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is this membership_status enabled.',
           'default' => '1',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Reserved') ,
+          'title' => ts('Is Reserved'),
           'description' => 'Is this membership_status reserved.',
           'table_name' => 'civicrm_membership_status',
           'entity' => 'MembershipStatus',
           'bao' => 'CRM_Member_BAO_MembershipStatus',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -386,10 +383,11 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_status', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_status', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -397,15 +395,21 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_status', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_status', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/DAO/MembershipType.php b/civicrm/CRM/Member/DAO/MembershipType.php
index 3077ceba0f..177dcccedc 100644
--- a/civicrm/CRM/Member/DAO/MembershipType.php
+++ b/civicrm/CRM/Member/DAO/MembershipType.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,227 +8,249 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:c86019d4817d79e1dd59d69eaa2a3eb6)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Member_DAO_MembershipType constructor.
+ * Database access object for the MembershipType entity.
  */
 class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_membership_type';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Membership Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this match entry for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Name of Membership Type
    *
    * @var string
    */
   public $name;
+
   /**
    * Description of Membership Type
    *
    * @var string
    */
   public $description;
+
   /**
    * Owner organization for this membership type. FK to Contact ID
    *
    * @var int unsigned
    */
   public $member_of_contact_id;
+
   /**
    * If membership is paid by a contribution - what financial type should be used. FK to civicrm_financial_type.id
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Minimum fee for this membership (0 for free/complimentary memberships).
    *
    * @var float
    */
   public $minimum_fee;
+
   /**
    * Unit in which membership period is expressed.
    *
    * @var string
    */
   public $duration_unit;
+
   /**
    * Number of duration units in membership period (e.g. 1 year, 12 months).
    *
    * @var int
    */
   public $duration_interval;
+
   /**
    * Rolling membership period starts on signup date. Fixed membership periods start on fixed_period_start_day.
    *
    * @var string
    */
   public $period_type;
+
   /**
    * For fixed period memberships, month and day (mmdd) on which subscription/membership will start. Period start is back-dated unless after rollover day.
    *
    * @var int
    */
   public $fixed_period_start_day;
+
   /**
    * For fixed period memberships, signups after this day (mmdd) rollover to next period.
    *
    * @var int
    */
   public $fixed_period_rollover_day;
+
   /**
    * FK to Relationship Type ID
    *
    * @var string
    */
   public $relationship_type_id;
+
   /**
-   *
    * @var string
    */
   public $relationship_direction;
+
   /**
    * Maximum number of related memberships.
    *
    * @var int
    */
   public $max_related;
+
   /**
-   *
    * @var string
    */
   public $visibility;
+
   /**
-   *
    * @var int
    */
   public $weight;
+
   /**
    * Receipt Text for membership signup
    *
    * @var string
    */
   public $receipt_text_signup;
+
   /**
    * Receipt Text for membership renewal
    *
    * @var string
    */
   public $receipt_text_renewal;
+
   /**
    * 0 = No auto-renew option; 1 = Give option, but not required; 2 = Auto-renew required;
    *
    * @var boolean
    */
   public $auto_renew;
+
   /**
    * Is this membership_type enabled
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_membership_type';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'member_of_contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'member_of_contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type ID') ,
+          'title' => ts('Membership Type ID'),
           'description' => 'Membership Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type Domain') ,
+          'title' => ts('Membership Type Domain'),
           'description' => 'Which Domain is this match entry for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'membership_type' => array(
+          ]
+        ],
+        'membership_type' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type') ,
+          'title' => ts('Membership Type'),
           'description' => 'Name of Membership Type',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_membership_type.name',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 1,
-        ) ,
-        'description' => array(
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Description') ,
+          'title' => ts('Membership Type Description'),
           'description' => 'Description of Membership Type',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -260,57 +258,57 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'member_of_contact_id' => array(
+          ],
+        ],
+        'member_of_contact_id' => [
           'name' => 'member_of_contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type Organization') ,
+          'title' => ts('Membership Type Organization'),
           'description' => 'Owner organization for this membership type. FK to Contact ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Financial Type') ,
+          'title' => ts('Membership Financial Type'),
           'description' => 'If membership is paid by a contribution - what financial type should be used. FK to civicrm_financial_type.id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'minimum_fee' => array(
+          ]
+        ],
+        'minimum_fee' => [
           'name' => 'minimum_fee',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('membership Type Minimum Fee') ,
+          'title' => ts('membership Type Minimum Fee'),
           'description' => 'Minimum fee for this membership (0 for free/complimentary memberships).',
-          'precision' => array(
+          'precision' => [
             18,
             9
-          ) ,
+          ],
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'duration_unit' => array(
+        ],
+        'duration_unit' => [
           'name' => 'duration_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Duration Unit') ,
+          'title' => ts('Membership Type Duration Unit'),
           'description' => 'Unit in which membership period is expressed.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -318,27 +316,27 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::membershipTypeUnitList',
-          )
-        ) ,
-        'duration_interval' => array(
+          ]
+        ],
+        'duration_interval' => [
           'name' => 'duration_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type Duration Interval') ,
+          'title' => ts('Membership Type Duration Interval'),
           'description' => 'Number of duration units in membership period (e.g. 1 year, 12 months).',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'period_type' => array(
+        ],
+        'period_type' => [
           'name' => 'period_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Plan') ,
+          'title' => ts('Membership Type Plan'),
           'description' => 'Rolling membership period starts on signup date. Fixed membership periods start on fixed_period_start_day.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -346,34 +344,34 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::periodType',
-          )
-        ) ,
-        'fixed_period_start_day' => array(
+          ]
+        ],
+        'fixed_period_start_day' => [
           'name' => 'fixed_period_start_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Fixed Period Start Day') ,
+          'title' => ts('Fixed Period Start Day'),
           'description' => 'For fixed period memberships, month and day (mmdd) on which subscription/membership will start. Period start is back-dated unless after rollover day.',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'fixed_period_rollover_day' => array(
+        ],
+        'fixed_period_rollover_day' => [
           'name' => 'fixed_period_rollover_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Fixed Period Rollover Day') ,
+          'title' => ts('Fixed Period Rollover Day'),
           'description' => 'For fixed period memberships, signups after this day (mmdd) rollover to next period.',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'relationship_type_id' => array(
+        ],
+        'relationship_type_id' => [
           'name' => 'relationship_type_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Relationship') ,
+          'title' => ts('Membership Type Relationship'),
           'description' => 'FK to Relationship Type ID',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -381,58 +379,58 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'relationship_direction' => array(
+        ],
+        'relationship_direction' => [
           'name' => 'relationship_direction',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Relationship Direction') ,
+          'title' => ts('Relationship Direction'),
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'max_related' => array(
+        ],
+        'max_related' => [
           'name' => 'max_related',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Max Related Members for Type') ,
+          'title' => ts('Max Related Members for Type'),
           'description' => 'Maximum number of related memberships.',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'visibility' => array(
+        ],
+        'visibility' => [
           'name' => 'visibility',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Visible') ,
+          'title' => ts('Visible'),
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::memberVisibility',
-          )
-        ) ,
-        'weight' => array(
+          ]
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-        'receipt_text_signup' => array(
+        ],
+        'receipt_text_signup' => [
           'name' => 'receipt_text_signup',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Receipt Text') ,
+          'title' => ts('Membership Type Receipt Text'),
           'description' => 'Receipt Text for membership signup',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -440,14 +438,14 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'receipt_text_renewal' => array(
+          ],
+        ],
+        'receipt_text_renewal' => [
           'name' => 'receipt_text_renewal',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Membership Type Renewal Text') ,
+          'title' => ts('Membership Type Renewal Text'),
           'description' => 'Receipt Text for membership renewal',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -455,67 +453,71 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'auto_renew' => array(
+          ],
+        ],
+        'auto_renew' => [
           'name' => 'auto_renew',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Auto Renew') ,
+          'title' => ts('Auto Renew'),
           'description' => '0 = No auto-renew option; 1 = Give option, but not required; 2 = Auto-renew required;',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'callback' => 'CRM_Core_SelectValues::memberAutoRenew',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Active') ,
+          'title' => ts('Is Active'),
           'description' => 'Is this membership_type enabled',
           'default' => '1',
           'table_name' => 'civicrm_membership_type',
           'entity' => 'MembershipType',
           'bao' => 'CRM_Member_BAO_MembershipType',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -523,10 +525,11 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_type', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'membership_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -534,24 +537,30 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_type', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'membership_type', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_relationship_type_id' => array(
+    $indices = [
+      'index_relationship_type_id' => [
         'name' => 'index_relationship_type_id',
-        'field' => array(
+        'field' => [
           0 => 'relationship_type_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_membership_type::0::relationship_type_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Member/Form/Membership.php b/civicrm/CRM/Member/Form/Membership.php
index cf84532b72..2103683872 100644
--- a/civicrm/CRM/Member/Form/Membership.php
+++ b/civicrm/CRM/Member/Form/Membership.php
@@ -936,7 +936,7 @@ class CRM_Member_Form_Membership extends CRM_Member_Form {
    */
   public static function emailReceipt(&$form, &$formValues, &$membership) {
     // retrieve 'from email id' for acknowledgement
-    $receiptFrom = $formValues['from_email_address'];
+    $receiptFrom = CRM_Utils_Array::value('from_email_address', $formValues);
 
     if (!empty($formValues['payment_instrument_id'])) {
       $paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
@@ -1417,7 +1417,7 @@ class CRM_Member_Form_Membership extends CRM_Member_Form {
           // Assign amount to template if payment was successful.
           $this->assign('amount', $params['total_amount']);
         }
-        catch (PaymentProcessorException $e) {
+        catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
           if (!empty($paymentParams['contributionID'])) {
             CRM_Contribute_BAO_Contribution::failPayment($paymentParams['contributionID'], $this->_contactID,
               $e->getMessage());
@@ -1426,9 +1426,9 @@ class CRM_Member_Form_Membership extends CRM_Member_Form {
             CRM_Contribute_BAO_ContributionRecur::deleteRecurContribution($paymentParams['contributionRecurID']);
           }
 
-          CRM_Core_Error::displaySessionError($result);
+          CRM_Core_Session::singleton()->setStatus($e->getMessage());
           CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/contact/view/membership',
-            "reset=1&action=add&cid={$this->_contactID}&context=&mode={$this->_mode}"
+            "reset=1&action=add&cid={$this->_contactID}&context=membership&mode={$this->_mode}"
           ));
 
         }
diff --git a/civicrm/CRM/Member/Form/MembershipRenewal.php b/civicrm/CRM/Member/Form/MembershipRenewal.php
index 6734e5a716..5a0c2c2c05 100644
--- a/civicrm/CRM/Member/Form/MembershipRenewal.php
+++ b/civicrm/CRM/Member/Form/MembershipRenewal.php
@@ -238,6 +238,10 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
 
     $allMembershipInfo = array();
 
+    if (is_array($defaults['membership_type_id'])) { //CRM-21485
+      $defaults['membership_type_id'] = $defaults['membership_type_id'][1];
+    }
+
     //CRM-16950
     $taxRates = CRM_Core_PseudoConstant::getTaxRates();
     $taxRate = CRM_Utils_Array::value($this->allMembershipTypeDetails[$defaults['membership_type_id']]['financial_type_id'], $taxRates);
@@ -469,7 +473,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
       return $statusMsg;
     }
     catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
-      CRM_Core_Error::displaySessionError($e->getMessage());
+      CRM_Core_Session::singleton()->setStatus($e->getMessage());
       CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/contact/view/membership',
         "reset=1&action=renew&cid={$this->_contactID}&id={$this->_id}&context=membership&mode={$this->_mode}"
       ));
diff --git a/civicrm/CRM/Member/Form/MembershipView.php b/civicrm/CRM/Member/Form/MembershipView.php
index 65c63d4868..4f3f201715 100644
--- a/civicrm/CRM/Member/Form/MembershipView.php
+++ b/civicrm/CRM/Member/Form/MembershipView.php
@@ -163,7 +163,7 @@ class CRM_Member_Form_MembershipView extends CRM_Core_Form {
         $finTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $values['membership_type_id'], 'financial_type_id');
         $finType = CRM_Contribute_PseudoConstant::financialType($finTypeId);
         if (!CRM_Core_Permission::check('view contributions of type ' . $finType)) {
-          CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+          CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
         }
       }
       else {
diff --git a/civicrm/CRM/Member/Form/Search.php b/civicrm/CRM/Member/Form/Search.php
index e21293931a..0890a4bcce 100644
--- a/civicrm/CRM/Member/Form/Search.php
+++ b/civicrm/CRM/Member/Form/Search.php
@@ -153,7 +153,7 @@ class CRM_Member_Form_Search extends CRM_Core_Form_Search {
    */
   public function buildQuickForm() {
     parent::buildQuickForm();
-    $this->addSortNameField();
+    $this->addContactSearchFields();
 
     CRM_Member_BAO_Query::buildSearchForm($this);
 
@@ -192,6 +192,36 @@ class CRM_Member_Form_Search extends CRM_Core_Form_Search {
     return ts('Member Name');
   }
 
+  /**
+   * Get the label for the tag field.
+   *
+   * We do this in a function so the 'ts' wraps the whole string to allow
+   * better translation.
+   *
+   * @return string
+   */
+  protected function getTagLabel() {
+    return ts('Member Tag(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getGroupLabel() {
+    return ts('Member Group(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getContactTypeLabel() {
+    return ts('Member Contact Type');
+  }
+
   /**
    * The post processing of the form gets done here.
    *
diff --git a/civicrm/CRM/Member/Import/Form/MapField.php b/civicrm/CRM/Member/Import/Form/MapField.php
index bfab1fddde..a48eb20700 100644
--- a/civicrm/CRM/Member/Import/Form/MapField.php
+++ b/civicrm/CRM/Member/Import/Form/MapField.php
@@ -383,9 +383,7 @@ class CRM_Member_Import_Form_MapField extends CRM_Import_Form_MapField {
         $errors['saveMappingName'] = ts('Name is required to save Import Mapping');
       }
       else {
-        $mappingTypeId = CRM_Core_OptionGroup::getValue('mapping_type', 'Import Membership', 'name');
-
-        if (CRM_Core_BAO_Mapping::checkMapping($nameField, $mappingTypeId)) {
+        if (CRM_Core_BAO_Mapping::checkMapping($nameField, CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Membership'))) {
           $errors['saveMappingName'] = ts('Duplicate Import Membership Mapping Name');
         }
       }
@@ -487,10 +485,7 @@ class CRM_Member_Import_Form_MapField extends CRM_Import_Form_MapField {
       $mappingParams = array(
         'name' => $params['saveMappingName'],
         'description' => $params['saveMappingDesc'],
-        'mapping_type_id' => CRM_Core_OptionGroup::getValue('mapping_type',
-          'Import Membership',
-          'name'
-        ),
+        'mapping_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_Mapping', 'mapping_type_id', 'Import Membership'),
       );
       $saveMapping = CRM_Core_BAO_Mapping::add($mappingParams);
 
diff --git a/civicrm/CRM/Member/Page/Tab.php b/civicrm/CRM/Member/Page/Tab.php
index ecbdab6b77..789bbf1f63 100644
--- a/civicrm/CRM/Member/Page/Tab.php
+++ b/civicrm/CRM/Member/Page/Tab.php
@@ -156,11 +156,14 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
         );
       }
 
-      //does membership have auto renew CRM-7137.
-      if (!empty($membership[$dao->id]['contribution_recur_id']) &&
-        !CRM_Member_BAO_Membership::isSubscriptionCancelled($membership[$dao->id]['membership_id'])
-      ) {
-        $membership[$dao->id]['auto_renew'] = 1;
+      // Display Auto-renew status on page (0=disabled, 1=enabled, 2=enabled, but error
+      if (!empty($membership[$dao->id]['contribution_recur_id'])) {
+        if (CRM_Member_BAO_Membership::isSubscriptionCancelled($membership[$dao->id]['membership_id'])) {
+          $membership[$dao->id]['auto_renew'] = 2;
+        }
+        else {
+          $membership[$dao->id]['auto_renew'] = 1;
+        }
       }
       else {
         $membership[$dao->id]['auto_renew'] = 0;
diff --git a/civicrm/CRM/Member/Selector/Search.php b/civicrm/CRM/Member/Selector/Search.php
index 696623f668..36cda3a4d5 100644
--- a/civicrm/CRM/Member/Selector/Search.php
+++ b/civicrm/CRM/Member/Selector/Search.php
@@ -316,7 +316,7 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
    * @param string $output
    *   What should the result set include (web/email/csv).
    *
-   * @return int
+   * @return array
    *   the total number of rows for this action
    */
   public function &getRows($action, $offset, $rowCount, $sort, $output = NULL) {
@@ -441,14 +441,18 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
         );
       }
 
-      //does membership have auto renew CRM-7137.
-      $autoRenew = FALSE;
-      if (isset($result->membership_recur_id) && $result->membership_recur_id &&
-        !CRM_Member_BAO_Membership::isSubscriptionCancelled($row['membership_id'])
-      ) {
-        $autoRenew = TRUE;
+      // Display Auto-renew status on page (0=disabled, 1=enabled, 2=enabled, but error
+      if (!empty($result->membership_recur_id)) {
+        if (CRM_Member_BAO_Membership::isSubscriptionCancelled($row['membership_id'])) {
+          $row['auto_renew'] = 2;
+        }
+        else {
+          $row['auto_renew'] = 1;
+        }
+      }
+      else {
+        $row['auto_renew'] = 0;
       }
-      $row['auto_renew'] = $autoRenew;
 
       $row['contact_type'] = CRM_Contact_BAO_Contact_Utils::getImage($result->contact_sub_type ? $result->contact_sub_type : $result->contact_type, FALSE, $result->contact_id
       );
diff --git a/civicrm/CRM/Member/StateMachine/Search.php b/civicrm/CRM/Member/StateMachine/Search.php
index 49453bc275..a4521ea163 100644
--- a/civicrm/CRM/Member/StateMachine/Search.php
+++ b/civicrm/CRM/Member/StateMachine/Search.php
@@ -80,7 +80,7 @@ class CRM_Member_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Member/Task.php b/civicrm/CRM/Member/Task.php
index 7f2da7b08e..d20859a885 100644
--- a/civicrm/CRM/Member/Task.php
+++ b/civicrm/CRM/Member/Task.php
@@ -85,7 +85,10 @@ class CRM_Member_Task {
           'result' => FALSE,
         ),
         4 => array(
-          'title' => ts('Email - send now'),
+          'title' => ts('Email - send now (to %1 or less)', array(
+            1 => Civi::settings()
+              ->get('simple_mail_limit'),
+          )),
           'class' => 'CRM_Member_Form_Task_Email',
           'result' => TRUE,
         ),
diff --git a/civicrm/CRM/PCP/DAO/PCP.php b/civicrm/CRM/PCP/DAO/PCP.php
index 7ea180c19d..623651863c 100644
--- a/civicrm/CRM/PCP/DAO/PCP.php
+++ b/civicrm/CRM/PCP/DAO/PCP.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,189 +8,202 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6913feaec692244b1d39e330ba00188c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_PCP_DAO_PCP constructor.
+ * Database access object for the PCP entity.
  */
 class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_pcp';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Personal Campaign Page ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Contact ID
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $status_id;
+
   /**
-   *
    * @var string
    */
   public $title;
+
   /**
-   *
    * @var text
    */
   public $intro_text;
+
   /**
-   *
    * @var text
    */
   public $page_text;
+
   /**
-   *
    * @var string
    */
   public $donate_link_text;
+
   /**
    * The Contribution or Event Page which triggered this pcp
    *
    * @var int unsigned
    */
   public $page_id;
+
   /**
    * The type of PCP this is: contribute or event
    *
    * @var string
    */
   public $page_type;
+
   /**
    * The pcp block that this pcp page was created from
    *
    * @var int unsigned
    */
   public $pcp_block_id;
+
   /**
-   *
    * @var int unsigned
    */
   public $is_thermometer;
+
   /**
-   *
    * @var int unsigned
    */
   public $is_honor_roll;
+
   /**
    * Goal amount of this Personal Campaign Page.
    *
    * @var float
    */
   public $goal_amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * Is Personal Campaign Page enabled/active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Notify owner via email when someone donates to page?
    *
    * @var boolean
    */
   public $is_notify;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_pcp';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'pcp_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'pcp_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Personal Campaign Page ID') ,
+          'title' => ts('Personal Campaign Page ID'),
           'description' => 'Personal Campaign Page ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-        ) ,
-        'pcp_contact_id' => array(
+        ],
+        'pcp_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'FK to Contact ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'status_id' => array(
+          ],
+        ],
+        'status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Personal Campaign Page Status') ,
-          'required' => true,
+          'title' => ts('Personal Campaign Page Status'),
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'pcp_status',
             'optionEditPath' => 'civicrm/admin/options/pcp_status',
-          )
-        ) ,
-        'title' => array(
+          ]
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Personal Campaign Page Title') ,
+          'title' => ts('Personal Campaign Page Title'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'NULL',
@@ -222,40 +211,40 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'intro_text' => array(
+          ],
+        ],
+        'intro_text' => [
           'name' => 'intro_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Intro Text') ,
+          'title' => ts('Intro Text'),
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'page_text' => array(
+          ],
+        ],
+        'page_text' => [
           'name' => 'page_text',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Page Text') ,
+          'title' => ts('Page Text'),
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'donate_link_text' => array(
+          ],
+        ],
+        'donate_link_text' => [
           'name' => 'donate_link_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Donate Link Text') ,
+          'title' => ts('Donate Link Text'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'NULL',
@@ -263,25 +252,25 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'page_id' => array(
+          ],
+        ],
+        'page_id' => [
           'name' => 'page_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution Page') ,
+          'title' => ts('Contribution Page'),
           'description' => 'The Contribution or Event Page which triggered this pcp',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-        ) ,
-        'page_type' => array(
+        ],
+        'page_type' => [
           'name' => 'page_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('PCP Page Type') ,
+          'title' => ts('PCP Page Type'),
           'description' => 'The type of PCP this is: contribute or event',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -290,66 +279,66 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'pcp_block_id' => array(
+          ],
+        ],
+        'pcp_block_id' => [
           'name' => 'pcp_block_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('PCP Block') ,
+          'title' => ts('PCP Block'),
           'description' => 'The pcp block that this pcp page was created from',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-        ) ,
-        'is_thermometer' => array(
+        ],
+        'is_thermometer' => [
           'name' => 'is_thermometer',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Use Thermometer?') ,
+          'title' => ts('Use Thermometer?'),
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_honor_roll' => array(
+          ],
+        ],
+        'is_honor_roll' => [
           'name' => 'is_honor_roll',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Show Honor Roll?') ,
+          'title' => ts('Show Honor Roll?'),
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'goal_amount' => array(
+          ],
+        ],
+        'goal_amount' => [
           'name' => 'goal_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Goal Amount') ,
+          'title' => ts('Goal Amount'),
           'description' => 'Goal amount of this Personal Campaign Page.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'currency' => array(
+          ],
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -358,75 +347,79 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'is_active' => array(
+          ]
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Enabled?') ,
+          'title' => ts('Enabled?'),
           'description' => 'Is Personal Campaign Page enabled/active?',
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_notify' => array(
+          ],
+        ],
+        'is_notify' => [
           'name' => 'is_notify',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Notify Owner?') ,
+          'title' => ts('Notify Owner?'),
           'description' => 'Notify owner via email when someone donates to page?',
           'table_name' => 'civicrm_pcp',
           'entity' => 'PCP',
           'bao' => 'CRM_PCP_BAO_PCP',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -434,10 +427,11 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pcp', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pcp', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -445,15 +439,21 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pcp', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pcp', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/PCP/DAO/PCPBlock.php b/civicrm/CRM/PCP/DAO/PCPBlock.php
index f3a4f7a7c2..b68880302e 100644
--- a/civicrm/CRM/PCP/DAO/PCPBlock.php
+++ b/civicrm/CRM/PCP/DAO/PCPBlock.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,171 +8,187 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:5e7c52122eb7d5b428bb717c7c634327)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_PCP_DAO_PCPBlock constructor.
+ * Database access object for the PCPBlock entity.
  */
 class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_pcp_block';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * PCP block Id
    *
    * @var int unsigned
    */
   public $id;
+
   /**
-   *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to civicrm_contribution_page.id OR civicrm_event.id
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * The type of entity that this pcp targets
    *
    * @var string
    */
   public $target_entity_type;
+
   /**
    * The entity that this pcp targets
    *
    * @var int unsigned
    */
   public $target_entity_id;
+
   /**
    * FK to civicrm_uf_group.id. Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
    * @var int unsigned
    */
   public $supporter_profile_id;
+
   /**
    * FK to civicrm_option_group with name = PCP owner notifications
    *
    * @var int unsigned
    */
   public $owner_notify_id;
+
   /**
    * Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
    * @var boolean
    */
   public $is_approval_needed;
+
   /**
    * Does Personal Campaign Page allow using tell a friend?
    *
    * @var boolean
    */
   public $is_tellfriend_enabled;
+
   /**
    * Maximum recipient fields allowed in tell a friend
    *
    * @var int unsigned
    */
   public $tellfriend_limit;
+
   /**
    * Link text for PCP.
    *
    * @var string
    */
   public $link_text;
+
   /**
    * Is Personal Campaign Page Block enabled/active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * If set, notification is automatically emailed to this email-address on create/update Personal Campaign Page
    *
    * @var string
    */
   public $notify_email;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_pcp_block';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'supporter_profile_id', 'civicrm_uf_group', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'target_entity_id', NULL, 'id', 'target_entity_type');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'supporter_profile_id', 'civicrm_uf_group', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'target_entity_id', NULL, 'id', 'target_entity_type');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('PCP Block ID') ,
+          'title' => ts('PCP Block ID'),
           'description' => 'PCP block Id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity') ,
+          'title' => ts('Entity'),
           'description' => 'FK to civicrm_contribution_page.id OR civicrm_event.id',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'target_entity_type' => array(
+        ],
+        'target_entity_type' => [
           'name' => 'target_entity_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Target Entity') ,
+          'title' => ts('Target Entity'),
           'description' => 'The type of entity that this pcp targets',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'default' => 'contribute',
@@ -204,22 +196,22 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'target_entity_id' => array(
+        ],
+        'target_entity_id' => [
           'name' => 'target_entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Target Entity ID') ,
+          'title' => ts('Target Entity ID'),
           'description' => 'The entity that this pcp targets',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'supporter_profile_id' => array(
+        ],
+        'supporter_profile_id' => [
           'name' => 'supporter_profile_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Supporter Profile') ,
+          'title' => ts('Supporter Profile'),
           'description' => 'FK to civicrm_uf_group.id. Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?',
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp_block',
@@ -227,61 +219,61 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_UFGroup',
-        ) ,
-        'owner_notify_id' => array(
+        ],
+        'owner_notify_id' => [
           'name' => 'owner_notify_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Owner Notification') ,
+          'title' => ts('Owner Notification'),
           'description' => 'FK to civicrm_option_group with name = PCP owner notifications',
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Radio',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'pcp_owner_notify',
             'optionEditPath' => 'civicrm/admin/options/pcp_owner_notify',
-          )
-        ) ,
-        'is_approval_needed' => array(
+          ]
+        ],
+        'is_approval_needed' => [
           'name' => 'is_approval_needed',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Approval Required?') ,
+          'title' => ts('Approval Required?'),
           'description' => 'Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?',
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'is_tellfriend_enabled' => array(
+        ],
+        'is_tellfriend_enabled' => [
           'name' => 'is_tellfriend_enabled',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Tell a Friend Enabled?') ,
+          'title' => ts('Tell a Friend Enabled?'),
           'description' => 'Does Personal Campaign Page allow using tell a friend?',
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'tellfriend_limit' => array(
+        ],
+        'tellfriend_limit' => [
           'name' => 'tellfriend_limit',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Tell A Friend Limit') ,
+          'title' => ts('Tell A Friend Limit'),
           'description' => 'Maximum recipient fields allowed in tell a friend',
           'default' => 'NULL',
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'link_text' => array(
+        ],
+        'link_text' => [
           'name' => 'link_text',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Link Text') ,
+          'title' => ts('Link Text'),
           'description' => 'Link text for PCP.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -290,22 +282,22 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 1,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Enabled?') ,
+          'title' => ts('Enabled?'),
           'description' => 'Is Personal Campaign Page Block enabled/active?',
           'default' => '1',
           'table_name' => 'civicrm_pcp_block',
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-        'notify_email' => array(
+        ],
+        'notify_email' => [
           'name' => 'notify_email',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Notification Email') ,
+          'title' => ts('Notification Email'),
           'description' => 'If set, notification is automatically emailed to this email-address on create/update Personal Campaign Page',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -314,40 +306,44 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
           'entity' => 'PCPBlock',
           'bao' => 'CRM_PCP_BAO_PCPBlock',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -355,10 +351,11 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pcp_block', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pcp_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -366,15 +363,21 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pcp_block', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pcp_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Pledge/DAO/Pledge.php b/civicrm/CRM/Pledge/DAO/Pledge.php
index d63802f49b..3badb084b9 100644
--- a/civicrm/CRM/Pledge/DAO/Pledge.php
+++ b/civicrm/CRM/Pledge/DAO/Pledge.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,293 +8,319 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:0e2129564a1877226e6dfce2840ce831)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Pledge_DAO_Pledge constructor.
+ * Database access object for the Pledge entity.
  */
 class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_pledge';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Pledge ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Foreign key to civicrm_contact.id .
    *
    * @var int unsigned
    */
   public $contact_id;
+
   /**
    * FK to Financial Type
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * The Contribution Page which triggered this contribution
    *
    * @var int unsigned
    */
   public $contribution_page_id;
+
   /**
    * Total pledged amount.
    *
    * @var float
    */
   public $amount;
+
   /**
    * Original amount for each of the installments.
    *
    * @var float
    */
   public $original_installment_amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * Time units for recurrence of pledge payments.
    *
    * @var string
    */
   public $frequency_unit;
+
   /**
    * Number of time units for recurrence of pledge payments.
    *
    * @var int unsigned
    */
   public $frequency_interval;
+
   /**
    * Day in the period when the pledge payment is due e.g. 1st of month, 15th etc. Use this to set the scheduled dates for pledge payments.
    *
    * @var int unsigned
    */
   public $frequency_day;
+
   /**
    * Total number of payments to be made.
    *
    * @var int unsigned
    */
   public $installments;
+
   /**
    * The date the first scheduled pledge occurs.
    *
    * @var datetime
    */
   public $start_date;
+
   /**
    * When this pledge record was created.
    *
    * @var datetime
    */
   public $create_date;
+
   /**
    * When a pledge acknowledgement message was sent to the contributor.
    *
    * @var datetime
    */
   public $acknowledge_date;
+
   /**
    * Last updated date for this pledge record.
    *
    * @var datetime
    */
   public $modified_date;
+
   /**
    * Date this pledge was cancelled by contributor.
    *
    * @var datetime
    */
   public $cancel_date;
+
   /**
    * Date this pledge finished successfully (total pledge payments equal to or greater than pledged amount).
    *
    * @var datetime
    */
   public $end_date;
+
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
    * @var int unsigned
    */
   public $max_reminders;
+
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
    * @var int unsigned
    */
   public $initial_reminder_day;
+
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
    * @var int unsigned
    */
   public $additional_reminder_day;
+
   /**
    * Implicit foreign key to civicrm_option_values in the pledge_status option group.
    *
    * @var int unsigned
    */
   public $status_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_test;
+
   /**
    * The campaign for which this pledge has been initiated.
    *
    * @var int unsigned
    */
   public $campaign_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_pledge';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_page_id', 'civicrm_contribution_page', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'campaign_id', 'civicrm_campaign', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contact_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_page_id', 'civicrm_contribution_page', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'pledge_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'pledge_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge ID') ,
+          'title' => ts('Pledge ID'),
           'description' => 'Pledge ID',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_pledge.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-        ) ,
-        'pledge_contact_id' => array(
+        ],
+        'pledge_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID') ,
+          'title' => ts('Contact ID'),
           'description' => 'Foreign key to civicrm_contact.id .',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_pledge.contact_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-          'html' => array(
+          'html' => [
             'type' => 'EntityRef',
-          ) ,
-        ) ,
-        'pledge_financial_type_id' => array(
+          ],
+        ],
+        'pledge_financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Type') ,
+          'title' => ts('Type'),
           'description' => 'FK to Financial Type',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'pledge_contribution_page_id' => array(
+          ]
+        ],
+        'pledge_contribution_page_id' => [
           'name' => 'contribution_page_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge Contribution Page') ,
+          'title' => ts('Pledge Contribution Page'),
           'description' => 'The Contribution Page which triggered this contribution',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_ContributionPage',
-        ) ,
-        'pledge_amount' => array(
+        ],
+        'pledge_amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Total Pledged') ,
+          'title' => ts('Total Pledged'),
           'description' => 'Total pledged amount.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_pledge.amount',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'pledge_original_installment_amount' => array(
+          ],
+        ],
+        'pledge_original_installment_amount' => [
           'name' => 'original_installment_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Original Installment Amount') ,
+          'title' => ts('Original Installment Amount'),
           'description' => 'Original amount for each of the installments.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'export' => true,
+          ],
+          'export' => TRUE,
           'where' => 'civicrm_pledge.original_installment_amount',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -326,14 +328,14 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'currency' => array(
+          ],
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pledge Currency') ,
+          'title' => ts('Pledge Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -342,20 +344,20 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'pledge_frequency_unit' => array(
+          ]
+        ],
+        'pledge_frequency_unit' => [
           'name' => 'frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pledge Frequency Unit') ,
+          'title' => ts('Pledge Frequency Unit'),
           'description' => 'Time units for recurrence of pledge payments.',
           'maxlength' => 8,
           'size' => CRM_Utils_Type::EIGHT,
@@ -364,51 +366,51 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'recur_frequency_units',
             'keyColumn' => 'name',
             'optionEditPath' => 'civicrm/admin/options/recur_frequency_units',
-          )
-        ) ,
-        'pledge_frequency_interval' => array(
+          ]
+        ],
+        'pledge_frequency_interval' => [
           'name' => 'frequency_interval',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge Frequency Interval') ,
+          'title' => ts('Pledge Frequency Interval'),
           'description' => 'Number of time units for recurrence of pledge payments.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '1',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'frequency_day' => array(
+          ],
+        ],
+        'frequency_day' => [
           'name' => 'frequency_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge day') ,
+          'title' => ts('Pledge day'),
           'description' => 'Day in the period when the pledge payment is due e.g. 1st of month, 15th etc. Use this to set the scheduled dates for pledge payments.',
-          'required' => true,
+          'required' => TRUE,
           'default' => '3',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'installments' => array(
+          ],
+        ],
+        'installments' => [
           'name' => 'installments',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge Number of Installments') ,
+          'title' => ts('Pledge Number of Installments'),
           'description' => 'Total number of payments to be made.',
-          'export' => true,
+          'export' => TRUE,
           'where' => 'civicrm_pledge.installments',
           'headerPattern' => '',
           'dataPattern' => '',
@@ -417,227 +419,231 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'start_date' => array(
+          ],
+        ],
+        'start_date' => [
           'name' => 'start_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge Start Date') ,
+          'title' => ts('Pledge Start Date'),
           'description' => 'The date the first scheduled pledge occurs.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'pledge_create_date' => array(
+          ],
+        ],
+        'pledge_create_date' => [
           'name' => 'create_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge Made') ,
+          'title' => ts('Pledge Made'),
           'description' => 'When this pledge record was created.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_pledge.create_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'acknowledge_date' => array(
+          ],
+        ],
+        'acknowledge_date' => [
           'name' => 'acknowledge_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge Acknowledged') ,
+          'title' => ts('Pledge Acknowledged'),
           'description' => 'When a pledge acknowledgement message was sent to the contributor.',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'modified_date' => array(
+          ],
+        ],
+        'modified_date' => [
           'name' => 'modified_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge Modified Date') ,
+          'title' => ts('Pledge Modified Date'),
           'description' => 'Last updated date for this pledge record.',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-        ) ,
-        'cancel_date' => array(
+        ],
+        'cancel_date' => [
           'name' => 'cancel_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge Cancelled Date') ,
+          'title' => ts('Pledge Cancelled Date'),
           'description' => 'Date this pledge was cancelled by contributor.',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'end_date' => array(
+          ],
+        ],
+        'end_date' => [
           'name' => 'end_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Pledge End Date') ,
+          'title' => ts('Pledge End Date'),
           'description' => 'Date this pledge finished successfully (total pledge payments equal to or greater than pledged amount).',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'max_reminders' => array(
+          ],
+        ],
+        'max_reminders' => [
           'name' => 'max_reminders',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum Number of Reminders') ,
+          'title' => ts('Maximum Number of Reminders'),
           'description' => 'The maximum number of payment reminders to send for any given payment.',
           'default' => '1',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'initial_reminder_day' => array(
+          ],
+        ],
+        'initial_reminder_day' => [
           'name' => 'initial_reminder_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Initial Reminder Day') ,
+          'title' => ts('Initial Reminder Day'),
           'description' => 'Send initial reminder this many days prior to the payment due date.',
           'default' => '5',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'additional_reminder_day' => array(
+          ],
+        ],
+        'additional_reminder_day' => [
           'name' => 'additional_reminder_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Additional Reminder Days') ,
+          'title' => ts('Additional Reminder Days'),
           'description' => 'Send additional reminder this many days after last one sent, up to maximum number of reminders.',
           'default' => '5',
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'pledge_status_id' => array(
+          ],
+        ],
+        'pledge_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge Status Id') ,
+          'title' => ts('Pledge Status Id'),
           'description' => 'Implicit foreign key to civicrm_option_values in the pledge_status option group.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_pledge.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'pledge_status',
             'optionEditPath' => 'civicrm/admin/options/pledge_status',
-          )
-        ) ,
-        'pledge_is_test' => array(
+          ]
+        ],
+        'pledge_is_test' => [
           'name' => 'is_test',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Test') ,
-          'import' => true,
+          'title' => ts('Test'),
+          'import' => TRUE,
           'where' => 'civicrm_pledge.is_test',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'pledge_campaign_id' => array(
+          ],
+        ],
+        'pledge_campaign_id' => [
           'name' => 'campaign_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Campaign') ,
+          'title' => ts('Campaign'),
           'description' => 'The campaign for which this pledge has been initiated.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_pledge.campaign_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge',
           'entity' => 'Pledge',
           'bao' => 'CRM_Pledge_BAO_Pledge',
           'localizable' => 0,
           'FKClassName' => 'CRM_Campaign_DAO_Campaign',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_campaign',
             'keyColumn' => 'id',
             'labelColumn' => 'title',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -645,10 +651,11 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -656,24 +663,30 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_status' => array(
+    $indices = [
+      'index_status' => [
         'name' => 'index_status',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_pledge::0::status_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Pledge/DAO/PledgeBlock.php b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
index e6cfa9fdce..794bbc04a7 100644
--- a/civicrm/CRM/Pledge/DAO/PledgeBlock.php
+++ b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,134 +8,149 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:630f1a7378136b8cc3edcd82a96279d6)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Pledge_DAO_PledgeBlock constructor.
+ * Database access object for the PledgeBlock entity.
  */
 class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_pledge_block';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Pledge ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * physical tablename for entity being joined to pledge, e.g. civicrm_contact
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * FK to entity table specified in entity_table column.
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * Delimited list of supported frequency units
    *
    * @var string
    */
   public $pledge_frequency_unit;
+
   /**
    * Is frequency interval exposed on the contribution form.
    *
    * @var boolean
    */
   public $is_pledge_interval;
+
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
    * @var int unsigned
    */
   public $max_reminders;
+
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
    * @var int unsigned
    */
   public $initial_reminder_day;
+
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
    * @var int unsigned
    */
   public $additional_reminder_day;
+
   /**
    * The date the first scheduled pledge occurs.
    *
    * @var string
    */
   public $pledge_start_date;
+
   /**
    * If true - recurring start date is shown.
    *
    * @var boolean
    */
   public $is_pledge_start_date_visible;
+
   /**
    * If true - recurring start date is editable.
    *
    * @var boolean
    */
   public $is_pledge_start_date_editable;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_pledge_block';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge Block ID') ,
+          'title' => ts('Pledge Block ID'),
           'description' => 'Pledge ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'physical tablename for entity being joined to pledge, e.g. civicrm_contact',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -167,22 +158,22 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity Id') ,
+          'title' => ts('Entity Id'),
           'description' => 'FK to entity table specified in entity_table column.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'pledge_frequency_unit' => array(
+        ],
+        'pledge_frequency_unit' => [
           'name' => 'pledge_frequency_unit',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pledge Frequency Unit') ,
+          'title' => ts('Pledge Frequency Unit'),
           'description' => 'Delimited list of supported frequency units',
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
@@ -191,54 +182,54 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
-        ) ,
-        'is_pledge_interval' => array(
+        ],
+        'is_pledge_interval' => [
           'name' => 'is_pledge_interval',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Expose Frequency Interval?') ,
+          'title' => ts('Expose Frequency Interval?'),
           'description' => 'Is frequency interval exposed on the contribution form.',
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'max_reminders' => array(
+        ],
+        'max_reminders' => [
           'name' => 'max_reminders',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Maximum Number of Reminders') ,
+          'title' => ts('Maximum Number of Reminders'),
           'description' => 'The maximum number of payment reminders to send for any given payment.',
           'default' => '1',
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'initial_reminder_day' => array(
+        ],
+        'initial_reminder_day' => [
           'name' => 'initial_reminder_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Initial Reminder Day') ,
+          'title' => ts('Initial Reminder Day'),
           'description' => 'Send initial reminder this many days prior to the payment due date.',
           'default' => '5',
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'additional_reminder_day' => array(
+        ],
+        'additional_reminder_day' => [
           'name' => 'additional_reminder_day',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Additional Reminder Days') ,
+          'title' => ts('Additional Reminder Days'),
           'description' => 'Send additional reminder this many days after last one sent, up to maximum number of reminders.',
           'default' => '5',
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'pledge_start_date' => array(
+        ],
+        'pledge_start_date' => [
           'name' => 'pledge_start_date',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Pledge Start Date') ,
+          'title' => ts('Pledge Start Date'),
           'description' => 'The date the first scheduled pledge occurs.',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -246,62 +237,66 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'is_pledge_start_date_visible' => array(
+        ],
+        'is_pledge_start_date_visible' => [
           'name' => 'is_pledge_start_date_visible',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Show Recurring Donation Start Date?') ,
+          'title' => ts('Show Recurring Donation Start Date?'),
           'description' => 'If true - recurring start date is shown.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-        'is_pledge_start_date_editable' => array(
+        ],
+        'is_pledge_start_date_editable' => [
           'name' => 'is_pledge_start_date_editable',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Allow Edits to Recurring Donation Start Date?') ,
+          'title' => ts('Allow Edits to Recurring Donation Start Date?'),
           'description' => 'If true - recurring start date is editable.',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge_block',
           'entity' => 'PledgeBlock',
           'bao' => 'CRM_Pledge_BAO_PledgeBlock',
           'localizable' => 0,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -309,10 +304,11 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge_block', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -320,25 +316,31 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge_block', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge_block', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_pledge_block::0::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Pledge/DAO/PledgePayment.php b/civicrm/CRM/Pledge/DAO/PledgePayment.php
index c51fc033df..120177e523 100644
--- a/civicrm/CRM/Pledge/DAO/PledgePayment.php
+++ b/civicrm/CRM/Pledge/DAO/PledgePayment.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,193 +8,205 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:37953335e5e08db4328298ec003c97a8)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Pledge_DAO_PledgePayment constructor.
+ * Database access object for the PledgePayment entity.
  */
 class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_pledge_payment';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to Pledge table
    *
    * @var int unsigned
    */
   public $pledge_id;
+
   /**
    * FK to contribution table.
    *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * Pledged amount for this payment (the actual contribution amount might be different).
    *
    * @var float
    */
   public $scheduled_amount;
+
   /**
    * Actual amount that is paid as the Pledged installment amount.
    *
    * @var float
    */
   public $actual_amount;
+
   /**
    * 3 character string, value from config setting or input via user.
    *
    * @var string
    */
   public $currency;
+
   /**
    * The date the pledge payment is supposed to happen.
    *
    * @var datetime
    */
   public $scheduled_date;
+
   /**
    * The date that the most recent payment reminder was sent.
    *
    * @var datetime
    */
   public $reminder_date;
+
   /**
    * The number of payment reminders sent.
    *
    * @var int unsigned
    */
   public $reminder_count;
+
   /**
-   *
    * @var int unsigned
    */
   public $status_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_pledge_payment';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'pledge_id', 'civicrm_pledge', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'pledge_id', 'civicrm_pledge', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'pledge_payment_id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'pledge_payment_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment ID') ,
-          'required' => true,
-          'import' => true,
+          'title' => ts('Payment ID'),
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'pledge_id' => array(
+        ],
+        'pledge_id' => [
           'name' => 'pledge_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Pledge') ,
+          'title' => ts('Pledge'),
           'description' => 'FK to Pledge table',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Pledge_DAO_Pledge',
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contribution') ,
+          'title' => ts('Contribution'),
           'description' => 'FK to contribution table.',
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-        'pledge_payment_scheduled_amount' => array(
+        ],
+        'pledge_payment_scheduled_amount' => [
           'name' => 'scheduled_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Scheduled Amount') ,
+          'title' => ts('Scheduled Amount'),
           'description' => 'Pledged amount for this payment (the actual contribution amount might be different).',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.scheduled_amount',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'pledge_payment_actual_amount' => array(
+        ],
+        'pledge_payment_actual_amount' => [
           'name' => 'actual_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Actual Amount') ,
+          'title' => ts('Actual Amount'),
           'description' => 'Actual amount that is paid as the Pledged installment amount.',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.actual_amount',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'currency' => array(
+        ],
+        'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Currency') ,
+          'title' => ts('Currency'),
           'description' => '3 character string, value from config setting or input via user.',
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
@@ -227,113 +215,117 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_currency',
             'keyColumn' => 'name',
             'labelColumn' => 'full_name',
             'nameColumn' => 'name',
-          )
-        ) ,
-        'pledge_payment_scheduled_date' => array(
+          ]
+        ],
+        'pledge_payment_scheduled_date' => [
           'name' => 'scheduled_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Scheduled Date') ,
+          'title' => ts('Scheduled Date'),
           'description' => 'The date the pledge payment is supposed to happen.',
-          'required' => true,
-          'import' => true,
+          'required' => TRUE,
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.scheduled_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'pledge_payment_reminder_date' => array(
+        ],
+        'pledge_payment_reminder_date' => [
           'name' => 'reminder_date',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Last Reminder') ,
+          'title' => ts('Last Reminder'),
           'description' => 'The date that the most recent payment reminder was sent.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.reminder_date',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'pledge_payment_reminder_count' => array(
+        ],
+        'pledge_payment_reminder_count' => [
           'name' => 'reminder_count',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Reminders Sent') ,
+          'title' => ts('Reminders Sent'),
           'description' => 'The number of payment reminders sent.',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.reminder_count',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-        ) ,
-        'pledge_payment_status_id' => array(
+        ],
+        'pledge_payment_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Payment Status') ,
-          'import' => true,
+          'title' => ts('Payment Status'),
+          'import' => TRUE,
           'where' => 'civicrm_pledge_payment.status_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => false,
+          'export' => FALSE,
           'table_name' => 'civicrm_pledge_payment',
           'entity' => 'PledgePayment',
           'bao' => 'CRM_Pledge_BAO_PledgePayment',
           'localizable' => 0,
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'optionGroupName' => 'contribution_status',
             'optionEditPath' => 'civicrm/admin/options/contribution_status',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -341,10 +333,11 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge_payment', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'pledge_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -352,33 +345,39 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge_payment', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'pledge_payment', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_contribution_pledge' => array(
+    $indices = [
+      'index_contribution_pledge' => [
         'name' => 'index_contribution_pledge',
-        'field' => array(
+        'field' => [
           0 => 'contribution_id',
           1 => 'pledge_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_pledge_payment::0::contribution_id::pledge_id',
-      ) ,
-      'index_status' => array(
+      ],
+      'index_status' => [
         'name' => 'index_status',
-        'field' => array(
+        'field' => [
           0 => 'status_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_pledge_payment::0::status_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Pledge/Form/Search.php b/civicrm/CRM/Pledge/Form/Search.php
index e0e23cfa06..6859f79545 100644
--- a/civicrm/CRM/Pledge/Form/Search.php
+++ b/civicrm/CRM/Pledge/Form/Search.php
@@ -145,7 +145,7 @@ class CRM_Pledge_Form_Search extends CRM_Core_Form_Search {
    */
   public function buildQuickForm() {
     parent::buildQuickForm();
-    $this->addSortNameField();
+    $this->addContactSearchFields();
 
     CRM_Pledge_BAO_Query::buildSearchForm($this);
 
@@ -184,6 +184,36 @@ class CRM_Pledge_Form_Search extends CRM_Core_Form_Search {
     return ts('Pledger Name');
   }
 
+  /**
+   * Get the label for the tag field.
+   *
+   * We do this in a function so the 'ts' wraps the whole string to allow
+   * better translation.
+   *
+   * @return string
+   */
+  protected function getTagLabel() {
+    return ts('Pledger Tag(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getGroupLabel() {
+    return ts('Pledger Group(s)');
+  }
+
+  /**
+   * Get the label for the group field.
+   *
+   * @return string
+   */
+  protected function getContactTypeLabel() {
+    return ts('Pledger Contact Type');
+  }
+
   /**
    * The post processing of the form gets done here.
    *
diff --git a/civicrm/CRM/Pledge/StateMachine/Search.php b/civicrm/CRM/Pledge/StateMachine/Search.php
index a809e91fd2..653ee39d11 100644
--- a/civicrm/CRM/Pledge/StateMachine/Search.php
+++ b/civicrm/CRM/Pledge/StateMachine/Search.php
@@ -80,7 +80,7 @@ class CRM_Pledge_StateMachine_Search extends CRM_Core_StateMachine {
    *
    * @param string $formName
    *
-   * @return string
+   * @return array
    *   the name of the form that will handle the task
    */
   public function taskName($controller, $formName = 'Search') {
diff --git a/civicrm/CRM/Price/BAO/LineItem.php b/civicrm/CRM/Price/BAO/LineItem.php
index 66792a6f30..8296e38470 100644
--- a/civicrm/CRM/Price/BAO/LineItem.php
+++ b/civicrm/CRM/Price/BAO/LineItem.php
@@ -602,6 +602,56 @@ WHERE li.contribution_id = %1";
     }
   }
 
+  /**
+   * Build the line items for the submitted price field.
+   *
+   * This is when first building them - not an update where an entityId is already present
+   * as this is intended as a subfunction of that. Ideally getLineItemArray would call this
+   * (resolving to the same format regardless of what type of price set is being used first).
+   *
+   * @param array $priceParams
+   *   These are per the way the form processes them - ie
+   *   ['price_1' => 1, 'price_2' => 8]
+   *   This would mean price field id 1, option 1 (or 1 unit if using is_enter_qty).
+   * @param float|NULL $overrideAmount
+   *   Optional override of the amount.
+   *
+   * @param int|NULL $financialTypeID
+   *   Financial type ID is the type should be overridden.
+   *
+   * @return array
+   *   Line items formatted for processing. These will look like
+   *   [4] => ['price_field_id' => 4, 'price_field_value_id' => x, 'label....qty...unit_price...line_total...financial_type_id]
+   *   [5] => ['price_field_id' => 5, 'price_field_value_id' => x, 'label....qty...unit_price...line_total...financial_type_id]
+   *
+   */
+  public static function buildLineItemsForSubmittedPriceField($priceParams, $overrideAmount = NULL, $financialTypeID = NULL) {
+    $lineItems = array();
+    foreach ($priceParams as $key => $value) {
+      $priceField = self::getPriceFieldMetaData($key);
+
+      if ($priceField['html_type'] === 'Text') {
+        $valueSpec = reset($priceField['values']);
+      }
+      else {
+        $valueSpec = $priceField['values'][$value];
+      }
+      $qty = $priceField['is_enter_qty'] ? $value : 1;
+      $lineItems[$priceField['id']] = [
+        'price_field_id' => $priceField['id'],
+        'price_field_value_id' => $valueSpec['id'],
+        'label' => $valueSpec['label'],
+        'qty' => $qty,
+        'unit_price' => $overrideAmount ?: $valueSpec['amount'],
+        'line_total' => $qty * ($overrideAmount ?: $valueSpec['amount']),
+        'financial_type_id' => $financialTypeID ?: $valueSpec['financial_type_id'],
+        'membership_type_id' => $valueSpec['membership_type_id'],
+        'price_set_id' => $priceField['price_set_id'],
+      ];
+    }
+    return $lineItems;
+  }
+
   /**
    * Function to update related contribution of a entity and
    *  add/update/cancel financial records
@@ -1023,6 +1073,53 @@ WHERE li.contribution_id = %1";
     }
   }
 
+  /**
+   * Get the metadata for a price field.
+   *
+   * @param string|int $key
+   *   Price field id. Either as an integer or as 'price_4' where 4 is the id
+   *
+   * @return array
+   *   Metadata for the price field with a values key for option values.
+   */
+  protected static function getPriceFieldMetaData($key) {
+    $priceFieldID = str_replace('price_', '', $key);
+    if (!isset(Civi::$statics[__CLASS__]['price_fields'][$priceFieldID])) {
+      $values = civicrm_api3('PriceFieldValue', 'get', [
+        'price_field_id' => $priceFieldID,
+        'return' => [
+          'id',
+          'amount',
+          'financial_type_id',
+          'membership_type_id',
+          'label',
+          'price_field_id',
+          'price_field_id.price_set_id',
+          'price_field_id.html_type',
+          'is_enter_qty',
+        ],
+      ]);
+      $firstValue = reset($values['values']);
+      $values = $values['values'];
+      foreach ($values as $index => $value) {
+        // Let's be nice to calling functions & ensure membership_type_id is set
+        // so they don't have to handle notices on it. Handle one place not many.
+        if (!isset($value['membership_type_id'])) {
+          $values[$index]['membership_type_id'] = NULL;
+        }
+      }
+
+      Civi::$statics[__CLASS__]['price_fields'][$priceFieldID] = [
+        'price_set_id' => $firstValue['price_field_id.price_set_id'],
+        'id' => $firstValue['price_field_id'],
+        'html_type' => $firstValue['price_field_id.html_type'],
+        'is_enter_qty' => !empty($firstValue['is_enter_qty']),
+        'values' => $values,
+      ];
+    }
+    return Civi::$statics[__CLASS__]['price_fields'][$priceFieldID];
+  }
+
   /**
    * Helper function to retrieve financial trxn parameters to reverse
    *  for given financial item identified by $financialItemID
diff --git a/civicrm/CRM/Price/BAO/PriceField.php b/civicrm/CRM/Price/BAO/PriceField.php
index 000b977e23..04d3f39f39 100644
--- a/civicrm/CRM/Price/BAO/PriceField.php
+++ b/civicrm/CRM/Price/BAO/PriceField.php
@@ -645,17 +645,16 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField {
    *   array of options
    */
   public static function getOptions($fieldId, $inactiveNeeded = FALSE, $reset = FALSE, $isDefaultContributionPriceSet = FALSE) {
-    static $options = array();
-    if ($reset) {
-      $options = array();
+    if ($reset || !isset(Civi::$statics[__CLASS__]['priceOptions'])) {
+      Civi::$statics[__CLASS__]['priceOptions'] = array();
       // This would happen if the function was only called to clear the cache.
       if (empty($fieldId)) {
         return array();
       }
     }
 
-    if (empty($options[$fieldId])) {
-      $values = array();
+    if (empty(Civi::$statics[__CLASS__]['priceOptions'][$fieldId])) {
+      $values = $options = array();
       CRM_Price_BAO_PriceFieldValue::getValues($fieldId, $values, 'weight', !$inactiveNeeded);
       $options[$fieldId] = $values;
       $taxRates = CRM_Core_PseudoConstant::getTaxRates();
@@ -669,9 +668,10 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField {
           $options[$fieldId][$priceFieldId]['tax_amount'] = $taxAmount['tax_amount'];
         }
       }
+      Civi::$statics[__CLASS__]['priceOptions'][$fieldId] = $options[$fieldId];
     }
 
-    return $options[$fieldId];
+    return Civi::$statics[__CLASS__]['priceOptions'][$fieldId];
   }
 
   /**
diff --git a/civicrm/CRM/Price/BAO/PriceSet.php b/civicrm/CRM/Price/BAO/PriceSet.php
index 3af46ffbde..d7f09f480c 100644
--- a/civicrm/CRM/Price/BAO/PriceSet.php
+++ b/civicrm/CRM/Price/BAO/PriceSet.php
@@ -747,7 +747,7 @@ WHERE  id = %1";
           CRM_Price_BAO_LineItem::format($id, $params, $field, $lineItem, $amount_override);
           if (CRM_Utils_Array::value('tax_rate', $field['options'][$optionValueId])) {
             $lineItem = self::setLineItem($field, $lineItem, $optionValueId, $totalTax);
-            if (CRM_Utils_Array::value('field_title', $lineItem[$optionValueId]) == 'Membership Amount') {
+            if ($amount_override) {
               $lineItem[$optionValueId]['line_total'] = $lineItem[$optionValueId]['unit_price'] = CRM_Utils_Rule::cleanMoney($lineItem[$optionValueId]['line_total'] - $lineItem[$optionValueId]['tax_amount']);
             }
           }
@@ -838,9 +838,8 @@ WHERE  id = %1";
         $params['amount_level'] = CRM_Core_DAO::VALUE_SEPARATOR . implode(CRM_Core_DAO::VALUE_SEPARATOR, $amount_level) . $displayParticipantCount . CRM_Core_DAO::VALUE_SEPARATOR;
       }
     }
-    // @todo this was a fix for CRM-16460 but is too deep in the system for formatting
-    // and probably causes negative amounts to save as $0 depending on server config.
-    $params['amount'] = CRM_Utils_Money::format($totalPrice, NULL, NULL, TRUE);
+
+    $params['amount'] = $totalPrice;
     $params['tax_amount'] = $totalTax;
     if ($component) {
       foreach ($autoRenew as $dontCare => $eachAmount) {
diff --git a/civicrm/CRM/Price/DAO/LineItem.php b/civicrm/CRM/Price/DAO/LineItem.php
index 2f05c853d1..905b47099f 100644
--- a/civicrm/CRM/Price/DAO/LineItem.php
+++ b/civicrm/CRM/Price/DAO/LineItem.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,202 +8,220 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:db7c7e55df64ed93a7152b5297d13d25)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Price_DAO_LineItem constructor.
+ * Database access object for the LineItem entity.
  */
 class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_line_item';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Line Item
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * table which has the transaction
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * entry in table
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * FK to civicrm_contribution
    *
    * @var int unsigned
    */
   public $contribution_id;
+
   /**
    * FK to civicrm_price_field
    *
    * @var int unsigned
    */
   public $price_field_id;
+
   /**
    * descriptive label for item - from price_field_value.label
    *
    * @var string
    */
   public $label;
+
   /**
    * How many items ordered
    *
    * @var float
    */
   public $qty;
+
   /**
    * price of each item
    *
    * @var float
    */
   public $unit_price;
+
   /**
    * qty * unit_price
    *
    * @var float
    */
   public $line_total;
+
   /**
    * Participant count for field
    *
    * @var int unsigned
    */
   public $participant_count;
+
   /**
    * FK to civicrm_price_field_value
    *
    * @var int unsigned
    */
   public $price_field_value_id;
+
   /**
    * FK to Financial Type.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Portion of total amount which is NOT tax deductible.
    *
    * @var float
    */
   public $non_deductible_amount;
+
   /**
    * tax of each item
    *
    * @var float
    */
   public $tax_amount;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_line_item';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'contribution_id', 'civicrm_contribution', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_field_id', 'civicrm_price_field', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_field_value_id', 'civicrm_price_field_value', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'contribution_id', 'civicrm_contribution', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_field_id', 'civicrm_price_field', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_field_value_id', 'civicrm_price_field_value', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item ID') ,
+          'title' => ts('Line Item ID'),
           'description' => 'Line Item',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Line Item Entity Type') ,
+          'title' => ts('Line Item Entity Type'),
           'description' => 'table which has the transaction',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item Entity') ,
+          'title' => ts('Line Item Entity'),
           'description' => 'entry in table',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-        ) ,
-        'contribution_id' => array(
+        ],
+        'contribution_id' => [
           'name' => 'contribution_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item Contribution') ,
+          'title' => ts('Line Item Contribution'),
           'description' => 'FK to civicrm_contribution',
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contribute_DAO_Contribution',
-        ) ,
-        'price_field_id' => array(
+        ],
+        'price_field_id' => [
           'name' => 'price_field_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item Price Field') ,
+          'title' => ts('Line Item Price Field'),
           'description' => 'FK to civicrm_price_field',
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceField',
-        ) ,
-        'label' => array(
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Line Item Label') ,
+          'title' => ts('Line Item Label'),
           'description' => 'descriptive label for item - from price_field_value.label',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -236,79 +230,79 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'qty' => array(
+          ],
+        ],
+        'qty' => [
           'name' => 'qty',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Line Item Quantity') ,
+          'title' => ts('Line Item Quantity'),
           'description' => 'How many items ordered',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'unit_price' => array(
+          ],
+        ],
+        'unit_price' => [
           'name' => 'unit_price',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Unit Price') ,
+          'title' => ts('Unit Price'),
           'description' => 'price of each item',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'line_total' => array(
+          ],
+        ],
+        'line_total' => [
           'name' => 'line_total',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Line Item Total') ,
+          'title' => ts('Line Item Total'),
           'description' => 'qty * unit_price',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-        ) ,
-        'participant_count' => array(
+        ],
+        'participant_count' => [
           'name' => 'participant_count',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item Participant Count') ,
+          'title' => ts('Line Item Participant Count'),
           'description' => 'Participant count for field',
           'default' => 'NULL',
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'price_field_value_id' => array(
+          ],
+        ],
+        'price_field_value_id' => [
           'name' => 'price_field_value_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Line Item Option') ,
+          'title' => ts('Line Item Option'),
           'description' => 'FK to civicrm_price_field_value',
           'default' => 'NULL',
           'table_name' => 'civicrm_line_item',
@@ -316,11 +310,11 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceFieldValue',
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_line_item',
@@ -328,89 +322,93 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'non_deductible_amount' => array(
+          ]
+        ],
+        'non_deductible_amount' => [
           'name' => 'non_deductible_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Non-deductible Amount') ,
+          'title' => ts('Non-deductible Amount'),
           'description' => 'Portion of total amount which is NOT tax deductible.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'default' => '0.0',
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'tax_amount' => array(
+          ],
+        ],
+        'tax_amount' => [
           'name' => 'tax_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Tax Amount') ,
+          'title' => ts('Tax Amount'),
           'description' => 'tax of each item',
-          'precision' => array(
+          'precision' => [
             20,
             2
-          ) ,
-          'import' => true,
+          ],
+          'import' => TRUE,
           'where' => 'civicrm_line_item.tax_amount',
           'headerPattern' => '/tax(.?am(ou)?nt)?/i',
           'dataPattern' => '/^\d+(\.\d{2})?$/',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_line_item',
           'entity' => 'LineItem',
           'bao' => 'CRM_Price_BAO_LineItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -418,10 +416,11 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'line_item', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'line_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -429,38 +428,44 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'line_item', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'line_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_entity' => array(
+    $indices = [
+      'index_entity' => [
         'name' => 'index_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_line_item::0::entity_table::entity_id',
-      ) ,
-      'UI_line_item_value' => array(
+      ],
+      'UI_line_item_value' => [
         'name' => 'UI_line_item_value',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
           2 => 'contribution_id',
           3 => 'price_field_value_id',
           4 => 'price_field_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_line_item::1::entity_table::entity_id::contribution_id::price_field_value_id::price_field_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Price/DAO/PriceField.php b/civicrm/CRM/Price/DAO/PriceField.php
index b9af981d79..f3749ea052 100644
--- a/civicrm/CRM/Price/DAO/PriceField.php
+++ b/civicrm/CRM/Price/DAO/PriceField.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,244 +8,264 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6ee89c3106c27af4ca96897826a2ef8c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Price_DAO_PriceField constructor.
+ * Database access object for the PriceField entity.
  */
 class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_price_field';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Price Field
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_price_set
    *
    * @var int unsigned
    */
   public $price_set_id;
+
   /**
    * Variable name/programmatic handle for this field.
    *
    * @var string
    */
   public $name;
+
   /**
    * Text for form field label (also friendly name for administering this field).
    *
    * @var string
    */
   public $label;
+
   /**
-   *
    * @var string
    */
   public $html_type;
+
   /**
    * Enter a quantity for this field?
    *
    * @var boolean
    */
   public $is_enter_qty;
+
   /**
    * Description and/or help text to display before this field.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Description and/or help text to display after this field.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Order in which the fields should appear
    *
    * @var int
    */
   public $weight;
+
   /**
    * Should the price be displayed next to the label for each option?
    *
    * @var boolean
    */
   public $is_display_amounts;
+
   /**
    * number of options per line for checkbox and radio
    *
    * @var int unsigned
    */
   public $options_per_line;
+
   /**
    * Is this price field active
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Is this price field required (value must be > 1)
    *
    * @var boolean
    */
   public $is_required;
+
   /**
    * If non-zero, do not show this field before the date specified
    *
    * @var datetime
    */
   public $active_on;
+
   /**
    * If non-zero, do not show this field after the date specified
    *
    * @var datetime
    */
   public $expire_on;
+
   /**
    * Optional scripting attributes for field
    *
    * @var string
    */
   public $javascript;
+
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
    * @var int unsigned
    */
   public $visibility_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_price_field';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_set_id', 'civicrm_price_set', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_set_id', 'civicrm_price_set', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field ID') ,
+          'title' => ts('Price Field ID'),
           'description' => 'Price Field',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-        ) ,
-        'price_set_id' => array(
+        ],
+        'price_set_id' => [
           'name' => 'price_set_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Set') ,
+          'title' => ts('Price Set'),
           'description' => 'FK to civicrm_price_set',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceSet',
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Variable name/programmatic handle for this field.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'label' => array(
+          ],
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label') ,
+          'title' => ts('Label'),
           'description' => 'Text for form field label (also friendly name for administering this field).',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'html_type' => array(
+          ],
+        ],
+        'html_type' => [
           'name' => 'html_type',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Html Type') ,
-          'required' => true,
+          'title' => ts('Html Type'),
+          'required' => TRUE,
           'maxlength' => 12,
           'size' => CRM_Utils_Type::TWELVE,
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'callback' => 'CRM_Price_BAO_PriceField::htmlTypes',
-          )
-        ) ,
-        'is_enter_qty' => array(
+          ]
+        ],
+        'is_enter_qty' => [
           'name' => 'is_enter_qty',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Field Quantity Required?') ,
+          'title' => ts('Price Field Quantity Required?'),
           'description' => 'Enter a quantity for this field?',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'help_pre' => array(
+          ],
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Price Field Pre Text') ,
+          'title' => ts('Price Field Pre Text'),
           'description' => 'Description and/or help text to display before this field.',
           'rows' => 4,
           'cols' => 80,
@@ -277,14 +273,14 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_post' => array(
+          ],
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Price Field Post Text') ,
+          'title' => ts('Price Field Post Text'),
           'description' => 'Description and/or help text to display after this field.',
           'rows' => 4,
           'cols' => 80,
@@ -292,112 +288,112 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'weight' => array(
+          ],
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Order in which the fields should appear',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'is_display_amounts' => array(
+          ],
+        ],
+        'is_display_amounts' => [
           'name' => 'is_display_amounts',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Field Show Amounts?') ,
+          'title' => ts('Price Field Show Amounts?'),
           'description' => 'Should the price be displayed next to the label for each option?',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'options_per_line' => array(
+          ],
+        ],
+        'options_per_line' => [
           'name' => 'options_per_line',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field Options per Row') ,
+          'title' => ts('Price Field Options per Row'),
           'description' => 'number of options per line for checkbox and radio',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Field Is Active?') ,
+          'title' => ts('Price Field Is Active?'),
           'description' => 'Is this price field active',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_required' => array(
+          ],
+        ],
+        'is_required' => [
           'name' => 'is_required',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Field is Required?') ,
+          'title' => ts('Price Field is Required?'),
           'description' => 'Is this price field required (value must be > 1)',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'active_on' => array(
+          ],
+        ],
+        'active_on' => [
           'name' => 'active_on',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Price Field Start Date') ,
+          'title' => ts('Price Field Start Date'),
           'description' => 'If non-zero, do not show this field before the date specified',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'expire_on' => array(
+          ],
+        ],
+        'expire_on' => [
           'name' => 'expire_on',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Price Field End Date') ,
+          'title' => ts('Price Field End Date'),
           'description' => 'If non-zero, do not show this field after the date specified',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'javascript' => array(
+          ],
+        ],
+        'javascript' => [
           'name' => 'javascript',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Price Field Javascript') ,
+          'title' => ts('Price Field Javascript'),
           'description' => 'Optional scripting attributes for field',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -405,61 +401,65 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'visibility_id' => array(
+          ],
+        ],
+        'visibility_id' => [
           'name' => 'visibility_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field Visibility') ,
+          'title' => ts('Price Field Visibility'),
           'description' => 'Implicit FK to civicrm_option_group with name = \'visibility\'',
           'default' => '1',
           'table_name' => 'civicrm_price_field',
           'entity' => 'PriceField',
           'bao' => 'CRM_Price_BAO_PriceField',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'visibility',
             'optionEditPath' => 'civicrm/admin/options/visibility',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -467,10 +467,11 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_field', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -478,24 +479,30 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_field', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_field', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_name' => array(
+    $indices = [
+      'index_name' => [
         'name' => 'index_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_price_field::0::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Price/DAO/PriceFieldValue.php b/civicrm/CRM/Price/DAO/PriceFieldValue.php
index fb0465b855..3526b30c32 100644
--- a/civicrm/CRM/Price/DAO/PriceFieldValue.php
+++ b/civicrm/CRM/Price/DAO/PriceFieldValue.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,190 +8,212 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:fed218269d1baab495490130b4e2442a)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Price_DAO_PriceFieldValue constructor.
+ * Database access object for the PriceFieldValue entity.
  */
 class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_price_field_value';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Price Field Value
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * FK to civicrm_price_field
    *
    * @var int unsigned
    */
   public $price_field_id;
+
   /**
    * Price field option name
    *
    * @var string
    */
   public $name;
+
   /**
    * Price field option label
    *
    * @var string
    */
   public $label;
+
   /**
    * >Price field option description.
    *
    * @var text
    */
   public $description;
+
   /**
    * Price field option pre help text.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Price field option post field help.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Price field option amount
    *
    * @var float
    */
   public $amount;
+
   /**
    * Number of participants per field option
    *
    * @var int unsigned
    */
   public $count;
+
   /**
    * Max number of participants per field options
    *
    * @var int unsigned
    */
   public $max_value;
+
   /**
    * Order in which the field options should appear
    *
    * @var int
    */
   public $weight;
+
   /**
    * FK to Membership Type
    *
    * @var int unsigned
    */
   public $membership_type_id;
+
   /**
    * Number of terms for this membership
    *
    * @var int unsigned
    */
   public $membership_num_terms;
+
   /**
    * Is this default price field option
    *
    * @var boolean
    */
   public $is_default;
+
   /**
    * Is this price field value active
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * FK to Financial Type.
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Portion of total amount which is NOT tax deductible.
    *
    * @var float
    */
   public $non_deductible_amount;
+
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
    * @var int unsigned
    */
   public $visibility_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_price_field_value';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_field_id', 'civicrm_price_field', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'membership_type_id', 'civicrm_membership_type', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_field_id', 'civicrm_price_field', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'membership_type_id', 'civicrm_membership_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field Value ID') ,
+          'title' => ts('Price Field Value ID'),
           'description' => 'Price Field Value',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-        ) ,
-        'price_field_id' => array(
+        ],
+        'price_field_id' => [
           'name' => 'price_field_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field') ,
+          'title' => ts('Price Field'),
           'description' => 'FK to civicrm_price_field',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceField',
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Price field option name',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -223,14 +221,14 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'label' => array(
+          ],
+        ],
+        'label' => [
           'name' => 'label',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Label') ,
+          'title' => ts('Label'),
           'description' => 'Price field option label',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -238,14 +236,14 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Description') ,
+          'title' => ts('Description'),
           'description' => '>Price field option description.',
           'rows' => 2,
           'cols' => 60,
@@ -254,14 +252,14 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_pre' => array(
+          ],
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Help Pre') ,
+          'title' => ts('Help Pre'),
           'description' => 'Price field option pre help text.',
           'rows' => 2,
           'cols' => 60,
@@ -270,14 +268,14 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_post' => array(
+          ],
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Help Post') ,
+          'title' => ts('Help Post'),
           'description' => 'Price field option post field help.',
           'rows' => 2,
           'cols' => 60,
@@ -286,74 +284,74 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'amount' => array(
+          ],
+        ],
+        'amount' => [
           'name' => 'amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount') ,
+          'title' => ts('Amount'),
           'description' => 'Price field option amount',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             18,
             9
-          ) ,
+          ],
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'count' => array(
+          ],
+        ],
+        'count' => [
           'name' => 'count',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Count') ,
+          'title' => ts('Count'),
           'description' => 'Number of participants per field option',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'max_value' => array(
+          ],
+        ],
+        'max_value' => [
           'name' => 'max_value',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Max Value') ,
+          'title' => ts('Max Value'),
           'description' => 'Max number of participants per field options',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'weight' => array(
+          ],
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
+          'title' => ts('Order'),
           'description' => 'Order in which the field options should appear',
           'default' => '1',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'membership_type_id' => array(
+          ],
+        ],
+        'membership_type_id' => [
           'name' => 'membership_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Type') ,
+          'title' => ts('Membership Type'),
           'description' => 'FK to Membership Type',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field_value',
@@ -361,52 +359,52 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Member_DAO_MembershipType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'membership_num_terms' => array(
+          ],
+        ],
+        'membership_num_terms' => [
           'name' => 'membership_num_terms',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Membership Num Terms') ,
+          'title' => ts('Membership Num Terms'),
           'description' => 'Number of terms for this membership',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_default' => array(
+          ],
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Default Price Field Option?') ,
+          'title' => ts('Is Default Price Field Option?'),
           'description' => 'Is this default price field option',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Field Value is Active') ,
+          'title' => ts('Price Field Value is Active'),
           'description' => 'Is this price field value active',
           'default' => '1',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-        ) ,
-        'financial_type_id' => array(
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type.',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_field_value',
@@ -414,85 +412,89 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'non_deductible_amount' => array(
+          ]
+        ],
+        'non_deductible_amount' => [
           'name' => 'non_deductible_amount',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Non-deductible Amount') ,
+          'title' => ts('Non-deductible Amount'),
           'description' => 'Portion of total amount which is NOT tax deductible.',
-          'required' => true,
-          'precision' => array(
+          'required' => TRUE,
+          'precision' => [
             20,
             2
-          ) ,
+          ],
           'default' => '0.0',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'visibility_id' => array(
+          ],
+        ],
+        'visibility_id' => [
           'name' => 'visibility_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Field Option Visibility') ,
+          'title' => ts('Price Field Option Visibility'),
           'description' => 'Implicit FK to civicrm_option_group with name = \'visibility\'',
           'default' => '1',
           'table_name' => 'civicrm_price_field_value',
           'entity' => 'PriceFieldValue',
           'bao' => 'CRM_Price_BAO_PriceFieldValue',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'optionGroupName' => 'visibility',
             'optionEditPath' => 'civicrm/admin/options/visibility',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -500,10 +502,11 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_field_value', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_field_value', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -511,15 +514,21 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_field_value', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_field_value', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Price/DAO/PriceSet.php b/civicrm/CRM/Price/DAO/PriceSet.php
index e310a831a8..5f9e11726c 100644
--- a/civicrm/CRM/Price/DAO/PriceSet.php
+++ b/civicrm/CRM/Price/DAO/PriceSet.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,212 +8,229 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:7250a5af1e713fc047875f2cc22443ff)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Price_DAO_PriceSet constructor.
+ * Database access object for the PriceSet entity.
  */
 class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_price_set';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Price Set
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this price-set for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Variable name/programmatic handle for this set of price fields.
    *
    * @var string
    */
   public $name;
+
   /**
    * Displayed title for the Price Set.
    *
    * @var string
    */
   public $title;
+
   /**
    * Is this price set active
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Description and/or help text to display before fields in form.
    *
    * @var text
    */
   public $help_pre;
+
   /**
    * Description and/or help text to display after fields in form.
    *
    * @var text
    */
   public $help_post;
+
   /**
    * Optional Javascript script function(s) included on the form with this price_set. Can be used for conditional
    *
    * @var string
    */
   public $javascript;
+
   /**
    * What components are using this price set?
    *
    * @var string
    */
   public $extends;
+
   /**
    * FK to Financial Type(for membership price sets only).
    *
    * @var int unsigned
    */
   public $financial_type_id;
+
   /**
    * Is set if edited on Contribution or Event Page rather than through Manage Price Sets
    *
    * @var boolean
    */
   public $is_quick_config;
+
   /**
    * Is this a predefined system price set  (i.e. it can not be deleted, edited)?
    *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Minimum Amount required for this set.
    *
    * @var int unsigned
    */
   public $min_amount;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_price_set';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'financial_type_id', 'civicrm_financial_type', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Set ID') ,
+          'title' => ts('Price Set ID'),
           'description' => 'Price Set',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Set Domain') ,
+          'title' => ts('Price Set Domain'),
           'description' => 'Which Domain is this price-set for',
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'name' => array(
+          ]
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Name') ,
+          'title' => ts('Name'),
           'description' => 'Variable name/programmatic handle for this set of price fields.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'title' => array(
+          ],
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Price Set Title') ,
+          'title' => ts('Price Set Title'),
           'description' => 'Displayed title for the Price Set.',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Set Is Active?') ,
+          'title' => ts('Price Set Is Active?'),
           'description' => 'Is this price set active',
           'default' => '1',
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'help_pre' => array(
+          ],
+        ],
+        'help_pre' => [
           'name' => 'help_pre',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Price Set Pre Help') ,
+          'title' => ts('Price Set Pre Help'),
           'description' => 'Description and/or help text to display before fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -245,14 +238,14 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'help_post' => array(
+          ],
+        ],
+        'help_post' => [
           'name' => 'help_post',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Price Set Post Help') ,
+          'title' => ts('Price Set Post Help'),
           'description' => 'Description and/or help text to display after fields in form.',
           'rows' => 4,
           'cols' => 80,
@@ -260,14 +253,14 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 1,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'javascript' => array(
+          ],
+        ],
+        'javascript' => [
           'name' => 'javascript',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Price Set Javascript') ,
+          'title' => ts('Price Set Javascript'),
           'description' => 'Optional Javascript script function(s) included on the form with this price_set. Can be used for conditional',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -275,35 +268,35 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'extends' => array(
+          ],
+        ],
+        'extends' => [
           'name' => 'extends',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Price Set Extends') ,
+          'title' => ts('Price Set Extends'),
           'description' => 'What components are using this price set?',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_component',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'financial_type_id' => array(
+          ]
+        ],
+        'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type') ,
+          'title' => ts('Financial Type'),
           'description' => 'FK to Financial Type(for membership price sets only).',
           'default' => 'NULL',
           'table_name' => 'civicrm_price_set',
@@ -311,87 +304,91 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-          'pseudoconstant' => array(
+          ],
+          'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'is_quick_config' => array(
+          ]
+        ],
+        'is_quick_config' => [
           'name' => 'is_quick_config',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Is Price Set Quick Config?') ,
+          'title' => ts('Is Price Set Quick Config?'),
           'description' => 'Is set if edited on Contribution or Event Page rather than through Manage Price Sets',
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_reserved' => array(
+          ],
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Price Set Is Reserved') ,
+          'title' => ts('Price Set Is Reserved'),
           'description' => 'Is this a predefined system price set  (i.e. it can not be deleted, edited)?',
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'min_amount' => array(
+          ],
+        ],
+        'min_amount' => [
           'name' => 'min_amount',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Minimum Amount') ,
+          'title' => ts('Minimum Amount'),
           'description' => 'Minimum Amount required for this set.',
           'table_name' => 'civicrm_price_set',
           'entity' => 'PriceSet',
           'bao' => 'CRM_Price_BAO_PriceSet',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -399,10 +396,11 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_set', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_set', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -410,25 +408,31 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_set', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_set', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_name' => array(
+    $indices = [
+      'UI_name' => [
         'name' => 'UI_name',
-        'field' => array(
+        'field' => [
           0 => 'name',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_price_set::1::name',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Price/DAO/PriceSetEntity.php b/civicrm/CRM/Price/DAO/PriceSetEntity.php
index 41da550b55..4ce06aaef1 100644
--- a/civicrm/CRM/Price/DAO/PriceSetEntity.php
+++ b/civicrm/CRM/Price/DAO/PriceSetEntity.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,158 +8,170 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:6113d40ca79159b19d2c915aeb620e7c)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Price_DAO_PriceSetEntity constructor.
+ * Database access object for the PriceSetEntity entity.
  */
 class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_price_set_entity';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = true;
+  static $_log = TRUE;
+
   /**
    * Price Set Entity
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Table which uses this price set
    *
    * @var string
    */
   public $entity_table;
+
   /**
    * Item in table
    *
    * @var int unsigned
    */
   public $entity_id;
+
   /**
    * price set being used
    *
    * @var int unsigned
    */
   public $price_set_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_price_set_entity';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'price_set_id', 'civicrm_price_set', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName() , 'entity_id', NULL, 'id', 'entity_table');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'price_set_id', 'civicrm_price_set', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Dynamic(self::getTableName(), 'entity_id', NULL, 'id', 'entity_table');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Set Entity ID') ,
+          'title' => ts('Price Set Entity ID'),
           'description' => 'Price Set Entity',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_set_entity',
           'entity' => 'PriceSetEntity',
           'bao' => 'CRM_Price_DAO_PriceSetEntity',
           'localizable' => 0,
-        ) ,
-        'entity_table' => array(
+        ],
+        'entity_table' => [
           'name' => 'entity_table',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Entity Table') ,
+          'title' => ts('Entity Table'),
           'description' => 'Table which uses this price set',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_price_set_entity',
           'entity' => 'PriceSetEntity',
           'bao' => 'CRM_Price_DAO_PriceSetEntity',
           'localizable' => 0,
-        ) ,
-        'entity_id' => array(
+        ],
+        'entity_id' => [
           'name' => 'entity_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Entity IF') ,
+          'title' => ts('Entity IF'),
           'description' => 'Item in table',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_set_entity',
           'entity' => 'PriceSetEntity',
           'bao' => 'CRM_Price_DAO_PriceSetEntity',
           'localizable' => 0,
-        ) ,
-        'price_set_id' => array(
+        ],
+        'price_set_id' => [
           'name' => 'price_set_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Price Set') ,
+          'title' => ts('Price Set'),
           'description' => 'price set being used',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_price_set_entity',
           'entity' => 'PriceSetEntity',
           'bao' => 'CRM_Price_DAO_PriceSetEntity',
           'localizable' => 0,
           'FKClassName' => 'CRM_Price_DAO_PriceSet',
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -191,10 +179,11 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_set_entity', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'price_set_entity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -202,26 +191,32 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_set_entity', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'price_set_entity', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'UI_entity' => array(
+    $indices = [
+      'UI_entity' => [
         'name' => 'UI_entity',
-        'field' => array(
+        'field' => [
           0 => 'entity_table',
           1 => 'entity_id',
-        ) ,
-        'localizable' => false,
-        'unique' => true,
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
         'sig' => 'civicrm_price_set_entity::1::entity_table::entity_id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Queue/DAO/QueueItem.php b/civicrm/CRM/Queue/DAO/QueueItem.php
index 90889d85e0..588b85df99 100644
--- a/civicrm/CRM/Queue/DAO/QueueItem.php
+++ b/civicrm/CRM/Queue/DAO/QueueItem.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,183 +8,194 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:9049b4828c213985dea2180555f28568)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Queue_DAO_QueueItem constructor.
+ * Database access object for the QueueItem entity.
  */
 class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_queue_item';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
-   *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Name of the queue which includes this item
    *
    * @var string
    */
   public $queue_name;
+
   /**
-   *
    * @var int
    */
   public $weight;
+
   /**
    * date on which this item was submitted to the queue
    *
    * @var datetime
    */
   public $submit_time;
+
   /**
    * date on which this job becomes available; null if ASAP
    *
    * @var datetime
    */
   public $release_time;
+
   /**
    * Serialized queue data
    *
    * @var text
    */
   public $data;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_queue_item';
     parent::__construct();
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Queue ID') ,
-          'required' => true,
+          'title' => ts('Queue ID'),
+          'required' => TRUE,
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
-        ) ,
-        'queue_name' => array(
+        ],
+        'queue_name' => [
           'name' => 'queue_name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Queue Name') ,
+          'title' => ts('Queue Name'),
           'description' => 'Name of the queue which includes this item',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'weight' => array(
+          ],
+        ],
+        'weight' => [
           'name' => 'weight',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Order') ,
-          'required' => true,
+          'title' => ts('Order'),
+          'required' => TRUE,
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'submit_time' => array(
+          ],
+        ],
+        'submit_time' => [
           'name' => 'submit_time',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Submit Time') ,
+          'title' => ts('Submit Time'),
           'description' => 'date on which this item was submitted to the queue',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'release_time' => array(
+          ],
+        ],
+        'release_time' => [
           'name' => 'release_time',
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
-          'title' => ts('Release Time') ,
+          'title' => ts('Release Time'),
           'description' => 'date on which this job becomes available; null if ASAP',
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select Date',
-          ) ,
-        ) ,
-        'data' => array(
+          ],
+        ],
+        'data' => [
           'name' => 'data',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Queue item data') ,
+          'title' => ts('Queue item data'),
           'description' => 'Serialized queue data',
           'table_name' => 'civicrm_queue_item',
           'entity' => 'QueueItem',
           'bao' => 'CRM_Queue_BAO_QueueItem',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-      );
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -216,10 +203,11 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'queue_item', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'queue_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -227,26 +215,32 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'queue_item', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'queue_item', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array(
-      'index_queueids' => array(
+    $indices = [
+      'index_queueids' => [
         'name' => 'index_queueids',
-        'field' => array(
+        'field' => [
           0 => 'queue_name',
           1 => 'weight',
           2 => 'id',
-        ) ,
-        'localizable' => false,
+        ],
+        'localizable' => FALSE,
         'sig' => 'civicrm_queue_item::0::queue_name::weight::id',
-      ) ,
-    );
+      ],
+    ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Report/BAO/ReportInstance.php b/civicrm/CRM/Report/BAO/ReportInstance.php
index fd0096a203..33cb7ab1cd 100644
--- a/civicrm/CRM/Report/BAO/ReportInstance.php
+++ b/civicrm/CRM/Report/BAO/ReportInstance.php
@@ -78,7 +78,7 @@ class CRM_Report_BAO_ReportInstance extends CRM_Report_DAO_ReportInstance {
     }
 
     $instance = new CRM_Report_DAO_ReportInstance();
-    $instance->copyValues($params);
+    $instance->copyValues($params, TRUE);
 
     if (CRM_Core_Config::singleton()->userFramework == 'Joomla') {
       $instance->permission = 'null';
diff --git a/civicrm/CRM/Report/DAO/ReportInstance.php b/civicrm/CRM/Report/DAO/ReportInstance.php
index 7ba08fad41..4129b584ee 100644
--- a/civicrm/CRM/Report/DAO/ReportInstance.php
+++ b/civicrm/CRM/Report/DAO/ReportInstance.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,214 +8,238 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:09ffdd1693f38f5790d4c9c00d3c5d2f)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_Report_DAO_ReportInstance constructor.
+ * Database access object for the ReportInstance entity.
  */
 class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_report_instance';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * Report Instance ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Which Domain is this instance for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Report Instance Title.
    *
    * @var string
    */
   public $title;
+
   /**
    * FK to civicrm_option_value for the report template
    *
    * @var string
    */
   public $report_id;
+
   /**
    * when combined with report_id/template uniquely identifies the instance
    *
    * @var string
    */
   public $name;
+
   /**
    * arguments that are passed in the url when invoking the instance
    *
    * @var string
    */
   public $args;
+
   /**
    * Report Instance description.
    *
    * @var string
    */
   public $description;
+
   /**
    * permission required to be able to run this instance
    *
    * @var string
    */
   public $permission;
+
   /**
    * role required to be able to run this instance
    *
    * @var string
    */
   public $grouprole;
+
   /**
    * Submitted form values for this report
    *
    * @var text
    */
   public $form_values;
+
   /**
    * Is this entry active?
    *
    * @var boolean
    */
   public $is_active;
+
   /**
    * FK to contact table.
    *
    * @var int unsigned
    */
   public $created_id;
+
   /**
    * FK to contact table.
    *
    * @var int unsigned
    */
   public $owner_id;
+
   /**
    * Subject of email
    *
    * @var string
    */
   public $email_subject;
+
   /**
    * comma-separated list of email addresses to send the report to
    *
    * @var text
    */
   public $email_to;
+
   /**
    * comma-separated list of email addresses to send the report to
    *
    * @var text
    */
   public $email_cc;
+
   /**
    * comma-separated list of email addresses to send the report to
    *
    * @var text
    */
   public $header;
+
   /**
    * comma-separated list of email addresses to send the report to
    *
    * @var text
    */
   public $footer;
+
   /**
    * FK to navigation ID
    *
    * @var int unsigned
    */
   public $navigation_id;
+
   /**
    * FK to instance ID drilldown to
    *
    * @var int unsigned
    */
   public $drilldown_id;
+
   /**
-   *
    * @var boolean
    */
   public $is_reserved;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_report_instance';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'created_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'owner_id', 'civicrm_contact', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'navigation_id', 'civicrm_navigation', 'id');
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'drilldown_id', 'civicrm_report_instance', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'owner_id', 'civicrm_contact', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'navigation_id', 'civicrm_navigation', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'drilldown_id', 'civicrm_report_instance', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Report Instance ID') ,
+          'title' => ts('Report Instance ID'),
           'description' => 'Report Instance ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-        ) ,
-        'domain_id' => array(
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Report Instance Domain ID') ,
+          'title' => ts('Report Instance Domain ID'),
           'description' => 'Which Domain is this instance for',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-        'title' => array(
+          ]
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance Title') ,
+          'title' => ts('Report Instance Title'),
           'description' => 'Report Instance Title.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -247,30 +247,30 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'report_id' => array(
+          ],
+        ],
+        'report_id' => [
           'name' => 'report_id',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report template ID') ,
+          'title' => ts('Report template ID'),
           'description' => 'FK to civicrm_option_value for the report template',
-          'required' => true,
+          'required' => TRUE,
           'maxlength' => 512,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'name' => array(
+          ],
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report instance Name') ,
+          'title' => ts('Report instance Name'),
           'description' => 'when combined with report_id/template uniquely identifies the instance',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -278,14 +278,14 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'args' => array(
+          ],
+        ],
+        'args' => [
           'name' => 'args',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance Arguments') ,
+          'title' => ts('Report Instance Arguments'),
           'description' => 'arguments that are passed in the url when invoking the instance',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -293,14 +293,14 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'description' => array(
+          ],
+        ],
+        'description' => [
           'name' => 'description',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance description') ,
+          'title' => ts('Report Instance description'),
           'description' => 'Report Instance description.',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -308,14 +308,14 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'permission' => array(
+          ],
+        ],
+        'permission' => [
           'name' => 'permission',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance Permissions') ,
+          'title' => ts('Report Instance Permissions'),
           'description' => 'permission required to be able to run this instance',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -323,14 +323,14 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'grouprole' => array(
+          ],
+        ],
+        'grouprole' => [
           'name' => 'grouprole',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance Assigned to Roles') ,
+          'title' => ts('Report Instance Assigned to Roles'),
           'description' => 'role required to be able to run this instance',
           'maxlength' => 1024,
           'size' => CRM_Utils_Type::HUGE,
@@ -338,65 +338,65 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'form_values' => array(
+          ],
+        ],
+        'form_values' => [
           'name' => 'form_values',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Submitted Form Values') ,
+          'title' => ts('Submitted Form Values'),
           'description' => 'Submitted form values for this report',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_report_instance.form_values',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'serialize' => self::SERIALIZE_PHP,
-        ) ,
-        'is_active' => array(
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Report Instance is Active') ,
+          'title' => ts('Report Instance is Active'),
           'description' => 'Is this entry active?',
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'created_id' => array(
+          ],
+        ],
+        'created_id' => [
           'name' => 'created_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Report Instance Created By') ,
+          'title' => ts('Report Instance Created By'),
           'description' => 'FK to contact table.',
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'owner_id' => array(
+        ],
+        'owner_id' => [
           'name' => 'owner_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Report Instance Owned By') ,
+          'title' => ts('Report Instance Owned By'),
           'description' => 'FK to contact table.',
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
-        ) ,
-        'email_subject' => array(
+        ],
+        'email_subject' => [
           'name' => 'email_subject',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Report Instance email Subject') ,
+          'title' => ts('Report Instance email Subject'),
           'description' => 'Subject of email',
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
@@ -404,40 +404,40 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'email_to' => array(
+          ],
+        ],
+        'email_to' => [
           'name' => 'email_to',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Email Report Instance To') ,
+          'title' => ts('Email Report Instance To'),
           'description' => 'comma-separated list of email addresses to send the report to',
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'email_cc' => array(
+          ],
+        ],
+        'email_cc' => [
           'name' => 'email_cc',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('cc Email Report Instance To') ,
+          'title' => ts('cc Email Report Instance To'),
           'description' => 'comma-separated list of email addresses to send the report to',
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'header' => array(
+          ],
+        ],
+        'header' => [
           'name' => 'header',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Report Instance Header') ,
+          'title' => ts('Report Instance Header'),
           'description' => 'comma-separated list of email addresses to send the report to',
           'rows' => 4,
           'cols' => 60,
@@ -445,14 +445,14 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'footer' => array(
+          ],
+        ],
+        'footer' => [
           'name' => 'footer',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Report Instance Footer') ,
+          'title' => ts('Report Instance Footer'),
           'description' => 'comma-separated list of email addresses to send the report to',
           'rows' => 4,
           'cols' => 60,
@@ -460,87 +460,91 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'TextArea',
-          ) ,
-        ) ,
-        'navigation_id' => array(
+          ],
+        ],
+        'navigation_id' => [
           'name' => 'navigation_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Navigation ID') ,
+          'title' => ts('Navigation ID'),
           'description' => 'FK to navigation ID',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_report_instance.navigation_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Navigation',
-        ) ,
-        'drilldown_id' => array(
+        ],
+        'drilldown_id' => [
           'name' => 'drilldown_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Drilldown Report ID') ,
+          'title' => ts('Drilldown Report ID'),
           'description' => 'FK to instance ID drilldown to',
-          'import' => true,
+          'import' => TRUE,
           'where' => 'civicrm_report_instance.drilldown_id',
           'headerPattern' => '',
           'dataPattern' => '',
-          'export' => true,
+          'export' => TRUE,
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
           'FKClassName' => 'CRM_Report_DAO_ReportInstance',
-        ) ,
-        'is_reserved' => array(
+        ],
+        'is_reserved' => [
           'name' => 'is_reserved',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Instance is Reserved') ,
+          'title' => ts('Instance is Reserved'),
           'table_name' => 'civicrm_report_instance',
           'entity' => 'ReportInstance',
           'bao' => 'CRM_Report_BAO_ReportInstance',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-      );
+          ],
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -548,10 +552,11 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'report_instance', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'report_instance', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -559,15 +564,21 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'report_instance', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'report_instance', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php
index 75a614c836..6b83d4ff0d 100644
--- a/civicrm/CRM/Report/Form.php
+++ b/civicrm/CRM/Report/Form.php
@@ -1313,7 +1313,7 @@ class CRM_Report_Form extends CRM_Core_Form {
    *
    * @param string $sql
    */
-  protected function addToDeveloperTab($sql) {
+  public function addToDeveloperTab($sql) {
     if (!CRM_Core_Permission::check('view report sql')) {
       return;
     }
diff --git a/civicrm/CRM/Report/Form/Activity.php b/civicrm/CRM/Report/Form/Activity.php
index ede7d340c6..e024ba937e 100644
--- a/civicrm/CRM/Report/Form/Activity.php
+++ b/civicrm/CRM/Report/Form/Activity.php
@@ -781,12 +781,12 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}";
     return $errors;
   }
 
-  public function postProcess() {
-    //reset value of activity_date
-    if (!empty($this->_resetDateFilter)) {
-      $this->_formValues["activity_date_time_relative"] = NULL;
-    }
-    $this->beginPostProcess();
+  /**
+   * @param $applyLimit
+   *
+   * @return string
+   */
+  public function buildQuery($applyLimit = TRUE) {
     $activityContacts = CRM_Activity_BAO_ActivityContact::buildOptions('record_type_id', 'validate');
     $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts);
 
@@ -868,7 +868,11 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}";
         $this->alterSectionHeaderForDateTime('civireport_activity_temp_target', $section['tplField']);
       }
     }
-    $this->limit();
+
+    if ($applyLimit) {
+      $this->limit();
+    }
+
     $groupByFromSelect = CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, 'civicrm_activity_id');
 
     $this->_where = " WHERE (1)";
@@ -885,7 +889,20 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}";
       LEFT JOIN civicrm_contact contact_civireport ON contact_civireport.id = {$this->_aliases['civicrm_activity_contact']}.contact_id
       {$this->_where} {$groupByFromSelect} {$this->_having} {$this->_orderBy} {$this->_limit}";
 
+    CRM_Utils_Hook::alterReportVar('sql', $this, $this);
     $this->addToDeveloperTab($sql);
+
+    return $sql;
+  }
+
+  public function postProcess() {
+    //reset value of activity_date
+    if (!empty($this->_resetDateFilter)) {
+      $this->_formValues["activity_date_time_relative"] = NULL;
+    }
+
+    $this->beginPostProcess();
+    $sql = $this->buildQuery(TRUE);
     $this->buildRows($sql, $rows);
 
     // format result set.
diff --git a/civicrm/CRM/Report/Form/Contact/Relationship.php b/civicrm/CRM/Report/Form/Contact/Relationship.php
index 5955267d2f..df48628dcc 100644
--- a/civicrm/CRM/Report/Form/Contact/Relationship.php
+++ b/civicrm/CRM/Report/Form/Contact/Relationship.php
@@ -304,6 +304,10 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
             'title' => ts('End Date'),
             'type' => CRM_Utils_Type::T_DATE,
           ),
+          'active_period_date' => array(
+            'title' => ts('Active Period'),
+            'type' => CRM_Utils_Type::T_DATE,
+          ),
           'is_permission_a_b' => array(
             'title' => ts('Does contact A have permission over contact B?'),
             'operatorType' => CRM_Report_Form::OP_SELECT,
@@ -331,10 +335,6 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
             'title' => ts('Start Date'),
             'name' => 'start_date',
           ),
-          'active_period_date' => array(
-            'title' => ts('Active Period'),
-            'type' => CRM_Utils_Type::T_DATE,
-          ),
         ),
         'grouping' => 'relation-fields',
       ),
diff --git a/civicrm/CRM/Report/Form/Contribute/Repeat.php b/civicrm/CRM/Report/Form/Contribute/Repeat.php
index 81821de823..900825bdf0 100644
--- a/civicrm/CRM/Report/Form/Contribute/Repeat.php
+++ b/civicrm/CRM/Report/Form/Contribute/Repeat.php
@@ -513,9 +513,9 @@ LEFT JOIN $this->tempTableRepeat2 {$this->_aliases['civicrm_contribution']}2
   }
 
   /**
-   * @param $fields
-   * @param $files
-   * @param $self
+   * @param array $fields
+   * @param array $files
+   * @param CRM_Core_Form $self
    *
    * @return array
    */
@@ -829,10 +829,11 @@ GROUP BY    currency
     $this->from();
     $this->where();
     $this->groupBy();
+    $this->orderBy();
     $this->limit();
 
     $count = 0;
-    $sql = "{$this->_select} {$this->_from} {$this->_where} {$this->_groupBy} {$this->_limit}";
+    $sql = "{$this->_select} {$this->_from} {$this->_where} {$this->_groupBy} {$this->_orderBy} {$this->_limit}";
     $dao = $this->executeReportQuery($sql);
     $rows = array();
     while ($dao->fetch()) {
diff --git a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
index 0ad8445917..e9ef1772b7 100644
--- a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
+++ b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
@@ -417,9 +417,9 @@ class CRM_Report_Form_Contribute_SoftCredit extends CRM_Report_Form {
   }
 
   /**
-   * @param $fields
-   * @param $files
-   * @param $self
+   * @param array $fields
+   * @param array $files
+   * @param CRM_Core_Form $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Summary.php b/civicrm/CRM/Report/Form/Contribute/Summary.php
index 7e6ee3621d..32f64a7aa8 100644
--- a/civicrm/CRM/Report/Form/Contribute/Summary.php
+++ b/civicrm/CRM/Report/Form/Contribute/Summary.php
@@ -38,7 +38,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
     'barChart' => 'Bar Chart',
     'pieChart' => 'Pie Chart',
   );
-  protected $_customGroupExtends = array('Contribution');
+  protected $_customGroupExtends = array('Contribution', 'Contact', 'Individual');
   protected $_customGroupGroupBy = TRUE;
 
   public $_drilldownReport = array('contribute/detail' => 'Link to Detail Report');
diff --git a/civicrm/CRM/Report/Form/Contribute/TopDonor.php b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
index 8a7ad5bead..8fe9c8f4d6 100644
--- a/civicrm/CRM/Report/Form/Contribute/TopDonor.php
+++ b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
@@ -29,8 +29,6 @@
  *
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
- * $Id$
- *
  */
 class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
 
@@ -214,60 +212,13 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
     parent::preProcess();
   }
 
+  /**
+   * Select only contact ID when adding to group.
+   *
+   * @todo consider moving that to parent to support AddToGroup in general.
+   */
   public function select() {
-    $select = array();
-    $this->_columnHeaders = array();
-    //Headers for Rank column
-    $this->_columnHeaders["civicrm_donor_rank"]['title'] = ts('Rank');
-    $this->_columnHeaders["civicrm_donor_rank"]['type'] = 1;
-    //$select[] ="(@rank:=@rank+1)  as civicrm_donor_rank ";
-
-    foreach ($this->_columns as $tableName => $table) {
-      if (array_key_exists('fields', $table)) {
-        foreach ($table['fields'] as $fieldName => $field) {
-          if (!empty($field['required']) ||
-            !empty($this->_params['fields'][$fieldName])
-          ) {
-            // only include statistics columns if set
-            if (!empty($field['statistics'])) {
-              foreach ($field['statistics'] as $stat => $label) {
-                switch (strtolower($stat)) {
-                  case 'sum':
-                    $select[] = "SUM({$field['dbAlias']}) as {$tableName}_{$fieldName}_{$stat}";
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['title'] = $label;
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['type'] = $field['type'];
-                    $this->_statFields[] = "{$tableName}_{$fieldName}_{$stat}";
-                    break;
-
-                  case 'count':
-                    $select[] = "COUNT({$field['dbAlias']}) as {$tableName}_{$fieldName}_{$stat}";
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['title'] = $label;
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['type'] = CRM_Utils_Type::T_INT;
-                    $this->_statFields[] = "{$tableName}_{$fieldName}_{$stat}";
-                    break;
-
-                  case 'avg':
-                    $select[] = "ROUND(AVG({$field['dbAlias']}),2) as {$tableName}_{$fieldName}_{$stat}";
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['type'] = $field['type'];
-                    $this->_columnHeaders["{$tableName}_{$fieldName}_{$stat}"]['title'] = $label;
-                    $this->_statFields[] = "{$tableName}_{$fieldName}_{$stat}";
-                    break;
-                }
-              }
-            }
-            else {
-              $select[] = "{$field['dbAlias']} as {$tableName}_{$fieldName}";
-              // $field['type'] is not always set. Use string type as default if not set.
-              $this->_columnHeaders["{$tableName}_{$fieldName}"]['type'] = isset($field['type']) ? $field['type'] : 2;
-              $this->_columnHeaders["{$tableName}_{$fieldName}"]['title'] = $field['title'];
-            }
-          }
-        }
-      }
-    }
-    $this->_selectClauses = $select;
-
-    $this->_select = " SELECT " . implode(', ', $select) . " ";
+    parent::select();
   }
 
   /**
@@ -372,40 +323,21 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
     $this->_groupBy = CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, array("{$this->_aliases['civicrm_contact']}.id", "{$this->_aliases['civicrm_contribution']}.currency"));
   }
 
-  public function postProcess() {
-
-    $this->beginPostProcess();
-
-    // get the acl clauses built before we assemble the query
-    $this->buildACLClause($this->_aliases['civicrm_contact']);
-
-    $this->buildQuery();
-
-    //set the variable value rank, rows = 0
+  /**
+   * Build output rows.
+   *
+   * @param string $sql
+   * @param array $rows
+   */
+  public function buildRows($sql, &$rows) {
     $setVariable = " SET @rows:=0, @rank=0 ";
     CRM_Core_DAO::singleValueQuery($setVariable);
-
-    $sql = "SELECT * FROM ( {$this->_select} {$this->_from}  {$this->_where} {$this->_groupBy}
-                     ORDER BY civicrm_contribution_total_amount_sum DESC
-                 ) as abc {$this->_outerCluase} $this->_limit
-               ";
-
-    $dao = CRM_Core_DAO::executeQuery($sql);
-
-    while ($dao->fetch()) {
-      $row = array();
-      foreach ($this->_columnHeaders as $key => $value) {
-        if (property_exists($dao, $key)) {
-          $row[$key] = $dao->$key;
-        }
-      }
-      $rows[] = $row;
-    }
-    $this->formatDisplay($rows);
-
-    $this->doTemplateAssignment($rows);
-
-    $this->endPostProcess($rows);
+    $sql = "
+      SELECT * FROM ( {$this->_select} {$this->_from}  {$this->_where} {$this->_groupBy}
+        ORDER BY civicrm_contribution_total_amount_sum DESC
+      ) as abc {$this->_outerCluase} $this->_limit
+    ";
+    parent::buildRows($sql, $rows);
   }
 
   /**
@@ -413,17 +345,15 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
    */
   public function add2group($groupID) {
     if (is_numeric($groupID)) {
-
-      $sql = "
-{$this->_select} {$this->_from}  {$this->_where} {$this->_groupBy}
-ORDER BY civicrm_contribution_total_amount_sum DESC
-) as abc {$this->_groupLimit}";
-      $dao = CRM_Core_DAO::executeQuery($sql);
+      $this->_limit = $this->_groupLimit;
+      $rows = array();
+      $this->_columnHeaders['civicrm_contact_id'] = 1;
+      $this->buildRows('', $rows);
 
       $contact_ids = array();
       // Add resulting contacts to group
-      while ($dao->fetch()) {
-        $contact_ids[$dao->civicrm_contact_id] = $dao->civicrm_contact_id;
+      foreach ($rows as $row) {
+        $contact_ids[$row['civicrm_contact_id']] = $row['civicrm_contact_id'];
       }
 
       CRM_Contact_BAO_GroupContact::addContactsToGroup($contact_ids, $groupID);
@@ -442,7 +372,7 @@ ORDER BY civicrm_contribution_total_amount_sum DESC
     if ($this->_dashBoardRowCount) {
       $rowCount = $this->_dashBoardRowCount;
     }
-    if ($this->_outputMode == 'html' || $this->_outputMode == 'group') {
+    if ($this->_outputMode == 'html') {
       // Replace only first occurrence of SELECT.
       $this->_select = preg_replace('/SELECT/', 'SELECT SQL_CALC_FOUND_ROWS ', $this->_select, 1);
       $pageId = CRM_Utils_Request::retrieve('crmPID', 'Integer');
diff --git a/civicrm/CRM/Report/Form/Mailing/Opened.php b/civicrm/CRM/Report/Form/Mailing/Opened.php
index ded8c03b08..62a471db15 100644
--- a/civicrm/CRM/Report/Form/Mailing/Opened.php
+++ b/civicrm/CRM/Report/Form/Mailing/Opened.php
@@ -179,6 +179,7 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form {
         'id' => array(
           'required' => TRUE,
           'no_display' => TRUE,
+          'dbAlias' => CRM_Utils_SQL::supportsFullGroupBy() ? 'ANY_VALUE(mailing_event_opened_civireport.id)' : NULL,
         ),
         'time_stamp' => array(
           'title' => ts('Open Date'),
@@ -191,6 +192,11 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form {
           'operatorType' => CRM_Report_Form::OP_DATE,
           'type' => CRM_Utils_Type::T_DATE,
         ),
+        'unique_opens' => array(
+          'title' => ts('Unique Opens'),
+          'type' => CRM_Utils_Type::T_BOOLEAN,
+          'pseudofield' => TRUE,
+        ),
       ),
       'order_bys' => array(
         'time_stamp' => array(
@@ -289,13 +295,13 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form {
   }
 
   public function groupBy() {
-    if (!empty($this->_params['charts'])) {
-      $groupBy = "{$this->_aliases['civicrm_mailing']}.id";
-    }
-    else {
-      $groupBy = "civicrm_mailing_event_queue.email_id";
+    $groupBys = empty($this->_params['charts']) ? array("civicrm_mailing_event_queue.email_id") : array("{$this->_aliases['civicrm_mailing']}.id");
+
+    if (!empty($this->_params['unique_opens_value'])) {
+      $groupBys[] = "civicrm_mailing_event_queue.id";
     }
-    $this->_groupBy = CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, $groupBy);
+    $this->_select = CRM_Contact_BAO_Query::appendAnyValueToSelect($this->_selectClauses, $groupBys);
+    $this->_groupBy = "GROUP BY " . implode(', ', $groupBys);
   }
 
   public function postProcess() {
diff --git a/civicrm/CRM/Report/Form/Mailing/Summary.php b/civicrm/CRM/Report/Form/Mailing/Summary.php
index 612f7a0973..b7eaa0a917 100644
--- a/civicrm/CRM/Report/Form/Mailing/Summary.php
+++ b/civicrm/CRM/Report/Form/Mailing/Summary.php
@@ -85,12 +85,12 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form {
           //'operator' => 'like',
           'default' => 1,
         ),
-        'mailing_name' => array(
-          'name' => 'name',
+        'mailing_id' => array(
+          'name' => 'id',
           'title' => ts('Mailing Name'),
           'operatorType' => CRM_Report_Form::OP_MULTISELECT,
-          'type' => CRM_Utils_Type::T_STRING,
-          'options' => self::mailing_select(),
+          'type' => CRM_Utils_Type::T_INT,
+          'options' => CRM_Mailing_BAO_Mailing::getMailingsList(),
           'operator' => 'like',
         ),
         'mailing_subject' => array(
@@ -317,24 +317,6 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form {
     parent::__construct();
   }
 
-  /**
-   * @return array
-   */
-  public function mailing_select() {
-
-    $data = array();
-
-    $mailing = new CRM_Mailing_BAO_Mailing();
-    $query = "SELECT name FROM civicrm_mailing WHERE sms_provider_id IS NULL";
-    $mailing->query($query);
-
-    while ($mailing->fetch()) {
-      $data[CRM_Core_DAO::escapeString($mailing->name)] = $mailing->name;
-    }
-
-    return $data;
-  }
-
   public function preProcess() {
     $this->assign('chartSupported', TRUE);
     parent::preProcess();
diff --git a/civicrm/CRM/Report/Form/Walklist/Walklist.php b/civicrm/CRM/Report/Form/Walklist/Walklist.php
index f08f95be3e..6ac3245571 100644
--- a/civicrm/CRM/Report/Form/Walklist/Walklist.php
+++ b/civicrm/CRM/Report/Form/Walklist/Walklist.php
@@ -99,6 +99,13 @@ class CRM_Report_Form_Walklist_Walklist extends CRM_Report_Form {
           'country_id' => array(
             'title' => ts('Country'),
           ),
+          'odd_street_number' => array(
+            'title' => ts('Odd/Even Street Number'),
+            'type' => CRM_Utils_Type::T_INT,
+            'no_display' => TRUE,
+            'required' => TRUE,
+            'dbAlias' => '(address_civireport.street_number % 2)',
+          ),
         ),
         'filters' => array(
           'street_number' => array(
@@ -109,6 +116,18 @@ class CRM_Report_Form_Walklist_Walklist extends CRM_Report_Form {
           'street_address' => NULL,
           'city' => NULL,
         ),
+        'order_bys' => array(
+          'street_name' => array(
+            'title' => ts('Street Name'),
+          ),
+          'street_number' => array(
+            'title' => ts('Street Number'),
+          ),
+          'odd_street_number' => array(
+            'title' => ts('Odd/Even Street Number'),
+            'dbAlias' => 'civicrm_address_odd_street_number',
+          ),
+        ),
         'grouping' => 'location-fields',
       ),
       'civicrm_email' => array(
diff --git a/civicrm/CRM/SMS/BAO/Provider.php b/civicrm/CRM/SMS/BAO/Provider.php
index 21c55629c6..f58f511ad6 100644
--- a/civicrm/CRM/SMS/BAO/Provider.php
+++ b/civicrm/CRM/SMS/BAO/Provider.php
@@ -83,7 +83,7 @@ class CRM_SMS_BAO_Provider extends CRM_SMS_DAO_Provider {
     $dao->find();
     while ($dao->fetch()) {
       CRM_Core_DAO::storeValues($dao, $temp);
-      $providers[] = $temp;
+      $providers[$dao->id] = $temp;
     }
     return $providers;
   }
diff --git a/civicrm/CRM/SMS/DAO/Provider.php b/civicrm/CRM/SMS/DAO/Provider.php
index 732e619b08..c2c7ebc368 100644
--- a/civicrm/CRM/SMS/DAO/Provider.php
+++ b/civicrm/CRM/SMS/DAO/Provider.php
@@ -1,29 +1,5 @@
 <?php
-/*
-+--------------------------------------------------------------------+
-| CiviCRM version 4.7                                                |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2017                                |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM.                                    |
-|                                                                    |
-| CiviCRM is free software; you can copy, modify, and distribute it  |
-| under the terms of the GNU Affero General Public License           |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-|                                                                    |
-| CiviCRM 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 Affero General Public License for more details.        |
-|                                                                    |
-| You should have received a copy of the GNU Affero General Public   |
-| License and the CiviCRM Licensing Exception along                  |
-| with this program; if not, contact CiviCRM LLC                     |
-| at info[AT]civicrm[DOT]org. If you have questions about the        |
-| GNU Affero General Public License or the licensing of CiviCRM,     |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-+--------------------------------------------------------------------+
-*/
+
 /**
  * @package CRM
  * @copyright CiviCRM LLC (c) 2004-2017
@@ -32,129 +8,139 @@
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
  * (GenCodeChecksum:cae173c565ecbc84ccb905d80f1de8c1)
  */
-require_once 'CRM/Core/DAO.php';
-require_once 'CRM/Utils/Type.php';
+
 /**
- * CRM_SMS_DAO_Provider constructor.
+ * Database access object for the Provider entity.
  */
 class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
+
   /**
    * Static instance to hold the table name.
    *
    * @var string
    */
   static $_tableName = 'civicrm_sms_provider';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
-   * @var boolean
+   * @var bool
    */
-  static $_log = false;
+  static $_log = FALSE;
+
   /**
    * SMS Provider ID
    *
    * @var int unsigned
    */
   public $id;
+
   /**
    * Provider internal name points to option_value of option_group sms_provider_name
    *
    * @var string
    */
   public $name;
+
   /**
    * Provider name visible to user
    *
    * @var string
    */
   public $title;
+
   /**
-   *
    * @var string
    */
   public $username;
+
   /**
-   *
    * @var string
    */
   public $password;
+
   /**
    * points to value in civicrm_option_value for group sms_api_type
    *
    * @var int unsigned
    */
   public $api_type;
+
   /**
-   *
    * @var string
    */
   public $api_url;
+
   /**
    * the api params in xml, http or smtp format
    *
    * @var text
    */
   public $api_params;
+
   /**
-   *
    * @var boolean
    */
   public $is_default;
+
   /**
-   *
    * @var boolean
    */
   public $is_active;
+
   /**
    * Which Domain is this sms provider for
    *
    * @var int unsigned
    */
   public $domain_id;
+
   /**
    * Class constructor.
    */
-  function __construct() {
+  public function __construct() {
     $this->__table = 'civicrm_sms_provider';
     parent::__construct();
   }
+
   /**
    * Returns foreign keys and entity references.
    *
    * @return array
    *   [CRM_Core_Reference_Interface]
    */
-  static function getReferenceColumns() {
+  public static function getReferenceColumns() {
     if (!isset(Civi::$statics[__CLASS__]['links'])) {
       Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
-      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName() , 'domain_id', 'civicrm_domain', 'id');
+      Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
     }
     return Civi::$statics[__CLASS__]['links'];
   }
+
   /**
    * Returns all the column names of this table
    *
    * @return array
    */
-  static function &fields() {
+  public static function &fields() {
     if (!isset(Civi::$statics[__CLASS__]['fields'])) {
-      Civi::$statics[__CLASS__]['fields'] = array(
-        'id' => array(
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('SMS Provider ID') ,
+          'title' => ts('SMS Provider ID'),
           'description' => 'SMS Provider ID',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-        ) ,
-        'name' => array(
+        ],
+        'name' => [
           'name' => 'name',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SMS Provider Name') ,
+          'title' => ts('SMS Provider Name'),
           'description' => 'Provider internal name points to option_value of option_group sms_provider_name',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -162,11 +148,11 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-        ) ,
-        'title' => array(
+        ],
+        'title' => [
           'name' => 'title',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SMS Provider Title') ,
+          'title' => ts('SMS Provider Title'),
           'description' => 'Provider name visible to user',
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
@@ -174,152 +160,156 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'username' => array(
+          ],
+        ],
+        'username' => [
           'name' => 'username',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SMS Provider Username') ,
+          'title' => ts('SMS Provider Username'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'password' => array(
+          ],
+        ],
+        'password' => [
           'name' => 'password',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SMS Provider Password') ,
+          'title' => ts('SMS Provider Password'),
           'maxlength' => 255,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'api_type' => array(
+          ],
+        ],
+        'api_type' => [
           'name' => 'api_type',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('SMS Provider API') ,
+          'title' => ts('SMS Provider API'),
           'description' => 'points to value in civicrm_option_value for group sms_api_type',
-          'required' => true,
+          'required' => TRUE,
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Select',
-          ) ,
-        ) ,
-        'api_url' => array(
+          ],
+        ],
+        'api_url' => [
           'name' => 'api_url',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('SMS Provider API URL') ,
+          'title' => ts('SMS Provider API URL'),
           'maxlength' => 128,
           'size' => CRM_Utils_Type::HUGE,
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'api_params' => array(
+          ],
+        ],
+        'api_params' => [
           'name' => 'api_params',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('SMS Provider API Params') ,
+          'title' => ts('SMS Provider API Params'),
           'description' => 'the api params in xml, http or smtp format',
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'Text',
-          ) ,
-        ) ,
-        'is_default' => array(
+          ],
+        ],
+        'is_default' => [
           'name' => 'is_default',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('SMS Provider is Default?') ,
+          'title' => ts('SMS Provider is Default?'),
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'is_active' => array(
+          ],
+        ],
+        'is_active' => [
           'name' => 'is_active',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('SMS Provider is Active?') ,
+          'title' => ts('SMS Provider is Active?'),
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
-          'html' => array(
+          'html' => [
             'type' => 'CheckBox',
-          ) ,
-        ) ,
-        'domain_id' => array(
+          ],
+        ],
+        'domain_id' => [
           'name' => 'domain_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('SMS Domain') ,
+          'title' => ts('SMS Domain'),
           'description' => 'Which Domain is this sms provider for',
           'table_name' => 'civicrm_sms_provider',
           'entity' => 'Provider',
           'bao' => 'CRM_SMS_BAO_Provider',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Domain',
-          'pseudoconstant' => array(
+          'pseudoconstant' => [
             'table' => 'civicrm_domain',
             'keyColumn' => 'id',
             'labelColumn' => 'name',
-          )
-        ) ,
-      );
+          ]
+        ],
+      ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
     return Civi::$statics[__CLASS__]['fields'];
   }
+
   /**
    * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
    *   Array(string $name => string $uniqueName).
    */
-  static function &fieldKeys() {
+  public static function &fieldKeys() {
     if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
       Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
     return Civi::$statics[__CLASS__]['fieldKeys'];
   }
+
   /**
    * Returns the names of this table
    *
    * @return string
    */
-  static function getTableName() {
+  public static function getTableName() {
     return self::$_tableName;
   }
+
   /**
    * Returns if this table needs to be logged
    *
-   * @return boolean
+   * @return bool
    */
-  function getLog() {
+  public function getLog() {
     return self::$_log;
   }
+
   /**
    * Returns the list of fields that can be imported
    *
@@ -327,10 +317,11 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'sms_provider', $prefix, array());
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'sms_provider', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of fields that can be exported
    *
@@ -338,15 +329,21 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = false) {
-    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'sms_provider', $prefix, array());
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'sms_provider', $prefix, []);
     return $r;
   }
+
   /**
    * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
    */
   public static function indices($localize = TRUE) {
-    $indices = array();
+    $indices = [];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
   }
+
 }
diff --git a/civicrm/CRM/SMS/Form/Group.php b/civicrm/CRM/SMS/Form/Group.php
index 6f1941b4ae..9aabab1004 100644
--- a/civicrm/CRM/SMS/Form/Group.php
+++ b/civicrm/CRM/SMS/Form/Group.php
@@ -46,6 +46,10 @@ class CRM_SMS_Form_Group extends CRM_Contact_Form_Task {
 
     $session = CRM_Core_Session::singleton();
     $session->replaceUserContext(CRM_Utils_System::url('civicrm/mailing/browse', 'reset=1&sms=1'));
+
+    if (CRM_Core_Permission::check('administer CiviCRM')) {
+      $this->assign('isAdmin', 1);
+    }
   }
 
   /**
@@ -107,6 +111,12 @@ class CRM_SMS_Form_Group extends CRM_Contact_Form_Task {
       TRUE
     );
 
+    $this->add('select', 'sms_provider_id',
+      ts('Select SMS Provider'),
+      CRM_Utils_Array::collect('title', CRM_SMS_BAO_Provider::getProviders()),
+      TRUE
+    );
+
     // Get the mailing groups.
     $groups = CRM_Core_PseudoConstant::nestedGroup('Mailing');
 
@@ -183,9 +193,14 @@ class CRM_SMS_Form_Group extends CRM_Contact_Form_Task {
       'name',
       'group_id',
       'is_sms',
+      'sms_provider_id',
     ) as $n) {
       if (!empty($values[$n])) {
         $params[$n] = $values[$n];
+        if ($n == 'sms_provider_id') {
+          // Get the from Name.
+          $params['from_name'] = CRM_Core_DAO::getFieldValue('CRM_SMS_DAO_Provider', $params['sms_provider_id'], 'username');
+        }
       }
     }
 
@@ -266,12 +281,7 @@ class CRM_SMS_Form_Group extends CRM_Contact_Form_Task {
     $this->set('mailing_id', $mailing->id);
 
     // also compute the recipients and store them in the mailing recipients table
-    CRM_Mailing_BAO_Mailing::getRecipients($mailing->id,
-      $mailing->id,
-      TRUE,
-      FALSE,
-      'sms'
-    );
+    CRM_Mailing_BAO_Mailing::getRecipients($mailing->id);
 
     $count = CRM_Mailing_BAO_Recipients::mailingSize($mailing->id);
     $this->set('count', $count);
diff --git a/civicrm/CRM/SMS/Form/Upload.php b/civicrm/CRM/SMS/Form/Upload.php
index 0be17ca10c..4a52c4052b 100644
--- a/civicrm/CRM/SMS/Form/Upload.php
+++ b/civicrm/CRM/SMS/Form/Upload.php
@@ -39,9 +39,6 @@ class CRM_SMS_Form_Upload extends CRM_Core_Form {
 
   public function preProcess() {
     $this->_mailingID = $this->get('mailing_id');
-    if (CRM_Core_Permission::check('administer CiviCRM')) {
-      $this->assign('isAdmin', 1);
-    }
   }
 
   /**
@@ -128,25 +125,6 @@ class CRM_SMS_Form_Upload extends CRM_Core_Form {
       "CRM_SMS_Controller_Send_{$this->controller->_key}"
     );
 
-    $providers = CRM_SMS_BAO_Provider::getProviders(array('id', 'title'));
-
-    if (empty($providers)) {
-      //redirect user to configure sms provider.
-      $url = CRM_Utils_System::url('civicrm/admin/sms/provider', 'action=add&reset=1');
-      $status = ts("There is no SMS Provider Configured. You can add here <a href='%1'>Add SMS Provider</a>", array(1 => $url));
-      $session->setStatus($status);
-    }
-    else {
-      $providerSelect[''] = '- select -';
-      foreach ($providers as $provider) {
-        $providerSelect[$provider['id']] = $provider['title'];
-      }
-    }
-
-    $this->add('select', 'sms_provider_id',
-      ts('SMS Provider'), $providerSelect, TRUE
-    );
-
     $attributes = array('onclick' => "showHideUpload();");
     $options = array(ts('Upload Content'), ts('Compose On-screen'));
 
@@ -272,12 +250,6 @@ class CRM_SMS_Form_Upload extends CRM_Core_Form {
 
     $ids['mailing_id'] = $this->_mailingID;
 
-    // Get the from email address.
-    $params['sms_provider_id'] = $formValues['sms_provider_id'];
-
-    // Get the from Name.
-    $params['from_name'] = CRM_Core_DAO::getFieldValue('CRM_SMS_DAO_Provider', $params['sms_provider_id'], 'username');
-
     // Build SMS in mailing table.
     CRM_Mailing_BAO_Mailing::create($params, $ids);
   }
diff --git a/civicrm/CRM/UF/Form/Group.php b/civicrm/CRM/UF/Form/Group.php
index dc0086baef..ac78b3ecb5 100644
--- a/civicrm/CRM/UF/Form/Group.php
+++ b/civicrm/CRM/UF/Form/Group.php
@@ -136,6 +136,7 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
 
     // title
     $this->add('text', 'title', ts('Profile Name'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'title'), TRUE);
+    $this->add('text', 'frontend_title', ts('Public Title'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'frontend_title'));
     $this->add('textarea', 'description', ts('Description'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'description'));
 
     //add checkboxes
diff --git a/civicrm/CRM/UF/Page/Group.php b/civicrm/CRM/UF/Page/Group.php
index e664706f47..e4bfb1b2fd 100644
--- a/civicrm/CRM/UF/Page/Group.php
+++ b/civicrm/CRM/UF/Page/Group.php
@@ -326,6 +326,7 @@ class CRM_UF_Page_Group extends CRM_Core_Page {
       $ufGroup[$id] = array();
       $ufGroup[$id]['id'] = $id;
       $ufGroup[$id]['title'] = $value['title'];
+      $ufGroup[$id]['frontend_title'] = $value['frontend_title'];
       $ufGroup[$id]['created_id'] = $value['created_id'];
       $ufGroup[$id]['created_by'] = CRM_Contact_BAO_Contact::displayName($value['created_id']);
       $ufGroup[$id]['description'] = $value['description'];
diff --git a/civicrm/CRM/UF/Page/ProfileEditor.php b/civicrm/CRM/UF/Page/ProfileEditor.php
index f6d22d45cc..3abe9dfd56 100644
--- a/civicrm/CRM/UF/Page/ProfileEditor.php
+++ b/civicrm/CRM/UF/Page/ProfileEditor.php
@@ -61,6 +61,7 @@ class CRM_UF_Page_ProfileEditor extends CRM_Core_Page {
       ->addScriptFile('civicrm', 'packages/backbone-forms/distribution/adapters/backbone.bootstrap-modal.min.js', 140, 'html-header', FALSE)
       ->addScriptFile('civicrm', 'packages/backbone-forms/distribution/editors/list.min.js', 140, 'html-header', FALSE)
       ->addStyleFile('civicrm', 'packages/backbone-forms/distribution/templates/default.css', 140, 'html-header')
+      ->addScript('CRM.BB = Backbone.noConflict();', 300, 'html-header')
       ->addScriptFile('civicrm', 'packages/jquery/plugins/jstree/jquery.jstree.js', 0, 'html-header', FALSE)
       ->addStyleFile('civicrm', 'packages/jquery/plugins/jstree/themes/default/style.css', 0, 'html-header')
       ->addStyleFile('civicrm', 'css/crm.designer.css', 140, 'html-header')
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FourSeven.php b/civicrm/CRM/Upgrade/Incremental/php/FourSeven.php
index 63e9dc6334..8a1947e8d8 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FourSeven.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FourSeven.php
@@ -437,7 +437,6 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
       'civicrm_case', 'created_date', "timestamp NULL  DEFAULT NULL COMMENT 'When was the case was created.'");
     $this->addTask('CRM-20958 - Add modified_date to civicrm_case', 'addColumn',
       'civicrm_case', 'modified_date', "timestamp NULL  DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'When was the case (or closely related entity) was created or modified or deleted.'");
-    $this->addTask('Rebuild Multilingual Schema', 'rebuildMultilingalSchema');
   }
 
   /**
@@ -481,6 +480,17 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
       }
     }
 
+  }
+
+  /**
+   * Upgrade function.
+   *
+   * @param string $rev
+   */
+  public function upgrade_4_7_31($rev) {
+    $this->addTask(ts('Upgrade DB to %1: SQL', array(1 => $rev)), 'runSql', $rev);
+    $this->addTask('CRM-21225: Add display title field to civicrm_uf_group', 'addColumn', 'civicrm_uf_group', 'frontend_title',
+      "VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT 'Profile Form Public title'", TRUE);
     $this->addTask('Rebuild Multilingual Schema', 'rebuildMultilingalSchema');
   }
 
diff --git a/civicrm/CRM/Upgrade/Incremental/sql/4.7.31.mysql.tpl b/civicrm/CRM/Upgrade/Incremental/sql/4.7.31.mysql.tpl
new file mode 100644
index 0000000000..a40e4357d1
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/sql/4.7.31.mysql.tpl
@@ -0,0 +1,12 @@
+{* file to handle db changes in 4.7.31 during upgrade *}
+
+-- CRM-18300 Remove "_[id]" suffix from name column for profiles referenced
+-- by name in core code.
+UPDATE IGNORE civicrm_uf_group SET name = 'new_individual' WHERE name = concat('new_individual_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'new_organization' WHERE name = concat('new_organization_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'new_household' WHERE name = concat('new_household_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'summary_overlay' WHERE name = concat('summary_overlay_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'contribution_batch_entry' WHERE name = concat('contribution_batch_entry_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'membership_batch_entry' WHERE name = concat('membership_batch_entry_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'shared_address' WHERE name = concat('shared_address_', id);
+UPDATE IGNORE civicrm_uf_group SET name = 'event_registration' WHERE name = concat('event_registration_', id);
diff --git a/civicrm/CRM/Upgrade/Snapshot/V4p2/Price/DAO/Field.php b/civicrm/CRM/Upgrade/Snapshot/V4p2/Price/DAO/Field.php
index 2296225e88..d80104dbdc 100644
--- a/civicrm/CRM/Upgrade/Snapshot/V4p2/Price/DAO/Field.php
+++ b/civicrm/CRM/Upgrade/Snapshot/V4p2/Price/DAO/Field.php
@@ -23,7 +23,7 @@
 | GNU Affero General Public License or the licensing of CiviCRM,     |
 | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
 +--------------------------------------------------------------------+
-*/
+ */
 /**
  *
  * @package CRM
@@ -74,7 +74,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
    * static value to see if we should log any modifications to
    * this table in the civicrm_log table
    *
-   * @var boolean
+   * @var bool
    */
   static $_log = TRUE;
   /**
@@ -109,7 +109,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
   /**
    * Enter a quantity for this field?
    *
-   * @var boolean
+   * @var bool
    */
   public $is_enter_qty;
   /**
@@ -331,7 +331,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
   /**
    * returns if this table needs to be logged.
    *
-   * @return boolean
+   * @return bool
    */
   public function getLog() {
     return self::$_log;
@@ -344,7 +344,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &import($prefix = FALSE) {
+  public static function &import($prefix = FALSE) {
     if (!(self::$_import)) {
       self::$_import = array();
       $fields = self::fields();
@@ -369,7 +369,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
    *
    * @return array
    */
-  static function &export($prefix = FALSE) {
+  public static function &export($prefix = FALSE) {
     if (!(self::$_export)) {
       self::$_export = array();
       $fields = self::fields();
@@ -393,7 +393,7 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
    * @return array
    *   (reference)  the array of enum fields
    */
-  static function &getEnums() {
+  public static function &getEnums() {
     static $enums = array(
       'html_type',
     );
@@ -440,4 +440,5 @@ class CRM_Upgrade_Snapshot_V4p2_Price_DAO_Field extends CRM_Core_DAO {
       }
     }
   }
+
 }
diff --git a/civicrm/CRM/Utils/Address/BatchUpdate.php b/civicrm/CRM/Utils/Address/BatchUpdate.php
index 06b3839c37..0433067848 100644
--- a/civicrm/CRM/Utils/Address/BatchUpdate.php
+++ b/civicrm/CRM/Utils/Address/BatchUpdate.php
@@ -69,11 +69,9 @@ class CRM_Utils_Address_BatchUpdate {
    */
   public function run() {
 
-    $config = &CRM_Core_Config::singleton();
-
     // do check for geocoding.
     $processGeocode = FALSE;
-    if (empty($config->geocodeMethod)) {
+    if (!CRM_Utils_GeocodeProvider::getUsableClassName()) {
       if (CRM_Utils_String::strtobool($this->geocoding) === TRUE) {
         $this->returnMessages[] = ts('Error: You need to set a mapping provider under Administer > System Settings > Mapping and Geocoding');
         $this->returnError = 1;
@@ -120,20 +118,19 @@ class CRM_Utils_Address_BatchUpdate {
     }
 
     // do check for parse street address.
-    return $this->processContacts($config, $processGeocode, $parseStreetAddress);
+    return $this->processContacts($processGeocode, $parseStreetAddress);
   }
 
   /**
    * Process contacts.
    *
-   * @param CRM_Core_Config $config
    * @param bool $processGeocode
    * @param bool $parseStreetAddress
    *
    * @return array
    * @throws Exception
    */
-  public function processContacts(&$config, $processGeocode, $parseStreetAddress) {
+  public function processContacts($processGeocode, $parseStreetAddress) {
     // build where clause.
     $clause = array('( c.id = a.contact_id )');
     $params = array();
@@ -174,9 +171,6 @@ class CRM_Utils_Address_BatchUpdate {
     $totalGeocoded = $totalAddresses = $totalAddressParsed = 0;
 
     $dao = CRM_Core_DAO::executeQuery($query, $params);
-    if ($processGeocode) {
-      require_once str_replace('_', DIRECTORY_SEPARATOR, $config->geocodeMethod) . '.php';
-    }
 
     $unparseableContactAddress = array();
     while ($dao->fetch()) {
@@ -203,8 +197,7 @@ class CRM_Utils_Address_BatchUpdate {
             usleep(5000000);
           }
 
-          $className = $config->geocodeMethod;
-          $className::format($params, TRUE);
+          CRM_Core_BAO_Address::addGeocoderData($params);
 
           // see if we got a geocode error, in this case we'll trigger a fatal
           // CRM-13760
@@ -212,7 +205,7 @@ class CRM_Utils_Address_BatchUpdate {
             isset($params['geo_code_error']) &&
             $params['geo_code_error'] == 'OVER_QUERY_LIMIT'
           ) {
-            CRM_Core_Error::fatal('Aborting batch geocoding. Hit the over query limit on geocoder.');
+            throw new CRM_Core_Exception('Aborting batch geocoding. Hit the over query limit on geocoder.');
           }
 
           array_shift($params);
diff --git a/civicrm/CRM/Utils/Check/Component/Env.php b/civicrm/CRM/Utils/Check/Component/Env.php
index 294547dac5..5492bc45e7 100644
--- a/civicrm/CRM/Utils/Check/Component/Env.php
+++ b/civicrm/CRM/Utils/Check/Component/Env.php
@@ -898,6 +898,11 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
     if (CRM_Core_Config::singleton()->userFramework == 'UnitTests') {
       return $messages;
     }
+    // CRM-21629 Set User Agent to avoid being blocked by filters
+    stream_context_set_default(array(
+      'http' => array('user_agent' => 'CiviCRM'),
+    ));
+
     // Does arrow.png exist where we expect it?
     $arrowUrl = CRM_Core_Config::singleton()->userFrameworkResourceURL . 'packages/jquery/css/images/arrow.png';
     $headers = get_headers($arrowUrl);
diff --git a/civicrm/CRM/Utils/Geocode.php b/civicrm/CRM/Utils/Geocode.php
index 76cd832951..1d3b24a234 100644
--- a/civicrm/CRM/Utils/Geocode.php
+++ b/civicrm/CRM/Utils/Geocode.php
@@ -37,20 +37,22 @@
 class CRM_Utils_Geocode {
 
   /**
+   * @deprecated
+   *
+   * @todo Remove this method. In case people are calling this downstream (which
+   *   is unsupported usage), we'll deprecate it for a few releases before
+   *   removing it altogether.
+   *
    * @return string|''
    *   Class name, or empty.
    */
   public static function getProviderClass() {
-    $settings = Civi::settings();
-    if ($settings->get('geoProvider')) {
-      return 'CRM_Utils_Geocode_' . $settings->get('geoProvider');
-    }
-    elseif ($settings->get('mapProvider')) {
-      return 'CRM_Utils_Geocode_' . $settings->get('mapProvider');
-    }
-    else {
-      return '';
-    }
+    Civi::log()->warning(
+      'CRM_Utils_Geocode is deprecated and will be removed from core soon, use CRM_Utils_GeocodeProvider::getUsableClassName()',
+      ['civi.tag' => 'deprecated']
+    );
+
+    return (string) CRM_Utils_GeocodeProvider::getUsableClassName();
   }
 
 }
diff --git a/civicrm/CRM/Utils/Geocode/Yahoo.php b/civicrm/CRM/Utils/Geocode/Yahoo.php
deleted file mode 100644
index 427ec60c94..0000000000
--- a/civicrm/CRM/Utils/Geocode/Yahoo.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-/*
-  +--------------------------------------------------------------------+
-  | CiviCRM version 4.7                                                |
-  +--------------------------------------------------------------------+
-  | Copyright CiviCRM LLC (c) 2004-2017                                |
-  +--------------------------------------------------------------------+
-  | This file is a part of CiviCRM.                                    |
-  |                                                                    |
-  | CiviCRM is free software; you can copy, modify, and distribute it  |
-  | under the terms of the GNU Affero General Public License           |
-  | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-  |                                                                    |
-  | CiviCRM 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 Affero General Public License for more details.        |
-  |                                                                    |
-  | You should have received a copy of the GNU Affero General Public   |
-  | License and the CiviCRM Licensing Exception along                  |
-  | with this program; if not, contact CiviCRM LLC                     |
-  | at info[AT]civicrm[DOT]org. If you have questions about the        |
-  | GNU Affero General Public License or the licensing of CiviCRM,     |
-  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-  +--------------------------------------------------------------------+
- */
-
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2017
- */
-
-/**
- * Class that uses Yahoo! PlaceFinder API to retrieve the lat/long of an address
- * Documentation is at http://developer.yahoo.com/geo/placefinder/
- */
-class CRM_Utils_Geocode_Yahoo {
-
-  /**
-   * Server to retrieve the lat/long
-   *
-   * @var string
-   */
-  static protected $_server = 'query.yahooapis.com';
-
-  /**
-   * Uri of service.
-   *
-   * @var string
-   */
-  static protected $_uri = '/v1/public/yql';
-
-  /**
-   * Function that takes an address array and gets the latitude / longitude
-   * and postal code for this address. Note that at a later stage, we could
-   * make this function also clean up the address into a more valid format
-   *
-   * @param array $values
-   *   Associative array of address data: country, street_address, city, state_province, postal code.
-   * @param bool $stateName
-   *   This parameter currently has no function.
-   *
-   * @return bool
-   *   true if we modified the address, false otherwise
-   */
-  public static function format(&$values, $stateName = FALSE) {
-    CRM_Utils_System::checkPHPVersion(5, TRUE);
-
-    $config = CRM_Core_Config::singleton();
-
-    $whereComponents = array();
-
-    if (!empty($values['street_address'])) {
-      $whereComponents['street'] = $values['street_address'];
-    }
-
-    if ($city = CRM_Utils_Array::value('city', $values)) {
-      $whereComponents['city'] = $city;
-    }
-
-    if (!empty($values['state_province']) || (!empty($values['state_province_id']) && $values['state_province_id'] != 'null')) {
-      if (!empty($values['state_province_id'])) {
-        $stateProvince = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_StateProvince', $values['state_province_id']);
-      }
-      else {
-        if (!$stateName) {
-          $stateProvince = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_StateProvince',
-            $values['state_province'],
-            'name',
-            'abbreviation'
-          );
-        }
-        else {
-          $stateProvince = $values['state_province'];
-        }
-      }
-
-      // dont add state twice if replicated in city (happens in NZ and other countries, CRM-2632)
-      if ($stateProvince != $city) {
-        $whereComponents['state'] = $stateProvince;
-      }
-    }
-
-    if (!empty($values['postal_code'])) {
-      $whereComponents['postal'] = $values['postal_code'];
-    }
-
-    if (!empty($values['country'])) {
-      $whereComponents['country'] = $values['country'];
-    }
-
-    foreach ($whereComponents as $componentName => $componentValue) {
-      $whereComponents[$componentName] = urlencode("$componentName=\"$componentValue\"");
-    }
-
-    $add = 'q=' . urlencode('select * from geo.placefinder where ');
-
-    $add .= implode(urlencode(' and '), $whereComponents);
-
-    $add .= "&appid=" . urlencode($config->mapAPIKey);
-
-    $query = 'http://' . self::$_server . self::$_uri . '?' . $add;
-
-    require_once 'HTTP/Request.php';
-    $request = new HTTP_Request($query);
-    $request->sendRequest();
-    $string = $request->getResponseBody();
-    // see CRM-11359 for why we suppress errors with @
-    $xml = @simplexml_load_string($string);
-    CRM_Utils_Hook::geocoderFormat('Yahoo', $values, $xml);
-
-    if ($xml === FALSE) {
-      // account blocked maybe?
-      CRM_Core_Error::debug_var('Geocoding failed.  Message from Yahoo:', $string);
-      return FALSE;
-    }
-
-    if ($xml->getName() == 'error') {
-      CRM_Core_Error::debug_var('query', $query);
-      CRM_Core_Error::debug_log_message('Geocoding failed.  Message from Yahoo: ' . (string) $xml->description);
-      return FALSE;
-    }
-
-    if (is_a($xml->results->Result, 'SimpleXMLElement')) {
-      $result = array();
-      $result = get_object_vars($xml->results->Result);
-      foreach ($result as $key => $val) {
-        if (is_scalar($val) &&
-          strlen($val)
-        ) {
-          $ret[(string) $key] = (string) $val;
-        }
-      }
-
-      $values['geo_code_1'] = $ret['latitude'];
-      $values['geo_code_2'] = $ret['longitude'];
-
-      if (!empty($ret['postal'])) {
-        $current_pc = CRM_Utils_Array::value('postal_code', $values);
-        $skip_postal = FALSE;
-
-        if ($current_pc) {
-          $current_pc_suffix = CRM_Utils_Array::value('postal_code_suffix', $values);
-          $current_pc_complete = $current_pc . $current_pc_suffix;
-          $new_pc_complete = preg_replace("/[+-]/", '', $ret['postal']);
-
-          // if a postal code was already entered, don't change it, except to make it more precise
-          if (strpos($new_pc_complete, $current_pc_complete) !== 0) {
-            // Don't bother anonymous users with the message - they can't change a form they just submitted anyway
-            if (CRM_Utils_System::isUserLoggedIn()) {
-              $msg = ts('The Yahoo Geocoding system returned a different postal code (%1) than the one you entered (%2). If you want the Yahoo value, please delete the current postal code and save again.', array(
-                1 => $ret['postal'],
-                2 => $current_pc_suffix ? "$current_pc-$current_pc_suffix" : $current_pc,
-              ));
-
-              CRM_Core_Session::setStatus($msg, ts('Postal Code Mismatch'), 'error');
-            }
-            $skip_postal = TRUE;
-          }
-        }
-
-        if (!$skip_postal) {
-          $values['postal_code'] = $ret['postal'];
-
-          /* the following logic to split the string was borrowed from
-          CRM/Core/BAO/Address.php -- CRM_Core_BAO_Address::fixAddress.
-          This is actually the function that calls the geocoding
-          script to begin with, but the postal code business takes
-          place before geocoding gets called.
-           */
-
-          if (preg_match('/^(\d{4,5})[+-](\d{4})$/',
-            $ret['postal'],
-            $match
-          )
-          ) {
-            $values['postal_code'] = $match[1];
-            $values['postal_code_suffix'] = $match[2];
-          }
-        }
-      }
-      return TRUE;
-    }
-
-    // reset the geo code values if we did not get any good values
-    $values['geo_code_1'] = $values['geo_code_2'] = 'null';
-    return FALSE;
-  }
-
-}
diff --git a/civicrm/CRM/Utils/GeocodeProvider.php b/civicrm/CRM/Utils/GeocodeProvider.php
new file mode 100644
index 0000000000..5aa5a418a1
--- /dev/null
+++ b/civicrm/CRM/Utils/GeocodeProvider.php
@@ -0,0 +1,115 @@
+<?php
+
+/*
+  +--------------------------------------------------------------------+
+  | CiviCRM version 4.7                                                |
+  +--------------------------------------------------------------------+
+  | Copyright CiviCRM LLC (c) 2004-2017                                |
+  +--------------------------------------------------------------------+
+  | This file is a part of CiviCRM.                                    |
+  |                                                                    |
+  | CiviCRM is free software; you can copy, modify, and distribute it  |
+  | under the terms of the GNU Affero General Public License           |
+  | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+  |                                                                    |
+  | CiviCRM 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 Affero General Public License for more details.        |
+  |                                                                    |
+  | You should have received a copy of the GNU Affero General Public   |
+  | License and the CiviCRM Licensing Exception along                  |
+  | with this program; if not, contact CiviCRM LLC                     |
+  | at info[AT]civicrm[DOT]org. If you have questions about the        |
+  | GNU Affero General Public License or the licensing of CiviCRM,     |
+  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+  +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC (c) 2004-2017
+ */
+class CRM_Utils_GeocodeProvider {
+
+  /**
+   * Caches the provider class name. Disables geocoding when set to FALSE.
+   *
+   * @var string|bool
+   */
+  private static $providerClassName;
+
+  /**
+   * Instantiate a geocode object of the system-configured type.
+   *
+   * @return CRM_Utils_Geocode
+   * @throws CRM_Core_Exception
+   */
+  public static function getConfiguredProvider() {
+    $geoCodeClassName = self::getUsableClassName();
+    if ($geoCodeClassName === FALSE) {
+      throw new CRM_Core_Exception('No valid geocoding provider enabled');
+    }
+    return new $geoCodeClassName();
+  }
+
+  /**
+   * Get the name of the geocoding class if enabled.
+   *
+   * This retrieves the geocoding class, checking it can be accessed.
+   * Checks are done to mitigate the possibility it has been configured
+   * and then the file has been removed.
+   *
+   * @return string|bool
+   *   Class name if usable, else false.
+   */
+  public static function getUsableClassName() {
+    if (self::$providerClassName === NULL) {
+      $provider = Civi::settings()->get('geoProvider');
+      if (!class_exists($provider)) {
+        if (class_exists('CRM_Utils_Geocode_' . $provider)) {
+          $provider = 'CRM_Utils_Geocode_' . $provider;
+        }
+        else {
+          if (strlen($provider)) {
+            Civi::log()
+              ->error('Configured geocoder has been removed from the system', ['geocode_class' => $provider]);
+          }
+          $provider = FALSE;
+        }
+      }
+
+      // Ideally geocoding providers would be required to implement an interface
+      // or extend a base class. While we identify and implement a geocoding
+      // abstraction library (rather than continue to roll our own), we settle for
+      // this check.
+      if (!method_exists($provider, 'format')) {
+        Civi::log()->error('Configured geocoder is invalid, must provide a format method', ['geocode_class' => $provider]);
+        $provider = FALSE;
+      }
+
+      self::$providerClassName = $provider;
+    }
+
+    return self::$providerClassName;
+  }
+
+  /**
+   * Disable GeoProvider within a session.
+   *
+   * This disables geocoding by causing getUsableClassName() to bail out.
+   */
+  public static function disableForSession() {
+    self::$providerClassName = FALSE;
+  }
+
+  /**
+   * Reset geoprovider (after it has been disabled).
+   */
+  public static function reset() {
+    self::$providerClassName = NULL;
+    self::getUsableClassName();
+  }
+
+}
diff --git a/civicrm/CRM/Utils/Hook/Joomla.php b/civicrm/CRM/Utils/Hook/Joomla.php
index fd1793cb72..6d642fe3e4 100644
--- a/civicrm/CRM/Utils/Hook/Joomla.php
+++ b/civicrm/CRM/Utils/Hook/Joomla.php
@@ -123,6 +123,12 @@ class CRM_Utils_Hook_Joomla extends CRM_Utils_Hook {
       }
       return $result;
     }
+    else {
+      // CRM-20904: We should still call Civi extension hooks even if Joomla isn't online yet.
+      return $this->commonInvoke($numParams,
+        $arg1, $arg2, $arg3, $arg4, $arg5, $arg6,
+        $fnSuffix, 'joomla');
+    }
   }
 
 }
diff --git a/civicrm/CRM/Utils/Mail/EmailProcessor.php b/civicrm/CRM/Utils/Mail/EmailProcessor.php
index f08fa56272..eb66e2b21c 100644
--- a/civicrm/CRM/Utils/Mail/EmailProcessor.php
+++ b/civicrm/CRM/Utils/Mail/EmailProcessor.php
@@ -41,6 +41,8 @@ define('MAIL_BATCH_SIZE', 50);
  */
 class CRM_Utils_Mail_EmailProcessor {
 
+  const MIME_MAX_RECURSION = 10;
+
   /**
    * Process the default mailbox (ie. that is used by civiMail for the bounce)
    *
@@ -286,55 +288,7 @@ class CRM_Utils_Mail_EmailProcessor {
                 $text = $mail->body->text;
               }
               elseif ($mail->body instanceof ezcMailMultipart) {
-                if ($mail->body instanceof ezcMailMultipartReport) {
-                  $part = $mail->body->getMachinePart();
-                  if ($part instanceof ezcMailDeliveryStatus) {
-                    foreach ($part->recipients as $rec) {
-                      if (isset($rec["Diagnostic-Code"])) {
-                        $text = $rec["Diagnostic-Code"];
-                        break;
-                      }
-                      elseif (isset($rec["Description"])) {
-                        $text = $rec["Description"];
-                        break;
-                      }
-                      // no diagnostic info present - try getting the human readable part
-                      elseif (isset($rec["Status"])) {
-                        $text = $rec["Status"];
-                        $textpart = $mail->body->getReadablePart();
-                        if ($textpart != NULL and isset($textpart->text)) {
-                          $text .= " " . $textpart->text;
-                        }
-                        else {
-                          $text .= " Delivery failed but no diagnostic code or description.";
-                        }
-                        break;
-                      }
-                    }
-                  }
-                  elseif ($part != NULL and isset($part->text)) {
-                    $text = $part->text;
-                  }
-                  elseif (($part = $mail->body->getReadablePart()) != NULL) {
-                    $text = $part->text;
-                  }
-                }
-                elseif ($mail->body instanceof ezcMailMultipartRelated) {
-                  foreach ($mail->body->getRelatedParts() as $part) {
-                    if (isset($part->subType) and $part->subType == 'plain') {
-                      $text = $part->text;
-                      break;
-                    }
-                  }
-                }
-                else {
-                  foreach ($mail->body->getParts() as $part) {
-                    if (isset($part->subType) and $part->subType == 'plain') {
-                      $text = $part->text;
-                      break;
-                    }
-                  }
-                }
+                $text = self::getTextFromMultipart($mail->body);
               }
 
               if (
@@ -475,4 +429,107 @@ class CRM_Utils_Mail_EmailProcessor {
     }
   }
 
+  /**
+   * @param \ezcMailMultipart $multipart
+   * @param int $recursionLevel
+   *
+   * @return array
+   */
+  protected static function getTextFromMultipart($multipart, $recursionLevel = 0) {
+    if ($recursionLevel >= self::MIME_MAX_RECURSION) {
+      return NULL;
+    }
+    $recursionLevel += 1;
+    $text = NULL;
+    if ($multipart instanceof ezcMailMultipartReport) {
+      $text = self::getTextFromMulipartReport($multipart, $recursionLevel);
+    }
+    elseif ($multipart instanceof ezcMailMultipartRelated) {
+      $text = self::getTextFromMultipartRelated($multipart, $recursionLevel);
+    }
+    else {
+      foreach ($multipart->getParts() as $part) {
+        if (isset($part->subType) and $part->subType === 'plain') {
+          $text = $part->text;
+        }
+        elseif ($part instanceof ezcMailMultipart) {
+          $text = self::getTextFromMultipart($part, $recursionLevel);
+        }
+        if ($text) {
+          break;
+        }
+      }
+    }
+    return $text;
+  }
+
+  /**
+   * @param \ezcMailMultipartRelated $related
+   * @param int $recursionLevel
+   *
+   * @return array
+   */
+  protected static function getTextFromMultipartRelated($related, $recursionLevel) {
+    $text = NULL;
+    foreach ($related->getRelatedParts() as $part) {
+      if (isset($part->subType) and $part->subType === 'plain') {
+        $text = $part->text;
+      }
+      elseif ($part instanceof ezcMailMultipart) {
+        $text = self::getTextFromMultipart($part, $recursionLevel);
+      }
+      if ($text) {
+        break;
+      }
+    }
+    return $text;
+  }
+
+  /**
+   * @param \ezcMailMultipartReport $multipart
+   * @param $recursionLevel
+   *
+   * @return array
+   */
+  protected static function getTextFromMulipartReport($multipart, $recursionLevel) {
+    $text = NULL;
+    $part = $multipart->getMachinePart();
+    if ($part instanceof ezcMailDeliveryStatus) {
+      foreach ($part->recipients as $rec) {
+        if (isset($rec["Diagnostic-Code"])) {
+          $text = $rec["Diagnostic-Code"];
+          break;
+        }
+        elseif (isset($rec["Description"])) {
+          $text = $rec["Description"];
+          break;
+        }
+        // no diagnostic info present - try getting the human readable part
+        elseif (isset($rec["Status"])) {
+          $text = $rec["Status"];
+          $textpart = $multipart->getReadablePart();
+          if ($textpart !== NULL and isset($textpart->text)) {
+            $text .= " " . $textpart->text;
+          }
+          else {
+            $text .= " Delivery failed but no diagnostic code or description.";
+          }
+          break;
+        }
+      }
+    }
+    elseif ($part !== NULL and isset($part->text)) {
+      $text = $part->text;
+    }
+    elseif (($part = $multipart->getReadablePart()) !== NULL) {
+      if (isset($part->text)) {
+        $text = $part->text;
+      }
+      elseif ($part instanceof ezcMailMultipart) {
+        $text = self::getTextFromMultipart($part, $recursionLevel);
+      }
+    }
+    return $text;
+  }
+
 }
diff --git a/civicrm/CRM/Utils/Number.php b/civicrm/CRM/Utils/Number.php
index 2b8c063cd5..f79cd1db1f 100644
--- a/civicrm/CRM/Utils/Number.php
+++ b/civicrm/CRM/Utils/Number.php
@@ -88,6 +88,7 @@ class CRM_Utils_Number {
   public static function formatUnitSize($size, $checkForPostMax = FALSE) {
     if ($size) {
       $last = strtolower($size{strlen($size) - 1});
+      $size = (int) $size;
       switch ($last) {
         // The 'G' modifier is available since PHP 5.1.0
 
diff --git a/civicrm/CRM/Utils/SQL/Select.php b/civicrm/CRM/Utils/SQL/Select.php
index fc6b762f8d..8473d34eea 100644
--- a/civicrm/CRM/Utils/SQL/Select.php
+++ b/civicrm/CRM/Utils/SQL/Select.php
@@ -114,6 +114,7 @@ class CRM_Utils_SQL_Select implements ArrayAccess {
 
   private $mode = NULL;
   private $insertInto = NULL;
+  private $insertVerb = 'INSERT INTO ';
   private $insertIntoFields = array();
   private $selects = array();
   private $from;
@@ -403,6 +404,34 @@ class CRM_Utils_SQL_Select implements ArrayAccess {
     return $this;
   }
 
+  /**
+   * Wrapper function of insertInto fn but sets insertVerb = "INSERT IGNORE INTO "
+   *
+   * @param string $table
+   *   The name of the other table (which receives new data).
+   * @param array $fields
+   *   The fields to fill in the other table (in order).
+   * @return CRM_Utils_SQL_Select
+   */
+  public function insertIgnoreInto($table, $fields = array()) {
+    $this->insertVerb = "INSERT IGNORE INTO ";
+    return $this->insertInto($table, $fields);
+  }
+
+  /**
+   * Wrapper function of insertInto fn but sets insertVerb = "REPLACE INTO "
+   *
+   * @param string $table
+   *   The name of the other table (which receives new data).
+   * @param array $fields
+   *   The fields to fill in the other table (in order).
+   */
+  public function replaceInto($table, $fields = array()) {
+    $this->insertVerb = "REPLACE INTO ";
+    return $this->insertInto($table, $fields);
+  }
+
+
   /**
    * @param array $fields
    *   The fields to fill in the other table (in order).
@@ -550,10 +579,11 @@ class CRM_Utils_SQL_Select implements ArrayAccess {
   public function toSQL() {
     $sql = '';
     if ($this->insertInto) {
-      $sql .= 'INSERT INTO ' . $this->insertInto . ' (';
+      $sql .= $this->insertVerb . $this->insertInto . ' (';
       $sql .= implode(', ', $this->insertIntoFields);
       $sql .= ")\n";
     }
+
     if ($this->selects) {
       $sql .= 'SELECT ' . $this->distinct . implode(', ', $this->selects) . "\n";
     }
diff --git a/civicrm/CRM/Utils/String.php b/civicrm/CRM/Utils/String.php
index be6ba732a9..9b0fdcbf07 100644
--- a/civicrm/CRM/Utils/String.php
+++ b/civicrm/CRM/Utils/String.php
@@ -657,13 +657,13 @@ class CRM_Utils_String {
    * @return string
    */
   public static function ellipsify($string, $maxLen) {
-    $len = strlen($string);
+    $len = mb_strlen($string, 'UTF-8');
     if ($len <= $maxLen) {
       return $string;
     }
     else {
       $end = $maxLen - 3;
-      while (strlen($string) > $maxLen - 3) {
+      while (mb_strlen($string, 'UTF-8') > $maxLen - 3) {
         $string = mb_substr($string, 0, $end, 'UTF-8');
         $end = $end - 1;
       }
diff --git a/civicrm/CRM/Utils/System/Drupal6.php b/civicrm/CRM/Utils/System/Drupal6.php
index aae0fbfe16..721855e111 100644
--- a/civicrm/CRM/Utils/System/Drupal6.php
+++ b/civicrm/CRM/Utils/System/Drupal6.php
@@ -758,9 +758,18 @@ class CRM_Utils_System_Drupal6 extends CRM_Utils_System_DrupalBase {
     else {
       $timezone = variable_get('date_default_timezone', NULL);
     }
+
+    // Retrieved timezone will be represented as GMT offset in seconds but, according
+    // to the doc for the overridden method, ought to be returned as a region string
+    // (e.g., America/Havana).
+    if (strlen($timezone)) {
+      $timezone = timezone_name_from_abbr("", (int) $timezone, 0);
+    }
+
     if (!$timezone) {
       $timezone = parent::getTimeZoneString();
     }
+
     return $timezone;
   }
 
diff --git a/civicrm/CRM/Utils/System/Drupal8.php b/civicrm/CRM/Utils/System/Drupal8.php
index 6589b2e41d..9c2eb667a5 100644
--- a/civicrm/CRM/Utils/System/Drupal8.php
+++ b/civicrm/CRM/Utils/System/Drupal8.php
@@ -49,6 +49,7 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
       return FALSE;
     }
 
+    /** @var \Drupal\user\Entity\User $account */
     $account = entity_create('user');
     $account->setUsername($params['cms_name'])->setEmail($params[$mail]);
 
@@ -64,6 +65,9 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
     if ($user_register_conf != 'visitors' && !$user->hasPermission('administer users')) {
       $account->block();
     }
+    elseif (!$verify_mail_conf) {
+      $account->activate();
+    }
 
     // Validate the user object
     $violations = $account->validate();
@@ -71,10 +75,16 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
       return FALSE;
     }
 
+    // Let the Drupal module know we're already in CiviCRM.
+    $config = CRM_Core_Config::singleton();
+    $config->inCiviCRM = TRUE;
+
     try {
       $account->save();
+      $config->inCiviCRM = FALSE;
     }
     catch (\Drupal\Core\Entity\EntityStorageException $e) {
+      $config->inCiviCRM = FALSE;
       return FALSE;
     }
 
@@ -100,6 +110,11 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
         break;
     }
 
+    // If this is a user creating their own account, login them in!
+    if ($account->isActive() && $user->isAnonymous()) {
+      \user_login_finalize($account);
+    }
+
     return $account->id();
   }
 
@@ -139,10 +154,10 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
       $violations = iterator_to_array($user->validate());
       // We only care about violations on the username field; discard the rest.
       $violations = array_filter($violations, function ($v) {
-        return $v->getPropertyPath() == 'name.0.value';
+        return $v->getPropertyPath() == 'name';
       });
       if (count($violations) > 0) {
-        $errors['cms_name'] = $violations[0]->getMessage();
+        $errors['cms_name'] = (string) $violations[0]->getMessage();
       }
     }
 
@@ -157,10 +172,10 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
       $violations = iterator_to_array($user->validate());
       // We only care about violations on the email field; discard the rest.
       $violations = array_filter($violations, function ($v) {
-        return $v->getPropertyPath() == 'mail.0.value';
+        return $v->getPropertyPath() == 'mail';
       });
       if (count($violations) > 0) {
-        $errors[$emailName] = $violations[0]->getMessage();
+        $errors[$emailName] = (string) $violations[0]->getMessage();
       }
     }
   }
@@ -207,52 +222,6 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
     \Drupal::service('civicrm.page_state')->addHtmlHeader($header);
   }
 
-  /**
-   * @inheritDoc
-   */
-  public function addScriptUrl($url, $region) {
-    static $weight = 0;
-
-    switch ($region) {
-      case 'html-header':
-        break;
-
-      default:
-        return FALSE;
-    }
-
-    $script = array(
-      '#tag' => 'script',
-      '#attributes' => array(
-        'src' => $url,
-      ),
-      '#weight' => $weight,
-    );
-    $weight++;
-    \Drupal::service('civicrm.page_state')->addJS($script);
-    return TRUE;
-  }
-
-  /**
-   * @inheritDoc
-   */
-  public function addScript($code, $region) {
-    switch ($region) {
-      case 'html-header':
-        break;
-
-      default:
-        return FALSE;
-    }
-
-    $script = array(
-      '#tag' => 'script',
-      '#value' => $code,
-    );
-    \Drupal::service('civicrm.page_state')->addJS($script);
-    return TRUE;
-  }
-
   /**
    * @inheritDoc
    */
diff --git a/civicrm/Civi/Codeception/CiviAcceptanceTesterTrait.php b/civicrm/Civi/Codeception/CiviAcceptanceTesterTrait.php
new file mode 100644
index 0000000000..47b2c1417e
--- /dev/null
+++ b/civicrm/Civi/Codeception/CiviAcceptanceTesterTrait.php
@@ -0,0 +1,110 @@
+<?php
+namespace Civi\Codeception;
+
+/**
+ * Trait CiviAcceptanceTesterTrait
+ * Trait for common functions used for Codeception Testing framework
+ * @package Civi\Codeception
+ */
+trait CiviAcceptanceTesterTrait {
+
+  /**
+   * Parse Parameters, and create generic Civi URL
+   * @param $page
+   *   The path and parameters of a CiviCRM page. Ex: "civicrm/dashboard?reset=1".
+   */
+  public function amOnRoute($page) {
+    $params = explode('?', $page);
+    if (empty($params[1])) {
+      $newPage = \CRM_Utils_System::url($page, NULL, FALSE, NULL, FALSE);
+    }
+    else {
+      $newPage = \CRM_Utils_System::url($params[0], $params[1], FALSE, NULL, FALSE);
+    }
+    return $this->amOnPage($newPage);
+  }
+
+  /**
+   * Dispatcher for login to supported plattforms
+   * @param $username
+   *   CiviCRM username for the login
+   * @param $password
+   *   CiviCRM password for the login
+   */
+  public function login($username, $password) {
+    $config = \CRM_Core_Config::singleton();
+    $handler = array($this, 'loginTo' . $config->userFramework);
+    if (is_callable($handler)) {
+      call_user_func($handler, $username, $password);
+    }
+    else {
+      throw new CRM_Core_Exception("Framework {$config->userFramework} is not supported. Implement loginTo{$config->userFramework}.");
+    }
+  }
+
+  /**
+   * Login to Drupal
+   * @param $username
+   *   CiviCRM username for the login
+   * @param $password
+   *   CiviCRM password for the login
+   */
+  public function loginToDrupal($username, $password) {
+    $I = $this;
+    $I->amOnPage('/user');
+    $I->fillField("#edit-name", $username);
+    $I->fillField("#edit-pass", $password);
+    $I->click("#edit-submit");
+    $I->see("CiviCRM Home");
+  }
+
+  /**
+   * Login to Joomla
+   * @param $username
+   *   CiviCRM username for the login
+   * @param $password
+   *   CiviCRM password for the login
+   */
+  public function loginToJoomla($username, $password) {
+    throw new CRM_Core_Exception("loginToJoomla is not implemented yet. Implement a corresponding login function.");
+  }
+
+  /**
+   * Login to Wordpress
+   * @param $username
+   *   CiviCRM username for the login
+   * @param $password
+   *   CiviCRM password for the login
+   */
+  public function loginToWordpress($username, $password) {
+    throw new CRM_Core_Exception("loginToWordpress is not implemented yet. Implement a corresponding login function.");
+  }
+
+  /**
+   * Login to Backdrop
+   * @param $username
+   *   CiviCRM username for the login
+   * @param $password
+   *   CiviCRM password for the login
+   */
+  public function loginToBackdrop($username, $password) {
+    throw new CRM_Core_Exception("loginToBackdrop is not implemented yet. Implement a corresponding login function.");
+  }
+
+  /**
+   * Login as Admin User
+   */
+  public function loginAsAdmin() {
+    global $_CV;
+    $this->login($_CV['ADMIN_USER'], $_CV['ADMIN_PASS']);
+  }
+
+  /**
+   * Login as Demo User
+   */
+  public function loginAsDemo() {
+    global $_CV;
+    $this->login($_CV['DEMO_USER'], $_CV['DEMO_PASS']);
+  }
+
+}
diff --git a/civicrm/Civi/Install/Requirements.php b/civicrm/Civi/Install/Requirements.php
index ad0848e80b..13506a22b2 100644
--- a/civicrm/Civi/Install/Requirements.php
+++ b/civicrm/Civi/Install/Requirements.php
@@ -28,6 +28,7 @@ class Requirements {
     'checkServerVariables',
     'checkMysqlConnectExists',
     'checkJsonEncodeExists',
+    'checkMultibyteExists',
   );
 
   protected $database_checks = array(
@@ -216,6 +217,24 @@ class Requirements {
     return $results;
   }
 
+  /**
+   * CHeck that PHP Multibyte functions are enabled.
+   * @return array
+   */
+  public function checkMultibyteExists() {
+    $results = array(
+      'title' => 'CiviCRM MultiByte encoding support',
+      'severity' => $this::REQUIREMENT_OK,
+      'details' => 'PHP Multibyte etension found',
+    );
+    if (!function_exists('mb_substr')) {
+      $results['severity'] = $this::REQUIREMENT_ERROR;
+      $results['details'] = 'PHP Multibyte extension has not been installed and enabled';
+    }
+
+    return $results;
+  }
+
   /**
    * @return array
    */
diff --git a/civicrm/Civi/Payment/System.php b/civicrm/Civi/Payment/System.php
index e5327240f5..4150e8b083 100644
--- a/civicrm/Civi/Payment/System.php
+++ b/civicrm/Civi/Payment/System.php
@@ -53,18 +53,17 @@ class System {
       }
       else {
         $paymentClass = 'CRM_Core_' . $processor['class_name'];
-        if (empty($paymentClass)) {
+        if (empty($processor['class_name'])) {
           throw new \CRM_Core_Exception('no class provided');
         }
-        require_once str_replace('_', DIRECTORY_SEPARATOR, $paymentClass) . '.php';
       }
 
-      $processorObject = new $paymentClass(!empty($processor['is_test']) ? 'test' : 'live', $processor);
-      if (!$force && $processorObject->checkConfig()) {
-        $processorObject = NULL;
-      }
-      else {
-        $processorObject->setPaymentProcessor($processor);
+      $processorObject = NULL;
+      if (class_exists($paymentClass)) {
+        $processorObject = new $paymentClass(!empty($processor['is_test']) ? 'test' : 'live', $processor);
+        if ($force || !$processorObject->checkConfig()) {
+          $processorObject->setPaymentProcessor($processor);
+        }
       }
       $this->cache[$id] = $processorObject;
     }
@@ -72,6 +71,34 @@ class System {
     return $this->cache[$id];
   }
 
+  /**
+   * Execute checkConfig() on the payment processor Object.
+   * This function creates a new instance of the processor object and returns the output of checkConfig
+   *
+   * @param array $processor
+   *
+   * @return string|NULL
+   *
+   * @throws \CRM_Core_Exception
+   */
+  public function checkProcessorConfig($processor) {
+    $ext = \CRM_Extension_System::singleton()->getMapper();
+    if ($ext->isExtensionKey($processor['class_name'])) {
+      $paymentClass = $ext->keyToClass($processor['class_name'], 'payment');
+      require_once $ext->classToPath($paymentClass);
+    }
+    else {
+      $paymentClass = 'CRM_Core_' . $processor['class_name'];
+      if (empty($paymentClass)) {
+        throw new \CRM_Core_Exception('no class provided');
+      }
+      require_once str_replace('_', DIRECTORY_SEPARATOR, $paymentClass) . '.php';
+    }
+
+    $processorObject = new $paymentClass(!empty($processor['is_test']) ? 'test' : 'live', $processor);
+    return $processorObject->checkConfig();
+  }
+
   /**
    * Get payment processor by it's ID.
    *
diff --git a/civicrm/ang/crmCaseType/list.html b/civicrm/ang/crmCaseType/list.html
index 97137e2663..52d1a3d0a6 100644
--- a/civicrm/ang/crmCaseType/list.html
+++ b/civicrm/ang/crmCaseType/list.html
@@ -43,7 +43,7 @@ Required vars: caseTypes
                   {{ts('Enable')}}
                 </a>
               </li>
-              <li ng-show="caseType.is_active">
+              <li ng-show="caseType.is_active && !caseType.is_reserved">
                 <a class="action-item crm-hover-button"
                    crm-confirm="{type: 'disable', obj: caseType}"
                    on-yes="toggleCaseType(caseType)">
@@ -57,7 +57,7 @@ Required vars: caseTypes
                   {{ts('Revert')}}
                 </a>
               </li>
-              <li>
+              <li ng-show="!caseType.is_reserved">
                 <a class="action-item crm-hover-button"
                    crm-confirm="{type: 'delete', obj: caseType}"
                    on-yes="deleteCaseType(caseType)">
diff --git a/civicrm/ang/crmMailing/Recipients.js b/civicrm/ang/crmMailing/Recipients.js
index 4a2eb76b80..ceae2db871 100644
--- a/civicrm/ang/crmMailing/Recipients.js
+++ b/civicrm/ang/crmMailing/Recipients.js
@@ -145,6 +145,14 @@
                 mids.push(dv.entity_id);
               }
             }
+            // push non existant 0 group/mailing id in order when no recipents group or prior mailing is selected
+            //  this will allow to resuse the below code to handle datamap
+            if (gids.length === 0) {
+              gids.push(0);
+            }
+            if (mids.length === 0) {
+              mids.push(0);
+            }
 
             CRM.api3('Group', 'getlist', { params: { id: { IN: gids }, options: { limit: 0 } }, extra: ["is_hidden"] } ).then(
               function(glist) {
diff --git a/civicrm/ang/crmMailing/Templates.js b/civicrm/ang/crmMailing/Templates.js
index 2c5ff8c4cf..0c2b93dc26 100644
--- a/civicrm/ang/crmMailing/Templates.js
+++ b/civicrm/ang/crmMailing/Templates.js
@@ -7,7 +7,6 @@
           scope: {
             ngRequired: '@'
           },
-          templateUrl: '~/crmMailing/Templates.html',
           link: function(scope, element, attrs, ngModel) {
             scope.template = ngModel.$viewValue;
 
@@ -129,4 +128,4 @@
 
 
   });
-})(angular, CRM.$, CRM._);
\ No newline at end of file
+})(angular, CRM.$, CRM._);
diff --git a/civicrm/ang/crmMailing/services.js b/civicrm/ang/crmMailing/services.js
index db9d2d9df8..4eb62381f2 100644
--- a/civicrm/ang/crmMailing/services.js
+++ b/civicrm/ang/crmMailing/services.js
@@ -270,12 +270,13 @@
         else {
           // Protect against races in saving and previewing by chaining create+preview.
           var params = angular.extend({}, mailing, mailing.recipients, {
-            options: {force_rollback: 1},
+            id: mailing.id,
             'api.Mailing.preview': {
               id: '$value.id'
             }
           });
           delete params.recipients; // the content was merged in
+          params._skip_evil_bao_auto_recipients_ = 1; // skip recipient rebuild on mail preview
           return qApi('Mailing', 'create', params).then(function(result) {
             mailing.modified_date = result.values[result.id].modified_date;
             // changes rolled back, so we don't care about updating mailing
@@ -290,11 +291,8 @@
       previewRecipients: function previewRecipients(mailing, previewLimit) {
         // To get list of recipients, we tentatively save the mailing and
         // get the resulting recipients -- then rollback any changes.
-        var params = angular.extend({}, mailing, mailing.recipients, {
-          name: 'placeholder', // for previewing recipients on new, incomplete mailing
-          subject: 'placeholder', // for previewing recipients on new, incomplete mailing
-          options: {force_rollback: 1},
-          'api.mailing_job.create': 1, // note: exact match to API default
+        var params = angular.extend({}, mailing.recipients, {
+          id: mailing.id,
           'api.MailingRecipients.get': {
             mailing_id: '$value.id',
             options: {limit: previewLimit},
@@ -317,10 +315,7 @@
           // To get list of recipients, we tentatively save the mailing and
           // get the resulting recipients -- then rollback any changes.
           var params = angular.extend({}, mailing, mailing.recipients, {
-            name: 'placeholder', // for previewing recipients on new, incomplete mailing
-            subject: 'placeholder', // for previewing recipients on new, incomplete mailing
-            options: {force_rollback: 1},
-            'api.mailing_job.create': 1, // note: exact match to API default
+            id: mailing.id,
             'api.MailingRecipients.getcount': {
               mailing_id: '$value.id'
             }
@@ -373,7 +368,7 @@
         delete params.jobs;
 
         delete params.recipients; // the content was merged in
-
+        params._skip_evil_bao_auto_recipients_ = 1; // skip recipient rebuild on simple save
         return qApi('Mailing', 'create', params).then(function(result) {
           if (result.id && !mailing.id) {
             mailing.id = result.id;
@@ -427,6 +422,8 @@
 
         delete params.recipients; // the content was merged in
 
+        params._skip_evil_bao_auto_recipients_ = 1; // skip recipient rebuild while sending test mail
+
         return qApi('Mailing', 'create', params).then(function (result) {
           if (result.id && !mailing.id) {
             mailing.id = result.id;
diff --git a/civicrm/api/v3/Acl.php b/civicrm/api/v3/Acl.php
index 6564488aa7..f188760a61 100644
--- a/civicrm/api/v3/Acl.php
+++ b/civicrm/api/v3/Acl.php
@@ -40,7 +40,7 @@
  *   API result array
  */
 function civicrm_api3_acl_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Acl');
 }
 
 /**
diff --git a/civicrm/api/v3/AclRole.php b/civicrm/api/v3/AclRole.php
index 1cb1febd6a..b1708533b7 100644
--- a/civicrm/api/v3/AclRole.php
+++ b/civicrm/api/v3/AclRole.php
@@ -40,7 +40,7 @@
  *   API result array
  */
 function civicrm_api3_acl_role_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'AclRole');
 }
 
 /**
diff --git a/civicrm/api/v3/ActivityContact.php b/civicrm/api/v3/ActivityContact.php
index 7f1c1c3848..be02bcc211 100644
--- a/civicrm/api/v3/ActivityContact.php
+++ b/civicrm/api/v3/ActivityContact.php
@@ -40,7 +40,7 @@
  *   API result array.
  */
 function civicrm_api3_activity_contact_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'ActivityContact');
 }
 
 /**
diff --git a/civicrm/api/v3/Address.php b/civicrm/api/v3/Address.php
index a7ec8cbfcb..5ca5acfcbe 100644
--- a/civicrm/api/v3/Address.php
+++ b/civicrm/api/v3/Address.php
@@ -76,11 +76,15 @@ function civicrm_api3_address_create(&$params) {
     $params['check_permissions'] = 0;
   }
 
+  if (!isset($params['fix_address'])) {
+    $params['fix_address'] = TRUE;
+  }
+
   /**
    * Create array for BAO (expects address params in as an
    * element in array 'address'
    */
-  $addressBAO = CRM_Core_BAO_Address::add($params, TRUE);
+  $addressBAO = CRM_Core_BAO_Address::add($params, $params['fix_address']);
   if (empty($addressBAO)) {
     return civicrm_api3_create_error("Address is not created or updated ");
   }
@@ -110,6 +114,12 @@ function _civicrm_api3_address_create_spec(&$params) {
       at once, the job \'Geocode and Parse Addresses\' can execute this task after the import)',
     'type' => CRM_Utils_Type::T_BOOLEAN,
   );
+  $params['fix_address'] = array(
+    'title' => ts('Fix address'),
+    'description' => ts('When true, apply various fixes to the address before insert. Default true.'),
+    'type' => CRM_Utils_Type::T_BOOLEAN,
+    'api.default' => TRUE,
+  );
   $params['world_region'] = array(
     'title' => ts('World Region'),
     'name' => 'world_region',
diff --git a/civicrm/api/v3/ContactType.php b/civicrm/api/v3/ContactType.php
index 77aba28af3..7efeb499af 100644
--- a/civicrm/api/v3/ContactType.php
+++ b/civicrm/api/v3/ContactType.php
@@ -61,7 +61,7 @@ function civicrm_api3_contact_type_create($params) {
     $params['name'] = CRM_Utils_String::munge($params['name']);
   }
 
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'ContactType');
 }
 
 /**
diff --git a/civicrm/api/v3/ContributionPage.php b/civicrm/api/v3/ContributionPage.php
index 8b145ecad3..46f7a55466 100644
--- a/civicrm/api/v3/ContributionPage.php
+++ b/civicrm/api/v3/ContributionPage.php
@@ -42,7 +42,7 @@
  *   api result array
  */
 function civicrm_api3_contribution_page_create($params) {
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'ContributionPage');
   CRM_Contribute_PseudoConstant::flush('contributionPageAll');
   CRM_Contribute_PseudoConstant::flush('contributionPageActive');
   return $result;
diff --git a/civicrm/api/v3/ContributionRecur.php b/civicrm/api/v3/ContributionRecur.php
index 2dbdc64e35..0c7a2cd94c 100644
--- a/civicrm/api/v3/ContributionRecur.php
+++ b/civicrm/api/v3/ContributionRecur.php
@@ -41,9 +41,7 @@
  *   api result array
  */
 function civicrm_api3_contribution_recur_create($params) {
-  _civicrm_api3_custom_format_params($params, $values, 'ContributionRecur');
-  $params = array_merge($params, $values);
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'ContributionRecur');
 }
 
 /**
diff --git a/civicrm/api/v3/CustomGroup.php b/civicrm/api/v3/CustomGroup.php
index 41df30b555..cf32d77f91 100644
--- a/civicrm/api/v3/CustomGroup.php
+++ b/civicrm/api/v3/CustomGroup.php
@@ -61,7 +61,7 @@ function civicrm_api3_custom_group_create($params) {
     $params['extends_entity_column_value'] = CRM_Utils_Array::explodePadded($params['extends_entity_column_value']);
   }
 
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'CustomGroup');
 }
 
 /**
diff --git a/civicrm/api/v3/Domain.php b/civicrm/api/v3/Domain.php
index 766ab44c2a..20e360df54 100644
--- a/civicrm/api/v3/Domain.php
+++ b/civicrm/api/v3/Domain.php
@@ -139,7 +139,7 @@ function civicrm_api3_domain_create($params) {
   else {
     unset($params['version']);
   }
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Domain');
 
   $result_value = CRM_Utils_Array::first($result['values']);
   if (isset($result_value['version'])) {
diff --git a/civicrm/api/v3/Email.php b/civicrm/api/v3/Email.php
index 02c7e5d652..aee04e6c6d 100644
--- a/civicrm/api/v3/Email.php
+++ b/civicrm/api/v3/Email.php
@@ -41,7 +41,7 @@
  *   API result array
  */
 function civicrm_api3_email_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Email');
 }
 
 /**
diff --git a/civicrm/api/v3/EntityFinancialAccount.php b/civicrm/api/v3/EntityFinancialAccount.php
index 86910459fa..c4a6ea95b4 100644
--- a/civicrm/api/v3/EntityFinancialAccount.php
+++ b/civicrm/api/v3/EntityFinancialAccount.php
@@ -39,7 +39,7 @@
  * @return array
  */
 function civicrm_api3_entity_financial_account_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'EntityFinancialAccount');
 }
 
 /**
diff --git a/civicrm/api/v3/FinancialAccount.php b/civicrm/api/v3/FinancialAccount.php
index cb421c33d9..2ca0960dff 100644
--- a/civicrm/api/v3/FinancialAccount.php
+++ b/civicrm/api/v3/FinancialAccount.php
@@ -39,7 +39,7 @@
  * @return array
  */
 function civicrm_api3_financial_account_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'FinancialAccount');
 }
 
 /**
diff --git a/civicrm/api/v3/FinancialTrxn.php b/civicrm/api/v3/FinancialTrxn.php
index 12058a157f..23f19807cc 100644
--- a/civicrm/api/v3/FinancialTrxn.php
+++ b/civicrm/api/v3/FinancialTrxn.php
@@ -43,7 +43,7 @@ function civicrm_api3_financial_trxn_create($params) {
     throw new API_Exception("Mandatory key(s) missing from params array: both contribution_id and entity_id are missing");
   }
 
-  return _civicrm_api3_basic_create('CRM_Core_BAO_FinancialTrxn', $params);
+  return _civicrm_api3_basic_create('CRM_Core_BAO_FinancialTrxn', $params, 'FinancialTrxn');
 }
 
 /**
diff --git a/civicrm/api/v3/FinancialType.php b/civicrm/api/v3/FinancialType.php
index 8ed7306f0e..3b4f37336e 100644
--- a/civicrm/api/v3/FinancialType.php
+++ b/civicrm/api/v3/FinancialType.php
@@ -39,7 +39,7 @@
  * @return array
  */
 function civicrm_api3_financial_type_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'FinancialType');
 }
 
 /**
diff --git a/civicrm/api/v3/Im.php b/civicrm/api/v3/Im.php
index 2273542193..7630989d4c 100644
--- a/civicrm/api/v3/Im.php
+++ b/civicrm/api/v3/Im.php
@@ -39,7 +39,7 @@
  * @return array
  */
 function civicrm_api3_im_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'IM');
 }
 
 /**
diff --git a/civicrm/api/v3/LineItem.php b/civicrm/api/v3/LineItem.php
index 4efee36763..f5935bf032 100644
--- a/civicrm/api/v3/LineItem.php
+++ b/civicrm/api/v3/LineItem.php
@@ -48,7 +48,7 @@ function civicrm_api3_line_item_create($params) {
   // do the work, and it should be in a tighter function. The below function is  not really
   // readable because it is handling contribution and line item together.
   $params = CRM_Contribute_BAO_Contribution::checkTaxAmount($params, TRUE);
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'LineItem');
 }
 
 /**
diff --git a/civicrm/api/v3/Mailing.php b/civicrm/api/v3/Mailing.php
index 300ac3b07c..22aba4bfda 100644
--- a/civicrm/api/v3/Mailing.php
+++ b/civicrm/api/v3/Mailing.php
@@ -160,7 +160,7 @@ function _civicrm_api3_mailing_create_spec(&$params) {
   $params['resubscribe_id']['api.default'] = CRM_Mailing_PseudoConstant::defaultComponent('Resubscribe', '');
   $params['unsubscribe_id']['api.default'] = CRM_Mailing_PseudoConstant::defaultComponent('Unsubscribe', '');
   $params['mailing_type']['api.default'] = 'standalone';
-  $defaultAddress = CRM_Core_OptionGroup::values('from_email_address', NULL, NULL, NULL, ' AND is_default = 1');
+  $defaultAddress = CRM_Core_BAO_Domain::getNameAndEmail(TRUE, TRUE);
   foreach ($defaultAddress as $value) {
     if (preg_match('/"(.*)" <(.*)>/', $value, $match)) {
       $params['from_email']['api.default'] = $match[2];
diff --git a/civicrm/api/v3/Mapping.php b/civicrm/api/v3/Mapping.php
index ccd258031e..2ce632d83d 100644
--- a/civicrm/api/v3/Mapping.php
+++ b/civicrm/api/v3/Mapping.php
@@ -40,7 +40,7 @@
  * @return array
  */
 function civicrm_api3_mapping_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Mapping');
 }
 
 /**
diff --git a/civicrm/api/v3/MembershipBlock.php b/civicrm/api/v3/MembershipBlock.php
index d339a4f147..0b6fc837cc 100644
--- a/civicrm/api/v3/MembershipBlock.php
+++ b/civicrm/api/v3/MembershipBlock.php
@@ -41,7 +41,7 @@
  *   API result array
  */
 function civicrm_api3_membership_block_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'MembershipBlock');
 }
 
 /**
diff --git a/civicrm/api/v3/MembershipStatus.php b/civicrm/api/v3/MembershipStatus.php
index 94d20cf53f..724cfb2f5a 100644
--- a/civicrm/api/v3/MembershipStatus.php
+++ b/civicrm/api/v3/MembershipStatus.php
@@ -40,7 +40,7 @@
  * @return array
  */
 function civicrm_api3_membership_status_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'MembershipStatus');
 }
 
 /**
diff --git a/civicrm/api/v3/OptionValue.php b/civicrm/api/v3/OptionValue.php
index 0f960ee9e6..a10cb899c9 100644
--- a/civicrm/api/v3/OptionValue.php
+++ b/civicrm/api/v3/OptionValue.php
@@ -67,7 +67,7 @@ function _civicrm_api3_option_value_get_spec(&$params) {
  *   API result array
  */
 function civicrm_api3_option_value_create($params) {
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'OptionValue');
   if (!empty($params['id']) && !array_key_exists('option_group_id', $params)) {
     $groupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue',
       $params['id'], 'option_group_id', 'id'
diff --git a/civicrm/api/v3/PaymentProcessor.php b/civicrm/api/v3/PaymentProcessor.php
index cc3d54af7a..d129caf4b8 100644
--- a/civicrm/api/v3/PaymentProcessor.php
+++ b/civicrm/api/v3/PaymentProcessor.php
@@ -46,7 +46,7 @@ function civicrm_api3_payment_processor_create($params) {
       'return' => 'payment_instrument_id',
     ));
   }
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'PaymentProcessor');
 }
 
 /**
diff --git a/civicrm/api/v3/Pledge.php b/civicrm/api/v3/Pledge.php
index 44378dcb7b..596c10655f 100644
--- a/civicrm/api/v3/Pledge.php
+++ b/civicrm/api/v3/Pledge.php
@@ -42,10 +42,7 @@
  */
 function civicrm_api3_pledge_create($params) {
   _civicrm_api3_pledge_format_params($params, TRUE);
-  $values = $params;
-  //format the custom fields
-  _civicrm_api3_custom_format_params($params, $values, 'Pledge');
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $values);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Pledge');
 }
 
 /**
diff --git a/civicrm/api/v3/PriceField.php b/civicrm/api/v3/PriceField.php
index afb073eb9e..c1f391387e 100644
--- a/civicrm/api/v3/PriceField.php
+++ b/civicrm/api/v3/PriceField.php
@@ -46,7 +46,7 @@
  *   api result array
  */
 function civicrm_api3_price_field_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'PriceField');
 }
 
 /**
diff --git a/civicrm/api/v3/PriceSet.php b/civicrm/api/v3/PriceSet.php
index b7b15e6019..6ecb5da9c6 100644
--- a/civicrm/api/v3/PriceSet.php
+++ b/civicrm/api/v3/PriceSet.php
@@ -45,7 +45,7 @@
  *   api result array
  */
 function civicrm_api3_price_set_create($params) {
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'PriceSet');
   // Handle price_set_entity
   if (!empty($result['id']) && !empty($params['entity_table']) && !empty($params['entity_id'])) {
     $entityId = $params['entity_id'];
diff --git a/civicrm/api/v3/RecurringEntity.php b/civicrm/api/v3/RecurringEntity.php
index 076a0efc30..5bf8c20a68 100644
--- a/civicrm/api/v3/RecurringEntity.php
+++ b/civicrm/api/v3/RecurringEntity.php
@@ -66,7 +66,7 @@ function _civicrm_api3_recurring_entity_get_spec(&$params) {
  * @return array
  */
 function civicrm_api3_recurring_entity_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'RecurringEntity');
 }
 
 /**
diff --git a/civicrm/api/v3/ReportTemplate.php b/civicrm/api/v3/ReportTemplate.php
index f226ce2ac6..69c250a7cd 100644
--- a/civicrm/api/v3/ReportTemplate.php
+++ b/civicrm/api/v3/ReportTemplate.php
@@ -152,6 +152,7 @@ function _civicrm_api3_report_template_getrows($params) {
   $reportInstance->setOffsetValue($options['offset']);
   $reportInstance->beginPostProcessCommon();
   $sql = $reportInstance->buildQuery();
+  $reportInstance->addToDeveloperTab($sql);
   $rows = $metadata = $requiredMetadata  = array();
   $reportInstance->buildRows($sql, $rows);
   $reportInstance->formatDisplay($rows);
diff --git a/civicrm/api/v3/UFField.php b/civicrm/api/v3/UFField.php
index 5dba94ecee..e281a7d8ff 100644
--- a/civicrm/api/v3/UFField.php
+++ b/civicrm/api/v3/UFField.php
@@ -43,7 +43,7 @@
  *   Newly created $ufFieldArray
  */
 function civicrm_api3_uf_field_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'UFField');
 }
 
 /**
diff --git a/civicrm/api/v3/UFGroup.php b/civicrm/api/v3/UFGroup.php
index 77655ad80a..2816791aaf 100644
--- a/civicrm/api/v3/UFGroup.php
+++ b/civicrm/api/v3/UFGroup.php
@@ -58,7 +58,7 @@ function _civicrm_api3_uf_group_create_spec(&$params) {
  *   API result array
  */
 function civicrm_api3_uf_group_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'UFGroup');
 }
 
 /**
diff --git a/civicrm/api/v3/UFMatch.php b/civicrm/api/v3/UFMatch.php
index 6fdcc270a9..8ecdf16d95 100644
--- a/civicrm/api/v3/UFMatch.php
+++ b/civicrm/api/v3/UFMatch.php
@@ -52,7 +52,7 @@ function civicrm_api3_uf_match_get($params) {
  *   Api result array
  */
 function civicrm_api3_uf_match_create($params) {
-  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'UFMatch');
 }
 
 /**
diff --git a/civicrm/api/v3/Website.php b/civicrm/api/v3/Website.php
index d087858045..34735609db 100644
--- a/civicrm/api/v3/Website.php
+++ b/civicrm/api/v3/Website.php
@@ -64,8 +64,6 @@ function _civicrm_api3_website_create_spec(&$params) {
 /**
  * Deletes an existing Website.
  *
- * @todo convert to using Basic delete - BAO function non standard
- *
  * @param array $params
  *
  * @return array
@@ -73,20 +71,7 @@ function _civicrm_api3_website_create_spec(&$params) {
  * @throws \API_Exception
  */
 function civicrm_api3_website_delete($params) {
-  //DO NOT USE THIS FUNCTION AS THE BASIS FOR A NEW API http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-  civicrm_api3_verify_mandatory($params, NULL, array('id'));
-  _civicrm_api3_check_edit_permissions('CRM_Core_BAO_Website', array('id' => $params['id']));
-  $websiteDAO = new CRM_Core_DAO_Website();
-  $websiteDAO->id = $params['id'];
-  if ($websiteDAO->find()) {
-    while ($websiteDAO->fetch()) {
-      $websiteDAO->delete();
-      return civicrm_api3_create_success(1, $params, 'Website', 'delete');
-    }
-  }
-  else {
-    throw new API_Exception('Could not delete Website with id ' . $params['id']);
-  }
+  return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
 }
 
 /**
diff --git a/civicrm/api/v3/examples/ContributionPage/Submit.php b/civicrm/api/v3/examples/ContributionPage/Submit.php
index c24c4dbcb3..a1d8932776 100644
--- a/civicrm/api/v3/examples/ContributionPage/Submit.php
+++ b/civicrm/api/v3/examples/ContributionPage/Submit.php
@@ -26,8 +26,8 @@ function contribution_page_submit_example() {
     ),
     'cvv2' => 123,
     'pledge_id' => '1',
-    'cid' => '77',
-    'contact_id' => '77',
+    'cid' => '83',
+    'contact_id' => '83',
     'amount' => '100',
     'is_pledge' => TRUE,
     'pledge_block_id' => 2,
diff --git a/civicrm/api/v3/utils.php b/civicrm/api/v3/utils.php
index 3fed9d32a9..7640e9ae12 100644
--- a/civicrm/api/v3/utils.php
+++ b/civicrm/api/v3/utils.php
@@ -1111,7 +1111,7 @@ function _civicrm_api3_custom_format_params($params, &$values, $extends, $entity
 function _civicrm_api3_format_params_for_create(&$params, $entity) {
   $nonGenericEntities = array('Contact', 'Individual', 'Household', 'Organization');
 
-  $customFieldEntities = array_diff_key(CRM_Core_BAO_CustomQuery::$extendsMap, array_fill_keys($nonGenericEntities, 1));
+  $customFieldEntities = array_diff_key(CRM_Core_SelectValues::customGroupExtends(), array_fill_keys($nonGenericEntities, 1));
   if (!array_key_exists($entity, $customFieldEntities)) {
     return;
   }
@@ -1235,7 +1235,7 @@ function formatCheckBoxField(&$checkboxFieldValue, $customFieldLabel, $entity) {
  * @return array
  */
 function _civicrm_api3_basic_get($bao_name, $params, $returnAsSuccess = TRUE, $entity = "", $sql = NULL, $uniqueFields = FALSE) {
-  $entity = CRM_Core_DAO_AllCoreTables::getBriefName(str_replace('_BAO_', '_DAO_', $bao_name));
+  $entity = $entity ?: CRM_Core_DAO_AllCoreTables::getBriefName(str_replace('_BAO_', '_DAO_', $bao_name));
   $options = _civicrm_api3_get_options_from_params($params);
 
   $query = new \Civi\API\Api3SelectQuery($entity, CRM_Utils_Array::value('check_permissions', $params, FALSE));
@@ -1311,6 +1311,11 @@ function _civicrm_api3_basic_create($bao_name, &$params, $entity = NULL) {
     throw new API_Exception($msg);
   }
   else {
+    // If we have custom fields the BAO may have taken care of it or we may have to.
+    // $extendsMap provides a pretty good hard-coded list of BAOs that take care of the custom data.
+    if (isset($params['custom']) && empty(CRM_Core_BAO_CustomQuery::$extendsMap[$entity])) {
+      CRM_Core_BAO_CustomValueTable::store($params['custom'], CRM_Core_DAO_AllCoreTables::getTableForClass(CRM_Core_DAO_AllCoreTables::getFullName($entity)), $bao->id);
+    }
     $values = array();
     _civicrm_api3_object_to_array($bao, $values[$bao->id]);
     return civicrm_api3_create_success($values, $params, $entity, 'create', $bao);
@@ -1346,7 +1351,7 @@ function _civicrm_api3_basic_create_fallback($bao_name, &$params) {
 
   CRM_Utils_Hook::pre($hook, $entityName, CRM_Utils_Array::value('id', $params), $params);
   $instance = new $dao_name();
-  $instance->copyValues($params);
+  $instance->copyValues($params, TRUE);
   $instance->save();
   CRM_Utils_Hook::post($hook, $entityName, $instance->id, $instance);
 
@@ -1530,9 +1535,6 @@ function _civicrm_api3_validate_switch_cases($fieldName, $fieldInfo, $entity, $p
       break;
 
     case CRM_Utils_Type::T_TEXT:
-      _civicrm_api3_validate_html($params, $fieldName, $fieldInfo);
-      break;
-
     case CRM_Utils_Type::T_STRING:
       _civicrm_api3_validate_string($params, $fieldName, $fieldInfo, $entity);
       break;
@@ -1602,10 +1604,6 @@ function _civicrm_api3_validate_fields($entity, $action, &$params, $fields) {
         break;
 
       case CRM_Utils_Type::T_TEXT:
-        //blob
-        _civicrm_api3_validate_html($params, $fieldName, $fieldInfo);
-        break;
-
       case CRM_Utils_Type::T_STRING:
         _civicrm_api3_validate_string($params, $fieldName, $fieldInfo, $entity);
         break;
@@ -2203,15 +2201,13 @@ function _civicrm_api3_validate_string(&$params, &$fieldName, &$fieldInfo, $enti
   if (!is_array($fieldValue)) {
     $fieldValue = (string) $fieldValue;
   }
-  else {
-    //@todo what do we do about passed in arrays. For many of these fields
-    // the missing piece of functionality is separating them to a separated string
-    // & many save incorrectly. But can we change them wholesale?
-  }
+
   if ($fieldValue) {
-    foreach ((array) $fieldValue as $value) {
-      if (!CRM_Utils_Rule::xssString($fieldValue)) {
-        throw new Exception('Input contains illegal SCRIPT tag.');
+    foreach ((array) $fieldValue as $key => $value) {
+      foreach ([$fieldValue, $key, $value] as $input) {
+        if (!CRM_Utils_Rule::xssString($input)) {
+          throw new Exception('Input contains illegal SCRIPT tag.');
+        }
       }
       if ($fieldName == 'currency') {
         //When using IN operator $fieldValue is a array of currency codes
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index deaeec9b8d..34ca12d1b3 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,6 +1,6 @@
 <?php
 function civicrmVersion( ) {
-  return array( 'version'  => '4.7.30',
+  return array( 'version'  => '4.7.31',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/composer.json b/civicrm/composer.json
index a8b02c8401..5ac5d6427d 100644
--- a/civicrm/composer.json
+++ b/civicrm/composer.json
@@ -53,7 +53,8 @@
     "civicrm/civicrm-cxn-rpc": "~0.17.07.01",
     "pear/Auth_SASL": "1.1.0",
     "pear/Net_SMTP": "1.6.*",
-    "pear/Net_socket": "1.0.*"
+    "pear/Net_socket": "1.0.*",
+    "civicrm/civicrm-setup": "~0.2.0"
   },
   "repositories": [
     {
diff --git a/civicrm/composer.lock b/civicrm/composer.lock
index 0612c9af39..7a81794d05 100644
--- a/civicrm/composer.lock
+++ b/civicrm/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "6abd711477a577550967549258a7aec0",
+    "content-hash": "3aaaa7a6146043643e9fe2cbc8030cca",
     "packages": [
         {
             "name": "civicrm/civicrm-cxn-rpc",
@@ -43,6 +43,43 @@
             "description": "RPC library for CiviConnect",
             "time": "2017-07-18T04:02:44+00:00"
         },
+        {
+            "name": "civicrm/civicrm-setup",
+            "version": "v0.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/civicrm/civicrm-setup.git",
+                "reference": "e7991aff516c3fff952bed8f90832804a134358a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/civicrm/civicrm-setup/zipball/e7991aff516c3fff952bed8f90832804a134358a",
+                "reference": "e7991aff516c3fff952bed8f90832804a134358a",
+                "shasum": ""
+            },
+            "require": {
+                "psr/log": "~1.0",
+                "symfony/event-dispatcher": "^2.6.13 || ~3.0"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "civicrm-setup-autoload.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "CiviCRM LLC",
+                    "email": "info@civicrm.org"
+                }
+            ],
+            "description": "CiviCRM installation library",
+            "time": "2018-01-23T06:26:55+00:00"
+        },
         {
             "name": "dompdf/dompdf",
             "version": "v0.8.0",
diff --git a/civicrm/css/civicrm.css b/civicrm/css/civicrm.css
index a30c25c3c3..c459281324 100644
--- a/civicrm/css/civicrm.css
+++ b/civicrm/css/civicrm.css
@@ -1634,11 +1634,6 @@ input.crm-form-entityref {
   clear: both;
 }
 
-#crm-container table.caseSelector td.status-urgent {
-  font-weight: bold;
-  text-transform: uppercase;
-}
-
 .crm-container .crm-clearfix:after {
   clear: both;
   content: ".";
diff --git a/civicrm/css/crm.designer.css b/civicrm/css/crm.designer.css
index 2b5e8c1dc8..ac0bda7fff 100644
--- a/civicrm/css/crm.designer.css
+++ b/civicrm/css/crm.designer.css
@@ -209,6 +209,11 @@ button#crm-designer-add-custom-set {
   margin: 0 2em 0 0;
 }
 
+/* Hack for Drupal 8 for some reason was moving it around strange */
+.crm-designer-dialog .ui-resizable {
+  position: absolute;
+}
+
 .crm-designer-dialog .disabled .description {
   display: none;
 }
diff --git a/civicrm/ext/iatspayments/CRM/Core/Payment/iATSService.php b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSService.php
new file mode 100644
index 0000000000..c9c897467a
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSService.php
@@ -0,0 +1,485 @@
+<?php
+
+/**
+ * @file Copyright iATS Payments (c) 2014.
+ * @author Alan Dixon
+ *
+ * This file is a part of CiviCRM published extension.
+ *
+ * This extension is free software; you can copy, modify, and distribute it
+ * under the terms of the GNU Affero General Public License
+ * Version 3, 19 November 2007.
+ *
+ * It 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License with this program; if not, see http://www.gnu.org/licenses/
+ *
+ * This code provides glue between CiviCRM payment model and the iATS Payment model encapsulated in the iATS_Service_Request object
+ */
+
+/**
+ *
+ */
+class CRM_Core_Payment_iATSService extends CRM_Core_Payment {
+
+  /**
+   * We only need one instance of this object. So we use the singleton
+   * pattern and cache the instance in this variable.
+   *
+   * @var object
+   * @static
+   */
+  static private $_singleton = NULL;
+
+  /**
+   * Constructor.
+   *
+   * @param string $mode
+   *   the mode of operation: live or test.
+   *
+   * @param array $paymentProcessor
+   */
+  public function __construct($mode, &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+    $this->_paymentProcessor = $paymentProcessor;
+    $this->_processorName = ts('iATS Payments');
+
+    // Get merchant data from config.
+    $config = CRM_Core_Config::singleton();
+    // Live or test.
+    $this->_profile['mode'] = $mode;
+    // We only use the domain of the configured url, which is different for NA vs. UK.
+    $this->_profile['iats_domain'] = parse_url($this->_paymentProcessor['url_site'], PHP_URL_HOST);
+  }
+
+  /**
+   *
+   */
+  static public function &singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+    $processorName = $paymentProcessor['name'];
+    if (self::$_singleton[$processorName] === NULL) {
+      self::$_singleton[$processorName] = new CRM_Core_Payment_iATSService($mode, $paymentProcessor);
+    }
+    return self::$_singleton[$processorName];
+  }
+
+  /**
+   * Get the iATS configuration values or value.
+   *
+   * Mangle the days settings to make it easier to test if it is set.
+   */
+  protected function getSettings($key = '') {
+    static $settings = array();
+    if (empty($settings)) {
+      try {
+        $settings = civicrm_api3('Setting', 'getvalue', array('name' => 'iats_settings'));
+        if (empty($settings['days'])) {
+          $settings['days'] = array('-1');
+        }
+      }
+      catch (CiviCRM_API3_Exception $e) {
+        // Assume no settings exist, use safest fallback.
+        $settings = array('days' => array('-1'));
+      }
+    }
+    return (empty($key) ? $settings : (empty($settings[$key]) ? '' : $settings[$key]));
+  }
+
+  /**
+   * Override the default way of testing if a method is supported to enable admin configuration of certain
+   * functions.
+   * Where certain functions currently only means updateSubscriptionBillingInfo, which we'll allow for credit cards.
+   *
+   * Core says this method is now deprecated, so I might need to change this in the future, but this is how it is used now.
+   */
+  public function isSupported($method) {
+    switch($method) {
+      case 'updateSubscriptionBillingInfo':
+        if ('CRM_Core_Payment_iATSServiceACHEFT' == CRM_Utils_System::getClassName($this)) {
+          return FALSE;
+        }
+        elseif (!CRM_Core_Permission::check('access CiviContribution')) {
+          // disable self-service update of billing info if the admin has not allowed it
+          if (FALSE == $this->getSettings('enable_update_subscription_billing_info')) {
+            return FALSE;
+          }
+        }
+        break;
+    }
+    // this is the default method
+    return method_exists(CRM_Utils_System::getClassName($this), $method);
+  }
+
+  /**
+   * The first payment date is configurable when setting up back office recurring payments.
+   * For iATSPayments, this is also true for front-end recurring payments.
+   *
+   * @return bool
+   */
+  public function supportsFutureRecurStartDate() {
+    return TRUE;
+  } 
+
+  /**
+   *
+   */
+  public function doDirectPayment(&$params) {
+
+    if (!$this->_profile) {
+      return self::error('Unexpected error, missing profile');
+    }
+    // Use the iATSService object for interacting with iATS. Recurring contributions go through a more complex process.
+    require_once "CRM/iATS/iATSService.php";
+    $isRecur = CRM_Utils_Array::value('is_recur', $params) && $params['contributionRecurID'];
+    $methodType = $isRecur ? 'customer' : 'process';
+    $method = $isRecur ? 'create_credit_card_customer' : 'cc';
+    $iats = new iATS_Service_Request(array('type' => $methodType, 'method' => $method, 'iats_domain' => $this->_profile['iats_domain'], 'currencyID' => $params['currencyID']));
+    $request = $this->convertParams($params, $method);
+    $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+    $credentials = array(
+      'agentCode' => $this->_paymentProcessor['user_name'],
+      'password'  => $this->_paymentProcessor['password'],
+    );
+    // Get the API endpoint URL for the method's transaction mode.
+    // TODO: enable override of the default url in the request object
+    // $url = $this->_paymentProcessor['url_site'];.
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    if (!$isRecur) {
+      // Process the soap response into a readable result, logging any credit card transactions.
+      $result = $iats->result($response);
+      if ($result['status']) {
+        // Success.
+        $params['contribution_status_id'] = 1;
+        // For versions >= 4.6.6, the proper key.
+        $params['payment_status_id'] = 1;
+        $params['trxn_id'] = trim($result['remote_id']) . ':' . time();
+        $params['gross_amount'] = $params['amount'];
+        return $params;
+      }
+      else {
+        return self::error($result['reasonMessage']);
+      }
+    }
+    else {
+      // Save the client info in my custom table, then (maybe) run the transaction.
+      $customer = $iats->result($response, FALSE);
+      // print_r($customer);
+      if ($customer['status']) {
+        $processresult = $response->PROCESSRESULT;
+        $customer_code = (string) $processresult->CUSTOMERCODE;
+        $exp = sprintf('%02d%02d', ($params['year'] % 100), $params['month']);
+        $email = '';
+        if (isset($params['email'])) {
+          $email = $params['email'];
+        }
+        elseif (isset($params['email-5'])) {
+          $email = $params['email-5'];
+        }
+        elseif (isset($params['email-Primary'])) {
+          $email = $params['email-Primary'];
+        }
+        $query_params = array(
+          1 => array($customer_code, 'String'),
+          2 => array($request['customerIPAddress'], 'String'),
+          3 => array($exp, 'String'),
+          4 => array($params['contactID'], 'Integer'),
+          5 => array($email, 'String'),
+          6 => array($params['contributionRecurID'], 'Integer'),
+        );
+        CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_customer_codes
+          (customer_code, ip, expiry, cid, email, recur_id) VALUES (%1, %2, %3, %4, %5, %6)", $query_params);
+        // Test for admin setting that limits allowable transaction days
+        $allow_days = $this->getSettings('days');
+        // Also test for a specific recieve date request that is not today.
+        $receive_date_request = CRM_Utils_Array::value('receive_date', $params);
+        $today = date('Ymd');
+        // If the receive_date is set to sometime today, unset it.
+        if (!empty($receive_date_request) && 0 === strpos($receive_date_request, $today)) {
+          unset($receive_date_request);
+        }
+        // Normally, run the (first) transaction immediately, unless the admin setting is in force or a specific request is being made.
+        if (max($allow_days) <= 0 && empty($receive_date_request)) {
+          $iats = new iATS_Service_Request(array('type' => 'process', 'method' => 'cc_with_customer_code', 'iats_domain' => $this->_profile['iats_domain'], 'currencyID' => $params['currencyID']));
+          $request = array('invoiceNum' => $params['invoiceID']);
+          $request['total'] = sprintf('%01.2f', CRM_Utils_Rule::cleanMoney($params['amount']));
+          $request['customerCode'] = $customer_code;
+          $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+          $response = $iats->request($credentials, $request);
+          $result = $iats->result($response);
+          if ($result['status']) {
+            // Add a time string to iATS short authentication string to ensure uniqueness and provide helpful referencing.
+            $update = array(
+              'trxn_id' => trim($result['remote_id']) . ':' . time(),
+              'gross_amount' => $params['amount'],
+              'payment_status_id' => '1',
+            );
+            // Setting the next_sched_contribution_date param doesn't do anything, commented out, work around in setRecurReturnParams
+            $params = $this->setRecurReturnParams($params, $update);
+            return $params;
+          }
+          else {
+            return self::error($result['reasonMessage']);
+          }
+        }
+        // I've got a schedule to adhere to!
+        else {
+          // Note that the admin general setting restricting allowable days will overwrite any specific request.
+          $next_sched_contribution_timestamp = (max($allow_days) > 0) ? _iats_contributionrecur_next(time(), $allow_days) 
+            : strtotime($params['receive_date']);
+          // set the receieve time to 3:00 am for a better admin experience
+          $update = array(
+            'payment_status_id' => 'Pending',
+            'receive_date' => date('Ymd', $next_sched_contribution_timestamp) . '030000',
+          );
+          $params = $this->setRecurReturnParams($params, $update);
+          return $params;
+        }
+        return self::error('Unexpected error');
+      }
+      else {
+        return self::error($customer['reasonMessage']);
+      }
+    }
+  }
+
+  /**
+   * support corresponding CiviCRM method
+   */
+  public function changeSubscriptionAmount(&$message = '', $params = array()) {
+    // $userAlert = ts('You have modified this recurring contribution.');
+    // CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+    return TRUE;
+  }
+
+  /**
+   * support corresponding CiviCRM method
+   */
+  public function cancelSubscription(&$message = '', $params = array()) {
+    $userAlert = ts('You have cancelled this recurring contribution.');
+    CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+    return TRUE;
+  }
+
+  /**
+   * Set additional fields when editing the schedule.
+   *
+   * Note: this doesn't completely replace the form hook, which is still 
+   * in use for additional changes, and to support 4.6.
+   * e.g. the commented out fields below don't work properly here.
+   */
+  public function getEditableRecurringScheduleFields() {
+    return array('amount',
+         'installments',
+         'next_sched_contribution_date',
+//         'contribution_status_id',
+//         'start_date',
+//         'is_email_receipt',
+       );
+  }
+
+  /*
+   * Set a useful message at the top of the schedule editing form
+   */
+  public function getRecurringScheduleUpdateHelpText() {
+    return 'Use this form to change the amount or number of installments for this recurring contribution. You can not change the contribution frequency.<br />You can also modify the next scheduled contribution date, and whether or not the recipient will get email receipts for each contribution.<br />You have an option to notify the donor of these changes.';
+  }
+
+  /**
+   *
+   */
+  public function &error($error = NULL) {
+    $e = CRM_Core_Error::singleton();
+    if (is_object($error)) {
+      $e->push($error->getResponseCode(),
+        0, NULL,
+        $error->getMessage()
+      );
+    }
+    elseif ($error && is_numeric($error)) {
+      $e->push($error,
+        0, NULL,
+        $this->errorString($error)
+      );
+    }
+    elseif (is_string($error)) {
+      $e->push(9002,
+        0, NULL,
+        $error
+      );
+    }
+    else {
+      $e->push(9001, 0, NULL, "Unknown System Error.");
+    }
+    return $e;
+  }
+
+  /**
+   * This function checks to see if we have the right config values.
+   *
+   * @return string
+   *   The error message if any
+   */
+  public function checkConfig() {
+    $error = array();
+
+    if (empty($this->_paymentProcessor['user_name'])) {
+      $error[] = ts('Agent Code is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+
+    if (empty($this->_paymentProcessor['password'])) {
+      $error[] = ts('Password is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+
+    if (!empty($error)) {
+      return implode('<p>', $error);
+    }
+    else {
+      return NULL;
+    }
+  }
+
+  /**
+   * Convert the values in the civicrm params to the request array with keys as expected by iATS.
+   *
+   * @param array $params
+   * @param string $method
+   *
+   * @return array
+   */
+  protected function convertParams($params, $method) {
+    $request = array();
+    $convert = array(
+      'firstName' => 'billing_first_name',
+      'lastName' => 'billing_last_name',
+      'address' => 'street_address',
+      'city' => 'city',
+      'state' => 'state_province',
+      'zipCode' => 'postal_code',
+      'country' => 'country',
+      'invoiceNum' => 'invoiceID',
+      'creditCardNum' => 'credit_card_number',
+      'cvv2' => 'cvv2',
+    );
+
+    foreach ($convert as $r => $p) {
+      if (isset($params[$p])) {
+        $request[$r] = htmlspecialchars($params[$p]);
+      }
+    }
+    $request['creditCardExpiry'] = sprintf('%02d/%02d', $params['month'], ($params['year'] % 100));
+    $request['total'] = sprintf('%01.2f', CRM_Utils_Rule::cleanMoney($params['amount']));
+    // Place for ugly hacks.
+    switch ($method) {
+      case 'cc_create_customer_code':
+        $request['ccNum'] = $request['creditCardNum'];
+        unset($request['creditCardNum']);
+        $request['ccExp'] = $request['creditCardExpiry'];
+        unset($request['creditCardExpiry']);
+        break;
+
+      case 'cc_with_customer_code':
+        foreach (array('creditCardNum', 'creditCardExpiry', 'mop') as $key) {
+          if (isset($request[$key])) {
+            unset($request[$key]);
+          }
+        }
+        break;
+    }
+    if (!empty($params['credit_card_type'])) {
+      $mop = array(
+        'Visa' => 'VISA',
+        'MasterCard' => 'MC',
+        'Amex' => 'AMX',
+        'Discover' => 'DSC',
+      );
+      $request['mop'] = $mop[$params['credit_card_type']];
+    }
+    // print_r($request); print_r($params); die();
+    return $request;
+  }
+
+  /*
+   * Implement the ability to update the billing info for recurring contributions,
+   * This functionality will apply to back-end and front-end,
+   * so it's only enabled when configured as on via the iATS admin settings.
+   * The default isSupported method is overridden above to achieve this.
+   */
+  public function updateSubscriptionBillingInfo(&$message = '', $params = array()) {
+    require_once('CRM/iATS/Form/IATSCustomerUpdateBillingInfo.php');
+
+    $fakeForm = new IATSCustomerUpdateBillingInfo();
+    $fakeForm->updatedBillingInfo = $params;
+    $fakeForm->postProcess();
+
+    $status = CRM_Core_Session::singleton()->getStatus(TRUE);
+    $matches = array();
+    preg_match('/\[AUTHORIZATIONRESULT\]\s*?=>\s(\d*)(.*)/', $status[0]['text'], $matches);
+
+    if ($matches[2] == 'OK') {
+      return TRUE;
+    }
+    $message = $matches[2];
+
+    $e = CRM_Core_Error::singleton();
+    $e->push($matches[1] ?: 0, 0, array(), $matches[2]);
+
+    return $e;
+  }
+  
+  /*
+   * Set the return params for recurring contributions.
+   *
+   * Implemented as a function so I can do some cleanup and implement
+   * the ability to set a future start date for recurring contributions.
+   * This functionality will apply to back-end and front-end,
+   * As enabled when configured via the iATS admin settings.
+   *
+   * This function will alter the recurring schedule as an intended side effect.
+   * and return the modified the params.
+   */
+  protected function setRecurReturnParams($params, $update) {
+    // Merge in the updates
+    $params = array_merge($params, $update);
+    // If the recurring record already exists, let's fix the next contribution and start dates,
+    // in case core isn't paying attention.
+    // We also set the schedule to 'in-progress' (even for ACH/EFT when the first one hasn't been verified), 
+    // because we want the recurring job to run for this schedule.
+    if (!empty($params['contributionRecurID'])) {
+      $recur_id = $params['contributionRecurID'];
+      $recur_update = array(
+        'id' => $recur_id,
+        'contribution_status_id' => 'In Progress',
+      );
+      // use the receive date to set the next sched contribution date.
+      // By default, it's empty, unless we've got a future start date.
+      if (empty($update['receive_date'])) {
+        $next = strtotime('+' . $params['frequency_interval'] . ' ' . $params['frequency_unit']);
+        $recur_update['next_sched_contribution_date'] = date('Ymd', $next) . '030000';
+      }
+      else {
+        $recur_update['start_date'] = $recur_update['next_sched_contribution_date'] = $update['receive_date'];
+        // If I've got a monthly schedule, let's set the cycle_day for niceness
+        if ('month' == $params['frequency_interval']) {
+          $recur_update['cycle_day'] = date('j', strtotime($recur_update['start_date']));
+        }
+      }
+      try {
+        $result = civicrm_api3('ContributionRecur', 'create', $recur_update);
+      }
+      catch (CiviCRM_API3_Exception $e) {
+        // Not a critical error, just log and continue.
+        $error = $e->getMessage();
+        Civi::log()->info('Unexpected error updating the next scheduled contribution date for id {id}: {error}', array('id' => $recur_id, 'error' => $error));
+      }
+    }
+    else {
+      Civi::log()->info('Unexpectedly unable to update the next scheduled contribution date, missing id.');
+    }
+    return $params;
+  }
+  
+}
diff --git a/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceACHEFT.php b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceACHEFT.php
new file mode 100644
index 0000000000..a93c32b2e4
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceACHEFT.php
@@ -0,0 +1,334 @@
+<?php
+
+/**
+ * @file
+ * Copyright iATS Payments (c) 2014.
+ * @author Alan Dixon
+ *
+ * This file is a part of CiviCRM published extension.
+ *
+ * This extension is free software; you can copy, modify, and distribute it
+ * under the terms of the GNU Affero General Public License
+ * Version 3, 19 November 2007.
+ *
+ * It 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License with this program; if not, see http://www.gnu.org/licenses/
+ *
+ * This code provides glue between CiviCRM payment model and the iATS Payment model encapsulated in the iATS_Service_Request object
+ */
+
+/**
+ *
+ */
+class CRM_Core_Payment_iATSServiceACHEFT extends CRM_Core_Payment_iATSService {
+
+  /**
+   * We only need one instance of this object. So we use the singleton
+   * pattern and cache the instance in this variable.
+   *
+   * @var object
+   * @static
+   */
+  static private $_singleton = NULL;
+
+  /**
+   * Constructor.
+   *
+   * @param string $mode
+   *   the mode of operation: live or test.
+   * @param array $paymentProcessor
+   */
+  public function __construct($mode, &$paymentProcessor) {
+    $this->_paymentProcessor = $paymentProcessor;
+    $this->_processorName = ts('iATS Payments ACHEFT');
+
+    // Live or test.
+    $this->_profile['mode'] = $mode;
+    // We only use the domain of the configured url, which is different for NA vs. UK.
+    $this->_profile['iats_domain'] = parse_url($this->_paymentProcessor['url_site'], PHP_URL_HOST);
+  }
+
+  /**
+   *
+   */
+  static public function &singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+    $processorName = $paymentProcessor['name'];
+    if (self::$_singleton[$processorName] === NULL) {
+      self::$_singleton[$processorName] = new CRM_Core_Payment_iATSServiceACHEFT($mode, $paymentProcessor);
+    }
+    return self::$_singleton[$processorName];
+  }
+
+  /**
+   *
+   */
+  public function doDirectPayment(&$params) {
+
+    if (!$this->_profile) {
+      return self::error('Unexpected error, missing profile');
+    }
+    // Use the iATSService object for interacting with iATS, mostly the same for recurring contributions.
+    require_once "CRM/iATS/iATSService.php";
+    // We handle both one-time and recurring ACH/EFT
+    $isRecur = CRM_Utils_Array::value('is_recur', $params) && $params['contributionRecurID'];
+    $methodType = $isRecur ? 'customer' : 'process';
+    $method = $isRecur ? 'create_acheft_customer_code' : 'acheft';
+    $iats = new iATS_Service_Request(array('type' => $methodType, 'method' => $method, 'iats_domain' => $this->_profile['iats_domain'], 'currencyID' => $params['currencyID']));
+    $request = $this->convertParams($params, $method);
+    $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+    $credentials = array(
+      'agentCode' => $this->_paymentProcessor['user_name'],
+      'password'  => $this->_paymentProcessor['password'],
+    );
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    if (!$isRecur) {
+      // Process the soap response into a readable result, logging any transaction.
+      $result = $iats->result($response);
+      if ($result['status']) {
+        // Always set pending status.
+        $params['contribution_status_id'] = 2;
+        // For future versions, the proper key.
+        $params['payment_status_id'] = 2;
+        $params['trxn_id'] = trim($result['remote_id']) . ':' . time();
+        $params['gross_amount'] = $params['amount'];
+        // Core assumes that a pending result will have no transaction id, but we have a useful one.
+        if (!empty($params['contributionID'])) {
+          $contribution_update = array('id' => $params['contributionID'], 'trxn_id' => $params['trxn_id']);
+          try {
+            $result = civicrm_api3('Contribution', 'create', $contribution_update);
+          }
+          catch (CiviCRM_API3_Exception $e) {
+            // Not a critical error, just log and continue.
+            $error = $e->getMessage();
+            Civi::log()->info('Unexpected error adding the trxn_id for contribution id {id}: {error}', array('id' => $recur_id, 'error' => $error));
+          }
+        }
+        return $params;
+      }
+      else {
+        return self::error($result['reasonMessage']);
+      }
+    }
+    else {
+      // Save the client info in my custom table
+      $customer = $iats->result($response);
+      if (!$customer['status']) {
+        return self::error($customer['reasonMessage']);
+      }
+      else {
+        $processresult = $response->PROCESSRESULT;
+        $customer_code = (string) $processresult->CUSTOMERCODE;
+        // $exp = sprintf('%02d%02d', ($params['year'] % 100), $params['month']);.
+        $exp = '0000';
+        $email = '';
+        if (isset($params['email'])) {
+          $email = $params['email'];
+        }
+        elseif (isset($params['email-5'])) {
+          $email = $params['email-5'];
+        }
+        elseif (isset($params['email-Primary'])) {
+          $email = $params['email-Primary'];
+        }
+        $query_params = array(
+          1 => array($customer_code, 'String'),
+          2 => array($request['customerIPAddress'], 'String'),
+          3 => array($exp, 'String'),
+          4 => array($params['contactID'], 'Integer'),
+          5 => array($email, 'String'),
+          6 => array($params['contributionRecurID'], 'Integer'),
+        );
+        CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_customer_codes
+          (customer_code, ip, expiry, cid, email, recur_id) VALUES (%1, %2, %3, %4, %5, %6)", $query_params);
+        $allow_days = $this->getSettings('days');
+        // Also test for a specific recieve date request that is not today.
+        $receive_date_request = CRM_Utils_Array::value('receive_date', $params);
+        $today = date('Ymd');
+        // If the receive_date is set to sometime today, unset it.
+        if (!empty($receive_date_request) && 0 === strpos($receive_date_request, $today)) {
+          unset($receive_date_request);
+        }
+        // Normally, run the (first) transaction immediately, unless the admin setting is in force or a specific request is being made.
+        if (max($allow_days) <= 0 && empty($receive_date_request)) {
+          $iats = new iATS_Service_Request(array('type' => 'process', 'method' => 'acheft_with_customer_code', 'iats_domain' => $this->_profile['iats_domain'], 'currencyID' => $params['currencyID']));
+          $request = array('invoiceNum' => $params['invoiceID']);
+          $request['total'] = sprintf('%01.2f', CRM_Utils_Rule::cleanMoney($params['amount']));
+          $request['customerCode'] = $customer_code;
+          $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+          $response = $iats->request($credentials, $request);
+          $result = $iats->result($response);
+          if ($result['status']) {
+            // Add a time string to iATS short authentication string to ensure uniqueness and provide helpful referencing.
+            $update = array(
+              'trxn_id' => trim($result['remote_id']) . ':' . time(),
+              'gross_amount' => $params['amount'],
+              'payment_status_id' => 2
+            );
+            // Setting the next_sched_contribution_date param setting is not doing anything, commented out.
+            $this->setRecurReturnParams($params, $update);
+            // Core assumes that a pending result will have no transaction id, but we have a useful one.
+            if (!empty($params['contributionID'])) {
+              $contribution_update = array('id' => $params['contributionID'], 'trxn_id' => $update['trxn_id']);
+              try {
+                $result = civicrm_api3('Contribution', 'create', $contribution_update);
+              }
+              catch (CiviCRM_API3_Exception $e) {
+                // Not a critical error, just log and continue.
+                $error = $e->getMessage();
+                Civi::log()->info('Unexpected error adding the trxn_id for contribution id {id}: {error}', array('id' => $recur_id, 'error' => $error));
+              }
+            }
+            return $params;
+          }
+          else {
+            return self::error($result['reasonMessage']);
+          }
+        }
+        // Otherwise, I have a schedule to adhere to.
+        else {    
+          // Note that the admin general setting restricting allowable days may update a specific request.
+          $receive_timestamp = empty($receive_date_request) ? time() : strtotime($receive_date_request);
+          $next_sched_contribution_timestamp = (max($allow_days) > 0) ? _iats_contributionrecur_next($receive_timestamp, $allow_days) 
+            : $receive_timestamp;
+          // set the receieve time to 3:00 am for a better admin experience
+          $update = array(
+            'payment_status_id' => 2,
+            'receive_date' => date('Ymd', $next_sched_contribution_timestamp) . '030000',
+          );
+          $this->setRecurReturnParams($params, $update);
+          return $params;
+        }
+      }
+      return $params;
+    }
+  }
+
+  /**
+   *
+   */
+  public function changeSubscriptionAmount(&$message = '', $params = array()) {
+    $userAlert = ts('You have updated the amount of this recurring contribution.');
+    CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+    return TRUE;
+  }
+
+  /**
+   *
+   */
+  public function cancelSubscription(&$message = '', $params = array()) {
+    $userAlert = ts('You have cancelled this recurring contribution.');
+    CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+    return TRUE;
+  }
+
+  /**
+   *
+   */
+  public function &error($error = NULL) {
+    $e = CRM_Core_Error::singleton();
+    if (is_object($error)) {
+      $e->push($error->getResponseCode(),
+        0, NULL,
+        $error->getMessage()
+      );
+    }
+    elseif ($error && is_numeric($error)) {
+      $e->push($error,
+        0, NULL,
+        $this->errorString($error)
+      );
+    }
+    elseif (is_string($error)) {
+      $e->push(9002,
+        0, NULL,
+        $error
+      );
+    }
+    else {
+      $e->push(9001, 0, NULL, "Unknown System Error.");
+    }
+    return $e;
+  }
+
+ /** 
+   * Are back office payments supported.
+   *
+   * @return bool
+   */
+  protected function supportsBackOffice() {
+    return TRUE;
+  }
+    
+ /**
+   * This function checks to see if we have the right config values.
+   *
+   * @param string $mode
+   *   the mode we are operating in (live or test)
+   *
+   * @return string the error message if any
+   *
+   * @public
+   */
+  public function checkConfig() {
+    $error = array();
+
+    if (empty($this->_paymentProcessor['user_name'])) {
+      $error[] = ts('Agent Code is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+
+    if (empty($this->_paymentProcessor['password'])) {
+      $error[] = ts('Password is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+
+    if (!empty($error)) {
+      return implode('<p>', $error);
+    }
+    else {
+      return NULL;
+    }
+  }
+
+  /**
+   * Convert the values in the civicrm params to the request array with keys as expected by iATS.
+   */
+  public function convertParams($params, $method) {
+    $request = array();
+    $convert = array(
+      'firstName' => 'billing_first_name',
+      'lastName' => 'billing_last_name',
+      'address' => 'street_address',
+      'city' => 'city',
+      'state' => 'state_province',
+      'zipCode' => 'postal_code',
+      'country' => 'country',
+      'invoiceNum' => 'invoiceID',
+    /*  'accountNum' => 'bank_account_number', */
+      'accountType' => 'bank_account_type',
+    );
+
+    foreach ($convert as $r => $p) {
+      if (isset($params[$p])) {
+        $request[$r] = $params[$p];
+      }
+    }
+    $request['total'] = sprintf('%01.2f', CRM_Utils_Rule::cleanMoney($params['amount']));
+    // Place for ugly hacks.
+    switch ($method) {
+      case 'acheft':
+      case 'create_acheft_customer_code':
+      case 'acheft_create_customer_code':
+        // Add bank number + transit to account number
+        // TODO: verification?
+        $request['accountNum'] = preg_replace('/^0-9]/', '', $params['bank_identification_number'] . $params['bank_account_number']);
+        break;
+    }
+    return $request;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceSWIPE.php b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceSWIPE.php
new file mode 100644
index 0000000000..decbcdd0a7
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceSWIPE.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * @file Copyright iATS Payments (c) 2014.
+ * @author Alan Dixon
+ *
+ * This file is a part of CiviCRM published extension.
+ *
+ * This extension is free software; you can copy, modify, and distribute it
+ * under the terms of the GNU Affero General Public License
+ * Version 3, 19 November 2007.
+ *
+ * It 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License with this program; if not, see http://www.gnu.org/licenses/
+ *
+ * This code provides glue between CiviCRM payment model and the iATS Payment model encapsulated in the iATS_Service_Request object
+ */
+
+/**
+ *
+ */
+class CRM_Core_Payment_iATSServiceSWIPE extends CRM_Core_Payment_iATSService {
+
+  /**
+   * We only need one instance of this object. So we use the singleton
+   * pattern and cache the instance in this variable.
+   *
+   * @var object
+   * @static
+   */
+  static private $_singleton = NULL;
+
+  /**
+   * Constructor.
+   *
+   * @param string $mode
+   *   the mode of operation: live or test.
+   *
+   * @return void
+   */
+  public function __construct($mode, &$paymentProcessor) {
+    $this->_paymentProcessor = $paymentProcessor;
+    $this->_processorName = ts('iATS Payments SWIPE');
+
+    // Get merchant data from config.
+    $config = CRM_Core_Config::singleton();
+    // Live or test.
+    $this->_profile['mode'] = $mode;
+    // We only use the domain of the configured url, which is different for NA vs. UK.
+    $this->_profile['iats_domain'] = parse_url($this->_paymentProcessor['url_site'], PHP_URL_HOST);
+  }
+
+  /**
+   *
+   */
+  static public function &singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+    $processorName = $paymentProcessor['name'];
+    if (self::$_singleton[$processorName] === NULL) {
+      self::$_singleton[$processorName] = new CRM_Core_Payment_iATSServiceSWIPE($mode, $paymentProcessor);
+    }
+    return self::$_singleton[$processorName];
+  }
+
+  /**
+   *
+   */
+  public function validatePaymentInstrument($values, &$errors) {
+    // Override the default and don't do any validation because my values are encrypted.
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceUKDD.php b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceUKDD.php
new file mode 100644
index 0000000000..16d827ce2c
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/Core/Payment/iATSServiceUKDD.php
@@ -0,0 +1,341 @@
+<?php
+
+/**
+ * @file Copyright iATS Payments (c) 2014.
+ * @author Alan Dixon
+ *
+ * This file is a part of CiviCRM published extension.
+ *
+ * This extension is free software; you can copy, modify, and distribute it
+ * under the terms of the GNU Affero General Public License
+ * Version 3, 19 November 2007.
+ *
+ * It 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License with this program; if not, see http://www.gnu.org/licenses/
+ *
+ * This code provides glue between CiviCRM payment model and the iATS Payment model encapsulated in the iATS_Service_Request object
+ * for UK Direct Debit Recurring contributions ONLY
+ */
+
+/**
+ *
+ */
+class CRM_Core_Payment_iATSServiceUKDD extends CRM_Core_Payment {
+
+  /**
+   * We only need one instance of this object. So we use the singleton
+   * pattern and cache the instance in this variable.
+   *
+   * @var object
+   * @static
+   */
+  static private $_singleton = NULL;
+
+  /**
+   * Constructor.
+   *
+   * @param string $mode
+   *   the mode of operation: live or test.
+   *
+   * @return void
+   */
+  public function __construct($mode, &$paymentProcessor) {
+    $this->_paymentProcessor = $paymentProcessor;
+    $this->_processorName = ts('iATS Payments UK Direct Debit');
+
+    // Get merchant data from config.
+    $config = CRM_Core_Config::singleton();
+    // Live or test.
+    $this->_profile['mode'] = $mode;
+    // We only use the domain of the configured url, which is different for NA vs. UK.
+    $this->_profile['iats_domain'] = parse_url($this->_paymentProcessor['url_site'], PHP_URL_HOST);
+  }
+
+  /**
+   *
+   */
+  static public function &singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+    $processorName = $paymentProcessor['name'];
+    if (self::$_singleton[$processorName] === NULL) {
+      self::$_singleton[$processorName] = new CRM_Core_Payment_iATSServiceUKDD($mode, $paymentProcessor);
+    }
+    return self::$_singleton[$processorName];
+  }
+
+  /**
+   * Function checkParams.
+   */
+  public function checkParams($params) {
+    if (!$this->_profile) {
+      return self::error('Unexpected error, missing profile');
+    }
+    $isRecur = CRM_Utils_Array::value('is_recur', $params) && $params['contributionRecurID'];
+    if (!$isRecur) {
+      return self::error('Not a recurring contribution: you can only use UK Direct Debit with a recurring contribution.');
+    }
+    if ('GBP' != $params['currencyID']) {
+      return self::error(ts('Invalid currency %1, must by GBP', array(1 => $params['currencyID'])));
+    }
+    if (empty($params['installments'])) {
+      return self::error(ts('You must specify the number of installments, open-ended contributions are not allowed.'));
+    }
+    elseif (1 >= $params['installments']) {
+      return self::error(ts('You must specify a number of installments greater than 1.'));
+    }
+  }
+
+  /**
+   *
+   */
+  public function getSchedule($params) {
+    // Convert params recurring information into iATS equivalents.
+    $scheduleType = NULL;
+    $paymentsRecur = $params['installments'] - 1;
+    // IATS requires begin and end date, calculated here
+    // to be converted to date format later
+    // begin date has to be more than 12 days from now, not checked here.
+    $beginTime = strtotime($beginDate = $params['payer_validate_start_date']);
+    $date = getdate($beginTime);
+    $interval = $params['frequency_interval'] ? $params['frequency_interval'] : 1;
+    switch ($params['frequency_unit']) {
+      case 'week':
+        if (1 != $interval) {
+          return self::error(ts('You can only choose each week on a weekly schedule.'));
+        }
+        $scheduleType = 'Weekly';
+        $scheduleDate = $date['wday'] + 1;
+        $endTime      = $beginTime + ($paymentsRecur * 7 * 24 * 60 * 60);
+        break;
+
+      case 'month':
+        $scheduleType = 'Monthly';
+        $scheduleDate = $date['mday'];
+        if (3 == $interval) {
+          $scheduleType = 'Quarterly';
+          $scheduleDate = '';
+        }
+        elseif (1 != $interval) {
+          return self::error(ts('You can only choose monthly or every three months (quarterly) for a monthly schedule.'));
+        }
+        $date['mon'] += ($interval * $paymentsRecur);
+        while ($date['mon'] > 12) {
+          $date['mon'] -= 12;
+          $date['year'] += 1;
+        }
+        $endTime = mktime($date['hours'], $date['minutes'], $date['seconds'], $date['mon'], $date['mday'], $date['year']);
+        break;
+
+      case 'year':
+        if (1 != $interval) {
+          return self::error(ts('You can only choose each year for a yearly schedule.'));
+        }
+        $scheduleType = 'Yearly';
+        $scheduleDate = '';
+        $date['year'] += $paymentsRecur;
+        $endTime = mktime($date['hours'], $date['minutes'], $date['seconds'], $date['mon'], $date['mday'], $date['year']);
+        break;
+
+      default:
+        return self::error(ts('Invalid frequency unit: %1', array(1 => $params['frequency_unit'])));
+      break;
+
+    }
+    $endDate = date('c', $endTime);
+    $beginDate = date('c', $beginTime);
+    return array('scheduleType' => $scheduleType, 'scheduleDate' => $scheduleDate, 'endDate' => $endDate, 'beginDate' => $beginDate);
+  }
+
+  /**
+   *
+   */
+  public function doDirectPayment(&$params) {
+    $error = $this->checkParams($params);
+    if (!empty($error)) {
+      return $error;
+    }
+    // $params['start_date'] = $params['receive_date'];
+    // use the iATSService object for interacting with iATS.
+    require_once "CRM/iATS/iATSService.php";
+    $iats = new iATS_Service_Request(array('type' => 'customer', 'method' => 'direct_debit_create_acheft_customer_code', 'iats_domain' => $this->_profile['iats_domain'], 'currencyID' => $params['currencyID']));
+    $schedule = $this->getSchedule($params);
+    // Assume an error object to return.
+    if (!is_array($schedule)) {
+      return $schedule;
+    }
+    $request = array_merge($this->convertParamsCreateCustomerCode($params), $schedule);
+    $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+    $request['customerCode'] = '';
+    $request['accountType'] = 'CHECKING';
+    $credentials = array(
+      'agentCode' => $this->_paymentProcessor['user_name'],
+      'password'  => $this->_paymentProcessor['password'],
+    );
+    // Get the API endpoint URL for the method's transaction mode.
+    // TODO: enable override of the default url in the request object
+    // $url = $this->_paymentProcessor['url_site'];.
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    // Process the soap response into a readable result.
+    $result = $iats->result($response);
+    // drupal_set_message('<pre>'.print_r($result,TRUE).'</pre>');.
+    if ($result['status']) {
+      // Always pending.
+      $params['contribution_status_id'] = 2;
+      // For future versions, the proper key.
+      $params['payment_status_id'] = 2;
+      $params['trxn_id'] = trim($result['remote_id']) . ':' . time();
+      $params['gross_amount'] = $params['amount'];
+      // Save the client info in my custom table
+      // Allow further manipulation of the arguments via custom hooks,.
+      $customer_code = $result['CUSTOMERCODE'];
+      if (isset($params['email'])) {
+        $email = $params['email'];
+      }
+      elseif (isset($params['email-5'])) {
+        $email = $params['email-5'];
+      }
+      elseif (isset($params['email-Primary'])) {
+        $email = $params['email-Primary'];
+      }
+      $query_params = array(
+        1 => array($customer_code, 'String'),
+        2 => array($request['customerIPAddress'], 'String'),
+        3 => array('', 'String'),
+        4 => array($params['contactID'], 'Integer'),
+        5 => array($email, 'String'),
+        6 => array($params['contributionRecurID'], 'Integer'),
+      );
+      // drupal_set_message('<pre>'.print_r($query_params,TRUE).'</pre>');.
+      CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_customer_codes
+        (customer_code, ip, expiry, cid, email, recur_id) VALUES (%1, %2, %3, %4, %5, %6)", $query_params);
+      // Save their payer validation data in civicrm_iats_ukdd_validate.
+      $query_params = array(
+        1 => array($customer_code, 'String'),
+        2 => array($params['payer_validate_reference'], 'String'),
+        3 => array($params['contactID'], 'Integer'),
+        4 => array($params['contributionRecurID'], 'Integer'),
+        5 => array($params['payer_validate_declaration'], 'Integer'),
+        6 => array(date('c'), 'String'),
+      );
+      // drupal_set_message('<pre>'.print_r($query_params,TRUE).'</pre>');.
+      CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_ukdd_validate
+        (customer_code, acheft_reference_num, cid, recur_id, validated, validated_datetime) VALUES (%1, %2, %3, %4, %5, %6)", $query_params);
+      // Set the status of the initial contribution to pending (currently is redundant), and the date to what I'm asking iATS for.
+      $params['contribution_status_id'] = 2;
+      $params['start_date'] = $params['payer_validate_start_date'];
+      // Optimistically set this date, even though CiviCRM will likely not do anything with it yet - I'll change it with my pre hook in the meanwhile
+      // $params['receive_date'] = strtotime($params['payer_validate_start_date']);
+      // also set next_sched_contribution, though it won't be used.
+      $params['next_sched_contribution'] = strtotime($params['payer_validate_start_date'] . ' + ' . $params['frequency_interval'] . ' ' . $params['frequency_unit']);
+      return $params;
+    }
+    else {
+      return self::error($result['reasonMessage']);
+    }
+  }
+
+  /**
+   * TODO: requires custom link
+   * function changeSubscriptionAmount(&$message = '', $params = array()) {
+   * $userAlert = ts('You have updated the amount of this recurring contribution.');
+   * CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+   * return TRUE;
+   * } .
+   */
+  public function &error($error = NULL) {
+    $e = CRM_Core_Error::singleton();
+    if (is_object($error)) {
+      $e->push($error->getResponseCode(),
+        0, NULL,
+        $error->getMessage()
+      );
+    }
+    elseif ($error && is_numeric($error)) {
+      $e->push($error,
+        0, NULL,
+        $this->errorString($error)
+      );
+    }
+    elseif (is_string($error)) {
+      $e->push(9002,
+        0, NULL,
+        $error
+      );
+    }
+    else {
+      $e->push(9001, 0, NULL, "Unknown System Error.");
+    }
+    return $e;
+  }
+
+  /**
+   * This function checks to see if we have the right config values.
+   *
+   * @param string $mode
+   *   the mode we are operating in (live or test)
+   *
+   * @return string the error message if any
+   *
+   * @public
+   */
+  public function checkConfig() {
+    $error = array();
+
+    if (empty($this->_paymentProcessor['user_name'])) {
+      $error[] = ts('Agent Code is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+
+    if (empty($this->_paymentProcessor['password'])) {
+      $error[] = ts('Password is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+    if (empty($this->_paymentProcessor['signature'])) {
+      $error[] = ts('Service User Number (SUN) is not set in the Administer CiviCRM &raquo; System Settings &raquo; Payment Processors.');
+    }
+    $iats_domain = parse_url($this->_paymentProcessor['url_site'], PHP_URL_HOST);
+    if ('www.uk.iatspayments.com' != $iats_domain) {
+      $error[] = ts('You can only use this payment processor with a UK iATS account');
+    }
+    if (!empty($error)) {
+      return implode('<p>', $error);
+    }
+    else {
+      return NULL;
+    }
+  }
+
+  /**
+   * Convert the values in the civicrm params to the request array with keys as expected by iATS.
+   */
+  public function convertParamsCreateCustomerCode($params) {
+    $request = array();
+    $convert = array(
+      'firstName' => 'billing_first_name',
+      'lastName' => 'billing_last_name',
+      'address' => 'street_address',
+      'city' => 'city',
+      'state' => 'state_province',
+      'zipCode' => 'postal_code',
+      'country' => 'country',
+      'ACHEFTReferenceNum' => 'payer_validate_reference',
+      'accountCustomerName' => 'account_holder',
+      'email' => 'email',
+      'recurring' => 'is_recur',
+      'amount' => 'amount',
+    );
+
+    foreach ($convert as $r => $p) {
+      if (isset($params[$p])) {
+        $request[$r] = $params[$p];
+      }
+    }
+    // Account custom name is first name + last name, truncated to a maximum of 30 chars.
+    $request['accountNum'] = trim($params['bank_identification_number']) . trim($params['bank_account_number']);
+    return $request;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerLink.php b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerLink.php
new file mode 100644
index 0000000000..5ebc8d108a
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerLink.php
@@ -0,0 +1,216 @@
+<?php
+
+/**
+ * @file
+ */
+
+require_once 'CRM/Core/Form.php';
+
+/**
+ * Form controller class.
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRMDOC43/QuickForm+Reference
+ */
+class CRM_iATS_Form_IATSCustomerLink extends CRM_Core_Form {
+
+  /**
+   * Get the field names and labels expected by iATS CustomerLink,
+   * and the corresponding fields in CiviCRM.
+   *
+   * @return array
+   */
+  public function getFields() {
+    $civicrm_fields = array(
+      'firstName' => 'billing_first_name',
+      'lastName' => 'billing_last_name',
+      'address' => 'street_address',
+      'city' => 'city',
+      'state' => 'state_province',
+      'zipCode' => 'postal_code',
+      'creditCardNum' => 'credit_card_number',
+      'creditCardExpiry' => 'credit_card_expiry',
+      'mop' => 'credit_card_type',
+    );
+    // When querying using CustomerLink.
+    $iats_fields = array(
+    // FLN.
+      'creditCardCustomerName' => 'CSTN',
+      'address' => 'ADD',
+      'city' => 'CTY',
+      'state' => 'ST',
+      'zipCode' => 'ZC',
+      'creditCardNum' => 'CCN',
+      'creditCardExpiry' => 'EXP',
+      'mop' => 'MP',
+    );
+    $labels = array(
+      // 'firstName' => 'First Name',
+      // 'lastName' => 'Last Name',.
+      'creditCardCustomerName' => 'Name on Card',
+      'address' => 'Street Address',
+      'city' => 'City',
+      'state' => 'State or Province',
+      'zipCode' => 'Postal Code or Zip Code',
+      'creditCardNum' => 'Credit Card Number',
+      'creditCardExpiry' => 'Credit Card Expiry Date',
+      'mop' => 'Credit Card Type',
+    );
+    return array($civicrm_fields, $iats_fields, $labels);
+  }
+
+  /**
+   *
+   */
+  protected function getCustomerCodeDetail($params) {
+    require_once "CRM/iATS/iATSService.php";
+    $credentials = iATS_Service_Request::credentials($params['paymentProcessorId'], $params['is_test']);
+    $iats_service_params = array('type' => 'customer', 'iats_domain' => $credentials['domain'], 'method' => 'get_customer_code_detail');
+    $iats = new iATS_Service_Request($iats_service_params);
+    // print_r($iats); die();
+    $request = array('customerCode' => $params['customerCode']);
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    // note: don't log this to the iats_response table.
+    $customer = $iats->result($response, FALSE);
+    if (empty($customer['ac1'])) {
+      $alert = ts('Unable to retrieve card details from iATS.<br />%1', array(1 => $customer['AUTHORIZATIONRESULT']));
+      throw new Exception($alert);
+    }
+    // This is a SimpleXMLElement Object.
+    $ac1 = $customer['ac1'];
+    $card = get_object_vars($ac1->CC);
+    return $customer + $card;
+  }
+
+  /**
+   *
+   */
+  protected function updateCreditCardCustomer($params) {
+    require_once "CRM/iATS/iATSService.php";
+    $credentials = iATS_Service_Request::credentials($params['paymentProcessorId'], $params['is_test']);
+    unset($params['paymentProcessorId']);
+    unset($params['is_test']);
+    unset($params['domain']);
+    $iats_service_params = array('type' => 'customer', 'iats_domain' => $credentials['domain'], 'method' => 'update_credit_card_customer');
+    $iats = new iATS_Service_Request($iats_service_params);
+    // print_r($iats); die();
+    $params['updateCreditCardNum'] = (0 < strlen($params['creditCardNum']) && (FALSE === strpos($params['creditCardNum'], '*'))) ? 1 : 0;
+    if (empty($params['updateCreditCardNum'])) {
+      unset($params['creditCardNum']);
+      unset($params['updateCreditCardNum']);
+    }
+    $params['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+    foreach (array('qfKey', 'entryURL', 'firstName', 'lastName', '_qf_default', '_qf_IATSCustomerLink_submit') as $key) {
+      if (isset($params[$key])) {
+        unset($params[$key]);
+      }
+    }
+    // Make the soap request.
+    $response = $iats->request($credentials, $params);
+    // note: don't log this to the iats_response table.
+    $result = $iats->result($response, TRUE);
+    return $result;
+  }
+
+  /**
+   *
+   */
+  public function buildQuickForm() {
+
+    list($civicrm_fields, $iats_fields, $labels) = $this->getFields();
+    $cid = CRM_Utils_Request::retrieve('cid', 'Integer');
+    $customerCode = CRM_Utils_Request::retrieve('customerCode', 'String');
+    $paymentProcessorId = CRM_Utils_Request::retrieve('paymentProcessorId', 'Positive');
+    $is_test = CRM_Utils_Request::retrieve('is_test', 'Integer');
+    $defaults = array(
+      'cid' => $cid,
+      'customerCode' => $customerCode,
+      'paymentProcessorId' => $paymentProcessorId,
+      'is_test' => $is_test,
+    );
+    // Get my current values from iATS as defaults.
+    if (empty($_POST)) {
+      try {
+        $customer = $this->getCustomerCodeDetail($defaults);
+      }
+      catch (Exception $e) {
+        CRM_Core_Session::setStatus($e->getMessage(), ts('Warning'), 'alert');
+        return;
+      }
+      foreach (array_keys($labels) as $name) {
+        $iats_field = $iats_fields[$name];
+        if (is_string($customer[$iats_field])) {
+          $defaults[$name] = $customer[$iats_field];
+        }
+      }
+    }
+    // I don't need cid, but it allows the back button to work.
+    $this->add('hidden', 'cid');
+    foreach ($labels as $name => $label) {
+      $this->add('text', $name, $label);
+    }
+    $this->add('hidden', 'customerCode');
+    $this->add('hidden', 'paymentProcessorId');
+    $this->add('hidden', 'is_test');
+    $this->setDefaults($defaults);
+    $this->addButtons(array(
+      array(
+        'type' => 'submit',
+        'name' => ts('Submit'),
+        'isDefault' => TRUE,
+      ),
+      array(
+        'type' => 'cancel',
+        'name' => ts('Back'),
+      ),
+    ));
+    // Export form elements.
+    $this->assign('elementNames', $this->getRenderableElementNames());
+    parent::buildQuickForm();
+  }
+
+  /**
+   *
+   */
+  public function postProcess() {
+    $values = $this->exportValues();
+    // Send update to iATS
+    // print_r($values); die();
+    $result = $this->updateCreditCardCustomer($values);
+    $message = '<pre>' . print_r($result, TRUE) . '</pre>';
+    // , $type, $options);.
+    CRM_Core_Session::setStatus($message, 'Customer Updated');
+    if ($result['AUTHORIZATIONRESULT'] == 'OK') {
+      // Update my copy of the expiry date.
+      list($month, $year) = explode('/', $values['creditCardExpiry']);
+      $exp = sprintf('%02d%02d', $year, $month);
+      $query_params = array(
+        1 => array($values['customerCode'], 'String'),
+        2 => array($exp, 'String'),
+      );
+      CRM_Core_DAO::executeQuery("UPDATE civicrm_iats_customer_codes SET expiry = %2 WHERE customer_code = %1", $query_params);
+    }
+    parent::postProcess();
+  }
+
+  /**
+   * Get the fields/elements defined in this form.
+   *
+   * @return array (string)
+   */
+  public function getRenderableElementNames() {
+    // The _elements list includes some items which should not be
+    // auto-rendered in the loop -- such as "qfKey" and "buttons".  These
+    // items don't have labels.  We'll identify renderable by filtering on
+    // the 'label'.
+    $elementNames = array();
+    foreach ($this->_elements as $element) {
+      $label = $element->getLabel();
+      if (!empty($label)) {
+        $elementNames[] = $element->getName();
+      }
+    }
+    return $elementNames;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerUpdateBillingInfo.php b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerUpdateBillingInfo.php
new file mode 100644
index 0000000000..af9d8b4ed3
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSCustomerUpdateBillingInfo.php
@@ -0,0 +1,46 @@
+<?php
+
+class IATSCustomerUpdateBillingInfo extends CRM_iATS_Form_IATSCustomerLink {
+
+  public $updatedBillingInfo;
+
+  public function __construct() {
+    // no need to call all the form init stuff, we're a fake form
+  }
+
+  public function exportValues($elementList = NULL, $filterInternal = FALSE) {
+
+    $ubi = $this->updatedBillingInfo;
+    $mop = array(
+      'Visa' => 'VISA',
+      'MasterCard' => 'MC',
+      'Amex' => 'AMX',
+      'Discover' => 'DSC',
+    );
+
+    $dao = CRM_Core_DAO::executeQuery("SELECT cr.payment_processor_id, cc.customer_code, cc.cid
+      FROM civicrm_contribution_recur cr
+      LEFT JOIN civicrm_iats_customer_codes cc ON cr.id = cc.recur_id
+      WHERE cr.id=%1", array(1 => array($ubi['crid'], 'Int')));
+    $dao->fetch();
+
+    $values = array(
+      'cid' => $dao->cid,
+      'customerCode' => $dao->customer_code,
+      'paymentProcessorId' => $dao->payment_processor_id,
+      'is_test' => 0,
+      'creditCardCustomerName' => "{$ubi['first_name']} " . (!empty($ubi['middle_name']) ? "{$ubi['middle_name']} " : '') . $ubi['last_name'],
+      'address' => $ubi['street_address'],
+      'city' => $ubi['city'],
+      'state' => CRM_Core_DAO::singleValueQuery("SELECT abbreviation FROM civicrm_state_province WHERE id=%1", array(1 => array($ubi['state_province_id'], 'Int'))),
+      'zipCode' => $ubi['postal_code'],
+      'creditCardNum' => $ubi['credit_card_number'],
+      'creditCardExpiry' => sprintf('%02d/%02d', $ubi['month'], $ubi['year'] % 100),
+      'mop' => $mop[$ubi['credit_card_type']],
+    );
+
+    return $values;
+
+  }
+
+}
\ No newline at end of file
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/IATSOneTimeCharge.php b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSOneTimeCharge.php
new file mode 100644
index 0000000000..f4a26a4d0d
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/IATSOneTimeCharge.php
@@ -0,0 +1,253 @@
+<?php
+
+/**
+ * @file
+ */
+
+require_once 'CRM/Core/Form.php';
+
+/**
+ * Form controller class.
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRMDOC43/QuickForm+Reference
+ * A form to generate new one-time charges on an existing recurring schedule.
+ */
+class CRM_iATS_Form_IATSOneTimeCharge extends CRM_Core_Form {
+
+  /**
+   *
+   */
+  public function getFields() {
+    $civicrm_fields = array(
+      'firstName' => 'billing_first_name',
+      'lastName' => 'billing_last_name',
+      'address' => 'street_address',
+      'city' => 'city',
+      'state' => 'state_province',
+      'zipCode' => 'postal_code',
+      'creditCardNum' => 'credit_card_number',
+      'creditCardExpiry' => 'credit_card_expiry',
+      'mop' => 'credit_card_type',
+    );
+    // When querying using CustomerLink.
+    $iats_fields = array(
+    // FLN.
+      'creditCardCustomerName' => 'CSTN',
+      'address' => 'ADD',
+      'city' => 'CTY',
+      'state' => 'ST',
+      'zipCode' => 'ZC',
+      'creditCardNum' => 'CCN',
+      'creditCardExpiry' => 'EXP',
+      'mop' => 'MP',
+    );
+    $labels = array(
+      // 'firstName' => 'First Name',
+      // 'lastName' => 'Last Name',.
+      'creditCardCustomerName' => 'Name on Card',
+      'address' => 'Street Address',
+      'city' => 'City',
+      'state' => 'State or Province',
+      'zipCode' => 'Postal Code or Zip Code',
+      'creditCardNum' => 'Credit Card Number',
+      'creditCardExpiry' => 'Credit Card Expiry Date',
+      'mop' => 'Credit Card Type',
+    );
+    return array($civicrm_fields, $iats_fields, $labels);
+  }
+
+  /**
+   *
+   */
+  protected function getCustomerCodeDetail($params) {
+    require_once "CRM/iATS/iATSService.php";
+    $credentials = iATS_Service_Request::credentials($params['paymentProcessorId'], $params['is_test']);
+    $iats_service_params = array('type' => 'customer', 'iats_domain' => $credentials['domain'], 'method' => 'get_customer_code_detail');
+    $iats = new iATS_Service_Request($iats_service_params);
+    // print_r($iats); die();
+    $request = array('customerCode' => $params['customerCode']);
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    // note: don't log this to the iats_response table.
+    $customer = $iats->result($response, FALSE);
+    // print_r($customer); die();
+    if (empty($customer['ac1'])) {
+      $alert = ts('Unable to retrieve card details from iATS.<br />%1', array(1 => $customer['AUTHORIZATIONRESULT']));
+      throw new Exception($alert);
+    }
+    // This is a SimpleXMLElement Object.
+    $ac1 = $customer['ac1'];
+    $card = get_object_vars($ac1->CC);
+    return $customer + $card;
+  }
+
+  /**
+   *
+   */
+  protected function processCreditCardCustomer($values) {
+    // Generate another (possibly) recurring contribution, matching our recurring template with submitted value.
+    $is_recurrence = !empty($values['is_recurrence']);
+    $total_amount = $values['amount'];
+    $contribution_template = _iats_civicrm_getContributionTemplate(array('contribution_recur_id' => $values['crid']));
+    $contact_id = $values['cid'];
+    $hash = md5(uniqid(rand(), TRUE));
+    $contribution_recur_id    = $values['crid'];
+    $payment_processor_id = $values['paymentProcessorId'];
+    $type = _iats_civicrm_is_iats($payment_processor_id);
+    $subtype = substr($type, 11);
+    // i.e. now.
+    $receive_date = date("YmdHis", time());
+    $contribution = array(
+      'version'        => 3,
+      'contact_id'       => $contact_id,
+      'receive_date'       => $receive_date,
+      'total_amount'       => $total_amount,
+      'contribution_recur_id'  => $contribution_recur_id,
+      'invoice_id'       => $hash,
+      'contribution_status_id' => 2, /* initialize as pending, so we can run completetransaction after taking the money */
+      'payment_processor'   => $payment_processor_id,
+      'is_test'        => $values['is_test'], /* propagate the is_test value from the form */
+    );
+    foreach (array('payment_instrument_id', 'currency', 'financial_type_id') as $key) {
+      $contribution[$key] = $contribution_template[$key];
+    }
+    $options = array(
+      'is_email_receipt' => (empty($values['is_email_receipt']) ? '0' : '1'),
+      'customer_code' => $values['customerCode'],
+      'subtype' => $subtype,
+    );
+    if ($is_recurrence) {
+      $contribution['source'] = "iATS Payments $subtype Recurring Contribution (id=$contribution_recur_id)";
+      // We'll use the repeattransaction if the total amount is the same
+      $original_contribution_id = ($contribution_template['total_amount'] == $total_amount) ? $contribution_template['original_contribution_id'] : NULL;
+    }
+    else {
+      $original_contribution_id = NULL;
+      unset($contribution['contribution_recur_id']);
+      $contribution['source'] = "iATS Payments $subtype One-Time Contribution (using id=$contribution_recur_id)";
+    }
+    // Now all the hard work in this function, recycled from the original recurring payment job.
+    $result = _iats_process_contribution_payment($contribution, $options, $original_contribution_id);
+    return $result;
+  }
+
+  /**
+   *
+   */
+  public function buildQuickForm() {
+
+    list($civicrm_fields, $iats_fields, $labels) = $this->getFields();
+    $this->add('hidden', 'cid');
+    $this->add('hidden', 'crid');
+    $this->add('hidden', 'customerCode');
+    $this->add('hidden', 'paymentProcessorId');
+    $this->add('hidden', 'is_test');
+    $cid = CRM_Utils_Request::retrieve('cid', 'Integer');
+    $crid = CRM_Utils_Request::retrieve('crid', 'Integer');
+    $customerCode = CRM_Utils_Request::retrieve('customerCode', 'String');
+    $paymentProcessorId = CRM_Utils_Request::retrieve('paymentProcessorId', 'Positive');
+    $is_test = CRM_Utils_Request::retrieve('is_test', 'Integer');
+    $is_recurrence = CRM_Utils_Request::retrieve('is_recurrence', 'Integer');
+    $defaults = array(
+      'cid' => $cid,
+      'crid' => $crid,
+      'customerCode' => $customerCode,
+      'paymentProcessorId' => $paymentProcessorId,
+      'is_test' => $is_test,
+      'is_recurrence' => 1,
+    );
+    $this->setDefaults($defaults);
+    /* always show lots of detail about the card about to be charged or just charged */
+    try {
+      $customer = $this->getCustomerCodeDetail($defaults);
+    }
+    catch (Exception $e) {
+      CRM_Core_Session::setStatus($e->getMessage(), ts('Warning'), 'alert');
+      return;
+    }
+    foreach ($labels as $name => $label) {
+      $iats_field = $iats_fields[$name];
+      if (is_string($customer[$iats_field])) {
+        $this->add('static', $name, $label, $customer[$iats_field]);
+      }
+    }
+    // todo: show past charges/dates ?
+    // Add form elements.
+    $this->addMoney(
+    // Field name.
+      'amount',
+    // Field label.
+      'Amount',
+      TRUE, NULL, FALSE
+    );
+    $this->add(
+    // Field type.
+      'checkbox',
+    // Field name.
+      'is_email_receipt',
+      ts('Automated email receipt for this contribution.')
+    );
+    $this->add(
+    // Field type.
+      'checkbox',
+    // Field name.
+      'is_recurrence',
+      ts('Create this as a contribution in the recurring series.')
+    );
+    $this->addButtons(array(
+      array(
+        'type' => 'submit',
+        'name' => ts('Charge this card'),
+        'isDefault' => TRUE,
+      ),
+      array(
+        'type' => 'cancel',
+        'name' => ts('Back'),
+      ),
+    ));
+
+    // Export form elements.
+    $this->assign('elementNames', $this->getRenderableElementNames());
+    // If necessary, warn the user about the nature of what they are about to do.
+    if (0 !== $is_recurrence) { // this if is not working!
+      $message = ts('The contribution created by this form will be saved as contribution in the existing recurring series unless you uncheck the corresponding setting.'); // , $type, $options);.
+      CRM_Core_Session::setStatus($message, 'One-Time Charge');
+    }
+    parent::buildQuickForm();
+  }
+
+  /**
+   *
+   */
+  public function postProcess() {
+    $values = $this->exportValues();
+    // print_r($values); die();
+    // send charge request to iATS.
+    $result = $this->processCreditCardCustomer($values);
+    $message = print_r($result, TRUE);
+    // , $type, $options);.
+    CRM_Core_Session::setStatus($message, 'Customer Card Charged');
+    parent::postProcess();
+  }
+
+  /**
+   * Get the fields/elements defined in this form.
+   *
+   * @return array (string)
+   */
+  public function getRenderableElementNames() {
+    // The _elements list includes some items which should not be
+    // auto-rendered in the loop -- such as "qfKey" and "buttons".  These
+    // items don't have labels.  We'll identify renderable by filtering on
+    // the 'label'.
+    $elementNames = array();
+    foreach ($this->_elements as $element) {
+      $label = $element->getLabel();
+      if (!empty($label)) {
+        $elementNames[] = $element->getName();
+      }
+    }
+    return $elementNames;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/IatsSettings.php b/civicrm/ext/iatspayments/CRM/iATS/Form/IatsSettings.php
new file mode 100644
index 0000000000..96bf910fd7
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/IatsSettings.php
@@ -0,0 +1,173 @@
+<?php
+
+/**
+ * @file
+ */
+
+require_once 'CRM/Core/Form.php';
+
+/**
+ * Form controller class.
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRMDOC43/QuickForm+Reference
+ */
+class CRM_iATS_Form_IatsSettings extends CRM_Core_Form {
+
+  /**
+   *
+   */
+  public function buildQuickForm() {
+
+    // Add form elements.
+    $this->add(
+    // Field type.
+      'text',
+    // Field name.
+      'email_recurring_failure_report',
+      ts('Email Recurring Contribution failure reports to this Email address')
+    );
+    $this->addRule('email_recurring_failure_report', ts('Email address is not a valid format.'), 'email');
+    $this->add(
+    // Field type.
+      'text',
+    // Field name.
+      'recurring_failure_threshhold',
+      ts('When failure count is equal to or greater than this number, push the next scheduled contribution date forward')
+    );
+    $this->addRule('recurring_failure_threshhold', ts('Threshhold must be a positive integer.'), 'integer');
+    $receipt_recurring_options =  array('0' => 'Never', '1' => 'Always', '2' => 'As set for a specific Contribution Series');
+    $this->add(
+    // Field type.
+      'select',
+    // Field name.
+      'receipt_recurring',
+      ts('Email receipt for a Contribution in a Recurring Series'),
+      $receipt_recurring_options
+    );
+
+    $this->add(
+    // Field type.
+      'checkbox',
+    // Field name.
+      'no_edit_extra',
+      ts('Disable extra edit fields for Recurring Contributions')
+    );
+
+    $this->add(
+    // Field type.
+      'checkbox',
+    // Field name.
+      'enable_update_subscription_billing_info',
+      ts('Enable self-service updates to recurring contribution Contact Billing Info.')
+    );
+
+    /* These checkboxes are not yet implemented, ignore for now 
+    $this->add(
+      'checkbox', // field type
+      'import_quick', // field name
+      ts('Import one-time/new iATS transactions into CiviCRM (e.g. "mobile").')
+    );
+
+    $this->add(
+      'checkbox', // field type
+      'import_recur', // field name
+      ts('Import recurring iATS transactions into CiviCRM for known series (e.g. "iATS managed recurring").')
+    );
+
+    $this->add(
+      'checkbox', // field type
+      'import_series', // field name
+      ts('Allow creation of new recurring series from iATS imports. (e.g. "mobile recurring")')
+    );
+    */
+    
+    $this->add(
+      'checkbox',
+      'enable_public_future_recurring_start',
+      ts('Enable public selection of future recurring start dates.')
+    );
+
+    $days = array('-1' => 'disabled');
+    for ($i = 1; $i <= 28; $i++) {
+      $days["$i"] = "$i";
+    }
+    $attr = array(
+      'size' => 29,
+      'style' => 'width:150px',
+      'required' => FALSE,
+    );
+    $day_select = $this->add(
+    // Field type.
+      'select',
+    // Field name.
+      'days',
+      ts('Restrict allowable days of the month for Recurring Contributions'),
+      $days,
+      FALSE,
+      $attr
+    );
+
+    $day_select->setMultiple(TRUE);
+    $day_select->setSize(29);
+    $this->addButtons(array(
+      array(
+        'type' => 'submit',
+        'name' => ts('Submit'),
+        'isDefault' => TRUE,
+      ),
+    ));
+
+    $result = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+    $defaults = (empty($result)) ? array() : $result;
+    if (empty($defaults['recurring_failure_threshhold'])) {
+      $defaults['recurring_failure_threshhold'] = 3;
+    }
+    $this->setDefaults($defaults);
+    $this->addButtons(array(
+      array(
+        'type' => 'submit',
+        'name' => ts('Submit'),
+        'isDefault' => TRUE,
+      ),
+    ));
+
+    // Export form elements.
+    $this->assign('elementNames', $this->getRenderableElementNames());
+    parent::buildQuickForm();
+  }
+
+  /**
+   *
+   */
+  public function postProcess() {
+    $values = $this->exportValues();
+    foreach (array('qfKey', '_qf_default', '_qf_IatsSettings_submit', 'entryURL') as $key) {
+      if (isset($values[$key])) {
+        unset($values[$key]);
+      }
+    }
+    CRM_Core_BAO_Setting::setItem($values, 'iATS Payments Extension', 'iats_settings');
+    parent::postProcess();
+  }
+
+  /**
+   * Get the fields/elements defined in this form.
+   *
+   * @return array (string)
+   */
+  public function getRenderableElementNames() {
+    // The _elements list includes some items which should not be
+    // auto-rendered in the loop -- such as "qfKey" and "buttons".  These
+    // items don't have labels.  We'll identify renderable by filtering on
+    // the 'label'.
+    $elementNames = array();
+    foreach ($this->_elements as $element) {
+      $label = $element->getLabel();
+      if (!empty($label)) {
+        $elementNames[] = $element->getName();
+      }
+    }
+    return $elementNames;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.mgd.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.mgd.php
new file mode 100644
index 0000000000..2d2af53e6c
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.mgd.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * @file
+ * This file declares a managed database record of type "ReportTemplate".
+ */
+
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array(
+  0 =>
+  array(
+    'name' => 'CRM_iATS_Form_Report_Journal',
+    'entity' => 'ReportTemplate',
+    'params' =>
+    array(
+      'version' => 3,
+      'label' => 'iATS Payments - Journal',
+      'description' => 'iATS Payments - Journal Report',
+      'class_name' => 'CRM_iATS_Form_Report_Journal',
+      'report_url' => 'com.iatspayments.com/journal',
+      'component' => 'CiviContribute',
+    ),
+  ),
+);
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.php
new file mode 100644
index 0000000000..9bf19576dd
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Journal.php
@@ -0,0 +1,112 @@
+<?php
+
+require_once('CRM/Report/Form.php');
+
+/**
+ * @file
+ */
+
+/**
+ *
+ * $Id$
+ */
+class CRM_iATS_Form_Report_Journal extends CRM_Report_Form {
+
+  // protected $_customGroupExtends = array('Contact');
+
+  /* static private $processors = array();
+  static private $version = array();
+  static private $financial_types = array();
+  static private $prefixes = array(); */
+  static private $contributionStatus = array(); 
+  static private $transaction_types = array(
+    'VISA' => 'Visa',
+    'ACHEFT' => 'ACH/EFT',
+    'UNKNOW' => 'Uknown',
+    'MC' => 'MasterCard',
+    'AMX' => 'AMEX',
+    'DSC' => 'Discover',
+  );
+
+  /**
+   *
+   */
+  public function __construct() {
+    self::$contributionStatus = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id');
+    $this->_columns = array(
+      'civicrm_iats_journal' =>
+        array(
+          'fields' =>
+            array(
+              'id' => array('title' => 'CiviCRM Journal Id', 'default' => TRUE),
+              'iats_id' => array('title' => 'iATS Journal Id', 'default' => TRUE),
+              'tnid' => array('title' => 'Transaction ID', 'default' => TRUE),
+              'tntyp' => array('title' => 'Transaction type', 'default' => TRUE),
+              'agt' => array('title' => 'Client/Agent code', 'default' => TRUE),
+              'cstc' => array('title' => 'Customer code', 'default' => TRUE),
+              'inv' => array('title' => 'Invoice Reference', 'default' => TRUE),
+              'dtm' => array('title' => 'Transaction date', 'default' => TRUE),
+              'amt' => array('title' => 'Amount', 'default' => TRUE),
+              'rst' => array('title' => 'Result string', 'default' => TRUE),
+              'dtm' => array('title' => 'Transaction Date Time', 'default' => TRUE),
+              'status_id' => array('title' => 'Payment Status', 'default' => TRUE),
+            ),
+          'order_bys' => 
+            array(
+              'id' => array('title' => ts('CiviCRM Journal Id'), 'default' => TRUE, 'default_order' => 'DESC'),
+              'iats_id' => array('title' => ts('iATS Journal Id')),
+              'dtm' => array('title' => ts('Transaction Date Time')),
+            ),
+          'filters' =>
+             array(
+               'dtm' => array(
+                 'title' => 'Transaction date', 
+                 'operatorType' => CRM_Report_Form::OP_DATE,
+                 'type' => CRM_Utils_Type::T_DATE,
+               ),
+               'inv' => array(
+                 'title' => 'Invoice Reference', 
+                 'type' => CRM_Utils_Type::T_STRING,
+               ),
+               'amt' => array(
+                 'title' => 'Amount', 
+                 'operatorType' => CRM_Report_Form::OP_FLOAT,
+                 'type' => CRM_Utils_Type::T_FLOAT
+               ),
+               'tntyp' => array(
+                 'title' => 'Type', 
+                 'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+                 'options' => self::$transaction_types,
+                 'type' => CRM_Utils_Type::T_STRING,
+               ),
+               'rst' => array(
+                 'title' => 'Result string',
+                 'type' => CRM_Utils_Type::T_STRING,
+               ),
+               'status_id' => array(
+                 'title' => ts('Payment Status'),
+                 'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+                 'options' => self::$contributionStatus,
+                 'type' => CRM_Utils_Type::T_INT,
+               ),
+             ),
+        ),
+    );
+    parent::__construct();
+  }
+
+  /**
+   *
+   */
+  public function getTemplateName() {
+    return 'CRM/Report/Form.tpl';
+  }
+
+  /**
+   *
+   */
+  public function from() {
+    $this->_from = "FROM civicrm_iats_journal  {$this->_aliases['civicrm_iats_journal']}";
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.mgd.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.mgd.php
new file mode 100644
index 0000000000..507c4343bb
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.mgd.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * @file
+ * This file declares a managed database record of type "ReportTemplate".
+ */
+
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array(
+  0 =>
+  array(
+    'name' => 'CRM_iATS_Form_Report_Recur',
+    'entity' => 'ReportTemplate',
+    'params' =>
+    array(
+      'version' => 3,
+      'label' => 'iATS Payments - Recurring Contributions',
+      'description' => 'iATS Payments - Recurring Contributions Report',
+      'class_name' => 'CRM_iATS_Form_Report_Recur',
+      'report_url' => 'com.iatspayments.com/recur',
+      'component' => 'CiviContribute',
+    ),
+  ),
+);
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.php
new file mode 100644
index 0000000000..6f46d92e76
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Recur.php
@@ -0,0 +1,475 @@
+<?php
+
+/**
+ * @file
+ * +--------------------------------------------------------------------+
+ * | CiviCRM version 4.4                                                |
+ * +--------------------------------------------------------------------+
+ * | Copyright CiviCRM LLC (c) 2004-2013                                |
+ * +--------------------------------------------------------------------+
+ * | This file is a part of CiviCRM.                                    |
+ * |                                                                    |
+ * | CiviCRM is free software; you can copy, modify, and distribute it  |
+ * | under the terms of the GNU Affero General Public License           |
+ * | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ * |                                                                    |
+ * | CiviCRM 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 Affero General Public License for more details.        |
+ * |                                                                    |
+ * | You should have received a copy of the GNU Affero General Public   |
+ * | License and the CiviCRM Licensing Exception along                  |
+ * | with this program; if not, contact CiviCRM LLC                     |
+ * | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ * | GNU Affero General Public License or the licensing of CiviCRM,     |
+ * | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ * +--------------------------------------------------------------------+.
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC (c) 2004-2013
+ * $Id$
+ */
+class CRM_iATS_Form_Report_Recur extends CRM_Report_Form {
+
+  protected $_customGroupExtends = array('Contact');
+
+  static private $nscd_fid = '';
+  static private $processors = array();
+  static private $version = array();
+  static private $financial_types = array();
+  static private $prefixes = array();
+  static private $contributionStatus = array();
+
+  /**
+   *
+   */
+  public function __construct() {
+
+    self::$nscd_fid = _iats_civicrm_nscd_fid();
+    self::$version = _iats_civicrm_domain_info('version');
+    self::$financial_types = (self::$version[0] <= 4 && self::$version[1] <= 2) ? array() : CRM_Contribute_PseudoConstant::financialType();
+    if (self::$version[0] <= 4 && self::$version[1] < 4) {
+      self::$prefixes = CRM_Core_PseudoConstant::individualPrefix();
+      self::$contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus();
+    }
+    else {
+      self::$prefixes = CRM_Contact_BAO_Contact::buildOptions('individual_prefix_id');
+      self::$contributionStatus = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id');
+    }
+
+    $params = array('version' => 3, 'sequential' => 1, 'is_test' => 0, 'return.name' => 1);
+    $result = civicrm_api('PaymentProcessor', 'get', $params);
+    foreach ($result['values'] as $pp) {
+      self::$processors[$pp['id']] = $pp['name'];
+    }
+    $this->_columns = array(
+      'civicrm_contact' => array(
+        'dao' => 'CRM_Contact_DAO_Contact',
+        'order_bys' => array(
+          'sort_name' => array(
+            'title' => ts("Last name, First name"),
+          ),
+        ),
+        'fields' => array(
+          'first_name' => array(
+            'title' => ts('First Name'),
+          ),
+          'last_name' => array(
+            'title' => ts('Last Name'),
+          ),
+          'prefix_id' => array(
+            'title' => ts('Prefix'),
+          ),
+          'sort_name' => array(
+            'title' => ts('Contact Name'),
+            'no_repeat' => TRUE,
+            'default' => TRUE,
+          ),
+          'id' => array(
+            'no_display' => TRUE,
+            'required' => TRUE,
+          ),
+        ),
+      ),
+      'civicrm_email' => array(
+        'dao' => 'CRM_Core_DAO_Email',
+        'order_bys' => array(
+          'email' => array(
+            'title' => ts('Email'),
+          ),
+        ),
+        'fields' => array(
+          'email' => array(
+            'title' => ts('Email'),
+            'no_repeat' => TRUE,
+          ),
+        ),
+        'grouping' => 'contact-fields',
+      ),
+      'civicrm_phone' => array(
+        'dao' => 'CRM_Core_DAO_Phone',
+        'fields' => array(
+          'phone' => array(
+            'title' => ts('Phone'),
+            'no_repeat' => TRUE,
+          ),
+        ),
+        'grouping' => 'contact-fields',
+      ),
+      'civicrm_contribution' => array(
+        'dao' => 'CRM_Contribute_DAO_Contribution',
+        'fields' => array(
+          'id' => array(
+            // 'no_display' => TRUE,.
+            'title' => ts('Contribution ID(s)'),
+            'required' => TRUE,
+            'dbAlias' => "GROUP_CONCAT(contribution_civireport.id SEPARATOR ', ')",
+          ),
+          'total_amount' => array(
+            'title' => ts('Amount Contributed to date'),
+            'required' => TRUE,
+            'statistics' => array(
+              'sum' => ts("Total Amount contributed"),
+            ),
+          ),
+        ),
+        'filters' => array(
+          'total_amount' => array(
+            'title' => ts('Total Amount'),
+            'operatorType' => CRM_Report_Form::OP_FLOAT,
+            'type' => CRM_Utils_Type::T_FLOAT,
+          ),
+        ),
+      ),
+      'civicrm_iats_customer_codes' =>
+        array(
+          'dao' => 'CRM_Contribute_DAO_Contribution',
+          'order_bys' => array(
+            'expiry' => array(
+              'title' => ts("Expiry Date"),
+            ),
+          ),
+          'fields' =>
+            array(
+              'customer_code' => array('title' => 'customer code', 'default' => TRUE),
+              'expiry' => array('title' => 'Expiry Date', 'default' => TRUE),
+            ),
+        ),
+      'civicrm_contribution_recur' => array(
+        'dao' => 'CRM_Contribute_DAO_ContributionRecur',
+        'order_bys' => array(
+          'id' => array(
+            'title' => ts("Series ID"),
+          ),
+          'amount' => array(
+            'title' => ts("Current Amount"),
+          ),
+          'start_date' => array(
+            'title' => ts('Start Date'),
+          ),
+          'modified_date' => array(
+            'title' => ts('Modified Date'),
+          ),
+          self::$nscd_fid  => array(
+            'title' => ts('Next Scheduled Contribution Date'),
+          ),
+          'cycle_day'  => array(
+            'title' => ts('Cycle Day'),
+          ),
+          'failure_count'  => array(
+            'title' => ts('Failure Count'),
+          ),
+          'payment_processor_id' => array(
+            'title' => ts('Payment Processor'),
+          ),
+        ),
+        'fields' => array(
+          'id' => array(
+            // 'no_display' => TRUE,.
+            'required' => TRUE,
+            'title' => ts("Series ID"),
+          ),
+          'recur_id' => array(
+            'name' => 'id',
+            'title' => ts('Series ID'),
+          ),
+          'invoice_id' => array(
+            'title' => ts('Invoice ID'),
+            'default' => FALSE,
+          ),
+          'currency' => array(
+            'title' => ts("Currency"),
+          ),
+          'amount' => array(
+            'title' => ts('Amount'),
+            'default' => TRUE,
+          ),
+          'contribution_status_id' => array(
+            'title' => ts('Donation Status'),
+          ),
+          'frequency_interval' => array(
+            'title' => ts('Frequency interval'),
+            'default' => TRUE,
+          ),
+          'frequency_unit' => array(
+            'title' => ts('Frequency unit'),
+            'default' => TRUE,
+          ),
+          'installments' => array(
+            'title' => ts('Installments'),
+            'default' => TRUE,
+          ),
+          'start_date' => array(
+            'title' => ts('Start Date'),
+            'default' => TRUE,
+          ),
+          'create_date' => array(
+            'title' => ts('Create Date'),
+          ),
+          'modified_date' => array(
+            'title' => ts('Modified Date'),
+          ),
+          'cancel_date' => array(
+            'title' => ts('Cancel Date'),
+          ),
+          self::$nscd_fid => array(
+            'title' => ts('Next Scheduled Contribution Date'),
+            'default' => TRUE,
+          ),
+          'cycle_day'  => array(
+            'title' => ts('Cycle Day'),
+          ),
+          'failure_count' => array(
+            'title' => ts('Failure Count'),
+          ),
+          'failure_retry_date' => array(
+            'title' => ts('Failure Retry Date'),
+          ),
+          'payment_processor_id' => array(
+            'title' => ts('Payment Processor'),
+            'default' => TRUE,
+          ),
+        ),
+        'filters' => array(
+          'contribution_status_id' => array(
+            'title' => ts('Donation Status'),
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => self::$contributionStatus,
+            'default' => array(5),
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'payment_processor_id' => array(
+            'title' => ts('Payment Processor'),
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => self::$processors,
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'currency' => array(
+            'title' => 'Currency',
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => CRM_Core_OptionGroup::values('currencies_enabled'),
+            'default' => NULL,
+            'type' => CRM_Utils_Type::T_STRING,
+          ),
+          'financial_type_id' => array(
+            'title' => ts('Financial Type'),
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options'  => self::$financial_types,
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'frequency_unit' => array(
+            'title' => ts('Frequency Unit'),
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => CRM_Core_OptionGroup::values('recur_frequency_units'),
+          ),
+          self::$nscd_fid  => array(
+            'title' => ts('Next Scheduled Contribution Date'),
+            'operatorType' => CRM_Report_Form::OP_DATE,
+            'type' => CRM_Utils_Type::T_DATE,
+          ),
+          'next_scheduled_day' => array(
+            'title' => ts('Next Scheduled Day'),
+            'operatorType' => CRM_Report_Form::OP_INT,
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'cycle_day' => array(
+            'title' => ts('Cycle Day'),
+            'operatorType' => CRM_Report_Form::OP_INT,
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'failure_count' => array(
+            'title' => ts('Failure Count'),
+            'operatorType' => CRM_Report_Form::OP_INT,
+            'type' => CRM_Utils_Type::T_INT,
+          ),
+          'start_date' => array(
+            'title' => ts('Start Date'),
+            'operatorType' => CRM_Report_Form::OP_DATE,
+            'type' => CRM_Utils_Type::T_DATE,
+          ),
+          'modified_date' => array(
+            'title' => ts('Modified Date'),
+            'operatorType' => CRM_Report_Form::OP_DATE,
+            'type' => CRM_Utils_Type::T_DATE,
+          ),
+          'cancel_date' => array(
+            'title' => ts('Cancel Date'),
+            'operatorType' => CRM_Report_Form::OP_DATE,
+            'type' => CRM_Utils_Type::T_DATE,
+          ),
+        ),
+      ),
+      'civicrm_address' => array(
+        'dao' => 'CRM_Core_DAO_Address',
+        'fields' => array(
+          'street_address' => array(
+            'title' => ts('Address'),
+            'default' => FALSE,
+          ),
+          'supplemental_address_1' => array(
+            'title' => ts('Supplementary Address Field 1'),
+            'default' => FALSE,
+          ),
+          'supplemental_address_2' => array(
+            'title' => ts('Supplementary Address Field 2'),
+            'default' => FALSE,
+          ),
+          'city' => array(
+            'title' => 'City',
+            'default' => FALSE,
+          ),
+          'state_province_id' => array(
+            'title' => 'Province',
+            'default' => FALSE,
+            'alter_display' => 'alterStateProvinceID',
+          ),
+          'postal_code' => array(
+            'title' => 'Postal Code',
+            'default' => FALSE,
+          ),
+          'country_id' => array(
+            'title' => 'Country',
+            'default' => FALSE,
+            'alter_display' => 'alterCountryID',
+          ),
+        ),
+        'grouping' => 'contact-fields',
+      ),
+    );
+    if (empty(self::$financial_types)) {
+      unset($this->_columns['civicrm_contribution_recur']['filters']['financial_type_id']);
+    }
+    parent::__construct();
+  }
+
+  /**
+   *
+   */
+  public function getTemplateName() {
+    return 'CRM/Report/Form.tpl';
+  }
+
+  /**
+   *
+   */
+  public function from() {
+    $this->_from = "
+      FROM civicrm_contact  {$this->_aliases['civicrm_contact']}
+        INNER JOIN civicrm_contribution_recur   {$this->_aliases['civicrm_contribution_recur']}
+          ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution_recur']}.contact_id";
+    $this->_from .= "
+      LEFT JOIN civicrm_contribution  {$this->_aliases['civicrm_contribution']}
+        ON ({$this->_aliases['civicrm_contribution_recur']}.id = {$this->_aliases['civicrm_contribution']}.contribution_recur_id AND 1 = {$this->_aliases['civicrm_contribution']}.contribution_status_id)";
+    $this->_from .= "
+      LEFT JOIN civicrm_email  {$this->_aliases['civicrm_email']}
+        ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND
+          {$this->_aliases['civicrm_email']}.is_primary = 1 )";
+    $this->_from .= "
+      LEFT JOIN civicrm_address {$this->_aliases['civicrm_address']}
+        ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_address']}.contact_id AND
+          {$this->_aliases['civicrm_address']}.is_primary = 1 )";
+    $this->_from .= "
+      LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
+        ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND
+          {$this->_aliases['civicrm_phone']}.is_primary = 1)";
+    $this->_from .= "
+      LEFT JOIN civicrm_iats_customer_codes {$this->_aliases['civicrm_iats_customer_codes']}
+        ON ({$this->_aliases['civicrm_iats_customer_codes']}.recur_id = {$this->_aliases['civicrm_contribution_recur']}.id)";
+  }
+
+  /**
+   *
+   */
+  public function groupBy() {
+    $this->_groupBy = "GROUP BY " . $this->_aliases['civicrm_contribution_recur'] . ".id";
+  }
+
+  /**
+   *
+   */
+  public function alterDisplay(&$rows) {
+    foreach ($rows as $rowNum => $row) {
+      // Convert display name to links.
+      if (array_key_exists('civicrm_contact_sort_name', $row) &&
+        CRM_Utils_Array::value('civicrm_contact_sort_name', $rows[$rowNum]) &&
+        array_key_exists('civicrm_contact_id', $row)
+      ) {
+        $url = CRM_Utils_System::url('civicrm/contact/view',
+          'reset=1&cid=' . $row['civicrm_contact_id'],
+          $this->_absoluteUrl
+        );
+        $rows[$rowNum]['civicrm_contact_sort_name_link'] = $url;
+        $rows[$rowNum]['civicrm_contact_sort_name_hover'] = ts('View Contact Summary for this Contact.');
+      }
+
+      // Link to recurring series.
+      if (($value = CRM_Utils_Array::value('civicrm_contribution_recur_id', $row)) &&
+        CRM_Core_Permission::check('access CiviContribute')
+      ) {
+        $url = CRM_Utils_System::url("civicrm/contact/view/contributionrecur",
+          "reset=1&id=" . $row['civicrm_contribution_recur_id'] .
+          "&cid=" . $row['civicrm_contact_id'] .
+          "&action=view&context=contribution&selectedChild=contribute",
+          $this->_absoluteUrl
+        );
+        $rows[$rowNum]['civicrm_contribution_recur_id_link'] = $url;
+        $rows[$rowNum]['civicrm_contribution_recur_id_hover'] = ts("View Details of this Recurring Series.");
+        $entryFound = TRUE;
+      }
+
+      // Handle expiry date.
+      if ($value = CRM_Utils_Array::value('civicrm_iats_customer_codes_expiry', $row)) {
+        if ($rows[$rowNum]['civicrm_iats_customer_codes_expiry'] == '0000') {
+          $rows[$rowNum]['civicrm_iats_customer_codes_expiry'] = ' ';
+        }
+        elseif ($rows[$rowNum]['civicrm_iats_customer_codes_expiry'] != '0000') {
+          $rows[$rowNum]['civicrm_iats_customer_codes_expiry'] = '20' . substr($rows[$rowNum]['civicrm_iats_customer_codes_expiry'], 0, 2) . '/' . substr($rows[$rowNum]['civicrm_iats_customer_codes_expiry'], 2, 2);
+        }
+      }
+
+      // Handle contribution status id.
+      if ($value = CRM_Utils_Array::value('civicrm_contribution_recur_contribution_status_id', $row)) {
+        $rows[$rowNum]['civicrm_contribution_recur_contribution_status_id'] = self::$contributionStatus[$value];
+      }
+      // Handle processor id.
+      if ($value = CRM_Utils_Array::value('civicrm_contribution_recur_payment_processor_id', $row)) {
+        $rows[$rowNum]['civicrm_contribution_recur_payment_processor_id'] = self::$processors[$value];
+      }
+      // Handle address country and province id => value conversion.
+      if ($value = CRM_Utils_Array::value('civicrm_address_country_id', $row)) {
+        $rows[$rowNum]['civicrm_address_country_id'] = CRM_Core_PseudoConstant::country($value, FALSE);
+      }
+      if ($value = CRM_Utils_Array::value('civicrm_address_state_province_id', $row)) {
+        $rows[$rowNum]['civicrm_address_state_province_id'] = CRM_Core_PseudoConstant::stateProvince($value, FALSE);
+      }
+      if ($value = CRM_Utils_Array::value('civicrm_contact_prefix_id', $row)) {
+        $rows[$rowNum]['civicrm_contact_prefix_id'] = self::$prefixes[$value];
+      }
+    }
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.mgd.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.mgd.php
new file mode 100644
index 0000000000..bdada3dae4
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.mgd.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * @file
+ * This file declares a managed database record of type "ReportTemplate".
+ */
+
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array(
+  0 =>
+  array(
+    'name' => 'CRM_iATS_Form_Report_Verify',
+    'entity' => 'ReportTemplate',
+    'params' =>
+    array(
+      'version' => 3,
+      'label' => 'iATS Payments - Verify',
+      'description' => 'iATS Payments - Verify Report',
+      'class_name' => 'CRM_iATS_Form_Report_Verify',
+      'report_url' => 'com.iatspayments.com/verify',
+      'component' => 'CiviContribute',
+    ),
+  ),
+);
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.php b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.php
new file mode 100644
index 0000000000..f88e248649
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Form/Report/Verify.php
@@ -0,0 +1,137 @@
+<?php
+
+require_once('CRM/Report/Form.php');
+
+/**
+ * @file
+ */
+
+/**
+ *
+ * $Id$
+ */
+class CRM_iATS_Form_Report_Verify extends CRM_Report_Form {
+
+  static private $contributionStatus = array(); 
+  static private $transaction_types = array(
+    'VISA' => 'Visa',
+    'ACHEFT' => 'ACH/EFT',
+    'UNKNOW' => 'Uknown',
+    'MC' => 'MasterCard',
+    'AMX' => 'AMEX',
+    'DSC' => 'Discover',
+  );
+
+  /**
+   *
+   */
+  public function __construct() {
+    self::$contributionStatus = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id');
+    $this->_columns = array(
+      'civicrm_iats_verify' =>
+        array(
+          'fields' =>
+            array(
+              'id' => array('title' => 'CiviCRM Verify Id', 'default' => TRUE),
+              'customer_code' => array('title' => 'Customer code', 'default' => TRUE),
+              'cid' => array('title' => 'Contact', 'default' => TRUE),
+              'contribution_id' => array('title' => 'Contribution', 'default' => TRUE),
+              'recur_id' => array('title' => 'Recurring Contribution Id', 'default' => TRUE),
+              'contribution_status_id' => array('title' => 'Payment Status', 'default' => TRUE),
+              'verify_datetime' => array('title' => 'Verification date time', 'default' => TRUE),
+            ),
+          'order_bys' => 
+            array(
+              'id' => array('title' => ts('CiviCRM Verify Id'), 'default' => TRUE, 'default_order' => 'DESC'),
+              'verify_datetime' => array('title' => ts('Verification Date Time')),
+            ),
+          'filters' =>
+             array(
+               'verify_datetime' => array(
+                 'title' => 'Verification date time', 
+                 'operatorType' => CRM_Report_Form::OP_DATE,
+                 'type' => CRM_Utils_Type::T_DATE,
+               ),
+               'contribution_status_id' => array(
+                 'title' => ts('Payment Status'),
+                 'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+                 'options' => self::$contributionStatus,
+                 'type' => CRM_Utils_Type::T_INT,
+               ),
+             ),
+        ),
+    );
+    parent::__construct();
+  }
+
+  /**
+   *
+   */
+  public function getTemplateName() {
+    return 'CRM/Report/Form.tpl';
+  }
+
+  /**
+   *
+   */
+  public function from() {
+    $this->_from = "FROM civicrm_iats_verify  {$this->_aliases['civicrm_iats_verify']}";
+  }
+
+  /**
+   *
+   */
+  public function alterDisplay(&$rows) {
+    foreach ($rows as $rowNum => $row) {
+      // Link to contact.
+      if (
+        ($value = CRM_Utils_Array::value('civicrm_iats_verify_cid', $row)) 
+      ) {
+        $url = CRM_Utils_System::url('civicrm/contact/view',
+          'reset=1&cid=' . $row['civicrm_iats_verify_cid'],
+          $this->_absoluteUrl
+        );
+        $rows[$rowNum]['civicrm_iats_verify_cid_link'] = $url;
+        $rows[$rowNum]['civicrm_iats_verify_cid_hover'] = ts('View this contact.');
+      }
+      // Link to contribution.
+      if (
+        ($value = CRM_Utils_Array::value('civicrm_iats_verify_cid', $row)) 
+        && ($value = CRM_Utils_Array::value('civicrm_iats_verify_contribution_id', $row)) 
+      ) {
+        $url = CRM_Utils_System::url('civicrm/contact/view/contribution',
+          'reset=1&action=view&context=contribution&selectedChild=contribute&cid=' . $row['civicrm_iats_verify_cid'] . '&id=' . $row['civicrm_iats_verify_contribution_id'],
+          $this->_absoluteUrl
+        );
+        $rows[$rowNum]['civicrm_iats_verify_contribution_id_link'] = $url;
+        $rows[$rowNum]['civicrm_iats_verify_contribution_id_hover'] = ts('View details of the verified contribution.');
+      }
+
+      // Link to recurring series.
+      if (
+        ($value = CRM_Utils_Array::value('civicrm_iats_verify_recur_id', $row)) 
+        && ($value = CRM_Utils_Array::value('civicrm_iats_verify_cid', $row)) 
+        && CRM_Core_Permission::check('access CiviContribute')
+      ) {
+        $url = CRM_Utils_System::url("civicrm/contact/view/contributionrecur",
+          "reset=1&id=" . $row['civicrm_iats_verify_recur_id'] .
+          "&cid=" . $row['civicrm_iats_verify_cid'] .
+          "&action=view&context=contribution&selectedChild=contribute",
+          $this->_absoluteUrl
+        );
+        $rows[$rowNum]['civicrm_iats_verify_recur_id_link'] = $url;
+        $rows[$rowNum]['civicrm_iats_verify_recur_id_hover'] = ts("View Details of this Recurring Series.");
+        $entryFound = TRUE;
+      }
+
+      // Handle contribution status id.
+      if ($value = CRM_Utils_Array::value('civicrm_iats_verify_contribution_status_id', $row)) {
+        $rows[$rowNum]['civicrm_iats_verify_contribution_status_id'] = self::$contributionStatus[$value];
+      }
+      // Handle processor id.
+      if ($value = CRM_Utils_Array::value('civicrm_iats_verify_recur_payment_processor_id', $row)) {
+        $rows[$rowNum]['civicrm_iats_verify_recur_payment_processor_id'] = self::$processors[$value];
+      }
+    }
+  }
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Page/IATSCustomerLink.php b/civicrm/ext/iatspayments/CRM/iATS/Page/IATSCustomerLink.php
new file mode 100644
index 0000000000..c96cd8f6b0
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Page/IATSCustomerLink.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ */
+
+require_once 'CRM/Core/Page.php';
+/**
+ *
+ */
+class CRM_iATS_Page_IATSCustomerLink extends CRM_Core_Page {
+
+  /**
+   *
+   */
+  public function run() {
+    // TODO: use the cid value to put the customer name in the title?
+    // CRM_Utils_System::setTitle(ts('iATS CustomerLink'));.
+    $customerCode = CRM_Utils_Request::retrieve('customerCode', 'String');
+    $paymentProcessorId = CRM_Utils_Request::retrieve('paymentProcessorId', 'Positive');
+    $is_test = CRM_Utils_Request::retrieve('is_test', 'Integer');
+    $this->assign('customerCode', $customerCode);
+    require_once "CRM/iATS/iATSService.php";
+    $credentials = iATS_Service_Request::credentials($paymentProcessorId, $is_test);
+    $iats_service_params = array('type' => 'customer', 'iats_domain' => $credentials['domain'], 'method' => 'get_customer_code_detail');
+    $iats = new iATS_Service_Request($iats_service_params);
+    // print_r($iats); die();
+    $request = array('customerCode' => $customerCode);
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    // note: don't log this to the iats_response table.
+    $customer = $iats->result($response, FALSE);
+    if (empty($customer['ac1'])) {
+      $alert = ts('Unable to retrieve card details from iATS.<br />%1', array(1 => $customer['AUTHORIZATIONRESULT']));
+      CRM_Core_Session::setStatus($alert, ts('Warning'), 'alert');
+    }
+    else {
+      // This is a SimpleXMLElement Object.
+      $ac1 = $customer['ac1'];
+      $attributes = $ac1->attributes();
+      $type = $attributes['type'];
+      $card = get_object_vars($ac1->$type);
+      $card['type'] = $type;
+      foreach (array('ac1', 'status', 'remote_id', 'auth_result') as $key) {
+        if (isset($customer[$key])) {
+          unset($customer[$key]);
+        }
+      }
+      $this->assign('customer', $customer);
+      $this->assign('card', $card);
+    }
+    parent::run();
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Page/iATSAdmin.php b/civicrm/ext/iatspayments/CRM/iATS/Page/iATSAdmin.php
new file mode 100644
index 0000000000..6c34df42f9
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Page/iATSAdmin.php
@@ -0,0 +1,104 @@
+<?php
+
+/**
+ * @file This administrative page provides simple access to recent transactions
+ * and an opportunity for the system to warn administrators about failing
+ * crons .*/
+
+require_once 'CRM/Core/Page.php';
+/**
+ *
+ */
+class CRM_iATS_Page_iATSAdmin extends CRM_Core_Page {
+
+  /**
+   *
+   */
+  public function run() {
+    // Reset the saved version of the extension.
+    require_once 'CRM/iATS/iATSService.php';
+    $iats_extension_version = iATS_Service_Request::iats_extension_version(1);
+    // The current time.
+    $this->assign('currentVersion', $iats_extension_version);
+    $this->assign('currentTime', date('Y-m-d H:i:s'));
+    $this->assign('jobLastRunWarning', '0');
+    // Check if I've got any recurring contributions setup. In theory I should only worry about iATS, but it's a problem regardless ..
+    $params = array('version' => 3, 'sequential' => 1);
+    $result = civicrm_api('ContributionRecur', 'getcount', $params);
+    if (!empty($result)) {
+      $this->assign('jobLastRunWarning', '1');
+      $params['api_action'] = 'Iatsrecurringcontributions';
+      $job = civicrm_api('Job', 'getSingle', $params);
+      $last_run = isset($job['last_run']) ? strtotime($job['last_run']) : '';
+      $this->assign('jobLastRun', $job['last_run']);
+      $this->assign('jobOverdue', '');
+      $overdueHours  = (time() - $last_run) / (60 * 60);
+      if (24 < $overdueHours) {
+        $this->assign('jobOverdue', $overdueHours);
+      }
+    }
+    // Load the most recent requests and responses from the log files.
+    foreach (array('cc', 'auth_result') as $key) {
+      $search[$key] = empty($_GET['search_' . $key]) ? '' : filter_var($_GET['search_' . $key], FILTER_SANITIZE_STRING);
+    }
+    $log = $this->getLog($search);
+    // $log[] = array('cc' => 'test', 'ip' => 'whatever', 'auth_result' => 'blah');.
+    $this->assign('iATSLog', $log);
+    $this->assign('search', $search);
+    parent::run();
+  }
+
+  /**
+   *
+   */
+  public function getLog($search = array(), $n = 40) {
+    // Avoid sql injection attacks.
+    $n = (int) $n;
+    $filter = array();
+    foreach ($search as $key => $value) {
+      if (!empty($value)) {
+        $filter[] = "$key RLIKE '$value'";
+      }
+    }
+    $where = empty($filter) ? '' : " WHERE " . implode(' AND ', $filter);
+    $sql = "SELECT request.*,response.*,contrib.contact_id,contact.sort_name,pp.url_site,pp.user_name,pp.password
+      FROM civicrm_iats_request_log request 
+      LEFT JOIN civicrm_iats_response_log response ON request.invoice_num = response.invoice_num
+      LEFT JOIN civicrm_contribution contrib ON request.invoice_num = contrib.invoice_id
+      LEFT JOIN civicrm_contact contact ON contrib.contact_id = contact.id
+      LEFT JOIN civicrm_contribution_recur recur ON contrib.contribution_recur_id = recur.id
+      LEFT JOIN civicrm_payment_processor pp ON recur.payment_processor_id = pp.id
+     $where ORDER BY request.id DESC LIMIT $n";
+
+    $dao = CRM_Core_DAO::executeQuery($sql);
+    $log = array();
+    $params = array('version' => 3, 'sequential' => 1, 'return' => 'contribution_id');
+    $className = get_class($dao);
+    $internal = array_keys(get_class_vars($className));
+    // Get some customer data while i'm at it
+    // require_once("CRM/iATS/iATSService.php");
+    // todo: fix iats_domain below
+    // $iats_service_params = array('type' => 'customer', 'method' => 'get_customer_code_detail', 'iats_domain' => 'www.iatspayments.com');.
+    while ($dao->fetch()) {
+      $entry = get_object_vars($dao);
+      // Ghost entry!
+      unset($entry['']);
+      // Remove internal fields.
+      foreach ($internal as $key) {
+        unset($entry[$key]);
+      }
+      $params['invoice_id'] = $entry['invoice_num'];
+      $result = civicrm_api('Contribution', 'getsingle', $params);
+      if (!empty($result['contribution_id'])) {
+        $entry += $result;
+        $entry['contributionURL'] = CRM_Utils_System::url('civicrm/contact/view/contribution', 'reset=1&id=' . $entry['contribution_id'] . '&cid=' . $entry['contact_id'] . '&action=view&selectedChild=Contribute');
+      }
+      if (!empty($result['contact_id'])) {
+        $entry['contactURL'] = CRM_Utils_System::url('civicrm/contact/view', 'reset=1&cid=' . $entry['contact_id']);
+      }
+      $log[] = $entry;
+    }
+    return $log;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Page/json.php b/civicrm/ext/iatspayments/CRM/iATS/Page/json.php
new file mode 100644
index 0000000000..15faf8edd6
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Page/json.php
@@ -0,0 +1,67 @@
+<?php
+
+/**
+ * @file
+ */
+
+/**
+ *
+ */
+class CRM_iATS_Page_json {
+
+  /**
+   *
+   */
+  public function run() {
+    // Generate json output from iats service calls.
+    $request = $_POST;
+    $pp_id = (int) $request['payment_processor_id'];
+    if (empty($pp_id)) {
+      return;
+    }
+    $params = array('version' => 3, 'sequential' => 1, 'id' => $pp_id, 'return' => 'user_name');
+    $result = civicrm_api('PaymentProcessor', 'getvalue', $params);
+    $request['agentCode'] = $result;
+    $params = array('version' => 3, 'sequential' => 1, 'id' => $pp_id, 'return' => 'url_site');
+    $result = civicrm_api('PaymentProcessor', 'getvalue', $params);
+    $request['iats_domain'] = parse_url($result, PHP_URL_HOST);
+    foreach (array('reset', 'q', 'IDS_request_uri', 'IDS_user_agent', 'payment_processor_id') as $key) {
+      if (isset($request[$key])) {
+        unset($request[$key]);
+      }
+    }
+    $options = array();
+    foreach (array('type', 'method', 'iats_domain') as $key) {
+      if (isset($request[$key])) {
+        $options[$key] = $request[$key];
+        unset($request[$key]);
+      }
+    }
+    $credentials = array();
+    foreach (array('agentCode', 'password') as $key) {
+      if (isset($request[$key])) {
+        $credentials[$key] = $request[$key];
+        unset($request[$key]);
+      }
+    }
+    // TODO: bail here if I don't have enough for my service request
+    // use the iATSService object for interacting with iATS.
+    require_once "CRM/iATS/iATSService.php";
+    $iats = new iATS_Service_Request($options);
+    $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+    // Make the soap request.
+    $response = $iats->request($credentials, $request);
+    // Process the soap response into a readable result.
+    if (!empty($response)) {
+      $result = $iats->result($response);
+    }
+    else {
+      $result = array('Invalid request');
+    }
+    // TODO: fix header
+    // header('Content-Type: text/javascript');.
+    echo json_encode(array_merge($result));
+    exit;
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Upgrader.php b/civicrm/ext/iatspayments/CRM/iATS/Upgrader.php
new file mode 100644
index 0000000000..74d6ff61da
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Upgrader.php
@@ -0,0 +1,213 @@
+<?php
+
+/**
+ * Collection of upgrade steps
+ */
+class CRM_iATS_Upgrader extends CRM_iATS_Upgrader_Base {
+
+  // By convention, functions that look like "function upgrade_NNNN()" are
+  // upgrade tasks. They are executed in order (like Drupal's hook_update_N).
+
+  public function getCurrentRevision() {
+    // reset the saved extension version as well
+    try {
+      $xmlfile = CRM_Core_Resources::singleton()->getPath('com.iatspayments.civicrm','info.xml');
+      $myxml = simplexml_load_file($xmlfile);
+      $version = (string)$myxml->version;
+      CRM_Core_BAO_Setting::setItem($version, 'iATS Payments Extension', 'iats_extension_version');
+    }
+    catch (Exception $e) {
+      // ignore
+    }
+    return parent::getCurrentRevision();
+  }
+  /**
+   * Standard: run an install sql script
+   */
+  public function install() {
+    $this->executeSqlFile('sql/install.sql');
+  }
+
+  /**
+   * Standard: run an uninstall script
+   */
+  public function uninstall() {
+   $this->executeSqlFile('sql/uninstall.sql');
+  }
+
+  public function upgrade_1_2_010() {
+    CRM_Core_ManagedEntities::singleton(TRUE)->reconcile();
+    return TRUE;
+  }
+
+  /**
+   * Example: Run a simple query when a module is enabled
+   *
+  public function enable() {
+    CRM_Core_DAO::executeQuery('UPDATE foo SET is_active = 1 WHERE bar = "whiz"');
+  }
+  */
+
+  /**
+   * Example: Run a simple query when a module is disabled
+   *
+  public function disable() {
+    CRM_Core_DAO::executeQuery('UPDATE foo SET is_active = 0 WHERE bar = "whiz"');
+  }
+  */
+
+  /**
+   * Add the uk_dd table
+   *
+   * @return TRUE on success
+   * @throws Exception
+   */
+  public function upgrade_1_3_001() {
+    $this->ctx->log->info('Applying update 1_3_001');
+    $this->executeSqlFile('sql/upgrade_1_3_001.sql');
+    return TRUE;
+  }
+
+  public function upgrade_1_3_002() {
+    CRM_Core_ManagedEntities::singleton(TRUE)->reconcile();
+    return TRUE;
+  }
+
+  public function upgrade_1_4_001() {
+    // reset iATS Extension Version in the civicrm_setting table
+    CRM_Core_BAO_Setting::setItem(NULL, 'iATS Payments Extension', 'iats_extension_version');
+    return TRUE;
+  }
+
+  public function upgrade_1_5_000() {
+    // reset iATS Extension Version in the civicrm_setting table
+    CRM_Core_BAO_Setting::setItem(NULL, 'iATS Payments Extension', 'iats_extension_version');
+    return TRUE;
+  }
+
+  public function upgrade_1_5_003() {
+    // populate the new payment instrument id fields in the payment_processor and payment_processor_type fields
+    $version = CRM_Utils_System::version();
+    if (version_compare($version, '4.7') >= 0) {
+      $this->executeSqlFile('sql/upgrade_1_5_003.sql');
+    }
+    return TRUE;
+  }
+
+  public function upgrade_1_6_001() {
+    $this->ctx->log->info('Applying update 1_6_001');
+    try {
+      $this->executeSqlFile('sql/upgrade_1_6_001.sql');
+    }
+    catch (Exception $e) {
+      $this->ctx->log->info($e->getMessage());
+    }
+    return TRUE;
+  }
+
+  public function upgrade_1_6_002() {
+    $this->ctx->log->info('Applying update 1_6_002');
+    try {
+      $this->executeSqlFile('sql/upgrade_1_6_002.sql');
+    }
+    catch (Exception $e) {
+      $this->ctx->log->info($e->getMessage());
+    }
+    return TRUE;
+  }
+
+  public function upgrade_1_6_003() {
+    $this->ctx->log->info('(Re)applying update 1_5_003');
+    try {
+      $this->ctx->log->info('(Re)applying update 1_5_003');
+      $this->executeSqlFile('sql/upgrade_1_5_003.sql');
+    }
+    catch (Exception $e) {
+      $this->ctx->log->info($e->getMessage());
+    }
+    try {
+      $this->ctx->log->info('Setting payment instrument label');
+      $acheft_option_value_id = civicrm_api3('OptionValue', 'getvalue', array('return' => 'id', 'value' => 2, 'option_group_id' => 'payment_instrument'));
+      civicrm_api3('OptionValue', 'create', array('label' => 'ACHEFT', 'id' => $acheft_option_value_id));
+    }
+    catch (Exception $e) {
+      $this->ctx->log->info($e->getMessage());
+    }
+    return TRUE;
+  }
+
+  public function upgrade_1_6_004() {
+    $this->ctx->log->info('Applying update 1_6_004');
+    try {
+      $this->executeSqlFile('sql/upgrade_1_6_004.sql');
+    }
+    catch (Exception $e) {
+      $this->ctx->log->info($e->getMessage());
+    }
+    return TRUE;
+  }
+
+
+  /**
+   * Example: Run an external SQL script
+   *
+   * @return TRUE on success
+   * @throws Exception
+  public function upgrade_4201() {
+    $this->ctx->log->info('Applying update 4201');
+    // this path is relative to the extension base dir
+    $this->executeSqlFile('sql/upgrade_4201.sql');
+    return TRUE;
+  } // */
+
+
+  /**
+   * Example: Run a slow upgrade process by breaking it up into smaller chunk
+   *
+   * @return TRUE on success
+   * @throws Exception
+  public function upgrade_4202() {
+    $this->ctx->log->info('Planning update 4202'); // PEAR Log interface
+
+    $this->addTask(ts('Process first step'), 'processPart1', $arg1, $arg2);
+    $this->addTask(ts('Process second step'), 'processPart2', $arg3, $arg4);
+    $this->addTask(ts('Process second step'), 'processPart3', $arg5);
+    return TRUE;
+  }
+  public function processPart1($arg1, $arg2) { sleep(10); return TRUE; }
+  public function processPart2($arg3, $arg4) { sleep(10); return TRUE; }
+  public function processPart3($arg5) { sleep(10); return TRUE; }
+  // */
+
+
+  /**
+   * Example: Run an upgrade with a query that touches many (potentially
+   * millions) of records by breaking it up into smaller chunks.
+   *
+   * @return TRUE on success
+   * @throws Exception
+  public function upgrade_4203() {
+    $this->ctx->log->info('Planning update 4203'); // PEAR Log interface
+
+    $minId = CRM_Core_DAO::singleValueQuery('SELECT coalesce(min(id),0) FROM civicrm_contribution');
+    $maxId = CRM_Core_DAO::singleValueQuery('SELECT coalesce(max(id),0) FROM civicrm_contribution');
+    for ($startId = $minId; $startId <= $maxId; $startId += self::BATCH_SIZE) {
+      $endId = $startId + self::BATCH_SIZE - 1;
+      $title = ts('Upgrade Batch (%1 => %2)', array(
+        1 => $startId,
+        2 => $endId,
+      ));
+      $sql = '
+        UPDATE civicrm_contribution SET foobar = whiz(wonky()+wanker)
+        WHERE id BETWEEN %1 and %2
+      ';
+      $params = array(
+        1 => array($startId, 'Integer'),
+        2 => array($endId, 'Integer'),
+      );
+      $this->addTask($title, 'executeSql', $sql, $params);
+    }
+    return TRUE;
+  } // */
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/Upgrader/Base.php b/civicrm/ext/iatspayments/CRM/iATS/Upgrader/Base.php
new file mode 100644
index 0000000000..6cf61525ac
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/Upgrader/Base.php
@@ -0,0 +1,320 @@
+<?php
+
+/**
+ * @file
+ * AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file.
+ */
+
+/**
+ * Base class which provides helpers to execute upgrade logic.
+ */
+class CRM_iATS_Upgrader_Base {
+
+  /**
+   * @var variessubclassofhtis
+   */
+  static $instance;
+
+  /**
+   * @var CRM_Queue_TaskContext
+   */
+  protected $ctx;
+
+  /**
+   * @var stringegcomexamplemyextension
+   */
+  protected $extensionName;
+
+  /**
+   * @var stringfullpathtotheextensionssourcetree
+   */
+  protected $extensionDir;
+
+  /**
+   * @var arrayrevisionNumbersortednumerically
+   */
+  private $revisions;
+
+  /**
+   * Obtain a refernece to the active upgrade handler.
+   */
+  static public function instance() {
+    if (!self::$instance) {
+      // FIXME auto-generate.
+      self::$instance = new CRM_iATS_Upgrader(
+        'com.iatspayments.civicrm',
+        realpath(__DIR__ . '/../../../')
+      );
+    }
+    return self::$instance;
+  }
+
+  /**
+   * Adapter that lets you add normal (non-static) member functions to the queue.
+   *
+   * Note: Each upgrader instance should only be associated with one
+   * task-context; otherwise, this will be non-reentrant.
+   *
+   * @code
+   * CRM_iATS_Upgrader_Base::_queueAdapter($ctx, 'methodName', 'arg1', 'arg2');
+   * @endcode
+   */
+  static public function _queueAdapter() {
+    $instance = self::instance();
+    $args = func_get_args();
+    $instance->ctx = array_shift($args);
+    $instance->queue = $instance->ctx->queue;
+    $method = array_shift($args);
+    return call_user_func_array(array($instance, $method), $args);
+  }
+
+  /**
+   *
+   */
+  public function __construct($extensionName, $extensionDir) {
+    $this->extensionName = $extensionName;
+    $this->extensionDir = $extensionDir;
+  }
+
+  // ******** Task helpers ********.
+  /**
+   * Run a CustomData file.
+   *
+   * @param string $relativePath
+   *   the CustomData XML file path (relative to this extension's dir)
+   *
+   * @return bool
+   */
+  public function executeCustomDataFile($relativePath) {
+    $xml_file = $this->extensionDir . '/' . $relativePath;
+    return $this->executeCustomDataFileByAbsPath($xml_file);
+  }
+
+  /**
+   * Run a CustomData file.
+   *
+   * @param string $xml_file
+   *   the CustomData XML file path (absolute path)
+   *
+   * @return bool
+   */
+  protected static function executeCustomDataFileByAbsPath($xml_file) {
+    require_once 'CRM/Utils/Migrate/Import.php';
+    $import = new CRM_Utils_Migrate_Import();
+    $import->run($xml_file);
+    return TRUE;
+  }
+
+  /**
+   * Run a SQL file.
+   *
+   * @param string $relativePath
+   *   the SQL file path (relative to this extension's dir)
+   *
+   * @return bool
+   */
+  public function executeSqlFile($relativePath) {
+    CRM_Utils_File::sourceSQLFile(
+      CIVICRM_DSN,
+      $this->extensionDir . '/' . $relativePath
+    );
+    return TRUE;
+  }
+
+  /**
+   * Run one SQL query.
+   *
+   * This is just a wrapper for CRM_Core_DAO::executeSql, but it
+   * provides syntatic sugar for queueing several tasks that
+   * run different queries.
+   */
+  public function executeSql($query, $params = array()) {
+    // FIXME verify that we raise an exception on error.
+    CRM_Core_DAO::executeSql($query, $params);
+    return TRUE;
+  }
+
+  /**
+   * Syntatic sugar for enqueuing a task which calls a function
+   * in this class. The task is weighted so that it is processed
+   * as part of the currently-pending revision.
+   *
+   * After passing the $funcName, you can also pass parameters that will go to
+   * the function. Note that all params must be serializable.
+   */
+  public function addTask($title) {
+    $args = func_get_args();
+    $title = array_shift($args);
+    $task = new CRM_Queue_Task(
+      array(get_class($this), '_queueAdapter'),
+      $args,
+      $title
+    );
+    return $this->queue->createItem($task, array('weight' => -1));
+  }
+
+  // ******** Revision-tracking helpers ********.
+  
+/**
+   * Determine if there are any pending revisions.
+   *
+   * @return bool
+   */
+  public function hasPendingRevisions() {
+    $revisions = $this->getRevisions();
+    $currentRevision = $this->getCurrentRevision();
+
+    if (empty($revisions)) {
+      return FALSE;
+    }
+    if (empty($currentRevision)) {
+      return TRUE;
+    }
+
+    return ($currentRevision < max($revisions));
+  }
+
+  /**
+   * Add any pending revisions to the queue.
+   */
+  public function enqueuePendingRevisions(CRM_Queue_Queue $queue) {
+    $this->queue = $queue;
+
+    $currentRevision = $this->getCurrentRevision();
+    foreach ($this->getRevisions() as $revision) {
+      if ($revision > $currentRevision) {
+        $title = ts('Upgrade %1 to revision %2', array(
+          1 => $this->extensionName,
+          2 => $revision,
+        ));
+
+        // note: don't use addTask() because it sets weight=-1.
+        $task = new CRM_Queue_Task(
+          array(get_class($this), '_queueAdapter'),
+          array('upgrade_' . $revision),
+          $title
+        );
+        $this->queue->createItem($task);
+
+        $task = new CRM_Queue_Task(
+          array(get_class($this), '_queueAdapter'),
+          array('setCurrentRevision', $revision),
+          $title
+        );
+        $this->queue->createItem($task);
+      }
+    }
+  }
+
+  /**
+   * Get a list of revisions.
+   *
+   * @return array(revisionNumbers) sorted numerically
+   */
+  public function getRevisions() {
+    if (!is_array($this->revisions)) {
+      $this->revisions = array();
+
+      $clazz = new ReflectionClass(get_class($this));
+      $methods = $clazz->getMethods();
+      foreach ($methods as $method) {
+        if (preg_match('/^upgrade_(.*)/', $method->name, $matches)) {
+          $this->revisions[] = $matches[1];
+        }
+      }
+      sort($this->revisions, SORT_NUMERIC);
+    }
+
+    return $this->revisions;
+  }
+
+  /**
+   *
+   */
+  public function getCurrentRevision() {
+    // Return CRM_Core_BAO_Extension::getSchemaVersion($this->extensionName);.
+    $key = $this->extensionName . ':version';
+    return CRM_Core_BAO_Setting::getItem('Extension', $key);
+  }
+
+  /**
+   *
+   */
+  public function setCurrentRevision($revision) {
+    // We call this during hook_civicrm_install, but the underlying SQL
+    // UPDATE fails because the extension record hasn't been INSERTed yet.
+    // Instead, track revisions in our own namespace.
+    // CRM_Core_BAO_Extension::setSchemaVersion($this->extensionName, $revision);.
+    $key = $this->extensionName . ':version';
+    CRM_Core_BAO_Setting::setItem($revision, 'Extension', $key);
+    return TRUE;
+  }
+
+  /**
+   * Hook delegates ********.
+   */
+  public function onInstall() {
+    foreach (glob($this->extensionDir . '/sql/*_install.sql') as $file) {
+      CRM_Utils_File::sourceSQLFile(CIVICRM_DSN, $file);
+    }
+    foreach (glob($this->extensionDir . '/xml/*_install.xml') as $file) {
+      $this->executeCustomDataFileByAbsPath($file);
+    }
+    if (is_callable(array($this, 'install'))) {
+      $this->install();
+    }
+    $revisions = $this->getRevisions();
+    if (!empty($revisions)) {
+      $this->setCurrentRevision(max($revisions));
+    }
+  }
+
+  /**
+   *
+   */
+  public function onUninstall() {
+    if (is_callable(array($this, 'uninstall'))) {
+      $this->uninstall();
+    }
+    foreach (glob($this->extensionDir . '/sql/*_uninstall.sql') as $file) {
+      CRM_Utils_File::sourceSQLFile(CIVICRM_DSN, $file);
+    }
+    $this->setCurrentRevision(NULL);
+  }
+
+  /**
+   *
+   */
+  public function onEnable() {
+    // Stub for possible future use.
+    if (is_callable(array($this, 'enable'))) {
+      $this->enable();
+    }
+  }
+
+  /**
+   *
+   */
+  public function onDisable() {
+    // Stub for possible future use.
+    if (is_callable(array($this, 'disable'))) {
+      $this->disable();
+    }
+  }
+
+  /**
+   *
+   */
+  public function onUpgrade($op, CRM_Queue_Queue $queue = NULL) {
+    switch ($op) {
+      case 'check':
+        return array($this->hasPendingRevisions());
+
+      case 'enqueue':
+        return $this->enqueuePendingRevisions($queue);
+
+      default:
+    }
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/CRM/iATS/iATSService.php b/civicrm/ext/iatspayments/CRM/iATS/iATSService.php
new file mode 100644
index 0000000000..f65056eb05
--- /dev/null
+++ b/civicrm/ext/iatspayments/CRM/iATS/iATSService.php
@@ -0,0 +1,885 @@
+<?php
+
+/**
+ * @file IATS Service Request Object used for accessing iATS Service Interface.
+ *
+ * A lightweight object that encapsulates the details of the iATS Payments interface.
+ *
+ * Provides SOAP interface details for the various methods,
+ * error messages, and cc details
+ *
+ * Require the method id string on construction and any options like trace, logging.
+ * Require the specific payment details, and the client credentials, on request
+ *
+ * TODO: provide logging options for the request, exception and response
+ *
+ * Expected usage:
+ * $iats = new iATS_Service_Request($options)
+ * where options usually include
+ *   type: 'report', 'customer', 'process'
+ *   method: 'cc', etc. as appropriate for that type
+ *   iats_domain: the domain for the api (us or uk currently)
+ * $response = $iats->request($credentials, $request_params)
+ * the request method encapsulates the soap inteface and requires iATS client details + payment info (cc + amount + billing info)
+ * $result = $iats->response($response)
+ * the 'response' method converts the soap response into a nicer format
+ **/
+
+/**
+ *
+ */
+class iATS_Service_Request {
+
+  // iATS transaction mode definitions:
+  const iATS_TXN_NS = 'xmlns';
+  const iATS_TXN_TRACE = TRUE;
+  const iATS_TXN_SUCCESS = 'Success';
+  const iATS_TXN_OK = 'OK';
+  const iATS_URL_PROCESSLINK = '/NetGate/ProcessLinkv2.asmx?WSDL';
+  const iATS_URL_REPORTLINK = '/NetGate/ReportLinkv2.asmx?WSDL';
+  const iATS_URL_CUSTOMERLINK = '/NetGate/CustomerLinkv2.asmx?WSDL';
+  // TODO: confirm with Stephen if this needs a v2 as well:
+  const iATS_URL_DPMPROCESS = '/NetGate/IATSDPMProcess.aspx';
+  const iATS_USE_DPMPROCESS = FALSE;
+
+  /**
+   *
+   */
+  public function __construct($options) {
+    $this->type = isset($options['type']) ? $options['type'] : 'process';
+    $method = $options['method'];
+    $iats_domain = $options['iats_domain'];
+    switch ($this->type) {
+      case 'report':
+        $this->_wsdl_url = 'https://' . $iats_domain . self::iATS_URL_REPORTLINK;
+        break;
+
+      case 'customer':
+        $this->_wsdl_url = 'https://' . $iats_domain . self::iATS_URL_CUSTOMERLINK;
+        break;
+
+      case 'process':
+      default:
+        $this->_wsdl_url = 'https://' . $iats_domain . self::iATS_URL_PROCESSLINK;
+        if ($method == 'cc') {/* as suggested by iATS, though not necessary I believe */
+          $this->_tag_order = array('agentCode', 'password', 'customerIPAddress', 'invoiceNum', 'creditCardNum', 'ccNum', 'creditCardExpiry', 'ccExp', 'firstName', 'lastName', 'address', 'city', 'state', 'zipCode', 'cvv2', 'total', 'comment');
+        }
+        break;
+    }
+    // TODO: check that the method is allowed!
+    $this->method = $this->methodInfo($this->type, $method);
+    // Initialize the request array.
+    $this->request = array();
+    // Name space url.
+    $this->_wsdl_url_ns = 'https://www.iatspayments.com/NetGate/';
+    $this->options = $options;
+    $this->options['debug'] = _iats_civicrm_domain_info('debug_enabled');
+    // Check for valid currencies with domain/method combinations.
+    if (isset($options['currencyID'])) {
+      $valid = FALSE;
+      switch ($iats_domain) {
+        case 'www2.iatspayments.com':
+        case 'www.iatspayments.com':
+          if (in_array($options['currencyID'], array('USD', 'CAD'))) {
+            $valid = TRUE;
+          }
+          break;
+
+        case 'www.uk.iatspayments.com':
+          if ('cc' == substr($method, 0, 2) || 'create_credit_card_customer' == $method) {
+            if (in_array($options['currencyID'], array('AUD', 'USD', 'EUR', 'GBP', 'IEE', 'CHF', 'HKD', 'JPY', 'SGD', 'MXN'))) {
+              $valid = TRUE;
+            }
+          }
+          elseif ('direct_debit' == substr($method, 0, 12)) {
+            if (in_array($options['currencyID'], array('GBP'))) {
+              $valid = TRUE;
+            }
+          }
+          break;
+      }
+      if (!$valid) {
+        CRM_Core_Error::fatal('Invalid currency selection: ' . $options['currencyID'] . ' for domain ' . $iats_domain);
+      }
+    }
+  }
+
+  /* check iATS website for additional supported currencies */
+
+  /**
+   * Submits an API request through the iATS SOAP API Toolkit.
+   *
+   * @param $credentials
+   *   The request object or array containing the merchant credentials
+   *
+   * @param $request_params
+   *   The request array containing the parameters of the requested services.
+   *
+   * @return
+   *   The response object from the API with properties pertinent to the requested
+   *     services.
+   */
+  public function request($credentials, $request_params) {
+    // Attempt the SOAP request and log the exception on failure.
+    $method = $this->method['method'];
+    if (empty($method)) {
+      CRM_Core_Error::fatal('No method for request.');
+      return FALSE;
+    }
+    // Do some massaging of parameters for badly behaving iATS methods ($method is now the iATS method, not our internal key)
+    switch ($method) {
+      case 'CreateACHEFTCustomerCode':
+      case 'CreateCreditCardCustomerCode':
+      case 'UpdateCreditCardCustomerCode':
+        if (empty($request_params['beginDate'])) {
+          $request_params['beginDate'] = date('c', time());
+        }
+        if (empty($request_params['endDate'])) {
+          $request_params['endDate'] = date('c', strtotime('+5 years'));
+        }
+        if (empty($request_params['recurring'])) {
+          $request_params['recurring'] = '0';
+        }
+        break;
+     case 'GetACHEFTApprovedDateRangeCSV':
+     case 'GetACHEFTRejectDateRangeCSV':
+        if (!isset($request_params['startIndex'])) {
+          $request_params['startIndex'] = '0';
+        }
+        if (!isset($request_params['endIndex'])) {
+          $request_params['endIndex'] = '199';
+        }
+    }
+    $message = $this->method['message'];
+    $response = $this->method['response'];
+    // Always log requests to my own table, start by making a copy of the original request
+    // note: this is different from the debug logging that only happens if debug is enabled.
+    if (!empty($request_params['invoiceNum'])) {
+      $logged_request = $request_params;
+      // Mask the cc numbers.
+      $this->mask($logged_request);
+      // log: ip, invoiceNum, , cc, total, date
+      // dpm($logged_request);
+      $cc = isset($logged_request['creditCardNum']) ? $logged_request['creditCardNum'] : (isset($logged_request['ccNum']) ? $logged_request['ccNum'] : '');
+      $ip = $logged_request['customerIPAddress'];
+      $query_params = array(
+        1 => array($logged_request['invoiceNum'], 'String'),
+        2 => array($ip, 'String'),
+        3 => array(substr($cc, -4), 'String'),
+        4 => array('', 'String'),
+        5 => array($logged_request['total'], 'String'),
+      );
+      CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_request_log
+        (invoice_num, ip, cc, customer_code, total, request_datetime) VALUES (%1, %2, %3, %4, %5, NOW())", $query_params);
+      if (!$this->is_ipv4($ip)) {
+        $request_params['customerIPAddress'] = substr($ip, 0, 30);
+      }
+      // Save the invoiceNum so I can log it for the response.
+      $this->invoiceNum = $logged_request['invoiceNum'];
+    }
+    // The agent user and password only get put in here so they don't end up in a log above.
+    try {
+      $credentials = (array) $credentials;
+      $testAgentCode = ('TEST88' == $credentials['agentCode']) ? TRUE : FALSE;
+      /* until iATS fixes it's box verify, we need to have trace on to make the hack below work */
+      $soapClient = new SoapClient($this->_wsdl_url, array('trace' => 1, 'soap_version' => SOAP_1_2));
+      /* build the request manually as per the iATS docs */
+      $xml = '<' . $message . ' xmlns="' . $this->_wsdl_url_ns . '">';
+      $request = array_merge($this->request, $credentials, $request_params);
+      // Pass CiviCRM tag + version to iATS.
+      $request['comment'] = 'CiviCRM: ' . CRM_Utils_System::version() . ' + ' . 'iATS Extension: ' . $this->iats_extension_version();
+      $tags = (!empty($this->_tag_order)) ? $this->_tag_order : array_keys($request);
+      foreach ($tags as $k) {
+        if (isset($request[$k])) {
+          $xml .= '<' . $k . '>' . $this->xmlsafe($request[$k]) . '</' . $k . '>';
+        }
+      }
+      $xml .= '</' . $message . '>';
+      if ($testAgentCode && !empty($this->options['debug'])) {
+        CRM_Core_Error::debug_var('Method info', $method);
+        CRM_Core_Error::debug_var('XML', $xml);
+      }
+      $soapRequest = new SoapVar($xml, XSD_ANYXML);
+      if ($testAgentCode && !empty($this->options['debug'])) {
+        CRM_Core_Error::debug_var('SoapRequest', $soapRequest);
+      }
+      $soapResponse = $soapClient->$method($soapRequest);
+      if (!empty($this->options['debug'])  && $testAgentCode) {
+        $request_log = "\n HEADER:\n";
+        $request_log .= $soapClient->__getLastRequestHeaders();
+        $request_log .= "\n BODY:\n";
+        $request_log .= $soapClient->__getLastRequest();
+        $request_log .= "\n BODYEND:\n";
+        CRM_Core_Error::debug_var('Request Log', $request_log);
+        $response_log = "\n HEADER:\n";
+        $response_log .= $soapClient->__getLastResponseHeaders();
+        $response_log .= "\n BODY:\n";
+        $response_log .= $soapClient->__getLastResponse();
+        $response_log .= "\n BODYEND:\n";
+        CRM_Core_Error::debug_var('Response Log', $response_log);
+      }
+    }
+    catch (SoapFault $exception) {
+      if (!empty($this->options['debug'])) {
+        CRM_Core_Error::debug_var('SoapFault Exception', $exception);
+        $response_log = "\n HEADER:\n";
+        $response_log .= $soapClient->__getLastResponseHeaders();
+        $response_log .= "\n BODY:\n";
+        $response_log .= $soapClient->__getLastResponse();
+        $response_log .= "\n BODYEND:\n";
+        CRM_Core_Error::debug_var('Raw Response', $response_log);
+      }
+      return FALSE;
+    }
+
+    // Log the response if specified.
+    if (!empty($this->options['debug'])) {
+      CRM_Core_Error::debug_var('iATS SOAP Response', $soapResponse);
+    }
+    if (isset($soapResponse->$response->any)) {
+      $xml_response = $soapResponse->$response->any;
+      return new SimpleXMLElement($xml_response);
+    }
+    // Deal with bad iats soap, this will only work if trace (debug) is on for now.
+    else {
+      $hack = new stdClass();
+      $hack->FILE = strip_tags($soapClient->__getLastResponse());
+      return $hack;
+    }
+  }
+
+  /**
+   *
+   */
+  public function file($response) {
+    return base64_decode($response->FILE);
+  }
+
+  /**
+   * Process the response to the request into a more friendly format in an array $result;
+   * Log the result to an internal table while I'm at it, unless explicitly not requested.
+   */
+  public function result($response, $log = TRUE) {
+    $result = array('auth_result' => '', 'remote_id' => '', 'status' => '');
+    switch ($this->type) {
+      case 'report':
+      case 'process':
+        if (!empty($response->PROCESSRESULT)) {
+          $processresult = $response->PROCESSRESULT;
+          $result['auth_result'] = trim(current($processresult->AUTHORIZATIONRESULT));
+          $result['remote_id'] = current($processresult->TRANSACTIONID);
+          // If we didn't get an approval response code...
+          // Note: do not use SUCCESS property, which just means iATS said "hello".
+          $result['status'] = (substr($result['auth_result'], 0, 2) == self::iATS_TXN_OK) ? 1 : 0;
+        }
+        // If the payment failed, display an error and rebuild the form.
+        if (empty($result['status'])) {
+          $result['reasonMessage'] = $result['auth_result'] ? $this->reasonMessage($result['auth_result']) : 'Unexpected Server Error, please see your logs';
+        }
+        break;
+
+      case 'customer':
+        if ($response->STATUS == 'Success') {
+          if (!empty($response->AUTHRESULT)) {
+            $result = get_object_vars($response->AUTHRESULT);
+            $result['status'] = (substr($result['AUTHSTATUS'], 0, 2) == self::iATS_TXN_OK) ? 1 : 0;
+          }
+          elseif (!empty($response->PROCESSRESULT)) {
+            $result = get_object_vars($response->PROCESSRESULT);
+            $result['status'] = (substr($result['AUTHORIZATIONRESULT'], 0, 2) == self::iATS_TXN_OK) ? 1 : 0;
+          }
+          elseif (!empty($response->CUSTOMERS->CST)) {
+            $customer = get_object_vars($response->CUSTOMERS->CST);
+            foreach ($customer as $key => $value) {
+              if (is_string($value)) {
+                $result[$key] = $value;
+              }
+            }
+            $result['ac1'] = $customer['AC1'];
+            $result['status'] = 1;
+          }
+        }
+        // If the payment failed, display an error and rebuild the form.
+        if (empty($result['status'])) {
+          $result['reasonMessage'] = isset($result['BANKERROR']) ? $result['BANKERROR'] :
+             (isset($result['AUTHORIZATIONRESULT']) ? $result['AUTHORIZATIONRESULT'] :
+               (isset($result['ERRORS']) ? $result['ERRORS'] :
+                 'Unexpected error'
+               )
+             );
+        }
+        break;
+    }
+    if ($log && !empty($this->invoiceNum) && ($this->type == 'process')) {
+      $query_params = array(
+        1 => array($this->invoiceNum, 'String'),
+        2 => array($result['auth_result'], 'String'),
+        3 => array($result['remote_id'], 'String'),
+      );
+      CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_response_log
+        (invoice_num, auth_result, remote_id, response_datetime) VALUES (%1, %2, %3, NOW())", $query_params);
+      // #hack - this is necessary for 4.4 and possibly earlier versions of 4.6.x
+      // this ensures that trxn_id gets written to the contribution record - even if core did not do so.
+      if ($this->options['method'] == 'cc_with_customer_code') {
+        $api_params = array(
+          'version' => 3,
+          'sequential' => 1,
+          'invoice_id' => $this->invoiceNum,
+        );
+        $contribution = civicrm_api('contribution', 'getsingle', $api_params);
+        if (!empty($contribution['id']) && empty($contribution['trxn_id'])) {
+          $api_params = array(
+            'version' => 3,
+            'sequential' => 1,
+            'id' => $contribution['id'],
+            'trxn_id' => trim($result['remote_id']) . ':' . time(),
+          );
+          civicrm_api('contribution', 'create', $api_params);
+          // watchdog('civicrm_iatspayments_com', 'rewrite: !request', array('!request' => '<pre>' . print_r($tmp, TRUE) . '</pre>', WATCHDOG_DEBUG));.
+        }
+      }
+    }
+    return $result;
+  }
+
+  /**
+   * Helper function to process csv files
+   * convert to an array of objects, each one corresponding to a transaction row.
+   */
+  public function getCSV($response, $method) {
+    $transactions = array();
+    $iats_domain = parse_url($this->_wsdl_url, PHP_URL_HOST);
+
+    switch ($iats_domain) {
+      case 'www.iatspayments.com':
+        $date_format = 'm/d/Y H:i:s';
+        $tz_string  = 'America/Vancouver';
+        break;
+
+      case 'www.uk.iatspayments.com':
+        $date_format = 'd/m/Y H:i:s';
+        $tz_string  = 'Europe/London';
+        break;
+
+      // Todo throw an exception instead? This should never happen!
+      default:
+        die('Invalid domain for date format');
+    }
+    $tz_object  = new DateTimeZone($tz_string);
+    $gmt_datetime = new DateTime;
+    $gmt_offset = $tz_object->getOffset($gmt_datetime);
+    if (is_object($response)) {
+      $box = preg_split("/\r\n|\n|\r/", $this->file($response));
+      // watchdog('civicrm_iatspayments_com', 'csv: <pre>!data</pre>', array('!data' => print_r($box,TRUE)), WATCHDOG_NOTICE);.
+      if (1 < count($box)) {
+        // Data is an array of rows, the first of which is the column headers.
+        $headers = array_flip(array_map('trim',str_getcsv($box[0])));
+        for ($i = 1; $i < count($box); $i++) {
+          if (empty($box[$i])) {
+            continue;
+          }
+          $transaction = new stdClass();
+          // save the raw data in 'data'
+          $data = str_getcsv($box[$i]);
+          // and then store it as an associate array based on the headers
+          $record = array();
+          foreach($headers as $label => $column_i) {
+            $record[$label] = $data[$column_i];
+          }
+          // First get the data common to all methods.
+          $transaction->id = $record['Transaction ID'];
+          $transaction->customer_code = $record['Customer Code'];
+          // Save the entire record in case I need it
+          $transaction->data = $record;
+          // Now the method specific headers.
+          switch($method) {
+            // These are the same-day journals
+            case 'cc_journal_csv':
+            case 'acheft_journal_csv':
+              $datetime = $record['Date'];
+              $transaction->invoice = $record['Invoice'];
+              $transaction->amount = $record['Total'];
+              break;
+            // The box journals are the default.
+            default:
+              $transaction->amount = $record['Amount'];
+              $datetime = $record['Date Time'];
+              $transaction->invoice = $record['Invoice Number'];
+              // And now the uk dd specific hack, only for the box journals.
+              if ('www.uk.iatspayments.com' == $iats_domain) {
+                $transaction->achref = $record['ACH Ref.'];
+              }
+              break;
+          }
+          // Note that $gmt_offset and date_format depend on the server (iats_domain)
+          $rdp = date_parse_from_format($date_format, $datetime);
+          $transaction->receive_date = gmmktime($rdp['hour'], $rdp['minute'], $rdp['second'], $rdp['month'], $rdp['day'], $rdp['year']) - $gmt_offset;
+          // And now save it.
+          $transactions[$transaction->id] = $transaction;
+        }
+      }
+    }
+    return $transactions;
+  }
+
+  /**
+   * Provides the soap parameters for each of the ways to process payments at iATS Services
+   * Parameters are: method, message and response, these are all soap object properties
+   * Title and description provide a public information interface, not used internally.
+   */
+  public function methodInfo($type = '', $method = '') {
+    $desc = 'Integrates the iATS SOAP webservice: ';
+    switch ($type) {
+      default:
+      case 'process':
+        $methods = array(
+          'cc' => array(
+            'title' => 'Credit card',
+            'description' => $desc . 'ProcessCreditCard',
+            'method' => 'ProcessCreditCard',
+            'message' => 'ProcessCreditCard',
+            'response' => 'ProcessCreditCardResult',
+          ),
+          'cc_create_customer_code' => array(
+            'title' => 'Credit card, saved',
+            'description' => $desc . 'CreateCustomerCodeAndProcessCreditCard',
+            'method' => 'CreateCustomerCodeAndProcessCreditCard',
+            'message' => 'CreateCustomerCodeAndProcessCreditCard',
+            'response' => 'CreateCustomerCodeAndProcessCreditCardResult',
+          ),
+          'cc_with_customer_code' => array(
+            'title' => 'Credit card using saved info',
+            'description' => $desc . 'ProcessCreditCardWithCustomerCode',
+            'method' => 'ProcessCreditCardWithCustomerCode',
+            'message' => 'ProcessCreditCardWithCustomerCode',
+            'response' => 'ProcessCreditCardWithCustomerCodeResult',
+          ),
+          'acheft' => array(
+            'title' => 'ACH/EFT',
+            'description' => $desc . 'ProcessACHEFT',
+            'method' => 'ProcessACHEFT',
+            'message' => 'ProcessACHEFT',
+            'response' => 'ProcessACHEFTResult',
+          ),
+          'acheft_create_customer_code' => array(
+            'title' => 'ACH/EFT, saved',
+            'description' => $desc . 'CreateCustomerCodeAndProcessACHEFT',
+            'method' => 'CreateCustomerCodeAndProcessACHEFT',
+            'message' => 'CreateCustomerCodeAndProcessACHEFT',
+            'response' => 'CreateCustomerCodeAndProcessACHEFTResult',
+          ),
+          'acheft_with_customer_code' => array(
+            'title' => 'ACH/EFT with customer code',
+            'description' => $desc . 'ProcessACHEFTWithCustomerCode',
+            'method' => 'ProcessACHEFTWithCustomerCode',
+            'message' => 'ProcessACHEFTWithCustomerCode',
+            'response' => 'ProcessACHEFTWithCustomerCodeResult',
+          ),
+        );
+        break;
+      case 'report':
+        $methods = array(
+         // 'acheft_journal' => array(
+         //   'title' => 'ACH-EFT Journal',
+         //   'description'=> $desc. 'GetACHEFTJournal',
+         //   'method' => 'GetACHEFTJournal',
+         //   'message' => 'GetACHEFTJournal',
+         //   'response' => 'GetACHEFTJournalResult',
+         // ),.
+          'cc_journal_csv' => array(
+            'title' => 'Credit Card Journal CSV',
+            'description' => $desc . 'GetCreditCardApprovedSpecificDateCSV',
+            'method' => 'GetCreditCardApprovedSpecificDateCSV',
+            'message' => 'GetCreditCardApprovedSpecificDateCSV',
+            'response' => 'GetCreditCardApprovedSpecificDateCSVResult',
+          ),
+          'cc_payment_box_journal_csv' => array(
+            'title' => 'Credit Card Payment Box Journal CSV',
+            'description'=> $desc. 'GetCreditCardApprovedDateRangeCSV',
+            'method' => 'GetCreditCardApprovedDateRangeCSV',
+            'message' => 'GetCreditCardApprovedDateRangeCSV',
+            'response' => 'GetCreditCardApprovedDateRangeCSVResult',
+          ),
+          'cc_payment_box_reject_csv' => array(
+            'title' => 'Credit Card Payment Box Reject CSV',
+            'description'=> $desc. 'GetCreditCardRejectDateRangeCSV',
+            'method' => 'GetCreditCardRejectDateRangeCSV',
+            'message' => 'GetCreditCardRejectDateRangeCSV',
+            'response' => 'GetCreditCardRejectDateRangeCSVResult',
+          ),
+          'acheft_journal_csv' => array(
+            'title' => 'ACH-EFT Journal CSV',
+            'description' => $desc . 'GetACHEFTApprovedSpecificDateCSV',
+            'method' => 'GetACHEFTApprovedSpecificDateCSV',
+            'message' => 'GetACHEFTApprovedSpecificDateCSV',
+            'response' => 'GetACHEFTApprovedSpecificDateCSVResult',
+          ),
+          'acheft_payment_box_journal_csv' => array(
+            'title' => 'ACH-EFT Payment Box Journal CSV',
+            'description' => $desc . 'GetACHEFTApprovedDateRangeCSV',
+            'method' => 'GetACHEFTApprovedDateRangeCSV',
+            'message' => 'GetACHEFTApprovedDateRangeCSV',
+            'response' => 'GetACHEFTApprovedDateRangeCSVResult',
+          ),
+          'acheft_payment_box_reject_csv' => array(
+            'title' => 'ACH-EFT Payment Box Reject CSV',
+            'description' => $desc . 'GetACHEFTRejectDateRangeCSV',
+            'method' => 'GetACHEFTRejectDateRangeCSV',
+            'message' => 'GetACHEFTRejectDateRangeCSV',
+            'response' => 'GetACHEFTRejectDateRangeCSVResult',
+          ),
+         // 'acheft_reject' => array(
+         //   'title' => 'ACH-EFT Reject',
+         //   'description'=> $desc. 'GetACHEFTReject',
+         //   'method' => 'GetACHEFTReject',
+         //   'message' => 'GetACHEFTReject',
+         //   'response' => 'GetACHEFTRejectResult',
+         // ),.
+          'acheft_reject_csv' => array(
+            'title' => 'ACH-EFT Reject CSV',
+            'description' => $desc . 'GetACHEFTRejectSpecificDateCSV',
+            'method' => 'GetACHEFTRejectSpecificDateCSV',
+            'message' => 'GetACHEFTRejectSpecificDateCSV',
+            'response' => 'GetACHEFTRejectSpecificDateCSVResult',
+          ),
+        );
+        break;
+
+      case 'customer':
+        $methods = array(
+          'get_customer_code_detail' => array(
+            'title' => 'Get Customer Code Detail',
+            'description' => $desc . 'GetCustomerCodeDetail',
+            'method' => 'GetCustomerCodeDetail',
+            'message' => 'GetCustomerCodeDetail',
+            'response' => 'GetCustomerCodeDetailResult',
+          ),
+          'create_credit_card_customer' => array(
+            'title' => 'Create CustomerCode Credit Card',
+            'description' => $desc . 'CreateCreditCardCustomerCode',
+            'method' => 'CreateCreditCardCustomerCode',
+            'message' => 'CreateCreditCardCustomerCode',
+            'response' => 'CreateCreditCardCustomerCodeResult',
+          ),
+          'update_credit_card_customer' => array(
+            'title' => 'Update CustomerCode Credit Card',
+            'description' => $desc . 'UpdateCreditCardCustomerCode',
+            'method' => 'UpdateCreditCardCustomerCode',
+            'message' => 'UpdateCreditCardCustomerCode',
+            'response' => 'UpdateCreditCardCustomerCodeResult',
+          ),
+          'direct_debit_acheft_payer_validate' => array(
+            'title' => 'Direct Debit ACHEFT Payer Validate',
+            'description' => $desc . 'DirectDebitACHEFTPayerValidate',
+            'method' => 'DirectDebitACHEFTPayerValidate',
+            'message' => 'DirectDebitACHEFTPayerValidate',
+            'response' => 'DirectDebitACHEFTPayerValidateResult',
+          ),
+          'create_acheft_customer_code' => array(
+            'title' => 'Create ACHEFT Customer Code',
+            'description' => $desc . 'CreateACHEFTCustomerCode',
+            'method' => 'CreateACHEFTCustomerCode',
+            'message' => 'CreateACHEFTCustomerCode',
+            'response' => 'CreateACHEFTCustomerCodeResult',
+          ),
+        );
+        break;
+    }
+    if ($method) {
+      return $methods[$method];
+    }
+    return $methods;
+  }
+
+  /**
+   * Returns the message text for a credit card service reason code.
+   * As per iATS error codes - sent to us by Ryan Creamore
+   * TODO: multilingual options?
+   */
+  public function reasonMessage($code) {
+    switch ($code) {
+
+      case 'REJECT: 1':
+        return 'Agent code has not been set up on the authorization system. Please call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 2':
+        return 'Unable to process transaction. Verify and reenter credit card information.';
+
+      case 'REJECT: 3':
+        return 'Invalid customer code.';
+
+      case 'REJECT: 4':
+        return 'Incorrect expiry date.';
+
+      case 'REJECT: 5':
+        return 'Invalid transaction. Verify and re-enter credit card information.';
+
+      case 'REJECT: 6':
+        return 'Please have cardholder call the number on the back of the card.';
+
+      case 'REJECT: 7':
+        return 'Lost or stolen card.';
+
+      case 'REJECT: 8':
+        return 'Invalid card status.';
+
+      case 'REJECT: 9':
+        return 'Restricted card status, usually on corporate cards restricted to specific sales.';
+
+      case 'REJECT: 10':
+        return 'Error. Please verify and re-enter credit card information.';
+
+      case 'REJECT: 11':
+        return 'General decline code. Please have cardholder call the number on the back of the card.';
+
+      case 'REJECT: 12':
+        return 'Incorrect CVV2 or expiry date.';
+
+      case 'REJECT: 14':
+        return 'The card is over the limit.';
+
+      case 'REJECT: 15':
+        return 'General decline code. Please have cardholder call the number on the back of the card.';
+
+      case 'REJECT: 16':
+        return 'Invalid charge card number. Verify and re-enter credit card information.';
+
+      case 'REJECT: 17':
+        return 'Unable to authorize transaction. Authorizer needs more information for approval.';
+
+      case 'REJECT: 18':
+        return 'Card not supported by institution.';
+
+      case 'REJECT: 19':
+        return 'Incorrect CVV2 security code.';
+
+      case 'REJECT: 22':
+        return 'Bank timeout.  Bank lines may be down or busy. Retry later.';
+
+      case 'REJECT: 23':
+        return 'System error. Retry transaction later.';
+
+      case 'REJECT: 24':
+        return 'Charge card expired.';
+
+      case 'REJECT: 25':
+        return 'Capture card. Reported lost or stolen.';
+
+      case 'REJECT: 26':
+        return 'Invalid transaction, invalid expiry date. Please confirm and retry transaction.';
+
+      case 'REJECT: 27':
+        return 'Please have cardholder call the number on the back of the card.';
+
+      case 'REJECT: 32':
+        return 'Invalid charge card number.';
+
+      case 'REJECT: 39':
+        return 'Contact iATS at 1-888-955-5455.';
+
+      case 'REJECT: 40':
+        return 'Invalid card number. Card not supported by iATS.';
+
+      case 'REJECT: 41':
+        return 'Invalid expiry date.';
+
+      case 'REJECT: 42':
+        return 'CVV2 required.';
+
+      case 'REJECT: 43':
+        return 'Incorrect AVS.';
+
+      case 'REJECT: 45':
+        return 'Credit card name blocked. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 46':
+        return 'Card tumbling. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 47':
+        return 'Name tumbling. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 48':
+        return 'IP blocked. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 49':
+        return 'Velocity 1 – IP block. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 50':
+        return 'Velocity 2 – IP block. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 51':
+        return 'Velocity 3 – IP block. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 52':
+        return 'Credit card BIN country blocked. Call iATS at 1-888-955-5455.';
+
+      case 'REJECT: 100':
+        return 'DO NOT REPROCESS. Call iATS at 1-888-955-5455.';
+
+      case 'Timeout':
+        return 'The system has not responded in the time allotted. Call iATS at 1-888-955-5455.';
+    }
+
+    return $code;
+  }
+
+  /**
+   * Returns the message text for a CVV match.
+   * This function not currently in use.
+   */
+  public function cvnResponse($code) {
+    switch ($code) {
+      case 'D':
+        return t('The transaction was determined to be suspicious by the issuing bank.');
+
+      case 'I':
+        return t("The CVN failed the processor's data validation check.");
+
+      case 'M':
+        return t('The CVN matched.');
+
+      case 'N':
+        return t('The CVN did not match.');
+
+      case 'P':
+        return t('The CVN was not processed by the processor for an unspecified reason.');
+
+      case 'S':
+        return t('The CVN is on the card but was not included in the request.');
+
+      case 'U':
+        return t('Card verification is not supported by the issuing bank.');
+
+      case 'X':
+        return t('Card verification is not supported by the card association.');
+
+      case '1':
+        return t('Card verification is not supported for this processor or card type.');
+
+      case '2':
+        return t('An unrecognized result code was returned by the processor for the card verification response.');
+
+      case '3':
+        return t('No result code was returned by the processor.');
+    }
+
+    return '-';
+  }
+
+  /**
+   *
+   */
+  public function creditCardTypes() {
+    return array(
+      'VI' => t('Visa'),
+      'MC' => t('MasterCard'),
+      'AMX' => t('American Express'),
+      'DSC' => t('Discover Card'),
+    );
+  }
+
+  /**
+   *
+   */
+  public function mask(&$log_request) {
+    // Mask the credit card number and CVV.
+    foreach (array('creditCardNum', 'cvv2', 'ccNum') as $mask) {
+      if (!empty($log_request[$mask])) {
+        // Show the last four digits of cc numbers.
+        if (4 < strlen($log_request[$mask])) {
+          $log_request[$mask] = str_repeat('X', strlen($log_request[$mask]) - 4) . substr($log_request[$mask], -4);
+        }
+        else {
+          $log_request[$mask] = str_repeat('X', strlen($log_request[$mask]));
+        }
+      }
+    }
+  }
+
+  /**
+   * When I'm using this object outside of the doDirect payment interface (e.g. a payment from the recurring job), I need to look up the credentials
+   * I need to pay attention to whether I should use the test credentials, which is the 'mode' in doDirect payment
+   * I also return the url_site value in case I need that.
+   */
+  public static function credentials($payment_processor_id, $is_test = 0) {
+    static $credentials = array();
+    if (empty($credentials[$payment_processor_id])) {
+      $select = 'SELECT user_name, password, url_site FROM civicrm_payment_processor WHERE id = %1 AND is_test = %2';
+      $args = array(
+        1 => array($payment_processor_id, 'Int'),
+        2 => array($is_test, 'Int'),
+      );
+      $dao = CRM_Core_DAO::executeQuery($select, $args);
+      if ($dao->fetch()) {
+        $cred = array(
+          'agentCode' => $dao->user_name,
+          'password' => $dao->password,
+          'domain' => parse_url($dao->url_site, PHP_URL_HOST),
+        );
+        $credentials[$payment_processor_id] = $cred;
+        return $cred;
+      }
+      return;
+    }
+    return $credentials[$payment_processor_id];
+  }
+
+  /**
+   *
+   */
+  public static function is_ipv4($ip) {
+    // The regular expression checks for any number between 0 and 255 beginning with a dot (repeated 3 times)
+    // followed by another number between 0 and 255 at the end. The equivalent to an IPv4 address.
+    // It does not allow leading zeros [from http://runnable.com/UmrneujI6Q4_AAIW/how-to-validate-an-ipv4-address-using-regular-expressions-for-php-and-pcre]
+    return (bool) preg_match('/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])' .
+    '\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|[0-9])$/', $ip);
+  }
+
+  /**
+   *
+   */
+  public static function isDPM($pp) {
+    return self::iATS_USE_DPMPROCESS;
+  }
+
+  /**
+   *
+   */
+  public static function dpm_url($iats_domain) {
+    return 'https://' . $iats_domain . self::iATS_URL_DPMPROCESS;
+  }
+
+  /**
+   *
+   */
+  public static function iats_extension_version($reset = 0) {
+    $version = $reset ? '' : CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_extension_version');
+    if (empty($version)) {
+      $xmlfile = CRM_Core_Resources::singleton()->getPath('com.iatspayments.civicrm', 'info.xml');
+      $myxml = simplexml_load_file($xmlfile);
+      $version = (string) $myxml->version;
+      CRM_Core_BAO_Setting::setItem($version, 'iATS Payments Extension', 'iats_extension_version');
+    }
+    return $version;
+  }
+  /**
+   * function xmlsafe
+   *
+   * Replacement for using ENT_XML1 with htmlspecialchars for php5.3 compatibility.
+   */
+  private function xmlsafe($string) {
+    if (version_compare(PHP_VERSION, '5.4.0') < 0) {
+      $replace = array(
+        '"'=> "&quot;",
+        "&" => "&amp;",
+        "'"=> "&apos;",
+        "<" => "&lt;",
+        ">"=> "&gt;"
+      );
+      return strtr($string, $replace);
+    }
+    // else, better way for php5.4 and above
+    return htmlspecialchars($string, ENT_XML1, 'UTF-8');
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/README.md b/civicrm/ext/iatspayments/README.md
new file mode 100644
index 0000000000..4d30925045
--- /dev/null
+++ b/civicrm/ext/iatspayments/README.md
@@ -0,0 +1,123 @@
+com.iatspayments.civicrm
+===============
+
+CiviCRM Extension for iATS Web Services Payment Processor - Date: Oct 17, 2017. 
+Version 1.5.3 for 4.6.x and below.
+Version 1.6.1 for 4.7.x.
+
+This README.md contains information specific to system administrators/developers. Information for users/implementors can be found in the Documentation Wiki: https://github.com/iATSPayments/com.iatspayments.civicrm/wiki/Documentation
+
+Requirements
+------------
+
+1. CiviCRM 4.6.x or 4.7.x. We strongly recommend that you keep up with the most recent version of each branch.
+
+2. Your PHP needs to include the SOAP extension (php.net/manual/en/soap.setup.php), recommended that you use at least PHP 5.6 but 5.3 and above should work if it supports TLS1.1/1.2 and SHA-256.
+
+3. To use this extension in production, You must have an iATS Payments Account - and have configured it to accept payment though WebServices. You can use the shared iATS test account credentials for initial setup and testing. For details please see the Documentation Wiki: https://github.com/iATSPayments/com.iatspayments.civicrm/wiki/Documentation
+
+4. To handle ACH/EFT Contributions (verification of them) and to handle Recurring Contributions (of any type) you must configure cron for your CiviCRM install. Information about how to do this can be found in: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs
+
+
+Installation
+------------
+
+This extension follows the standard installation method - if you've got a supported CiviCRM version and you've set up your extensions directory, it'll appear in the Manage Extensions list as 'iATS Payments (com.iatspayments.civicrm)'. Hit Install.
+
+If you need help with installing extensions, try: https://wiki.civicrm.org/confluence/display/CRMDOC/Extensions
+
+If you want to try out a particular version directly from github, you probably already know how to do that.
+
+Once the extension is installed, you need to add the payment processor(s) and input your iATS credentials:
+
+1. Administer -> System Settings -> Payment Processors -> + Add Payment Processor
+
+2. Select iATS Payments Credit Card, iATS Payments ACH/EFT, or iATS Payments SWIPE, they are all provided by this extension (the instructions differ only slightly for each one). You can create multiple payment processor entries using the same credentials for the different types.
+
+3. The "Name" of the payment processor is what your site visitors will see when they select a payment method, so typically use "Credit Card" here, or "Credit Card C$" (or US$) if there's any doubt about the currency. Your iATS Payments Account is configured for a single currency, so when you set up the payment page, you'll have to manually ensure you set the right currency (not an issue if you're only handling one currency).
+
+4. The test account uses Agent Code = TEST88 and Password = TEST88. This is a shared test account, so don't put in any private information.
+
+5. If you'd like to test using live workflows, you can just temporarily use the test account credentials in your live processor fields.
+
+6. Create a Contribution Page (or go to an existing one) -> Under Configure -> Contribution Amounts -> select your newly installed/configured Payment Processor(s), and Save.
+
+Extension Testing Notes
+-----------------------
+
+1. Our test matrix includes 21 type of transactions at the moment. View a summary of the results here: https://cloud.githubusercontent.com/assets/5340555/5616064/2459a9b8-94be-11e4-84c7-2ef0c83cc744.png
+
+2. Manage Contribution Pages -> Links -> Live Page.
+
+  * iATS Payments Credit Card: use test VISA: 4222222222222220 security code = 123 and any future Expiration date - to process any $amount.
+
+  * iATS Payments ACH/EFT: use 000000 for the Transit Number; 123 for the Bank Number; 123456 for the Bank Account Number $1
+
+  * iATS Payments SWIPE: not easy to test - even if you have an Encrypted USB Card Reader (sourced by iATS Payments) you will need a physical fake credit card with: 4222222222222220 security code = 123 and any future Expiration date in the magnetic strip - to process any $amount.
+
+  * iATS Payments UK Direct Debit: use 12345678 for Account Number; 000000 for Sort Code
+
+7. iATS has another test VISA: 41111111111111111 security code = 123 and any future Expiration date
+
+8. Reponses for a transaction with VISA: 41111111111111111 depend on the $amount processed - as follows
+  * 1.00 OK: 678594;
+  * 2.00 REJ: 15;
+  * 3.00 OK: 678594;
+  * 4.00 REJ: 15;
+  * 5.00 REJ: 15;
+  * 6.00 OK: 678594:X;
+  * 7.00 OK: 678594:y;
+  * 8.00 OK: 678594:A;
+  * 9.00 OK: 678594:Z;
+  * 10.00 OK: 678594:N;
+  * 15.00, if CVV2=1234 OK: 678594:Y; if there is no CVV2: REJ: 19
+  * 16.00 REJ: 2;
+  * Other Amount REJ: 15
+
+9. After completing a TEST payment -> check the Contributions -> Dashboard. Credit Card Transactions are authorized (=Completed) right away. ACH/EFT + UK direct Debit will be (=Pending).
+
+10. Visit https://home.iatspayments.com -> and click the Client Login button (top right)
+  * Login with TEST88 and TEST88
+  * hit Reports -> Journal - Credit Card Transactions -> Get Journal -> if it has been a busy day there will be lots of transactions here - so hit display all and scroll down to see the transaction you just processed via CiviCRM.
+  * hit Reports -> Journal - ACHEFT Transactions -> List Batches (the test transaction will be here until it is sent to the bank for processing - after that - and depending on the Result - it will appear in either the ACHEFT Approval or the ACHEFT Reject journal.
+
+11. For iATS Payments UK Direct Debit -> visit: https://www.uk.iatspayments.com
+  * Login with UDDD88 and DDTESTUK
+  * hit Virtual Terminal -> Customer Database -> Search by Name -> hit Edit icon (on the left) -> to see all details, including the Reference Number (which should match up with what you saw on your Thank you screen in CiviCRM). 
+  * NOTE: Each charity needs to have a BACS accredited supplier vet their CiviCRM Direct Debit - Contribution Pages
+
+12. If things don't look right, you can turn on Drupal and CiviCRM logging - try another TEST transaction - and then see some detailed logging of the SOAP exchanges for more hints about where it might have gone wrong.
+
+13. To test recurring contributions - try creating a recurring contribution for every day and then go back the next day and manually trigger Scheduled Job: iATS Payments Recurring Contributions
+
+14. To test ACH/EFT contributions - manually run Scheduled Job: iATS Payments Verification - it will check with iATS to see if there is any word from the bank yet. How long it takes before a yeah or neah is available depends on the day of the week and the time the transaction is submitted. It can take overnight (over weekend) to get a verification. 
+
+Once you're happy all is well - then all you need to do is update the Payment Processor data - with your own iATS' Agent Code and Password.
+
+Remember that iATS master accounts (ending in 01) can typically NOT be used to push monies into via web services. So when setting up your Account with iATS - ask them to create another (set of) Agent Codes for you: e.g. 80 or 90, etc.
+
+Also remember to turn off debugging/logging on any production environment!
+
+Issues
+------
+
+The best source for understanding current issues with the most recent release is the github issue queue:
+https://github.com/iATSPayments/com.iatspayments.civicrm/issues
+
+Some issues may be related to core CiviCRM issues, and may not have an immediate solution, but we'll endeavour to help you understand, work-around, and/or fix whatever concerns you raise on the issue queue.
+
+Below is a list of some of the most common issues:
+
+'Backend' ACH/EFT is not supported by CiviCRM core. Having an enabled ACH/EFT payment processor broke the backend live credit card payment page in core (until it was fixed here https://issues.civicrm.org/jira/browse/CRM-14442), so this module fixes that if it's an issue, and also provides links to easily allow administrators to input ACH/EFT on behalf of constituents. A similar problem existings for backend membership and event payments, and this has only been fixed in core for 4.6.
+
+9002 Error - if you get this when trying to make a contribution, then you're getting that error back from the iATS server due to an account misconfiguration. One source is due to some special characters in your passwd.
+
+CiviCRM core assigns Membership status (=new) and extends Membership End date as well as Event status (=registered) as soon as ACH/EFT is submitted (so while payment is still pending - this could be several days for ACH/EFT). If the contribution receives a Ok:BankAccept -> the extension will mark the contribution in CiviCRM as completed. If the contribution does NOT receive a Ok:BankAccept -> the extension will mark the contribution in CiviCRM as rejected - however - associated existing Membership and Event records may need to be updated manually.
+
+For 4.6, recurring ACH/EFT memberships contributions are automatically approved by CiviCRM due to a bug in CiviCRM Core, but which should be fixed in the near future.
+
+Please note that ACH Returns require manually processing. iATS Payments will notify an organization by Email in case such ACH Returns occur - the reason (e.g. NSF) is included. It is up to CiviCRM administrators to handle this in CiviCRM according to your organization's procedures (e.g. if these were monies re: Event registration -> should that registration be canceled as well or will you ask participant to bring cash; if NSF fees should be charged to the participant etc).
+
+Caution on the use of Pricesets in recurring contributions. This extension will try to use the original transactions' line items. But there are two separate issues here. First, CiviCRM API does an incomplete job with the bookkeeping of line items, so if you need detailed bookkeeping of line items in recurring contributions, you may be disappointed. Separately, if the total amount of the recurring contribution has changed, then there's no machine way of reliably re-allocating it into the original line items, so in that case, they are not used at all. Though not always ideal, a workaround might be to do different transactions for different types of CiviCRM payments instead.
+
+Please post an issue to the github repository if you have any questions.
diff --git a/civicrm/ext/iatspayments/api/v3/IatsPayments/GetJournal.php b/civicrm/ext/iatspayments/api/v3/IatsPayments/GetJournal.php
new file mode 100644
index 0000000000..77d00b1f7e
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/IatsPayments/GetJournal.php
@@ -0,0 +1,118 @@
+<?php
+
+/**
+ * @file
+ */
+
+/**
+ * Action get journal.
+ *
+ * @param array $params
+ *
+ * @return array
+ *
+ * Get entries from iATSPayments in the journal table
+ */
+function _civicrm_api3_iats_payments_get_journal_spec(&$params) {
+  $params['tnid'] = array(
+    'name' => 'tnid',
+    'title' => 'Transaction string',
+    'api.required' => 0,
+  );
+  $params['iats_id'] = array(
+    'name' => 'iats_id',
+    'title' => 'IatsPayments Journal Id',
+    'api.required' => 0,
+  );
+  $params['tntyp'] = array(
+    'name' => 'tntyp',
+    'title' => 'Transaction type',
+    'api.required' => 0,
+  );
+  $params['inv'] = array(
+    'name' => 'inv',
+    'title' => 'Invoice Reference',
+    'api.required' => 0,
+  );
+}
+
+/**
+ * Action IatsPayments GetJournal
+ *
+ * @param array $params
+ *
+ * @return array
+ *   API result array.
+ *
+ * @throws CiviCRM_API3_Exception
+ */
+
+/**
+ *
+ */
+function civicrm_api3_iats_payments_get_journal($params) {
+
+  // print_r($params); die();
+  $select = "SELECT * FROM civicrm_iats_journal WHERE TRUE ";
+  $args = array();
+
+  $select_params = array(
+    'tnid' => 'String',
+    'tn_type' => 'Integer',
+    'iats_id' => 'Integer',
+    'inv' => 'String',
+  );
+  $i = 0;
+  foreach($params as $key => $value) {
+    if (isset($select_params[$key])) {
+      $i++;
+      if (is_string($value)) {
+        $select .= " AND $key = %$i";
+        $args[$i] = array($value, $select_params[$key]);
+      }
+      elseif (is_array($value)) {
+        foreach(array_keys($value) as $sql) {
+          $select .= " AND ($key %$i)";
+          $args[$i] = array($sql, 'String');
+        }
+      }
+    }
+  }
+  $limit = 25;
+  if (isset($params['options']['limit'])) {
+    $limit =  (integer) $params['options']['limit'];
+  }
+  if ($limit > 0) {
+    $i++;
+    $select .= " LIMIT %$i";
+    $args[$i] = array($limit, 'Integer');
+  }
+  if (isset($params['options']['sort'])) {
+    $sort = $params['options']['sort'];
+    $i++;
+    $select .= " ORDER BY %$i";
+    $args[$i] = array($sort, 'String');
+  }
+
+  $values = array();
+  try {
+    $dao = CRM_Core_DAO::executeQuery($select, $args);
+    while ($dao->fetch()) {
+      /* We index in the transaction_id */
+      $record = array();
+      foreach (get_object_vars($dao) as $key => $value) {
+        if ('N' != $key && (0 !== strpos($key,'_'))) {
+          $record[$key] = $value;
+        }
+      }
+      $key = $dao->tnid;
+      $values[$key] =  $record;
+    }
+  }
+  catch (Exception $e) {
+    CRM_Core_Error::debug_var('params',$params);
+    // throw API_Exception('iATS Payments journalling failed: '. $e->getMessage());
+  }
+  return civicrm_api3_create_success($values);
+}
+
diff --git a/civicrm/ext/iatspayments/api/v3/IatsPayments/Journal.php b/civicrm/ext/iatspayments/api/v3/IatsPayments/Journal.php
new file mode 100644
index 0000000000..b99613ac2e
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/IatsPayments/Journal.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * @file
+ */
+
+/**
+ * Action journal.
+ *
+ * @param array $params
+ *
+ * @return array
+ *
+ * Record an entry from iATSPayments into the journal table
+ */
+function _civicrm_api3_iats_payments_journal_spec(&$params) {
+  $params['transaction_id']['api.required'] = 1;
+}
+
+/**
+ * Action IatsPayments VerifyLog.
+ *
+ * @param array $params
+ *
+ * @return array
+ *   API result array.
+ *
+ * @throws CiviCRM_API3_Exception
+ */
+
+/**
+ *
+ */
+function civicrm_api3_iats_payments_journal($params) {
+  //CRM_Core_Error::debug_var('params', $params);
+  //return civicrm_api3_create_success(TRUE, array('test' => TRUE));
+  try {
+    $data = $params['data'];
+    $dtm = date('YmdHis',$params['receive_date']);
+    $defaults = array(
+      'Client Code' => '', 
+      'Method of Payment' => '',
+      'Comment' => ''
+    );
+    foreach($defaults as $key => $default) {
+      $data[$key] = empty($data[$key]) ? $default : $data[$key];
+    }
+    // There are unique keys on tnid (transaction) and iats_id (journal)
+    // If I don't have a journal id, don't overwrite.
+    if (empty($data['Journal Id'])) {
+      $iats_journal_id = 'NULL';
+      $sql_action = 'INSERT IGNORE ';
+    }
+    else {
+      $iats_journal_id = (int) $data['Journal Id'];
+      $sql_action = 'REPLACE INTO ';
+    }
+    $query_params = array(
+      1 => array($data['Transaction ID'], 'String'),
+      3 => array($dtm, 'String'),
+      4 => array($data['Client Code'], 'String'),
+      5 => array($params['customer_code'], 'String'),
+      6 => array($params['invoice'], 'String'),
+      7 => array($params['amount'], 'String'),
+      8 => array($data['Result'], 'String'),
+      9 => array($data['Method of Payment'], 'String'),
+      10 => array($data['Comment'], 'String'),
+      11 => array($params['status_id'], 'Integer'),
+    );
+    $result = CRM_Core_DAO::executeQuery($sql_action ." civicrm_iats_journal
+        (tnid, iats_id, dtm, agt, cstc, inv, amt, rst, tntyp, cm, status_id) VALUES (%1, $iats_journal_id, %3, %4, %5, %6, %7, %8, %9, %10, %11)", $query_params);
+  }
+  catch (Exception $e) {
+    CRM_Core_Error::debug_var('params',$params);
+    // throw CiviCRM_API3_Exception('iATS Payments journalling failed: '. $e->getMessage());
+  }
+  return civicrm_api3_create_success();
+}
+
diff --git a/civicrm/ext/iatspayments/api/v3/IatsPayments/Verifylog.php b/civicrm/ext/iatspayments/api/v3/IatsPayments/Verifylog.php
new file mode 100644
index 0000000000..0b83d7a9a4
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/IatsPayments/Verifylog.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * @file
+ */
+
+/**
+ * Action IatsPayments VerifyLog.
+ *
+ * @param array $params
+ *
+ * @return array
+ *   API result array.
+ *
+ * @throws CiviCRM_API3_Exception
+ */
+
+/**
+ *
+ */
+function civicrm_api3_iats_payments_verifylog($params) {
+  try {
+    $customer_code = empty($params['customer_code']) ? '' : $params['customer_code'];
+    if (!empty($params['contribution'])) {
+      $contribution = $params['contribution'];
+      $query_params = array(
+        1 => array($customer_code, 'String'),
+        2 => array($contribution['contact_id'], 'Integer'),
+        3 => array($contribution['id'], 'Integer'),
+        4 => array($params['contribution_status_id'], 'Integer'),
+        5 => array($params['transaction_id'], 'String'),
+        6 => array($contribution['contribution_recur_id'], 'Integer'),
+      );
+      if (empty($contribution['contribution_recur_id'])) {
+        unset($query_params[6]);
+        $result = CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_verify
+          (customer_code, cid, contribution_id, contribution_status_id, auth_result, verify_datetime) VALUES (%1, %2, %3, %4, %5, NOW())", $query_params);
+      }
+      else {
+        $result = CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_verify
+          (customer_code, cid, contribution_id, contribution_status_id, auth_result, verify_datetime, recur_id) VALUES (%1, %2, %3, %4, %5, NOW(), %5)", $query_params);
+      }
+    }
+    else {
+      $query_params = array(
+        1 => array($customer_code, 'String'),
+        2 => array($params['transaction_id'], 'String'),
+      );
+      $result = CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_verify
+        (customer_code, auth_result, verify_datetime) VALUES (%1, %2, NOW())", $query_params);
+    }
+  }
+  catch (Exception $e) {
+    throw API_Exception('iATS Payments verification logging failed.');
+  }
+  return civicrm_api3_create_success(TRUE, $params);
+}
+
+/**
+ * Action payment.
+ *
+ * @param array $params
+ *
+ * @return array
+ */
+function _civicrm_api3_iats_payments_verifylog_spec(&$params) {
+  $params['transaction_id']['api.required'] = 1;
+}
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.mgd.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.mgd.php
new file mode 100644
index 0000000000..489e1d9d3b
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.mgd.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * @file
+ * This file declares a managed database record of type "Job".
+ */
+
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array(
+  0 =>
+  array(
+    'name' => 'Cron:Job.Iatsrecurringcontributions',
+    'entity' => 'Job',
+    'params' =>
+    array(
+      'version' => 3,
+      'name' => 'iATS Payments Recurring Contributions',
+      'description' => 'Trigger + Generate recurring contributions for iATS Payments',
+      'run_frequency' => 'Daily',
+      'api_entity' => 'Job',
+      'api_action' => 'iatsrecurringcontributions',
+      'parameters' => '',
+    ),
+    'update' => 'never',
+  ),
+);
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.php
new file mode 100644
index 0000000000..51b517f4b8
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsrecurringcontributions.php
@@ -0,0 +1,465 @@
+<?php
+
+/**
+ * @file
+ */
+
+/**
+ * Job.iATSRecurringContributions API specification.
+ *
+ * @param array $spec description of fields supported by this API call
+ *
+ * @return void
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
+
+/**
+ *
+ */
+function _civicrm_api3_job_iatsrecurringcontributions_spec(&$spec) {
+  $spec['recur_id'] = array(
+    'name' => 'recur_id',
+    'title' => 'Recurring payment id',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['cycle_day'] = array(
+    'name' => 'cycle_day',
+    'title' => 'Only contributions that match a specific cycle day.',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['failure_count'] = array(
+    'name' => 'failure_count',
+    'title' => 'Filter by number of failure counts',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['catchup'] = array(
+    'title' => 'Process as if in the past to catch up.',
+    'api.required' => 0,
+  );
+  $spec['ignoremembership'] = array(
+    'title' => 'Ignore memberships',
+    'api.required' => 0,
+  );
+}
+
+/**
+ * Job.iATSRecurringContributions API.
+ *
+ * @param array $params
+ *
+ * @return array API result descriptor
+ *
+ * @see civicrm_api3_create_success
+ * @see civicrm_api3_create_error
+ *
+ * @throws API_Exception
+ */
+function civicrm_api3_job_iatsrecurringcontributions($params) {
+  // Running this job in parallell could generate bad duplicate contributions.
+  $lock = new CRM_Core_Lock('civicrm.job.IatsRecurringContributions');
+
+  if (!$lock->acquire()) {
+    return civicrm_api3_create_success(ts('Failed to acquire lock. No contribution records were processed.'));
+  }
+  $catchup = !empty($params['catchup']);
+  unset($params['catchup']);
+  $domemberships = empty($params['ignoremembership']);
+  unset($params['ignoremembership']);
+
+  // TODO: what kind of extra security do we want or need here to prevent it from being triggered inappropriately? Or does it matter?
+  // The next scheduled contribution date field name is civicrm version dependent.
+  define('IATS_CIVICRM_NSCD_FID', _iats_civicrm_nscd_fid());
+  // $config = &CRM_Core_Config::singleton();
+  // $debug  = false;
+  // do my calculations based on yyyymmddhhmmss representation of the time
+  // not sure about time-zone issues.
+  $dtCurrentDay    = date("Ymd", mktime(0, 0, 0, date("m"), date("d"), date("Y")));
+  $dtCurrentDayStart = $dtCurrentDay . "000000";
+  $dtCurrentDayEnd   = $dtCurrentDay . "235959";
+  $expiry_limit = date('ym');
+  // Restrict this method of recurring contribution processing to only these three payment processors.
+  $args = array(
+    1 => array('Payment_iATSService', 'String'),
+    2 => array('Payment_iATSServiceACHEFT', 'String'),
+    3 => array('Payment_iATSServiceSWIPE', 'String'),
+  );
+  // Before triggering payments, we need to do some housekeeping of the civicrm_contribution_recur records.
+  // First update the end_date and then the complete/in-progress values.
+  // We do this both to fix any failed settings previously, and also
+  // to deal with the possibility that the settings for the number of payments (installments) for an existing record has changed.
+  // First check for recur end date values on non-open-ended recurring contribution records that are either complete or in-progress.
+  $select = 'SELECT cr.id, count(c.id) AS installments_done, cr.installments, cr.end_date, NOW() as test_now
+      FROM civicrm_contribution_recur cr
+      INNER JOIN civicrm_contribution c ON cr.id = c.contribution_recur_id
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      WHERE
+        (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)
+        AND (cr.installments > 0)
+        AND (cr.contribution_status_id IN (1,5))
+        AND (c.contribution_status_id IN (1,2))
+      GROUP BY c.contribution_recur_id';
+  $dao = CRM_Core_DAO::executeQuery($select, $args);
+  while ($dao->fetch()) {
+    // Check for end dates that should be unset because I haven't finished
+    // at least one more installment todo.
+    if ($dao->installments_done < $dao->installments) {
+      // Unset the end_date.
+      if (($dao->end_date > 0) && ($dao->end_date <= $dao->test_now)) {
+        $update = 'UPDATE civicrm_contribution_recur SET end_date = NULL, contribution_status_id = 5 WHERE id = %1';
+        CRM_Core_DAO::executeQuery($update, array(1 => array($dao->id, 'Int')));
+      }
+    }
+    // otherwise, check if my end date should be set to the past because I have finished
+    // I'm done with installments.
+    elseif ($dao->installments_done >= $dao->installments) {
+      if (empty($dao->end_date) || ($dao->end_date >= $dao->test_now)) {
+        // This interval complete, set the end_date to an hour ago.
+        $update = 'UPDATE civicrm_contribution_recur SET end_date = DATE_SUB(NOW(),INTERVAL 1 HOUR) WHERE id = %1';
+        CRM_Core_DAO::executeQuery($update, array(1 => array($dao->id, 'Int')));
+      }
+    }
+  }
+  // Second, make sure any open-ended recurring contributions have no end date set.
+  $update = 'UPDATE civicrm_contribution_recur cr
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      SET
+        cr.end_date = NULL
+      WHERE
+        cr.contribution_status_id IN (1,5)
+        AND NOT(cr.installments > 0)
+        AND (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)
+        AND NOT(ISNULL(cr.end_date))';
+  $dao = CRM_Core_DAO::executeQuery($update, $args);
+
+  // Third, we update the status_id of the all in-progress or completed recurring contribution records
+  // Unexpire uncompleted cycles.
+  $update = 'UPDATE civicrm_contribution_recur cr
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      SET
+        cr.contribution_status_id = 5
+      WHERE
+        cr.contribution_status_id = 1
+        AND (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)
+        AND (cr.end_date IS NULL OR cr.end_date > NOW())';
+  $dao = CRM_Core_DAO::executeQuery($update, $args);
+  // Expire or badly-defined completed cycles.
+  $update = 'UPDATE civicrm_contribution_recur cr
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      SET
+        cr.contribution_status_id = 1
+      WHERE
+        cr.contribution_status_id = 5
+        AND (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)
+        AND (
+          (NOT(cr.end_date IS NULL) AND cr.end_date <= NOW())
+          OR
+          ISNULL(cr.frequency_unit)
+          OR
+          (frequency_interval = 0)
+        )';
+  $dao = CRM_Core_DAO::executeQuery($update, $args);
+
+  // Now we're ready to trigger payments
+  // Select the ongoing recurring payments for iATSServices where the next scheduled contribution date (NSCD) is before the end of of the current day.
+  $select = 'SELECT cr.*, icc.customer_code, icc.expiry as icc_expiry, icc.cid as icc_contact_id, pp.class_name as pp_class_name, pp.url_site as url_site, pp.is_test
+      FROM civicrm_contribution_recur cr
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      INNER JOIN civicrm_iats_customer_codes icc ON cr.id = icc.recur_id
+      WHERE
+        cr.contribution_status_id = 5
+        AND (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)';
+  // AND pp.is_test = 0
+  // in case the job was called to execute a specific recurring contribution id -- not yet implemented!
+  if (!empty($params['recur_id'])) {
+    $select .= ' AND icc.recur_id = %4';
+    $args[4] = array($params['recur_id'], 'Int');
+  }
+  // If (!empty($params['scheduled'])) {.
+  else {
+    // normally, process all recurring contributions due today or earlier.
+    $select .= ' AND cr.' . IATS_CIVICRM_NSCD_FID . ' <= %4';
+    $args[4] = array($dtCurrentDayEnd, 'String');
+    // ' AND cr.next_sched_contribution >= %2
+    // $args[2] = array($dtCurrentDayStart, 'String');
+    // also filter by cycle day.
+    if (!empty($params['cycle_day'])) {
+      $select .= ' AND cr.cycle_day = %5';
+      $args[5] = array($params['cycle_day'], 'Int');
+    }
+    // Also filter by cycle day.
+    if (isset($params['failure_count'])) {
+      $select .= ' AND cr.failure_count = %6';
+      $args[6] = array($params['failure_count'], 'Int');
+    }
+  }
+  $dao = CRM_Core_DAO::executeQuery($select, $args);
+  $counter = 0;
+  $error_count  = 0;
+  $output  = array();
+  $settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+  $receipt_recurring = $settings['receipt_recurring'];
+  $email_failure_report = empty($settings['email_recurring_failure_report']) ? '' : $settings['email_recurring_failure_report'];
+  // By default, after 3 failures move the next scheduled contribution date forward.
+  $failure_threshhold = empty($settings['recurring_failure_threshhold']) ? 3 : (int) $settings['recurring_failure_threshhold'];
+
+  /* while ($dao->fetch()) {
+  foreach($dao as $key => $value) {
+  echo "$value,";
+  }
+  echo "\n";
+  }
+  die();  */
+  $failure_report_text = '';
+  while ($dao->fetch()) {
+
+    // Strategy: create the contribution record with status = 2 (= pending), try the payment, and update the status to 1 if successful
+    // Try to get a contribution template for this contribution series - if none matches (e.g. if a donation amount has been changed), we'll just be naive about it.
+    $contribution_template = _iats_civicrm_getContributionTemplate(array('contribution_recur_id' => $dao->id, 'total_amount' => $dao->amount));
+    $contact_id = $dao->contact_id;
+    $total_amount = $dao->amount;
+    $hash = md5(uniqid(rand(), TRUE));
+    $contribution_recur_id    = $dao->id;
+    $original_contribution_id = $contribution_template['original_contribution_id'];
+    $failure_count    = $dao->failure_count;
+    $subtype = substr($dao->pp_class_name, 19);
+    $source = "iATS Payments $subtype Recurring Contribution (id=$contribution_recur_id)";
+    $receive_ts = $catchup ? strtotime($dao->next_sched_contribution_date) : time();
+    // i.e. now or whenever it was supposed to run if in catchup mode.
+    $receive_date = date("YmdHis", $receive_ts);
+    // Check if we already have an error.
+    $errors = array();
+    if (empty($dao->customer_code)) {
+      $errors[] = ts('Recur id %1 is missing a customer code.', array(1 => $contribution_recur_id));
+    }
+    else {
+      if ($dao->contact_id != $dao->icc_contact_id) {
+        $errors[] = ts('Recur id %1 is has a mismatched contact id for the customer code.', array(1 => $contribution_recur_id));
+      }
+      if (($dao->icc_expiry != '0000') && ($dao->icc_expiry < $expiry_limit)) {
+        // $errors[] = ts('Recur id %1 is has an expired cc for the customer code.', array(1 => $contribution_recur_id));.
+      }
+    }
+    if (count($errors)) {
+      $source .= ' Errors: ' . implode(' ', $errors);
+    }
+    $contribution = array(
+      'version'        => 3,
+      'contact_id'       => $contact_id,
+      'receive_date'       => $receive_date,
+      'total_amount'       => $total_amount,
+      'payment_instrument_id'  => $dao->payment_instrument_id,
+      'contribution_recur_id'  => $contribution_recur_id,
+      'invoice_id'       => $hash,
+      'source'         => $source,
+      'contribution_status_id' => 2, /* initialize as pending, so we can run completetransaction after taking the money */
+      'currency'  => $dao->currency,
+      'payment_processor'   => $dao->payment_processor_id,
+      'is_test'        => $dao->is_test, /* propagate the is_test value from the parent contribution */
+    );
+    $get_from_template = array('contribution_campaign_id', 'amount_level');
+    foreach ($get_from_template as $field) {
+      if (isset($contribution_template[$field])) {
+        $contribution[$field] = is_array($contribution_template[$field]) ? implode(', ', $contribution_template[$field]) : $contribution_template[$field];
+      }
+    }
+    // 4.2.
+    if (isset($dao->contribution_type_id)) {
+      $contribution['contribution_type_id'] = $dao->contribution_type_id;
+    }
+    // 4.3+.
+    else {
+      $contribution['financial_type_id'] = $dao->financial_type_id;
+    }
+    // if we have a created a pending contribution record due to a future start time, then recycle that CiviCRM contribution record now.
+    // Note that the date and amount both could have changed. 
+    // The key is to only match if we find a single pending contribution, with a NULL transaction id, for this recurring schedule.
+    // We'll need to pay attention later that we may or may not already have a contribution id.
+    try {
+      $pending_contribution = civicrm_api3('Contribution', 'get', array(
+        'return' => array('id'),
+        'trxn_id' => array('IS NULL' => 1),
+        'contribution_recur_id' => $contribution_recur_id,
+        'contribution_status_id' => "Pending",
+      ));
+      $contribution['id'] = $pending_contribution['id'];
+    }
+    catch (Exception $e) {
+      // ignore, we'll proceed normally without a contribution id
+    }
+    // If I'm not recycling a contribution record and my original has line_items, then I'll add them to the contribution creation array.
+    // TODO: if the amount of a matched pending contribution has changed, then we should be removing line items from the contribution and replacing them.
+    if (empty($contribution['id']) && !empty($contribution_template['line_items'])) {
+      $contribution['skipLineItem'] = 1;
+      $contribution['api.line_item.create'] = $contribution_template['line_items'];
+    }
+    if (count($errors)) {
+      ++$error_count;
+      ++$counter;
+      /* create a failed contribution record, don't bother talking to iats */
+      $contribution['contribution_status_id'] = 4;
+      $contributionResult = civicrm_api('contribution', 'create', $contribution);
+      if ($contributionResult['is_error']) {
+        $errors[] = $contributionResult['error_message'];
+      }
+      if ($email_failure_report) {
+        $failure_report_text .= "\n Unexpected Errors: " . implode(' ', $errors);
+      }
+      continue;
+    }
+    else {
+      // Assign basic options.
+      $options = array(
+        'is_email_receipt' => (($receipt_recurring < 2) ? $receipt_recurring : $dao->is_email_receipt),
+        'customer_code' => $dao->customer_code,
+        'subtype' => $subtype,
+      );
+      // If our template contribution is a membership payment, make this one also.
+      if ($domemberships && !empty($contribution_template['contribution_id'])) {
+        try {
+          $membership_payment = civicrm_api('MembershipPayment', 'getsingle', array('version' => 3, 'contribution_id' => $contribution_template['contribution_id']));
+          if (!empty($membership_payment['membership_id'])) {
+            $options['membership_id'] = $membership_payment['membership_id'];
+          }
+        }
+        catch (Exception $e) {
+          // ignore, if will fail correctly if there is no membership payment.
+        }
+      }
+      // So far so, good ... now create the pending contribution, and save its id
+      // and then try to get the money, and do one of:
+      // update the contribution to failed, leave as pending for server failure, complete the transaction, 
+      // or update a pending ach/eft with it's transaction id.
+      $result = _iats_process_contribution_payment($contribution, $options, $original_contribution_id);
+      if ($email_failure_report && !empty($contribution['iats_reject_code'])) {
+        $failure_report_text .= "\n $result ";
+      }
+      $output[] = $result;
+    }
+
+    /* in case of critical failure set the series to pending */
+    if (!empty($contribution['iats_reject_code'])) {
+      switch ($contribution['iats_reject_code']) {
+        // Reported lost or stolen.
+        case 'REJECT: 25':
+          // Do not reprocess!
+        case 'REJECT: 100':
+          /* convert the contribution series to pending to avoid reprocessing until dealt with */
+          civicrm_api('ContributionRecur', 'create',
+            array(
+              'version' => 3,
+              'id'      => $contribution['contribution_recur_id'],
+              'contribution_status_id'   => 2,
+            )
+          );
+          break;
+      }
+    }
+
+    /* calculate the next collection date, based on the recieve date (note effect of catchup mode, above)  */
+    $next_collection_date = date('Y-m-d H:i:s', strtotime("+$dao->frequency_interval $dao->frequency_unit", $receive_ts));
+    /* by default, advance to the next schduled date and set the failure count back to 0 */
+    $contribution_recur_set = array('version' => 3, 'id' => $contribution['contribution_recur_id'], 'failure_count' => '0', 'next_sched_contribution_date' => $next_collection_date);
+    /* special handling for failures */
+    if (4 == $contribution['contribution_status_id']) {
+      $contribution_recur_set['failure_count'] = $failure_count + 1;
+      /* if it has failed but the failure threshold will not be reached with this failure, leave the next sched contribution date as it was */
+      if ($contribution_recur_set['failure_count'] < $failure_threshhold) {
+        // Should the failure count be reset otherwise? It is not.
+        unset($contribution_recur_set['next_sched_contribution_date']);
+      }
+    }
+    civicrm_api('ContributionRecur', 'create', $contribution_recur_set);
+    $result = civicrm_api('activity', 'create',
+      array(
+        'version'       => 3,
+        'activity_type_id'  => 6,
+        'source_contact_id'   => $contact_id,
+        'source_record_id' => $contribution['id'],
+        'assignee_contact_id' => $contact_id,
+        'subject'       => "Attempted iATS Payments $subtype Recurring Contribution for " . $total_amount,
+        'status_id'       => 2,
+        'activity_date_time'  => date("YmdHis"),
+      )
+    );
+    if ($result['is_error']) {
+      $output[] = ts(
+        'An error occurred while creating activity record for contact id %1: %2',
+        array(
+          1 => $contact_id,
+          2 => $result['error_message'],
+        )
+      );
+      ++$error_count;
+    }
+    else {
+      $output[] = ts('Created activity record for contact id %1', array(1 => $contact_id));
+    }
+    ++$counter;
+  }
+
+  // Now update the end_dates and status for non-open-ended contribution series if they are complete (so that the recurring contribution status will show correctly)
+  // This is a simplified version of what we did before the processing.
+  $select = 'SELECT cr.id, count(c.id) AS installments_done, cr.installments
+      FROM civicrm_contribution_recur cr
+      INNER JOIN civicrm_contribution c ON cr.id = c.contribution_recur_id
+      INNER JOIN civicrm_payment_processor pp ON cr.payment_processor_id = pp.id
+      WHERE
+        (pp.class_name = %1 OR pp.class_name = %2 OR pp.class_name = %3)
+        AND (cr.installments > 0)
+        AND (cr.contribution_status_id  = 5)
+        AND (c.contribution_status_id IN (1,2))
+      GROUP BY c.contribution_recur_id';
+  $dao = CRM_Core_DAO::executeQuery($select, $args);
+  while ($dao->fetch()) {
+    // Check if my end date should be set to now because I have finished
+    // I'm done with installments.
+    if ($dao->installments_done >= $dao->installments) {
+      // Set this series complete and the end_date to now.
+      $update = 'UPDATE civicrm_contribution_recur SET contribution_status_id = 1, end_date = NOW() WHERE id = %1';
+      CRM_Core_DAO::executeQuery($update, array(1 => array($dao->id, 'Int')));
+    }
+  }
+
+  $lock->release();
+  // If errors ..
+  if ((strlen($failure_report_text) > 0) && $email_failure_report) {
+    list($fromName, $fromEmail) = CRM_Core_BAO_Domain::getNameAndEmail();
+    $mailparams = array(
+      'from' => $fromName . ' <' . $fromEmail . '> ',
+      'to' => 'System Administrator <' . $email_failure_report . '>',
+      'subject' => ts('iATS Recurring Payment job failure report: ' . date('c')),
+      'text' => $failure_report_text,
+      'returnPath' => $fromEmail,
+    );
+    // print_r($mailparams);
+    CRM_Utils_Mail::send($mailparams);
+  }
+  // If errors ..
+  if ($error_count > 0) {
+    return civicrm_api3_create_error(
+      ts("Completed, but with %1 errors. %2 records processed.",
+        array(
+          1 => $error_count,
+          2 => $counter,
+        )
+      ) . "<br />" . implode("<br />", $output)
+    );
+  }
+  // If no errors and records processed ..
+  if ($counter) {
+    return civicrm_api3_create_success(
+      ts(
+        '%1 contribution record(s) were processed.',
+        array(
+          1 => $counter,
+        )
+      ) . "<br />" . implode("<br />", $output)
+    );
+  }
+  // No records processed.
+  return civicrm_api3_create_success(ts('No contribution records were processed.'));
+}
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.mgd.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.mgd.php
new file mode 100644
index 0000000000..2ebaa6963c
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.mgd.php
@@ -0,0 +1,23 @@
+<?php
+// This file declares a managed database record of type "Job".
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array (
+  0 =>
+  array (
+    'name' => 'Cron:Job.Iatsreport',
+    'entity' => 'Job',
+    'params' =>
+    array (
+      'version' => 3,
+      'name' => 'iATS Payments Get Transaction Journal',
+      'description' => 'Call into iATS to get transaction journals (for auditing and verifying).',
+      'run_frequency' => 'Hourly',
+      'api_entity' => 'Job',
+      'api_action' => 'iatsreport',
+      'parameters' => '',
+    ),
+    'update' => 'never'
+  ),
+);
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.php
new file mode 100644
index 0000000000..92a23e191c
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsreport.php
@@ -0,0 +1,206 @@
+<?php
+
+/**
+ * Job.IatsReport API specification (optional)
+ * 
+ * Pull in the iATS transaction journal and save it in the corresponding table 
+ * for local access for easier verification, auditing and reporting.
+ *
+ * @param array $spec description of fields supported by this API call
+ * @return void
+ * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
+function _civicrm_api3_job_iatsreport_spec(&$spec) {
+  // no arguments
+  // TODO: configure for a date range, report, etc.
+}
+
+/**
+ * Job.IatsReport API
+ *
+ * @param array $params
+ * @return array API result descriptor
+ * @see civicrm_api3_create_success
+ * @see civicrm_api3_create_error
+ * @throws API_Exception
+
+ * Fetch all recent transactions from iATS for the purposes of auditing (in separate jobs).
+ * This addresses multiple needs:
+ * 1. Verify incomplete ACH/EFT contributions.
+ * 2. Verify recent contributions that went through but weren't reported to CiviCRM due to unexpected connection/code breakage.
+ * 3. Input recurring contributions managed by iATS
+ * 4. Input one-time contributions that did not go through CiviCRM
+ * 5. Audit for remote changes in iATS.
+ *
+ */
+function civicrm_api3_job_iatsreport($params) {
+
+  /* get a list of all active/non-test iATS payment processors of any type, quit if there are none */
+  /* We'll make sure they are unique from iATS point of view (i.e. distinct agent codes = username) */
+  try {
+    $result = civicrm_api3('PaymentProcessor', 'get', array(
+      'sequential' => 1,
+      'class_name' => array('LIKE' => 'Payment_iATSService%'),
+      'is_active' => 1,
+      'is_test' => 0,
+    ));
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    throw new API_Exception('Unexpected error getting payment processors: ' . $e->getMessage()); //  . "\n" . $e->getTraceAsString()); 
+  }
+  if (empty($result['values'])) {
+    return;
+  }
+  $payment_processors = array();
+  foreach($result['values'] as $payment_processor) {
+    $user_name = $payment_processor['user_name'];
+    $type = $payment_processor['payment_type']; // 1 for cc, 2 for ach/eft
+    $id = $payment_processor['id'];
+    if (empty($payment_processors[$user_name])) {
+      $payment_processors[$user_name] = array();
+    }
+    if (empty($payment_processors[$user_name][$type])) {
+      $payment_processors[$user_name][$type] = array();
+    }
+    $payment_processors[$user_name][$type][$id] = $payment_processor;
+  }
+  // CRM_Core_Error::debug_var('Payment Processors', $payment_processors);
+  // get the settings: TODO allow more detailed configuration of which transactions to import?
+  $iats_settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+  // I also use the setttings to keep track of the last time I imported journal data from iATS.
+  $iats_journal = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_journal');
+  foreach(array('quick', 'recur', 'series') as $setting) {
+    $import[$setting] = empty($iats_settings['import_'.$setting]) ? 0 : 1;
+  }
+  require_once("CRM/iATS/iATSService.php");
+  // an array of types => methods => payment status of the records retrieved
+  $process_methods = array(
+    1 => array('cc_journal_csv' => 1,'cc_payment_box_journal_csv' => 1, 'cc_payment_box_reject_csv' => 4),
+    2 => array('acheft_journal_csv' => 1, 'acheft_payment_box_journal_csv' => 1, 'acheft_payment_box_reject_csv' => 4)
+  );
+  /* initialize some values so I can report at the end */
+  // count the number of records from each iats account analysed, and the number of each kind found ('action')
+  $processed = array();
+  // save all my api result error messages as well
+  $error_log = array();
+  foreach($payment_processors as $user_name => $payment_processors_per_user) {
+    $processed[$user_name] = array();
+    foreach ($payment_processors_per_user as $type => $payment_processors_per_user_type) {
+      $processed[$user_name][$type] = array();
+      // we might have multiple payment processors by type e.g. SWIPE or separate codes for 
+      // one-time and recurring contributions, I only want to process once per user_name + type
+      $payment_processor = reset($payment_processors_per_user_type);
+      $process_methods_per_type = $process_methods[$type];
+      $iats_service_params = array('type' => 'report', 'iats_domain' => parse_url($payment_processor['url_site'], PHP_URL_HOST)); // + $iats_service_params;
+      /* the is_test below should always be 0, but I'm leaving it in, in case eventually we want to be verifying tests */
+      $credentials = iATS_Service_Request::credentials($payment_processor['id'], $payment_processor['is_test']);
+
+      foreach($process_methods_per_type as $method => $payment_status_id) {
+        // initialize my counts
+        $processed[$user_name][$type][$method] = 0;
+        // watchdog('civicrm_iatspayments_com', 'pp: <pre>!pp</pre>', array('!pp' => print_r($payment_processor,TRUE)), WATCHDOG_NOTICE);
+        /* get approvals from yesterday, approvals from previous days, and then rejections for this payment processor */
+        /* we're going to assume that all the payment_processors_per_type are using the same server */
+        $iats_service_params['method'] = $method;
+        $iats = new iATS_Service_Request($iats_service_params);
+        // For some methods, I only want to check once per day.
+        $skip_method = FALSE;
+        $journal_setting_key = 'last_update_'.$method;
+        switch($method) {
+          case 'acheft_journal_csv': // special case to get today's transactions, so we're as real-time as we can be
+          case 'cc_journal_csv': 
+            $request = array(
+              'date' => date('Y-m-d').'T23:59:59+00:00',
+              'customerIPAddress' => (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']),
+            );
+            break;
+          default: // box journals (approvals and rejections) only go up to the end of yesterday
+            $request = array(
+              'startIndex' => 0,
+              'endIndex' => 1000,
+              'toDate' => date('Y-m-d',strtotime('-1 day')).'T23:59:59+00:00',
+              'customerIPAddress' => (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']),
+            );
+            // Calculate how far back I want to go, default 2 days ago.
+            $fromDate = strtotime('-2 days');
+            // Check when I last downloaded this box journal
+            if (!empty($iats_journal[$journal_setting_key])) {
+              // If I've already done this today, don't do it again.
+              if (0 === strpos($iats_journal[$journal_setting_key],date('Y-m-d'))) {
+                $skip_method = TRUE;
+              }
+              else { // Make sure I fill in any gaps if this cron hasn't run for a while, but no more than a month
+                $fromDate = min(strtotime($iats_journal[$journal_setting_key]),strtotime('-2 days'));
+                $fromDate = max($fromDate,strtotime('-30 days'));
+              }
+            }
+            else { // If I've cleared the settings, then go back a month of data.
+              $fromDate = strtotime('-30 days');
+            }
+            // reset the request fromDate, from the beginning of fromDate's day.
+            $request['fromDate'] = date('Y-m-d',$fromDate).'T00:00:00+00:00';
+            break;
+        }
+        if (!$skip_method) {
+          $iats_journal[$journal_setting_key] = date('Y-m-d H:i:s');
+          // make the soap request, should return a csv file
+          $response = $iats->request($credentials,$request);
+          // use my iats object to parse the result into an array of transaction ojects
+          $transactions = $iats->getCSV($response, $method);
+          // for the acheft journal, I also pull the previous 4 days and append, a bit of a hack.
+          if ('acheft_journal_csv' == $method) {
+            for ($days_before = -1; $days_before > -5; $days_before--) {
+              $request['date'] = date('Y-m-d', strtotime($days_before.' day')) . 'T23:59:59+00:00';
+              $response = $iats->request($credentials, $request);
+              $transactions = array_merge($transactions, $iats->getCSV($response, $method));
+            }
+          }
+          // CRM_Core_Error::debug_var($method, $transactions);
+          foreach($transactions as $transaction) {
+            try {
+              $t = get_object_vars($transaction);
+              $t['status_id'] = $payment_status_id;
+              // A few more hacks for the one day journals
+              switch($method) {
+                case 'acheft_journal_csv': 
+                  $t['data']['Method of Payment'] = 'ACHEFT';
+                  $t['data']['Client Code'] = $credentials['agentCode'];
+                  break;
+                case 'cc_journal_csv': 
+                  $t['data']['Method of Payment'] = $t['data']['CCType'];
+                  $t['data']['Client Code'] = $credentials['agentCode'];
+                  break;
+              }
+              civicrm_api3('IatsPayments', 'journal', $t);
+              $processed[$user_name][$type][$method]++;
+            }
+            catch (CiviCRM_API3_Exception $e) {
+              $error_log[] = $e->getMessage();
+            }
+          }
+        }
+      }
+    }
+  }
+  CRM_Core_BAO_Setting::setItem($iats_journal, 'iATS Payments Extension', 'iats_journal');
+  // watchdog('civicrm_iatspayments_com', 'found: <pre>!found</pre>', array('!found' => print_r($processed,TRUE)), WATCHDOG_NOTICE);
+  $message = '';
+  foreach($processed as $user_name => $p) {
+    foreach ($p as $type => $ps) {
+      $prefix = ($type == 1) ? 'cc' : 'acheft';
+      $results =
+        array(
+          1 => $user_name,
+          2 => $prefix,
+          3 => $ps[$prefix.'_journal_csv'],
+          4 => $ps[$prefix.'_payment_box_journal_csv'],
+          5 => $ps[$prefix.'_payment_box_reject_csv'],
+        );
+      $message .= '<br />'. ts('For account %1, type %2, processed %3 approvals from the one-day journals, and %4 approval and %5 rejection records from previous days using the box journals.', $results);
+    }
+  }
+  if (count($error_log) > 0) {
+    return civicrm_api3_create_error($message . '</br />' . implode('<br />', $error_log));
+  }
+  return civicrm_api3_create_success($message);
+}
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.mgd.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.mgd.php
new file mode 100644
index 0000000000..22e8eec188
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.mgd.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * @file
+ * This file declares a managed database record of type "Job".
+ */
+
+// The record will be automatically inserted, updated, or deleted from the
+// database as appropriate. For more details, see "hook_civicrm_managed" at:
+// http://wiki.civicrm.org/confluence/display/CRMDOC42/Hook+Reference
+return array(
+  0 =>
+  array(
+    'name' => 'Cron:Job.Iatsverify',
+    'entity' => 'Job',
+    'params' =>
+    array(
+      'version' => 3,
+      'name' => 'iATS Payments Verification',
+      'description' => 'Verify payments from the iATS journal.',
+      'run_frequency' => 'Hourly',
+      'api_entity' => 'Job',
+      'api_action' => 'iatsverify',
+      'parameters' => '',
+    ),
+    'update' => 'never',
+  ),
+);
diff --git a/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.php b/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.php
new file mode 100644
index 0000000000..a2c88d2da1
--- /dev/null
+++ b/civicrm/ext/iatspayments/api/v3/Job/Iatsverify.php
@@ -0,0 +1,213 @@
+<?php
+
+/**
+ * @file
+ * Contains the IATS Payments Verification API Job.
+ */
+
+/**
+ * Job.IatsVerify API specification
+ * This is used for documentation and validation.
+ *
+ * @param array $spec description of fields supported by this API call
+ *
+ * @return void
+ *
+ * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
+function _civicrm_api3_job_iatsverify_spec(&$spec) {
+  $spec['recur_id'] = array(
+    'name' => 'recur_id',
+    'title' => 'Recurring payment id',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['contribution_id'] = array(
+    'name' => 'contribution_id',
+    'title' => 'Test a single contribution by CiviCRM contribution table id.',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['invoice_id'] = array(
+    'name' => 'invoice_id',
+    'title' => 'Test a single contribution by invoice id.',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['payment_instrument_id'] = array(
+    'name' => 'payment_instrument_id',
+    'title' => 'Test contributions by payment method.',
+    'api.required' => 0,
+    'type' => 1,
+  );
+  $spec['reverify'] = array(
+    'name' => 'reverify',
+    'title' => 'Reverify contributions',
+    'api.required' => 0,
+    'type' => 1,
+  );
+}
+
+/**
+ * Job.IatsVerify API.
+ *
+ * @param array $params
+ *
+ * @return array API result descriptor
+ *
+ * @see civicrm_api3_create_success
+ * @see civicrm_api3_create_error
+ *
+ * @throws API_Exception
+ *  * Look up all incomplete or pending (status = 2) contributions and see if they've been received approved or rejected payments 
+ * at iATS, looked up via the Journal
+ * Update the corresponding recurring contribution record to status = 1 (or 4)
+ * This works for both the initial contribution and subsequent contributions of recurring contributions, as well as one offs.
+ * TODO: what kind of alerts should be provided if it fails?
+ *
+ */
+function civicrm_api3_job_iatsverify($params) {
+
+  $settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+  $receipt_recurring = $settings['receipt_recurring'];
+  define('IATS_VERIFY_DAYS', 30);
+  // I've added an extra 2 days when getting candidates from CiviCRM to be sure i've got them all.
+  $verify_days = IATS_VERIFY_DAYS + 2;
+  // Get all the contributions that may need approval within the last verify_days.
+  // And see if they are approved in my iATS Journal.
+  // This could include ACH/EFT approvals, as well as CC contributions that were completed but didn't get back from iATS.
+  // Count the number of each kind found.
+  $processed = array(1 => 0, 4 => 0);
+  // Save all my api error result messages.
+  $error_log = array();
+  //
+  $select_params = array(
+    'sequential' => 1,
+    'receive_date' => array('>' => "now - $verify_days day"),
+    'options' => array('limit' => 0),
+    'contribution_status_id' => array('NOT IN' => array('Completed', 'Failed')),
+    'invoice_id' => array('IS NOT NULL' => 1),
+    'contribution_test' => 0,
+    'return' => array('trxn_id', 'invoice_id', 'contribution_recur_id', 'contact_id', 'source'),
+  );
+  // get my parameters
+  $recur_id = empty($params['recur_id']) ? 0 : ((int) $params['recur_id']);
+  unset($params['recur_id']);
+  if ($recur_id) {
+    $select_params['contribution_recur_id'] = $recur_id;
+  }
+  $contribution_id = empty($params['contribution_id']) ? 0 : ((int) $params['contribution_id']);
+  unset($params['contribution_id']);
+  if ($contribution_id) {
+    $select_params['contribution_id'] = $contribution_id;
+  }
+  $invoice_id = empty($params['invoice_id']) ? '' : trim($params['invoice_id']);
+  unset($params['invoice_id']);
+  if ($invoice_id) {
+    $select_params['invoice_id'] = $invoice_id;
+  }
+
+  $message = '';
+  try {
+    $contributions_verify = civicrm_api3('Contribution', 'get', $select_params);
+    $message .= '<br />' . ts('Found %1 contributions to verify.', array(1 => count($contributions_verify['values'])));
+    // CRM_Core_Error::debug_var('Verifying contributions', $contributions_verify);
+    foreach ($contributions_verify['values'] as $contribution) {
+      $journal_matches = civicrm_api3('IatsPayments', 'get_journal', array(
+        'sequential' => 1,
+        'inv' => $contribution['invoice_id'],
+      ));
+      if ($journal_matches['count'] > 0) {
+        /* found a matching journal entry, we can approve or fail it */
+        $is_recur = empty($pending_contribution['contribution_recur_id']) ? FALSE : TRUE;
+        // I only use the first one to determine the new status of the contribution.
+        // TODO, deal with multiple partial payments
+        $journal_entry = reset($journal_matches['values']);
+        $transaction_id = $journal_entry['tnid'];
+        $contribution_status_id = (int) $journal_entry['status_id'];
+        // Keep track of how many of each time I've processed.
+        $processed[$contribution_status_id]++;
+        switch ($contribution_status_id) {
+          case 1: // i.e. complete
+            // Updating a contribution status to complete needs some extra bookkeeping.
+            // Note that I'm updating the timestamp portion of the transaction id here, since this might be useful at some point
+            // Should I update the receive date to when it was actually received? Would that confuse membership dates?
+            $trxn_id = $transaction_id . ':' . time();
+            $complete = array('version' => 3, 'id' => $contribution['id'], 'trxn_id' => $trxn_id, 'receive_date' => $contribution['receive_date']);
+            if ($is_recur) {
+              // For email receipting, use either my iats extension global, or the specific setting for this schedule.
+              $is_email_receipt = $receipt_recurring;
+              if ($is_email_receipt >= 2) {
+                try {
+                  $is_email_receipt = civicrm_api3('ContributionRecur', 'getvalue', array(
+                    'return' => 'is_email_receipt',
+                    'id' => $contribution['contribution_recur_id'],
+                  ));
+                }
+                catch (CiviCRM_API3_Exception $e) {
+                  $is_email_receipt = 0;
+                  $error_log[] = $e->getMessage() ."\n";
+                }
+              }
+              $complete['is_email_receipt'] = $is_email_receipt;
+            }
+            try {
+              $contributionResult = civicrm_api3('contribution', 'completetransaction', $complete);
+            }
+            catch (CiviCRM_API3_Exception $e) {
+              $error_log[] = 'Failed to complete transaction: '. $e->getMessage() ."\n";
+            }
+
+            // Restore source field and trxn_id that completetransaction overwrites
+            civicrm_api3('contribution', 'create', array(
+              'id' => $contribution['id'], 
+              'source' => $contribution['source'],
+              'trxn_id' => $trxn_id
+            ));
+          case 4: // failed, just update the contribution status.
+            civicrm_api3('Contribution', 'create', array(
+              'id' => $contribution['id'],
+              'contribution_status_id' => $contribution_status_id
+            ));
+        }
+        // Always log these requests in my cutom civicrm table for auditing type purposes
+        $query_params = array(
+          1 => array($journal_entry['cstc'], 'String'),
+          2 => array($contribution['contact_id'], 'Integer'),
+          3 => array($contribution['id'], 'Integer'),
+          4 => array($contribution_status_id, 'Integer'),
+          5 => array($journal_entry['rst'], 'String'),
+          6 => array($contribution['contribution_recur_id'], 'Integer'),
+        );
+        if (empty($contribution['contribution_recur_id'])) {
+          unset($query_params[6]);
+          CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_verify
+            (customer_code, cid, contribution_id, contribution_status_id, verify_datetime, auth_result) VALUES (%1, %2, %3, %4, NOW(), %5)", $query_params);
+        }
+        else {
+          CRM_Core_DAO::executeQuery("INSERT INTO civicrm_iats_verify
+            (customer_code, cid, contribution_id, contribution_status_id, verify_datetime, auth_result, recur_id) VALUES (%1, %2, %3, %4, NOW(), %5, %6)", $query_params);
+        }
+      }
+    }
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    $error_log[] = $e->getMessage() ."\n";
+  }
+  $message .= '<br />' . ts('Completed with %1 errors.',
+    array(
+      1 => count($error_log),
+    )
+  );
+  $message .= '<br />' . ts('Processed %1 approvals and %2 rejection records from the previous ' . IATS_VERIFY_DAYS . ' days.', 
+    array(
+      1 => $processed[1],
+      2 => $processed[4],
+    )
+  );
+  // If errors ..
+  if (count($error_log) > 0) {
+    return civicrm_api3_create_error($message . '</br />' . implode('<br />', $error_log));
+  }
+  return civicrm_api3_create_success($message);
+}
diff --git a/civicrm/ext/iatspayments/composer.json b/civicrm/ext/iatspayments/composer.json
new file mode 100644
index 0000000000..12d66edfd8
--- /dev/null
+++ b/civicrm/ext/iatspayments/composer.json
@@ -0,0 +1,5 @@
+{
+    "name": "iats-payments/civicrm",
+    "description": "CiviCRM extension for iATS Payments",
+    "license": "AGPL"
+}
diff --git a/civicrm/ext/iatspayments/css/iatspayments_civicrm.css b/civicrm/ext/iatspayments/css/iatspayments_civicrm.css
new file mode 100644
index 0000000000..089639db11
--- /dev/null
+++ b/civicrm/ext/iatspayments/css/iatspayments_civicrm.css
@@ -0,0 +1,15 @@
+/* Disable the display of the direct debit fields that are injected by Core templates/CRM/Core/BillingBlock */
+
+.account_holder-section {
+  display: none;
+}
+.bank_account_number-section {
+  display: none;
+}
+.bank_identification_number-section {
+  display: none;
+}
+.bank_name-section {
+  display: none;
+}
+
diff --git a/civicrm/ext/iatspayments/iats.civix.php b/civicrm/ext/iatspayments/iats.civix.php
new file mode 100644
index 0000000000..fc2423c50b
--- /dev/null
+++ b/civicrm/ext/iatspayments/iats.civix.php
@@ -0,0 +1,278 @@
+<?php
+
+// AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file
+
+/**
+ * (Delegated) Implementation of hook_civicrm_config
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_config
+ */
+function _iats_civix_civicrm_config(&$config = NULL) {
+  static $configured = FALSE;
+  if ($configured) return;
+  $configured = TRUE;
+
+  $template =& CRM_Core_Smarty::singleton();
+
+  $extRoot = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
+  $extDir = $extRoot . 'templates';
+
+  if ( is_array( $template->template_dir ) ) {
+      array_unshift( $template->template_dir, $extDir );
+  } else {
+      $template->template_dir = array( $extDir, $template->template_dir );
+  }
+
+  $include_path = $extRoot . PATH_SEPARATOR . get_include_path( );
+  set_include_path( $include_path );
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_xmlMenu
+ *
+ * @param $files array(string)
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_xmlMenu
+ */
+function _iats_civix_civicrm_xmlMenu(&$files) {
+  foreach (_iats_civix_glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
+    $files[] = $file;
+  }
+}
+
+/**
+ * Implementation of hook_civicrm_install
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_install
+ */
+function _iats_civix_civicrm_install() {
+  _iats_civix_civicrm_config();
+  if ($upgrader = _iats_civix_upgrader()) {
+    return $upgrader->onInstall();
+  }
+}
+
+/**
+ * Implementation of hook_civicrm_uninstall
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_uninstall
+ */
+function _iats_civix_civicrm_uninstall() {
+  _iats_civix_civicrm_config();
+  if ($upgrader = _iats_civix_upgrader()) {
+    return $upgrader->onUninstall();
+  }
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_enable
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_enable
+ */
+function _iats_civix_civicrm_enable() {
+  _iats_civix_civicrm_config();
+  if ($upgrader = _iats_civix_upgrader()) {
+    if (is_callable(array($upgrader, 'onEnable'))) {
+      return $upgrader->onEnable();
+    }
+  }
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_disable
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_disable
+ */
+function _iats_civix_civicrm_disable() {
+  _iats_civix_civicrm_config();
+  if ($upgrader = _iats_civix_upgrader()) {
+    if (is_callable(array($upgrader, 'onDisable'))) {
+      return $upgrader->onDisable();
+    }
+  }
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_upgrade
+ *
+ * @param $op string, the type of operation being performed; 'check' or 'enqueue'
+ * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
+ *
+ * @return mixed  based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
+ *                for 'enqueue', returns void
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_upgrade
+ */
+function _iats_civix_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
+  if ($upgrader = _iats_civix_upgrader()) {
+    return $upgrader->onUpgrade($op, $queue);
+  }
+}
+
+/**
+ * @return CRM_iATS_Upgrader
+ */
+function _iats_civix_upgrader() {
+  if (!file_exists(__DIR__.'/CRM/iATS/Upgrader.php')) {
+    return NULL;
+  } else {
+    return CRM_iATS_Upgrader_Base::instance();
+  }
+}
+
+/**
+ * Search directory tree for files which match a glob pattern
+ *
+ * Note: Dot-directories (like "..", ".git", or ".svn") will be ignored.
+ * Note: In Civi 4.3+, delegate to CRM_Utils_File::findFiles()
+ *
+ * @param $dir string, base dir
+ * @param $pattern string, glob pattern, eg "*.txt"
+ * @return array(string)
+ */
+function _iats_civix_find_files($dir, $pattern) {
+  if (is_callable(array('CRM_Utils_File', 'findFiles'))) {
+    return CRM_Utils_File::findFiles($dir, $pattern);
+  }
+
+  $todos = array($dir);
+  $result = array();
+  while (!empty($todos)) {
+    $subdir = array_shift($todos);
+    foreach (_iats_civix_glob("$subdir/$pattern") as $match) {
+      if (!is_dir($match)) {
+        $result[] = $match;
+      }
+    }
+    if ($dh = opendir($subdir)) {
+      while (FALSE !== ($entry = readdir($dh))) {
+        $path = $subdir . DIRECTORY_SEPARATOR . $entry;
+        if ($entry{0} == '.') {
+        } elseif (is_dir($path)) {
+          $todos[] = $path;
+        }
+      }
+      closedir($dh);
+    }
+  }
+  return $result;
+}
+/**
+ * (Delegated) Implementation of hook_civicrm_managed
+ *
+ * Find any *.mgd.php files, merge their content, and return.
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_managed
+ */
+function _iats_civix_civicrm_managed(&$entities) {
+  $mgdFiles = _iats_civix_find_files(__DIR__, '*.mgd.php');
+  foreach ($mgdFiles as $file) {
+    $es = include $file;
+    foreach ($es as $e) {
+      if (empty($e['module'])) {
+        $e['module'] = 'com.iatspayments.civicrm';
+      }
+      $entities[] = $e;
+    }
+  }
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_caseTypes
+ *
+ * Find any and return any files matching "xml/case/*.xml"
+ *
+ * Note: This hook only runs in CiviCRM 4.4+.
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_caseTypes
+ */
+function _iats_civix_civicrm_caseTypes(&$caseTypes) {
+  if (!is_dir(__DIR__ . '/xml/case')) {
+    return;
+  }
+
+  foreach (_iats_civix_glob(__DIR__ . '/xml/case/*.xml') as $file) {
+    $name = preg_replace('/\.xml$/', '', basename($file));
+    if ($name != CRM_Case_XMLProcessor::mungeCaseType($name)) {
+      $errorMessage = sprintf("Case-type file name is malformed (%s vs %s)", $name, CRM_Case_XMLProcessor::mungeCaseType($name));
+      CRM_Core_Error::fatal($errorMessage);
+      // throw new CRM_Core_Exception($errorMessage);
+    }
+    $caseTypes[$name] = array(
+      'module' => 'com.iatspayments.civicrm',
+      'name' => $name,
+      'file' => $file,
+    );
+  }
+}
+
+/**
+ * Glob wrapper which is guaranteed to return an array.
+ *
+ * The documentation for glob() says, "On some systems it is impossible to
+ * distinguish between empty match and an error." Anecdotally, the return
+ * result for an empty match is sometimes array() and sometimes FALSE.
+ * This wrapper provides consistency.
+ *
+ * @link http://php.net/glob
+ * @param string $pattern
+ * @return array, possibly empty
+ */
+function _iats_civix_glob($pattern) {
+  $result = glob($pattern);
+  return is_array($result) ? $result : array();
+}
+
+/**
+ * Inserts a navigation menu item at a given place in the hierarchy
+ *
+ * $menu - menu hierarchy
+ * $path - path where insertion should happen (ie. Administer/System Settings)
+ * $item - menu you need to insert (parent/child attributes will be filled for you)
+ * $parentId - used internally to recurse in the menu structure
+ */
+function _iats_civix_insert_navigation_menu(&$menu, $path, $item, $parentId = NULL) {
+  static $navId;
+
+  // If we are done going down the path, insert menu
+  if (empty($path)) {
+    if (!$navId) $navId = CRM_Core_DAO::singleValueQuery("SELECT max(id) FROM civicrm_navigation");
+    $navId ++;
+    $menu[$navId] = array (
+      'attributes' => array_merge($item, array(
+        'label'      => CRM_Utils_Array::value('name', $item),
+        'active'     => 1,
+        'parentID'   => $parentId,
+        'navID'      => $navId,
+      ))
+    );
+    return true;
+  } else {
+    // Find an recurse into the next level down
+    $found = false;
+    $path = explode('/', $path);
+    $first = array_shift($path);
+    foreach ($menu as $key => &$entry) {
+      if ($entry['attributes']['name'] == $first) {
+        if (!$entry['child']) $entry['child'] = array();
+        $found = _iats_civix_insert_navigation_menu($entry['child'], implode('/', $path), $item, $key);
+      }
+    }
+    return $found;
+  }
+}
+
+/**
+ * (Delegated) Implementation of hook_civicrm_alterSettingsFolders
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_alterSettingsFolders
+ */
+function _iats_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  static $configured = FALSE;
+  if ($configured) return;
+  $configured = TRUE;
+
+  $settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
+  if(is_dir($settingsDir) && !in_array($settingsDir, $metaDataFolders)) {
+    $metaDataFolders[] = $settingsDir;
+  }
+}
\ No newline at end of file
diff --git a/civicrm/ext/iatspayments/iats.php b/civicrm/ext/iatspayments/iats.php
new file mode 100644
index 0000000000..d6db867634
--- /dev/null
+++ b/civicrm/ext/iatspayments/iats.php
@@ -0,0 +1,1524 @@
+<?php
+
+/**
+ * @file Copyright iATS Payments (c) 2014
+ * Author: Alan Dixon.
+ *
+ * This file is a part of CiviCRM published extension.
+ *
+ * This extension is free software; you can copy, modify, and distribute it
+ * under the terms of the GNU Affero General Public License
+ * Version 3, 19 November 2007.
+ *
+ * It 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License with this program; if not, see http://www.gnu.org/licenses/
+ */
+
+require_once 'iats.civix.php';
+
+/**
+ * Implementation of hook_civicrm_config().
+ */
+function iats_civicrm_config(&$config) {
+  _iats_civix_civicrm_config($config);
+}
+
+/**
+ * Implementation of hook_civicrm_xmlMenu.
+ *
+ * @param $files array(string)
+ */
+function iats_civicrm_xmlMenu(&$files) {
+  _iats_civix_civicrm_xmlMenu($files);
+}
+
+/**
+ * Implementation of hook_civicrm_install.
+ */
+function iats_civicrm_install() {
+  if (!class_exists('SoapClient')) {
+    $session = CRM_Core_Session::singleton();
+    $session->setStatus(ts('The PHP SOAP extension is not installed on this server, but is required for this extension'), ts('iATS Payments Installation'), 'error');
+  }
+  return _iats_civix_civicrm_install();
+}
+
+/**
+ * Implementation of hook_civicrm_uninstall.
+ */
+function iats_civicrm_uninstall() {
+  return _iats_civix_civicrm_uninstall();
+}
+
+/**
+ * Implementation of hook_civicrm_enable.
+ */
+function iats_civicrm_enable() {
+  if (!class_exists('SoapClient')) {
+    $session = CRM_Core_Session::singleton();
+    $session->setStatus(ts('The PHP SOAP extension is not installed on this server, but is required for this extension'), ts('iATS Payments Installation'), 'error');
+  }
+  return _iats_civix_civicrm_enable();
+}
+
+/**
+ * Implementation of hook_civicrm_disable.
+ */
+function iats_civicrm_disable() {
+  return _iats_civix_civicrm_disable();
+}
+
+/**
+ * Implementation of hook_civicrm_upgrade.
+ *
+ * @param $op string, the type of operation being performed; 'check' or 'enqueue'
+ * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
+ *
+ * @return mixed  based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
+ *                for 'enqueue', returns void
+ */
+function iats_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
+  return _iats_civix_civicrm_upgrade($op, $queue);
+}
+
+/**
+ * Implementation of hook_civicrm_managed.
+ *
+ * Generate a list of entities to create/deactivate/delete when this module
+ * is installed, disabled, uninstalled.
+ */
+function iats_civicrm_managed(&$entities) {
+  $entities[] = array(
+    'module' => 'com.iatspayments.civicrm',
+    'name' => 'iATS Payments',
+    'entity' => 'PaymentProcessorType',
+    'params' => array(
+      'version' => 3,
+      'name' => 'iATS Payments Credit Card',
+      'title' => 'iATS Payments Credit Card',
+      'description' => 'iATS credit card payment processor using the web services interface.',
+      'class_name' => 'Payment_iATSService',
+      'billing_mode' => 'form',
+      'user_name_label' => 'Agent Code',
+      'password_label' => 'Password',
+      'url_site_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_site_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'is_recur' => 1,
+      'payment_type' => 1,
+    ),
+  );
+  $entities[] = array(
+    'module' => 'com.iatspayments.civicrm',
+    'name' => 'iATS Payments ACH/EFT',
+    'entity' => 'PaymentProcessorType',
+    'params' => array(
+      'version' => 3,
+      'name' => 'iATS Payments ACH/EFT',
+      'title' => 'iATS Payments ACH/EFT',
+      'description' => 'iATS ACH/EFT payment processor using the web services interface.',
+      'class_name' => 'Payment_iATSServiceACHEFT',
+      'billing_mode' => 'form',
+      'user_name_label' => 'Agent Code',
+      'password_label' => 'Password',
+      'url_site_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_site_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'is_recur' => 1,
+      'payment_type' => 2,
+      'payment_instrument_id' => '2', /* "Debit Card"  */
+    ),
+  );
+  $entities[] = array(
+    'module' => 'com.iatspayments.civicrm',
+    'name' => 'iATS Payments SWIPE',
+    'entity' => 'PaymentProcessorType',
+    'params' => array(
+      'version' => 3,
+      'name' => 'iATS Payments SWIPE',
+      'title' => 'iATS Payments SWIPE',
+      'description' => 'iATS credit card payment processor using the encrypted USB IDTECH card reader.',
+      'class_name' => 'Payment_iATSServiceSWIPE',
+      'billing_mode' => 'form',
+      'user_name_label' => 'Agent Code',
+      'password_label' => 'Password',
+      'url_site_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_site_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur_test_default' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'is_recur' => 1,
+      'payment_type' => 1,
+    ),
+  );
+  return _iats_civix_civicrm_managed($entities);
+}
+
+/**
+ * Implements hook_civicrm_check().
+ */
+function iats_civicrm_check(&$messages) {
+  if (!class_exists('SoapClient')) {
+    $messages[] = new CRM_Utils_Check_Message(
+      'iats_soap',
+      ts('The SOAP extension for PHP %1 is not installed on this server, but is required for this extension.', array(1 => phpversion())),
+      ts('iATS Payments Installation'),
+      \Psr\Log\LogLevel::CRITICAL,
+      'fa-flag'
+    );
+  }
+}
+
+/**
+ * Utility function to get domain info.
+ *
+ * Get values from the civicrm_domain table, or a domain setting.
+ * May be called multiple times, so be efficient.
+ */
+function _iats_civicrm_domain_info($key) {
+  static $domain, $settings;
+  if (empty($domain)) {
+    $domain = civicrm_api3('Domain', 'getsingle', array('current_domain' => TRUE));
+  }
+  if (!isset($settings)) {
+    $settings = array();
+  }
+  switch ($key) {
+    case 'version':
+      return explode('.', $domain['version']);
+
+    default:
+      if (isset($domain[$key])) {
+        return $domain[$key];
+      }
+      elseif (isset($settings[$key])) {
+        return $settings[$key];
+      }
+      else {
+        try{
+          $setting = civicrm_api3('Setting', 'getvalue', array('name' => $key));
+          if (is_string($setting)) {
+            $settings[$key] = $setting;
+            return $setting;
+          }
+        }
+        catch (CiviCRM_API3_Exception $e) {
+          // ignore errors
+        }
+        // This remaining code is now very legacy, from earlier Civi versions and should soon be retired.
+        if (!empty($domain['config_backend'])) {
+          $config_backend = unserialize($domain['config_backend']);
+          if (!empty($config_backend[$key])) {
+            $settings[$key] = $config_backend[$key];
+            return $config_backend[$key];
+          }
+        }
+      }
+      // Uncomment one or more of these lines to find out what it was we were looking for and didn't find.
+      // CRM_Core_Error::debug_var('domain', $domain);
+      // CRM_Core_Error::debug_var($key, $settings);
+      // CRM_Core_Error::debug_var($key, $setting);
+  }
+}
+
+/* START utility functions to allow this extension to work with different civicrm version */
+
+/**
+ * Does this version of Civi implement repeattransaction well?
+ */
+function _iats_civicrm_use_repeattransaction() {
+  $version = CRM_Utils_System::version();
+  return (version_compare($version, '4.7.12') < 0) ? FALSE : TRUE;
+}
+
+/**
+ * Get the name of the next scheduled contribution date field, (not necessary since 4.4)
+ */
+function _iats_civicrm_nscd_fid() {
+  $version = CRM_Utils_System::version();
+  return (version_compare($version, '4.4') < 0) ? 'next_sched_contribution' : 'next_sched_contribution_date';
+}
+
+/**
+ * Set js config values, version dependent. Access is also version dependent.
+ */
+function _iats_civicrm_varset($vars) {
+  $version = CRM_Utils_System::version();
+  // Support 4.4!
+  if (version_compare($version, '4.5') < 0) {
+    CRM_Core_Resources::singleton()->addSetting('iatspayments', $vars);
+  }
+  else {
+    CRM_Core_Resources::singleton()->addVars('iatspayments', $vars);
+  }
+}
+
+/* END functions to allow this extension to work with different civicrm version */
+
+/**
+ * Utility to get the next available menu key.
+ */
+function _iats_getMenuKeyMax($menuArray) {
+  $max = array(max(array_keys($menuArray)));
+  foreach ($menuArray as $v) {
+    if (!empty($v['child'])) {
+      $max[] = _iats_getMenuKeyMax($v['child']);
+    }
+  }
+  return max($max);
+}
+
+/**
+ *
+ */
+function iats_civicrm_navigationMenu(&$navMenu) {
+  $pages = array(
+    'admin_page' => array(
+      'label'      => 'iATS Payments Admin',
+      'name'       => 'iATS Payments Admin',
+      'url'        => 'civicrm/iATSAdmin',
+      'parent' => array('Contributions'),
+      'permission' => 'access CiviContribute,administer CiviCRM',
+      'operator'   => 'AND',
+      'separator'  => NULL,
+      'active'     => 1,
+    ),
+    'settings_page' => array(
+      'label'      => 'iATS Payments Settings',
+      'name'       => 'iATS Payments Settings',
+      'url'        => 'civicrm/admin/contribute/iatssettings',
+      'parent'    => array('Administer', 'CiviContribute'),
+      'permission' => 'access CiviContribute,administer CiviCRM',
+      'operator'   => 'AND',
+      'separator'  => NULL,
+      'active'     => 1,
+    ),
+  );
+  foreach ($pages as $item) {
+    // Check that our item doesn't already exist.
+    $menu_item_search = array('url' => $item['url']);
+    $menu_items = array();
+    CRM_Core_BAO_Navigation::retrieve($menu_item_search, $menu_items);
+    if (empty($menu_items)) {
+      $path = implode('/', $item['parent']);
+      unset($item['parent']);
+      _iats_civix_insert_navigation_menu($navMenu, $path, $item);
+    }
+  }
+}
+
+/**
+ * Hook_civicrm_buildForm.
+ * Do a Drupal 7 style thing so we can write smaller functions.
+ */
+function iats_civicrm_buildForm($formName, &$form) {
+  // But start by grouping a few forms together for nicer code.
+  switch ($formName) {
+    case 'CRM_Event_Form_Participant':
+    case 'CRM_Member_Form_Membership':
+    case 'CRM_Contribute_Form_Contribution':
+      // Override normal convention, deal with all these backend credit card contribution forms the same way.
+      $fname = 'iats_civicrm_buildForm_CreditCard_Backend';
+      break;
+
+    case 'CRM_Contribute_Form_Contribution_Main':
+    case 'CRM_Event_Form_Registration_Register':
+    case 'CRM_Financial_Form_Payment':
+      // Override normal convention, deal with all these front-end contribution forms the same way.
+      $fname = 'iats_civicrm_buildForm_Contribution_Frontend';
+      break;
+
+    case 'CRM_Contribute_Form_Contribution_Confirm':
+      // On the confirmation form, we know the processor, so only do processor specific customizations.
+      $fname = 'iats_civicrm_buildForm_Contribution_Confirm_' . $form->_paymentProcessor['class_name'];
+      break;
+
+    case 'CRM_Contribute_Form_Contribution_ThankYou':
+      // On the confirmation form, we know the processor, so only do processor specific customizations.
+      $fname = 'iats_civicrm_buildForm_Contribution_ThankYou_' . $form->_paymentProcessor['class_name'];
+      break;
+
+    default:
+      $fname = 'iats_civicrm_buildForm_' . $formName;
+      break;
+  }
+  if (function_exists($fname)) {
+    $fname($form);
+  }
+  // Else echo $fname;.
+}
+
+/**
+ *
+ */
+function iats_civicrm_pageRun(&$page) {
+  $fname = 'iats_civicrm_pageRun_' . $page->getVar('_name');
+  if (function_exists($fname)) {
+    $fname($page);
+  }
+}
+
+/**
+ *
+ */
+function iats_civicrm_pageRun_CRM_Contact_Page_View_Summary(&$page) {
+  // Because of AJAX loading, I need to load my backend swipe js here.
+  $swipe = iats_civicrm_processors(NULL, 'SWIPE', array('is_default' => 1));
+  if (count($swipe) > 0) {
+    CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/swipe.js', 10);
+  }
+}
+
+/**
+ * Modify the recurring contribution (subscription) page.
+ * Display extra information about recurring contributions using iATS, and
+ * link to iATS CustomerLink display and editing pages.
+ */
+function iats_civicrm_pageRun_CRM_Contribute_Page_ContributionRecur($page) {
+  // Get the corresponding (most recently created) iATS customer code record referenced from the customer_codes table via the recur_id ('crid')
+  // we'll also get the expiry date and last four digits (at least, our best information about that).
+  $extra = array();
+  $crid = CRM_Utils_Request::retrieve('id', 'Integer', $page, FALSE);
+  try {
+    $recur = civicrm_api3('ContributionRecur', 'getsingle', array('id' => $crid));
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return;
+  }
+  $type = _iats_civicrm_is_iats($recur['payment_processor_id']);
+  if (!$type) {
+    return;
+  }
+  try {
+    $params = array(1 => array($crid, 'Integer'));
+    $dao = CRM_Core_DAO::executeQuery("SELECT customer_code,expiry FROM civicrm_iats_customer_codes WHERE recur_id = %1 ORDER BY id DESC LIMIT 1", $params);
+    if ($dao->fetch()) {
+      $customer_code = $dao->customer_code;
+      $extra['iATS Customer Code'] = $customer_code;
+      $customerLinkView = CRM_Utils_System::url('civicrm/contact/view/iatscustomerlink',
+        'reset=1&cid=' . $recur['contact_id'] . '&customerCode=' . $customer_code . '&paymentProcessorId=' . $recur['payment_processor_id'] . '&is_test=' . $recur['is_test']);
+      $extra['customerLink'] = "<a href='$customerLinkView'>View</a>";
+      if ($type == 'iATSService' || $type == 'iATSServiceSWIPE') {
+        $customerLinkEdit = CRM_Utils_System::url('civicrm/contact/edit/iatscustomerlink',
+          'reset=1&cid=' . $recur['contact_id'] . '&customerCode=' . $customer_code . '&paymentProcessorId=' . $recur['payment_processor_id'] . '&is_test=' . $recur['is_test']);
+        $extra['customerLink'] .= " | <a href='$customerLinkEdit'>Edit</a>";
+        $processLink = CRM_Utils_System::url('civicrm/contact/iatsprocesslink',
+          'reset=1&cid=' . $recur['contact_id'] . '&customerCode=' . $customer_code . '&paymentProcessorId=' . $recur['payment_processor_id'] . '&crid=' . $crid . '&is_test=' . $recur['is_test']);
+        $extra['customerLink'] .= " | <a href='$processLink'>Process</a>";
+        $expiry = str_split($dao->expiry, 2);
+        $extra['expiry'] = '20' . implode('-', $expiry);
+      }
+    }
+    if (!empty($recur['invoice_id'])) {
+      // We may have the last 4 digits via the original request log, though they may no longer be accurate, but let's get it anyway if we can.
+      $params = array(1 => array($recur['invoice_id'], 'String'));
+      $dao = CRM_Core_DAO::executeQuery("SELECT cc FROM civicrm_iats_request_log WHERE invoice_num = %1", $params);
+      if ($dao->fetch()) {
+        $extra['cc'] = $dao->cc;
+      }
+    }
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return;
+  }
+  if (!count($extra)) {
+    return;
+  }
+  $template = CRM_Core_Smarty::singleton();
+  foreach ($extra as $key => $value) {
+    $template->assign($key, $value);
+  }
+  CRM_Core_Region::instance('page-body')->add(array(
+    'template' => 'CRM/iATS/ContributionRecur.tpl',
+  ));
+  CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/subscription_view.js');
+}
+
+/**
+ * Hook_civicrm_merge
+ * Deal with contact merges - our custom iats customer code table contains contact id's as a check, it might need to be updated.
+ */
+function iats_civicrm_merge($type, &$data, $mainId = NULL, $otherId = NULL, $tables = NULL) {
+  if ('cidRefs' == $type) {
+    $data['civicrm_iats_customer_codes'] = array('cid');
+    $data['civicrm_iats_verify'] = array('cid');
+  }
+}
+
+/**
+ * Hook_civicrm_pre.
+ *
+ * Handle special cases of creating contribution (regular and recurring) records when using IATS Payments.
+ *
+ * 1. CiviCRM assumes all recurring contributions need to be confirmed using the IPN mechanism. This is not true for iATS recurring contributions.
+ * So when creating a contribution that is part of a recurring series, test for status = 2, and set to status = 1 instead, unless we're using the fixed day feature
+ * Do this only for the initial contribution record.
+ * The (subsequent) recurring contributions' status id is set explicitly in the job that creates it, this modification breaks that process.
+ *
+ * 2. For ACH/EFT, we also have the opposite problem - all contributions will need to verified by iATS and only later set to status success or
+ * failed via the acheft verify job. We also want to modify the payment instrument from CC to ACH/EFT
+ *
+ * TODO: update this code with constants for the various id values of 1 and 2.
+ * TODO: CiviCRM should have nicer ways to handle this.
+ */
+function iats_civicrm_pre($op, $objectName, $objectId, &$params) {
+  // Since this function gets called a lot, quickly determine if I care about the record being created.
+  if (('create' == $op) && ('Contribution' == $objectName) && !empty($params['contribution_status_id'])) {
+    // watchdog('iats_civicrm','hook_civicrm_pre for Contribution <pre>@params</pre>',array('@params' => print_r($params));
+    // figure out the payment processor id, not nice.
+    $version = CRM_Utils_System::version();
+    $payment_processor_id = !empty($params['payment_processor']) ? $params['payment_processor'] :
+                                (!empty($params['contribution_recur_id']) ? _iats_civicrm_get_payment_processor_id($params['contribution_recur_id']) :
+                                 0);
+    if ($type = _iats_civicrm_is_iats($payment_processor_id)) {
+      $settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+      $allow_days = empty($settings['days']) ? array('-1') : $settings['days'];
+      switch ($type . $objectName) {
+        // Cc contribution, test if it's been set to status 2 on a recurring contribution.
+        case 'iATSServiceContribution':
+        case 'iATSServiceSWIPEContribution':
+          // For civi version before 4.6.6, we had to force the status to 1.
+          if ((2 == $params['contribution_status_id'])
+            && !empty($params['contribution_recur_id'])
+            && (max($allow_days) <= 0)
+            && (version_compare($version, '4.6.6') < 0)
+          ) {
+            // But only for the first one.
+            $count = civicrm_api3('Contribution', 'getcount', array('contribution_recur_id' => $params['contribution_recur_id']));
+            if (
+              (is_array($count) && empty($count['result']))
+              || empty($count)
+            ) {
+              // watchdog('iats_civicrm','hook_civicrm_pre updating status_id for objectName @id, count <pre>!count</pre>, params <pre>!params</pre>, ',array('@id' => $objectName, '!count' => print_r($count,TRUE),'!params' => print_r($params,TRUE)));.
+              $params['contribution_status_id'] = 1;
+            }
+          }
+          break;
+
+        case 'iATSServiceACHEFTContribution':
+          // ach/eft contribution: update the payment instrument if it's still showing cc or empty
+          if ($params['payment_instrument_id'] <= 1) {
+            $params['payment_instrument_id'] = 2;
+          }
+          // And push the status to 2 if civicrm thinks it's 1, i.e. for one-time contributions
+          // in other words, never create ach/eft contributions as complete, always push back to pending and verify.
+          if ($params['contribution_status_id'] == 1) {
+            $params['contribution_status_id'] = 2;
+          }
+          break;
+
+        // UK DD contribution: update the payment instrument, fix the receive date.
+        case 'iATSServiceUKDDContribution':
+          if ($params['payment_instrument_id'] <= 1) {
+            $params['payment_instrument_id'] = 2;
+          }
+          if ($start_date = strtotime($_POST['payer_validate_start_date'])) {
+            $params['receive_date'] = date('Ymd', $start_date) . '120000';
+          }
+          break;
+
+      }
+    }
+    // watchdog('iats_civicrm','ignoring hook_civicrm_pre for objectName @id',array('@id' => $objectName));.
+  }
+  // If I've set fixed monthly recurring dates, force any iats (non uk dd) recurring contribution schedule records to comply.
+  if (('ContributionRecur' == $objectName) && ('create' == $op || 'edit' == $op) && !empty($params['payment_processor_id'])) {
+    if ($type = _iats_civicrm_is_iats($params['payment_processor_id'])) {
+      if ($type != 'iATSServiceUKDD' && !empty($params['next_sched_contribution_date'])) {
+        $settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+        $allow_days = empty($settings['days']) ? array('-1') : $settings['days'];
+        // Force one of the fixed days, and set the cycle_day at the same time.
+        if (0 < max($allow_days)) {
+          $init_time = ('create' == $op) ? time() : strtotime($params['next_sched_contribution_date']);
+          $from_time = _iats_contributionrecur_next($init_time, $allow_days);
+          $params['next_sched_contribution_date'] = date('YmdHis', $from_time);
+          // Day of month without leading 0.
+          $params['cycle_day'] = date('j', $from_time);
+        }
+      }
+      // Fix a civi bug while I'm here.
+      if (empty($params['installments'])) {
+        $params['installments'] = '0';
+      }
+    }
+  }
+}
+
+/**
+ * The contribution itself doesn't tell you which payment processor it came from
+ * So we have to dig back via the contribution_recur_id that it is associated with.
+ */
+function _iats_civicrm_get_payment_processor_id($contribution_recur_id) {
+  $params = array(
+    'id' => $contribution_recur_id,
+  );
+  try {
+    $result = civicrm_api3('ContributionRecur', 'getsingle', $params);
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return FALSE;
+  }
+  if (empty($result['payment_processor_id'])) {
+    return FALSE;
+    // TODO: log error.
+  }
+  return $result['payment_processor_id'];
+}
+
+/**
+ * Utility function to see if a payment processor id is using one of the iATS payment processors.
+ *
+ * This function relies on our naming convention for the iats payment processor classes, staring with the string Payment_iATSService.
+ */
+function _iats_civicrm_is_iats($payment_processor_id) {
+  if (empty($payment_processor_id)) {
+    return FALSE;
+  }
+  $params = array(
+    'id' => $payment_processor_id,
+  );
+  try {
+    $result = civicrm_api3('PaymentProcessor', 'getsingle', $params);
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return FALSE;
+  }
+  if (empty($result['class_name'])) {
+    return FALSE;
+    // TODO: log error.
+  }
+  $type = substr($result['class_name'], 0, 19);
+  $subtype = substr($result['class_name'], 19);
+  return ('Payment_iATSService' == $type) ? 'iATSService' . $subtype : FALSE;
+}
+
+/**
+ * Internal utility function: return the id's of any iATS processors matching various conditions.
+ *
+ * Processors: an array of payment processors indexed by id to filter by,
+ *             or if NULL, it searches through all
+ * subtype: the iats service class name subtype
+ * params: an array of additional params to pass to the api call.
+ */
+function iats_civicrm_processors($processors, $subtype = '', $params = array()) {
+  $list = array();
+  $match_all = ('*' == $subtype) ? TRUE : FALSE;
+  if (!$match_all) {
+    $params['class_name'] = 'Payment_iATSService' . $subtype;
+  }
+
+  // Set the domain id if not passed in.
+  if (!array_key_exists('domain_id', $params)) {
+    $params['domain_id']    = CRM_Core_Config::domainID();
+  }
+
+  $result = civicrm_api3('PaymentProcessor', 'get', $params);
+  if (0 == $result['is_error'] && count($result['values']) > 0) {
+    foreach ($result['values'] as $paymentProcessor) {
+      $id = $paymentProcessor['id'];
+      if ((is_null($processors)) || !empty($processors[$id])) {
+        if (!$match_all || (0 === strpos($paymentProcessor['class_name'], 'Payment_iATSService'))) {
+          $list[$id] = $paymentProcessor;
+        }
+      }
+    }
+  }
+  return $list;
+}
+
+/**
+ * Customize direct debit billing blocks, per currency.
+ *
+ * Each country has different rules about direct debit, so only currencies that we explicitly handle will be
+ * customized, others will get a warning.
+ *
+ * The currency-specific functions will do things like modify labels, add exta fields,
+ * add legal requirement notice and perhaps checkbox acceptance for electronic acceptance of ACH/EFT, and
+ * make this form nicer by include a sample check with instructions for getting the various numbers
+ *
+ * Each one also includes some javascript to move the new fields around on the DOM
+ */
+function iats_acheft_form_customize($form) {
+  $currency = iats_getCurrency($form);
+  $fname = 'iats_acheft_form_customize_' . $currency;
+  /* we always want these three fields to be required, in all currencies. As of 4.6.?, this is in core */
+  if (empty($form->billingFieldSets['direct_debit']['fields']['account_holder']['is_required'])) {
+    $form->addRule('account_holder', ts('%1 is a required field.', array(1 => ts('Name of Account Holder'))), 'required');
+  }
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_account_number']['is_required'])) {
+    $form->addRule('bank_account_number', ts('%1 is a required field.', array(1 => ts('Account Number'))), 'required');
+  }
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_name']['is_required'])) {
+    $form->addRule('bank_name', ts('%1 is a required field.', array(1 => ts('Bank Name'))), 'required');
+  }
+  if ($currency && function_exists($fname)) {
+    $fname($form);
+  }
+  // I'm handling an unexpected currency.
+  elseif ($currency) {
+    CRM_Core_Region::instance('billing-block')->add(array(
+      'template' => 'CRM/iATS/BillingBlockDirectDebitExtra_Other.tpl',
+    ));
+  }
+}
+
+/**
+ *
+ */
+function iats_getCurrency($form) {
+  // getting the currency depends on the form class
+  $form_class = get_class($form);
+  $currency = '';
+  switch($form_class) {
+    case 'CRM_Contribute_Form_Contribution':
+    case 'CRM_Contribute_Form_Contribution_Main':
+    case 'CRM_Member_Form_Membership':
+      $currency = $form->_values['currency'];
+      break;
+    case 'CRM_Financial_Form_Payment':
+      // This is the new ajax-loaded payment form.
+      $currency = $form->getCurrency();
+      break;
+    case 'CRM_Event_Form_Participant':
+    case 'CRM_Event_Form_Registration_Register':
+      $currency = $form->_values['event']['currency'];
+      break;
+  }
+  if (empty($currency)) {
+    // This may occur in edge cases, so don't break, though the form won't be rendered correctly.
+    // See comment on civicrm core commit f61437d
+    CRM_Core_Error::debug_var($form_class, $form);
+  }
+  return $currency;
+}
+
+/**
+ * Customization for USD ACH-EFT billing block.
+ */
+function iats_acheft_form_customize_USD($form) {
+  $form->addElement('select', 'bank_account_type', ts('Account type'), array('CHECKING' => 'Checking', 'SAVING' => 'Saving'));
+  $form->addRule('bank_account_type', ts('%1 is a required field.', array(1 => ts('Account type'))), 'required');
+  $element = $form->getElement('account_holder');
+  $element->setLabel(ts('Name of Account Holder'));
+  $element = $form->getElement('bank_account_number');
+  $element->setLabel(ts('Bank Account Number'));
+  $element = $form->getElement('bank_identification_number');
+  $element->setLabel(ts('Bank Routing Number'));
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_identification_number']['is_required'])) {
+    $form->addRule('bank_identification_number', ts('%1 is a required field.', array(1 => ts('Bank Routing Number'))), 'required');
+  }
+  CRM_Core_Region::instance('billing-block')->add(array(
+    'template' => 'CRM/iATS/BillingBlockDirectDebitExtra_USD.tpl',
+  ));
+}
+
+/**
+ * Customization for CAD ACH-EFT billing block.
+ */
+function iats_acheft_form_customize_CAD($form) {
+  $form->addElement('text', 'cad_bank_number', ts('Bank Number (3 digits)'));
+  $form->addRule('cad_bank_number', ts('%1 is a required field.', array(1 => ts('Bank Number'))), 'required');
+  $form->addRule('cad_bank_number', ts('%1 must contain only digits.', array(1 => ts('Bank Number'))), 'numeric');
+  $form->addRule('cad_bank_number', ts('%1 must be of length 3.', array(1 => ts('Bank Number'))), 'rangelength', array(3, 3));
+  $form->addElement('text', 'cad_transit_number', ts('Transit Number (5 digits)'));
+  $form->addRule('cad_transit_number', ts('%1 is a required field.', array(1 => ts('Transit Number'))), 'required');
+  $form->addRule('cad_transit_number', ts('%1 must contain only digits.', array(1 => ts('Transit Number'))), 'numeric');
+  $form->addRule('cad_transit_number', ts('%1 must be of length 5.', array(1 => ts('Transit Number'))), 'rangelength', array(5, 5));
+  $form->addElement('select', 'bank_account_type', ts('Account type'), array('CHECKING' => 'Chequing', 'SAVING' => 'Savings'));
+  $form->addRule('bank_account_type', ts('%1 is a required field.', array(1 => ts('Account type'))), 'required');
+  /* minor customization of labels + make them required */
+  $element = $form->getElement('account_holder');
+  $element->setLabel(ts('Name of Account Holder'));
+  $element = $form->getElement('bank_account_number');
+  $element->setLabel(ts('Account Number'));
+  $form->addRule('bank_account_number', ts('%1 must contain only digits.', array(1 => ts('Bank Account Number'))), 'numeric');
+  /* the bank_identification_number is hidden and then populated using jquery, in the custom template */
+  $element = $form->getElement('bank_identification_number');
+  $element->setLabel(ts('Bank Number + Transit Number'));
+  CRM_Core_Region::instance('billing-block')->add(array(
+    'template' => 'CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl',
+  ));
+}
+
+/**
+ * Contribution form customization for iATS secure swipe.
+ */
+function iats_swipe_form_customize($form) {
+  // Remove two fields that are replaced by the swipe code data
+  // we need to remove them from the _paymentFields as well or they'll sneak back in!
+  $form->removeElement('credit_card_type', TRUE);
+  $form->removeElement('cvv2', TRUE);
+  unset($form->_paymentFields['credit_card_type']);
+  unset($form->_paymentFields['cvv2']);
+  // Add a single text area to store/display the encrypted cc number that the swipe device will fill.
+  $form->addElement('textarea', 'encrypted_credit_card_number', ts('Encrypted'), array('cols' => '80', 'rows' => '8'));
+  $form->addRule('encrypted_credit_card_number', ts('%1 is a required field.', array(1 => ts('Encrypted'))), 'required');
+  CRM_Core_Region::instance('billing-block')->add(array(
+    'template' => 'CRM/iATS/BillingBlockSwipe.tpl',
+  ));
+}
+
+/**
+ * Customize direct debit billing block for UK Direct Debit.
+ *
+ * This could be handled by iats_acheft_form_customize, except there's some tricky multi-page stuff for the payer validate step.
+ */
+function iats_ukdd_form_customize($form) {
+  /* uk direct debits have to start 16 days after the initial request is made */
+  if (!$form->elementExists('is_recur')) {
+    // Todo generate an error on the page.
+    return;
+  }
+  define('IATS_UKDD_START_DELAY', 16 * 24 * 60 * 60);
+  /* For batch efficiencies, restrict to a specific set of days of the month, less than 28 */
+  // you can change these if you're sensible and careful.
+  $start_days = array('1', '15');
+  $start_dates = _iats_get_future_monthly_start_dates(time() + IATS_UKDD_START_DELAY, $start_days);
+  $service_user_number = $form->_paymentProcessor['signature'];
+  $payee = _iats_civicrm_domain_info('name');
+  $phone = _iats_civicrm_domain_info('domain_phone');
+  $email = _iats_civicrm_domain_info('domain_email');
+  $form->addRule('is_recur', ts('You can only use this form to make recurring contributions.'), 'required');
+  /* declaration checkbox at the top */
+  $form->addElement('checkbox', 'payer_validate_declaration', ts('I wish to start a Direct Debit'));
+  $form->addElement('static', 'payer_validate_contact', ts(''), ts('Organization: %1, Phone: %2, Email: %3', array('%1' => $payee, '%2' => $phone['phone'], '%3' => $email)));
+  $form->addElement('select', 'payer_validate_start_date', ts('Date of first collection'), $start_dates);
+  $form->addRule('payer_validate_declaration', ts('%1 is a required field.', array(1 => ts('The Declaration'))), 'required');
+  $form->addRule('installments', ts('%1 is a required field.', array(1 => ts('Number of installments'))), 'required');
+  /* customization of existing elements */
+  $element = $form->getElement('account_holder');
+  $element->setLabel(ts('Account Holder Name'));
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_identification_number']['is_required'])) {
+    $form->addRule('account_holder', ts('%1 is a required field.', array(1 => ts('Name of Account Holder'))), 'required');
+  }
+  $element = $form->getElement('bank_account_number');
+  $element->setLabel(ts('Account Number'));
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_identification_number']['is_required'])) {
+    $form->addRule('bank_account_number', ts('%1 is a required field.', array(1 => ts('Account Number'))), 'required');
+  }
+  $element = $form->getElement('bank_identification_number');
+  $element->setLabel(ts('Sort Code'));
+  if (empty($form->billingFieldSets['direct_debit']['fields']['bank_identification_number']['is_required'])) {
+    $form->addRule('bank_identification_number', ts('%1 is a required field.', array(1 => ts('Sort Code'))), 'required');
+  }
+  /* new payer validation elements */
+  $form->addElement('textarea', 'payer_validate_address', ts('Name and full postal address of your Bank or Building Society'), array('rows' => '6', 'columns' => '30'));
+  $form->addElement('text', 'payer_validate_service_user_number', ts('Service User Number'));
+  $form->addElement('text', 'payer_validate_reference', ts('Reference'), array());
+  // Date on which the validation happens, reference.
+  $form->addElement('text', 'payer_validate_date', ts('Today\'s Date'), array());
+  $form->addElement('static', 'payer_validate_instruction', ts('Instruction to your Bank or Building Society'), ts('Please pay %1 Direct Debits from the account detailed in this instruction subject to the safeguards assured by the Direct Debit Guarantee. I understand that this instruction may remain with TestingTest and, if so, details will be passed electronically to my Bank / Building Society.', array('%1' => "<strong>$payee</strong>")));
+  // $form->addRule('bank_name', ts('%1 is a required field.', array(1 => ts('Bank Name'))), 'required');
+  // $form->addRule('bank_account_type', ts('%1 is a required field.', array(1 => ts('Account type'))), 'required');
+  /* only allow recurring contributions, set date */
+  $form->setDefaults(array(
+    'is_recur' => 1,
+    'payer_validate_date' => date('F j, Y'),
+    'payer_validate_start_date' => current(array_keys($start_dates)),
+    'payer_validate_service_user_number' => $service_user_number,
+  // Make recurring contrib default to true.
+  ));
+  CRM_Core_Region::instance('billing-block')->add(array(
+    'template' => 'CRM/iATS/BillingBlockDirectDebitExtra_GBP.tpl',
+  ));
+}
+
+/**
+ * Modifications to a (public/frontend) contribution forms.
+ * 1. set recurring to be the default, if enabled (ACH/EFT) [previously forced recurring, removed in 1.2.4]
+ * 2. add extra fields/modify labels.
+ * 3. enable public selection of future recurring contribution start date.
+ * 
+ * We're handling event, contribution, and financial payment class forms here. 
+ * The new 4.7 financial payment class form is used when switching payment processors (sometimes).
+ */
+function iats_civicrm_buildForm_Contribution_Frontend(&$form) {
+
+  $form_class = get_class($form);
+
+  if ($form_class == 'CRM_Financial_Form_Payment') {
+    // We're on CRM_Financial_Form_Payment, we've got just one payment processor
+    $id = $form->_paymentProcessor['id'];
+    $iats_processors = iats_civicrm_processors(array($id => $form->_paymentProcessor), '*');
+  }
+  else { 
+    // Handle the event and contribution page forms
+    if (empty($form->_paymentProcessors)) {
+      if (empty($form->_paymentProcessorIDs)) {
+        return;
+      }
+      else {
+        $form_payment_processors = array_fill_keys($form->_paymentProcessorIDs,1);
+      }
+    }
+    else {
+      $form_payment_processors = $form->_paymentProcessors;
+    }
+    $iats_processors = iats_civicrm_processors($form_payment_processors, '*');
+  }
+  if (empty($iats_processors)) {
+    return;
+  }
+  $ukdd = $swipe = $acheft = array();
+  foreach ($iats_processors as $id => $processor) {
+    switch ($processor['class_name']) {
+      case 'Payment_iATSServiceACHEFT':
+        $acheft[$id] = $processor;
+        break;
+
+      case 'Payment_iATSServiceSWIPE':
+        $swipe[$id] = $processor;
+        break;
+
+      case 'Payment_iATSServiceUKDD':
+        $ukdd[$id] = $processor;
+        break;
+    }
+  }
+  // Include the required javascripts for available customized selections
+  // If a form allows ACH/EFT and enables recurring, set recurring to the default.
+  if (0 < count($acheft)) {
+    if (isset($form->_elementIndex['is_recur'])) {
+      // Make recurring contrib default to true.
+      $form->setDefaults(array('is_recur' => 1));
+    }
+  }
+  if (0 < count($swipe)) {
+    CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/swipe.js', 10);
+  }
+  if (0 < count($ukdd)) {
+    CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/dd_uk.js', 10);
+    if (isset($form->_elementIndex['is_recur'])) {
+      // Make recurring contrib default to true.
+      $form->setDefaults(array('is_recur' => 1));
+    }
+  }
+
+  // If enabled on a page with monthly recurring contributions enabled, provide a way to set future contribution dates. 
+  // Uses javascript to hide/reset unless they have recurring contributions checked.
+  if (isset($form->_elementIndex['is_recur'])) {
+    $settings = CRM_Core_BAO_Setting::getItem('iATS Payments Extension', 'iats_settings');
+    if (!empty($settings['enable_public_future_recurring_start'])) {
+      $allow_days = empty($settings['days']) ? array('-1') : $settings['days'];
+      $start_dates = _iats_get_future_monthly_start_dates(time(), $allow_days);
+      $form->addElement('select', 'receive_date', ts('Date of first contribution'), $start_dates);
+      CRM_Core_Region::instance('billing-block')->add(array(
+        'template' => 'CRM/iATS/BillingBlockRecurringExtra.tpl',
+      ));
+      CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/recur_start.js', 10);
+    }
+  }
+  
+  /* Mangle the ajax bit of the form (if any) by processor type */
+  if (!empty($form->_paymentProcessor['id'])) {
+    $id = $form->_paymentProcessor['id'];
+    /* Note that Ach/Eft is currency dependent */
+    if (!empty($acheft[$id])) {
+      iats_acheft_form_customize($form);
+      // watchdog('iats_acheft',kprint_r($form,TRUE));.
+    }
+    elseif (!empty($swipe[$id])) {
+      iats_swipe_form_customize($form);
+    }
+    /* UK Direct debit option */
+    elseif (!empty($ukdd[$id])) {
+      iats_ukdd_form_customize($form);
+      // watchdog('iats_acheft',kprint_r($form,TRUE));.
+    }
+  }
+
+}
+
+/**
+ * Fix the backend credit card contribution forms
+ * Includes CRM_Contribute_Form_Contribution, CRM_Event_Form_Participant, CRM_Member_Form_Membership
+ * 1. Remove my ACH/EFT processors
+ * Now fixed in core for contribution forms: https://issues.civicrm.org/jira/browse/CRM-14442
+ * 2. Force SWIPE (i.e. remove all others) if it's the default, and mangle the form accordingly.
+ * For now, this form doesn't refresh when you change payment processors, so I can't use swipe if it's not the default, so i have to remove it.
+ */
+function iats_civicrm_buildForm_CreditCard_Backend(&$form) {
+  // Skip if i don't have any processors.
+  if (empty($form->_processors)) {
+    return;
+  }
+  // Get all my swipe processors.
+  $swipe = iats_civicrm_processors($form->_processors, 'SWIPE');
+  // Get all my ACH/EFT processors (should be 0, but I'm fixing old core bugs)
+  $acheft = iats_civicrm_processors($form->_processors, 'ACHEFT');
+  // If an iATS SWIPE payment processor is enabled and default remove all other payment processors.
+  $swipe_id_default = 0;
+  if (0 < count($swipe)) {
+    foreach ($swipe as $id => $pp) {
+      if ($pp['is_default']) {
+        $swipe_id_default = $id;
+        break;
+      }
+    }
+  }
+  // Find the available pp options form element (update this if we ever switch from quickform, uses a quickform internals)
+  // not all invocations of the form include this, so check for non-empty value first.
+  if (!empty($form->_elementIndex['payment_processor_id'])) {
+    $pp_form_id = $form->_elementIndex['payment_processor_id'];
+    // Now cycle through them, either removing everything except the default swipe or just removing the ach/eft.
+    $element = $form->_elements[$pp_form_id]->_options;
+    foreach ($element as $option_id => $option) {
+      // Key is set to payment processor id.
+      $pp_id = $option['attr']['value'];
+      if ($swipe_id_default) {
+        // Remove any that are not my swipe default pp.
+        if ($pp_id != $swipe_id_default) {
+          unset($form->_elements[$pp_form_id]->_options[$option_id]);
+          unset($form->_processors[$pp_id]);
+          if (!empty($form->_recurPaymentProcessors[$pp_id])) {
+            unset($form->_recurPaymentProcessors[$pp_id]);
+          }
+        }
+      }
+      elseif (!empty($acheft[$pp_id]) || !empty($swipe[$pp_id])) {
+        // Remove my ach/eft and swipe, which both require form changes.
+        unset($form->_elements[$pp_form_id]->_options[$option_id]);
+        unset($form->_processors[$pp_id]);
+        if (!empty($form->_recurPaymentProcessors[$pp_id])) {
+          unset($form->_recurPaymentProcessors[$pp_id]);
+        }
+      }
+    }
+  }
+
+  // If i'm using swipe as default and I've got a billing section, then customize it.
+  if ($swipe_id_default) {
+    CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/swipe.js', 10);
+    if (!empty($form->_elementIndex['credit_card_exp_date'])) {
+      iats_swipe_form_customize($form);
+    }
+  }
+}
+
+/**
+ * Provide helpful links to backend-ish payment pages for ACH/EFT, since the backend credit card pages don't work/apply
+ * Could do the same for swipe?
+ */
+function iats_civicrm_buildForm_CRM_Contribute_Form_Search(&$form) {
+  // Ignore invocations that aren't for a specific contact, e.g. the civicontribute dashboard.
+  if (empty($form->_defaultValues['contact_id'])) {
+    return;
+  }
+  $contactID = $form->_defaultValues['contact_id'];
+  $acheft = iats_civicrm_processors(NULL, 'ACHEFT', array('is_active' => 1, 'is_test' => 0));
+  $acheft_backoffice_links = array();
+  // For each ACH/EFT payment processor, try to provide a different mechanism for 'backoffice' type contributions
+  // note: only offer payment pages that provide iATS ACH/EFT exclusively.
+  foreach (array_keys($acheft) as $pp_id) {
+    $params = array('is_active' => 1, 'payment_processor' => $pp_id);
+    $result = civicrm_api3('ContributionPage', 'get', $params);
+    if (0 == $result['is_error'] && count($result['values']) > 0) {
+      foreach ($result['values'] as $page) {
+        $url = CRM_Utils_System::url('civicrm/contribute/transact', 'reset=1&cid=' . $contactID . '&id=' . $page['id']);
+        $acheft_backoffice_links[] = array('url' => $url, 'title' => $page['title']);
+      }
+    }
+  }
+  if (count($acheft_backoffice_links)) {
+    _iats_civicrm_varset(array('backofficeLinks' => $acheft_backoffice_links));
+    CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/contribute_form_search.js');
+  }
+}
+
+/**
+ * If this recurring contribution sequence is using an iATS payment processor,
+ * modify the recurring contribution cancelation form to exclude the confusing message about sending the request to the backend.
+ */
+function iats_civicrm_buildForm_CRM_Contribute_Form_CancelSubscription(&$form) {
+  $crid = CRM_Utils_Request::retrieve('crid', 'Integer', $form, FALSE);
+  try {
+    $recur = civicrm_api3('ContributionRecur', 'getsingle', array('id' => $crid));
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return;
+  }
+  if (_iats_civicrm_is_iats($recur['payment_processor_id'])) {
+    if ($form->elementExists('send_cancel_request')) {
+      $form->removeElement('send_cancel_request');
+    }
+  }
+}
+
+/**
+ * Modify the contribution Confirm screen for iATS UK DD
+ * 1. display extra field data injected earlier for payer validation.
+ */
+function iats_civicrm_buildForm_Contribution_Confirm_Payment_iATSServiceUKDD(&$form) {
+  $form->addElement('textarea', 'payer_validate_address', ts('Name and full postal address of your Bank or Building Society'), array('rows' => '6', 'columns' => '30'));
+  $form->addElement('text', 'payer_validate_service_user_number', ts('Service User Number'));
+  $form->addElement('text', 'payer_validate_reference', ts('Reference'));
+  // Date on which the validation happens, reference.
+  $form->addElement('text', 'payer_validate_date', ts('Today\'s Date'), array());
+  $form->addElement('text', 'payer_validate_start_date', ts('Date of first collection'));
+  $form->addElement('static', 'payer_validate_instruction', ts('Instruction to your Bank or Building Society'), ts('Please pay %1 Direct Debits from the account detailed in this instruction subject to the safeguards assured by the Direct Debit Guarantee. I understand that this instruction may remain with TestingTest and, if so, details will be passed electronically to my Bank / Building Society.', array('%1' => "<strong>$payee</strong>")));
+  $defaults = array(
+    'payer_validate_date' => date('F j, Y'),
+  );
+  foreach (array('address', 'service_user_number', 'reference', 'date', 'start_date') as $k) {
+    $key = 'payer_validate_' . $k;
+    $defaults[$key] = $form->_params[$key];
+  };
+  $form->setDefaults($defaults);
+  CRM_Core_Region::instance('contribution-confirm-billing-block')->add(array(
+    'template' => 'CRM/iATS/ContributeConfirmExtra_UKDD.tpl',
+  ));
+}
+
+/**
+ * Modify the contribution Thank You screen for iATS UK DD.
+ */
+function iats_civicrm_buildForm_Contribution_ThankYou_Payment_iATSServiceUKDD(&$form) {
+  foreach (array('address', 'service_user_number', 'reference', 'date', 'start_date') as $k) {
+    $key = 'payer_validate_' . $k;
+    $form->addElement('static', $key, $key, $form->_params[$key]);
+  };
+  CRM_Core_Region::instance('contribution-thankyou-billing-block')->add(array(
+    'template' => 'CRM/iATS/ContributeThankYouExtra_UKDD.tpl',
+  ));
+}
+
+/**
+ * Add some functionality to the update subscription form for recurring contributions.
+ */
+function iats_civicrm_buildForm_CRM_Contribute_Form_UpdateSubscription(&$form) {
+
+  /* For 4.7, we implement getEditableRecurringScheduleFields but still need this for additional niceness */
+
+  // Only do this if the user is allowed to edit contributions. A more stringent permission might be smart.
+  if (!CRM_Core_Permission::check('edit contributions')) {
+    return;
+  }
+  // Only mangle this form for recurring contributions using iATS, (and not the UKDD version)
+  $payment_processor_type = $form->_paymentProcessor['class_name'];
+  if (0 !== strpos($payment_processor_type, 'Payment_iATSService')) {
+    return;
+  }
+  if ('Payment_iATSServiceUKDD' == $payment_processor_type) {
+    return;
+  }
+  $settings = civicrm_api3('Setting', 'getvalue', array('name' => 'iats_settings'));
+  // don't do this if the site administrator has disabled it.
+  if (!empty($settings['no_edit_extra'])) {
+    return;
+  }
+  $allow_days = empty($settings['days']) ? array('-1') : $settings['days'];
+  if (0 < max($allow_days)) {
+    $userAlert = ts('Your next scheduled contribution date will automatically be updated to the next allowable day of the month: %1', 
+      array(1 => implode(', ', $allow_days)));
+    CRM_Core_Session::setStatus($userAlert, ts('Warning'), 'alert');
+  }
+  $crid = CRM_Utils_Request::retrieve('crid', 'Integer', $form, FALSE);
+  /* get the recurring contribution record and the contact record, or quit */
+  try {
+    $recur = civicrm_api3('ContributionRecur', 'getsingle', array('id' => $crid));
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return;
+  }
+  try {
+    $contact = civicrm_api3('Contact', 'getsingle', array('id' => $recur['contact_id']));
+  }
+  catch (CiviCRM_API3_Exception $e) {
+    return;
+  }
+  // Turn off default notification checkbox, because that's a better default.
+  $defaults = array('is_notify' => 0);
+  $edit_fields = array(
+    'contribution_status_id' => 'Status',
+    'next_sched_contribution_date' => 'Next Scheduled Contribution',
+    'start_date' => 'Start Date',
+    'is_email_receipt' => 'Email receipt for each Contribution in this Recurring Series',
+  );
+  $dupe_fields = array();
+  // To be a good citizen, I check if core or another extension hasn't already added these fields 
+  // and remove them if they have.
+  foreach (array_keys($edit_fields) as $fid) {
+    if ($form->elementExists($fid)) {
+      unset($edit_fields[$fid]);
+      $dupe_fields[] = str_replace('_','-',$fid);
+    }
+    elseif (isset($recur[$fid])) {
+      $defaults[$fid] = $recur[$fid];
+    }
+  }
+  // Use this in my js to identify which fields need to be removed from the tpl I inject below
+  _iats_civicrm_varset(array('dupeSubscriptionFields' => $dupe_fields));
+  foreach ($edit_fields as $fid => $label) {
+    switch($fid) {
+      case 'contribution_status_id':
+        $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
+        $form->addElement('select', 'contribution_status_id', ts('Status'), $contributionStatus);
+        break;
+      case 'is_email_receipt':
+        $receiptStatus = array('0' => 'No', '1' => 'Yes');
+        $form->addElement('select', $fid, ts($label), $receiptStatus);
+        break;
+      default:
+        $form->addDateTime($fid, ts($label));
+        break;
+    }
+  }
+  $form->setDefaults($defaults);
+  // Now add some more fields for display only
+  /* Add in the contact's name */
+  $form->addElement('static', 'contact', $contact['display_name']);
+  // get my pp.
+  $pp_label = $form->_paymentProcessor['name'];
+  $form->addElement('static', 'payment_processor', $pp_label);
+  $label = CRM_Contribute_Pseudoconstant::financialType($recur['financial_type_id']);
+  $form->addElement('static', 'financial_type', $label);
+  $labels = CRM_Contribute_Pseudoconstant::paymentInstrument();
+  $label = $labels[$recur['payment_instrument_id']];
+  $form->addElement('static', 'payment_instrument', $label);
+  $form->addElement('static', 'failure_count', $recur['failure_count']);
+  CRM_Core_Region::instance('page-body')->add(array(
+    'template' => 'CRM/iATS/Subscription.tpl',
+  ));
+  CRM_Core_Resources::singleton()->addScriptFile('com.iatspayments.civicrm', 'js/subscription.js');
+}
+
+function iats_civicrm_buildForm_CRM_Contribute_Form_UpdateBilling(&$form) {
+  // add hidden form field for the contribution recur ID taken from URL
+  // if not specified directly, look it up via a membership ID
+  $crid = CRM_Utils_Array::value('crid', $_GET);
+  if (!$crid) {
+    $mid = CRM_Utils_Array::value('mid', $_GET);
+    if ($mid) {
+      try {
+        $crid = civicrm_api3('Membership', 'getvalue', array(
+          'id' => $mid,
+          'return' => 'contribution_recur_id',
+        ));
+      }
+      catch (CiviCRM_API3_Exception $e) {
+        $crid = 0;
+      }
+    }
+  }
+  if ($crid) {
+    $form->addElement('hidden', 'crid', $crid);
+  }
+}
+
+/**
+ * Implementation of hook_civicrm_alterSettingsFolders.
+ *
+ * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_alterSettingsFolders
+ */
+function iats_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  _iats_civix_civicrm_alterSettingsFolders($metaDataFolders);
+}
+
+/**
+ * For a recurring contribution, find a reasonable candidate for a template, where possible.
+ */
+function _iats_civicrm_getContributionTemplate($contribution) {
+  // Get the first contribution in this series that matches the same total_amount, if present.
+  $template = array();
+  $get = array('contribution_recur_id' => $contribution['contribution_recur_id'], 'options' => array('sort' => ' id', 'limit' => 1));
+  if (!empty($contribution['total_amount'])) {
+    $get['total_amount'] = $contribution['total_amount'];
+  }
+  $result = civicrm_api3('contribution', 'get', $get);
+  if (!empty($result['values'])) {
+    $contribution_ids = array_keys($result['values']);
+    $template = $result['values'][$contribution_ids[0]];
+    $template['original_contribution_id'] = $contribution_ids[0];
+    $template['line_items'] = array();
+    $get = array('entity_table' => 'civicrm_contribution', 'entity_id' => $contribution_ids[0]);
+    $result = civicrm_api3('LineItem', 'get', $get);
+    if (!empty($result['values'])) {
+      foreach ($result['values'] as $initial_line_item) {
+        $line_item = array();
+        foreach (array('price_field_id', 'qty', 'line_total', 'unit_price', 'label', 'price_field_value_id', 'financial_type_id') as $key) {
+          $line_item[$key] = $initial_line_item[$key];
+        }
+        $template['line_items'][] = $line_item;
+      }
+    }
+  }
+  return $template;
+}
+
+/**
+ * Function _iats_contributionrecur_next.
+ *
+ * @param $from_time: a unix time stamp, the function returns values greater than this
+ * @param $days: an array of allowable days of the month
+ *
+ *   A utility function to calculate the next available allowable day, starting from $from_time.
+ *   Strategy: increment the from_time by one day until the day of the month matches one of my available days of the month.
+ */
+function _iats_contributionrecur_next($from_time, $allow_mdays) {
+  $dp = getdate($from_time);
+  // So I don't get into an infinite loop somehow.
+  $i = 0;
+  while (($i++ < 60) && !in_array($dp['mday'], $allow_mdays)) {
+    $from_time += (24 * 60 * 60);
+    $dp = getdate($from_time);
+  }
+  return $from_time;
+}
+
+/**
+ * Function _iats_contribution_payment
+ *
+ * @param $contribution an array of a contribution to be created (or in case of future start date,
+          possibly an existing pending contribution to recycle, if it already has a contribution id).
+ * @param $options must include customer code, subtype and iats_domain, may include a membership id
+ * @param $original_contribution_id if included, use as a template for a recurring contribution.
+ *
+ *   A high-level utility function for making a contribution payment from an existing recurring schedule
+ *   Used in the Iatsrecurringcontributions.php job and the one-time ('card on file') form.
+ *   
+ *   Since 4.7.12, we can are using the new repeattransaction api.
+ */
+function _iats_process_contribution_payment(&$contribution, $options, $original_contribution_id) {
+  // By default, don't use repeattransaction
+  $use_repeattransaction = FALSE;
+  $is_recurrence = !empty($original_contribution_id);
+  // First try and get the money with iATS Payments, using my cover function.
+  // TODO: convert this into an api job?
+  $result =  _iats_process_transaction($contribution, $options);
+
+  // Handle any case of a failure of some kind, either the card failed, or the system failed.
+  if (empty($result['status'])) {
+    /* set the failed transaction status, or pending if I had a server issue */
+    $contribution['contribution_status_id'] = empty($result['auth_result']) ? 2 : 4;
+    /* and include the reason in the source field */
+    $contribution['source'] .= ' ' . $result['reasonMessage'];
+    // Save my reject code here for processing by the calling function (a bit lame)
+    $contribution['iats_reject_code'] = $result['auth_result'];
+  }
+  else {
+    // I have a transaction id.
+    $trxn_id = $contribution['trxn_id'] = trim($result['remote_id']) . ':' . time();
+    // Initialize the status to pending
+    $contribution['contribution_status_id'] = 2;
+    // We'll use the repeattransaction api for successful transactions under three conditions:
+    // 1. if we want it
+    // 2. if we don't already have a contribution id
+    // 3. if we trust it
+    $use_repeattransaction = $is_recurrence && empty($contribution['id']) && _iats_civicrm_use_repeattransaction();
+  }
+  if ($use_repeattransaction) {
+    // We processed it successflly and I can try to use repeattransaction. 
+    // Requires the original contribution id.
+    // Issues with this api call:
+    // 1. Always triggers an email and doesn't include trxn.
+    // 2. Date is wrong.
+    try {
+      // $status = $result['contribution_status_id'] == 1 ? 'Completed' : 'Pending';
+      $contributionResult = civicrm_api3('Contribution', 'repeattransaction', array(
+        'original_contribution_id' => $original_contribution_id,
+        'contribution_status_id' => 'Pending',
+        'is_email_receipt' => 0,
+        // 'invoice_id' => $contribution['invoice_id'],
+        ///'receive_date' => $contribution['receive_date'],
+        // 'campaign_id' => $contribution['campaign_id'],
+        // 'financial_type_id' => $contribution['financial_type_id'],.
+        // 'payment_processor_id' => $contribution['payment_processor'],
+        'contribution_recur_id' => $contribution['contribution_recur_id'],
+      ));
+
+      // watchdog('iats_civicrm','repeat transaction result <pre>@params</pre>',array('@params' => print_r($pending,TRUE)));.
+      $contribution['id'] = CRM_Utils_Array::value('id', $contributionResult);
+    }
+    catch (Exception $e) {
+      // Ignore this, though perhaps I should log it.
+    }
+    if (empty($contribution['id'])) {
+      // Assume I failed completely and I'll fall back to doing it the manual way.
+      $use_repeattransaction = FALSE;
+    }
+    else {
+      // If repeattransaction succeded.
+      // First restore/add various fields that the repeattransaction api may overwrite or ignore.
+      // TODO - fix this in core to allow these to be set above.
+      civicrm_api3('contribution', 'create', array('id' => $contribution['id'], 
+        'invoice_id' => $contribution['invoice_id'],
+        'source' => $contribution['source'],
+        'receive_date' => $contribution['receive_date'],
+        'payment_instrument_id' => $contribution['payment_instrument_id'],
+        // '' => $contribution['receive_date'],
+      ));
+      // Save my status in the contribution array that was passed in.
+      $contribution['contribution_status_id'] = $result['contribution_status_id'];
+      if ($result['contribution_status_id'] == 1) {
+        // My transaction completed, so record that fact in CiviCRM, potentially sending an invoice.
+        try {
+          civicrm_api3('Contribution', 'completetransaction', array(
+            'id' => $contribution['id'],
+            'payment_processor_id' => $contribution['payment_processor'],
+            'is_email_receipt' => (empty($options['is_email_receipt']) ? 0 : 1),
+            'trxn_id' => $contribution['trxn_id'],
+            'receive_date' => $contribution['receive_date'],
+          ));
+        }
+        catch (Exception $e) {
+          // log the error and continue
+          CRM_Core_Error::debug_var('Unexpected Exception', $e);
+        }
+      }
+      else {
+        // just save my trxn_id for ACH/EFT verification later
+        try {
+          civicrm_api3('Contribution', 'create', array(
+            'id' => $contribution['id'],
+            'trxn_id' => $contribution['trxn_id'],
+          ));
+        }
+        catch (Exception $e) {
+          // log the error and continue
+          CRM_Core_Error::debug_var('Unexpected Exception', $e);
+        }
+      }
+    }
+  }
+  if (!$use_repeattransaction) {
+    /* If I'm not using repeattransaction for any reason, I'll create the contribution manually */
+    // This code assumes that the contribution_status_id has been set properly above, either pending or failed.
+    $contributionResult = civicrm_api3('contribution', 'create', $contribution);
+    // Pass back the created id indirectly since I'm calling by reference.
+    $contribution['id'] = CRM_Utils_Array::value('id', $contributionResult);
+    // Connect to a membership if requested.
+    if (!empty($options['membership_id'])) {
+      try {
+        civicrm_api3('MembershipPayment', 'create', array('contribution_id' => $contribution['id'], 'membership_id' => $options['membership_id']));
+      }
+      catch (Exception $e) {
+        // Ignore.
+      }
+    }
+    /* And then I'm done unless it completed */
+    if ($result['contribution_status_id'] == 1 && !empty($result['status'])) {
+      /* success, and the transaction has completed */
+      $complete = array('id' => $contribution['id'], 
+        'payment_processor_id' => $contribution['payment_processor'],
+        'trxn_id' => $trxn_id, 
+        'receive_date' => $contribution['receive_date']
+      );
+      $complete['is_email_receipt'] = empty($options['is_email_receipt']) ? 0 : 1;
+      try {
+        $contributionResult = civicrm_api3('contribution', 'completetransaction', $complete);
+      }
+      catch (Exception $e) {
+        // Don't throw an exception here, or else I won't have updated my next contribution date for example.
+        $contribution['source'] .= ' [with unexpected api.completetransaction error: ' . $e->getMessage() . ']';
+      }
+      // Restore my source field that ipn code irritatingly overwrites, and make sure that the trxn_id is set also.
+      civicrm_api3('contribution', 'setvalue', array('id' => $contribution['id'], 'value' => $contribution['source'], 'field' => 'source'));
+      civicrm_api3('contribution', 'setvalue', array('id' => $contribution['id'], 'value' => $trxn_id, 'field' => 'trxn_id'));
+      $message = $is_recurrence ? ts('Successfully processed contribution in recurring series id %1: ', array(1 => $contribution['contribution_recur_id'])) : ts('Successfully processed one-time contribution: ');
+      return $message . $result['auth_result'];
+    }
+  }
+  // Now return the appropriate message. 
+  if (empty($result['status'])) {
+    return ts('Failed to process recurring contribution id %1: ', array(1 => $contribution['contribution_recur_id'])) . $result['reasonMessage'];
+  }
+  elseif ($result['contribution_status_id'] == 1) {
+    return ts('Successfully processed recurring contribution in series id %1: ', array(1 => $contribution['contribution_recur_id'])) . $result['auth_result'];
+  }
+  else {
+    // I'm using ACH/EFT or a processor that doesn't complete.
+    return ts('Successfully processed pending recurring contribution in series id %1: ', array(1 => $contribution['contribution_recur_id'])) . $result['auth_result'];
+  }
+}
+
+/**
+ * Function _iats_process_transaction.
+ *
+ * @param $contribution an array of properties of a contribution to be processed
+ * @param $options must include customer code, subtype and iats_domain
+ *
+ *   A low-level utility function for triggering a transaction on iATS.
+ */
+function _iats_process_transaction($contribution, $options) {
+  require_once "CRM/iATS/iATSService.php";
+  switch ($options['subtype']) {
+    case 'ACHEFT':
+      $method = 'acheft_with_customer_code';
+      // Will not complete.
+      $contribution_status_id = 2;
+      break;
+
+    default:
+      $method = 'cc_with_customer_code';
+      $contribution_status_id = 1;
+      break;
+  }
+  $credentials = iATS_Service_Request::credentials($contribution['payment_processor'], $contribution['is_test']);
+  $iats_service_params = array('method' => $method, 'type' => 'process', 'iats_domain' => $credentials['domain']);
+  $iats = new iATS_Service_Request($iats_service_params);
+  // Build the request array.
+  $request = array(
+    'customerCode' => $options['customer_code'],
+    'invoiceNum' => $contribution['invoice_id'],
+    'total' => $contribution['total_amount'],
+  );
+  $request['customerIPAddress'] = (function_exists('ip_address') ? ip_address() : $_SERVER['REMOTE_ADDR']);
+  // remove the customerIPAddress if it's the internal loopback to prevent
+  // being locked out due to velocity checks
+  if ('127.0.0.1' == $request['customerIPAddress']) {
+     $request['customerIPAddress'] = '';
+  }
+
+  // Make the soap request.
+  $response = $iats->request($credentials, $request);
+  // Process the soap response into a readable result.
+  $result = $iats->result($response);
+  // pass back the anticipated status_id based on the method (i.e. 1 for CC, 2 for ACH/EFT)
+  $result['contribution_status_id'] = $contribution_status_id;
+  return $result;
+}
+
+/**
+ * Function _iats_get_future_start_dates
+ *
+ * @param $start_date a timestamp, only return dates after this.
+ * @param $allow_days an array of allowable days of the month.
+ *
+ *   A low-level utility function for triggering a transaction on iATS.
+ */
+function _iats_get_future_monthly_start_dates($start_date, $allow_days) {
+  // Future date options.
+  $start_dates = array();
+  // special handling for today - it means immediately or now.
+  $today = date('Ymd').'030000';
+  // If not set, only allow for the first 28 days of the month.
+  if (max($allow_days) <= 0) {
+    $allow_days = range(1,28);
+  }
+  for ($j = 0; $j < count($allow_days); $j++) {
+    // So I don't get into an infinite loop somehow ..
+    $i = 0;
+    $dp = getdate($start_date);
+    while (($i++ < 60) && !in_array($dp['mday'], $allow_days)) {
+      $start_date += (24 * 60 * 60);
+      $dp = getdate($start_date);
+    }
+    $key = date('Ymd', $start_date).'030000';
+    if ($key == $today) { // special handling
+      $display = ts('Now');
+      $key = ''; // date('YmdHis');
+    }
+    else {
+      $display = strftime('%B %e, %Y', $start_date);
+    }
+    $start_dates[$key] = $display;
+    $start_date += (24 * 60 * 60);
+  }
+  return $start_dates;
+}
diff --git a/civicrm/ext/iatspayments/info.xml b/civicrm/ext/iatspayments/info.xml
new file mode 100644
index 0000000000..900df21e5c
--- /dev/null
+++ b/civicrm/ext/iatspayments/info.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<extension key="com.iatspayments.civicrm" type="module">
+  <file>iats</file>
+  <name>iATS Payments</name>
+  <description>iATS Payments Web Services Payment Processor</description>
+  <urls>
+    <url desc="Support">https://github.com/iATSPayments/com.iatspayments.civicrm/issues?state=open</url>
+    <url desc="Installation Instructions">https://github.com/iATSPayments/com.iatspayments.civicrm</url>
+    <url desc="Documentation">https://github.com/iATSPayments/com.iatspayments.civicrm</url>
+    <url desc="Release Notes">https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/release-notes/1.6.1.md</url>
+    <url desc="Getting Started">https://www.semper-it.com/civicamp-iats-payments-slides</url>
+  </urls>
+  <license>AGPL</license>
+  <maintainer>
+    <author>Alan Dixon</author>
+    <email>iats@blackflysolutions.ca</email>
+  </maintainer>
+  <releaseDate>2017-10-17</releaseDate>
+  <version>1.6.1</version>
+  <develStage>stable</develStage>
+  <compatibility>
+    <ver>4.7</ver>
+  </compatibility>
+  <comments>This is a CiviCRM 4.7-only release. Please see the current release notes linked above for details.
+</comments>
+  <civix>
+    <namespace>CRM/iATS</namespace>
+  </civix>
+</extension>
diff --git a/civicrm/ext/iatspayments/js/contribute_form_search.js b/civicrm/ext/iatspayments/js/contribute_form_search.js
new file mode 100644
index 0000000000..6481f57acc
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/contribute_form_search.js
@@ -0,0 +1,25 @@
+/*
+ * backend contribute search, individual
+ *   
+ */
+
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+cj(function ($) {
+  'use strict';
+  $('#crm-main-content-wrapper').crmSnippet().on('crmLoad', function(e, data) {
+    var backofficeLinks = (typeof CRM.iatspayments != 'undefined') ? CRM.iatspayments.backofficeLinks : ((typeof CRM.vars != 'undefined') ? ((typeof CRM.vars.iatspayments != 'undefined') ? CRM.vars.iatspayments.backofficeLinks : []) : []); 
+    if (0 < backofficeLinks.length 
+        && typeof data != 'undefined'
+        && data.title == 'Contributions'
+        && 0 == $('form.CRM_Contribute_Form_Search #help .acheft-backend-link').length
+        && 0 < $('form.CRM_Contribute_Form_Search #help').filter(':visible').length
+    ) {
+      $.each(backofficeLinks, function(index, value) {
+         $('form#Search .action-link a.button').last().after('<a style="color: #F88;" class="button" href="'+value.url+'">'+value.title+'</a>');
+         $('form#Search #help').append('<div class="acheft-backend-link">Click <a href="'+value.url+'">'+value.title+'</a> to process a new ACH/EFT contribution or recurring contribution from this contact.</div>');
+      });
+    }
+  });
+});
diff --git a/civicrm/ext/iatspayments/js/dd_acheft.js b/civicrm/ext/iatspayments/js/dd_acheft.js
new file mode 100644
index 0000000000..43718b16ca
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/dd_acheft.js
@@ -0,0 +1,12 @@
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+function iatsACHEFTRefresh() {
+  cj(function ($) {
+    'use strict';
+    if (0 < $('#iats-direct-debit-extra').length) {
+      /* move my custom fields up where they belong */
+      $('.direct_debit_info-section').prepend($('#iats-direct-debit-extra'));
+    }
+  });
+}
diff --git a/civicrm/ext/iatspayments/js/dd_cad.js b/civicrm/ext/iatspayments/js/dd_cad.js
new file mode 100644
index 0000000000..c5a8f3a4ef
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/dd_cad.js
@@ -0,0 +1,58 @@
+/* Custom cleanup/validation of Canadian ACH/EFT */
+/*jslint indent: 2 */
+/*global CRM, ts */
+function iatsACHEFTca() {
+  cj(function ($) {
+    'use strict';
+    function onlyNumbers(jq) {
+      var myVal = jq.val();
+      jq.val(myVal.replace(/\D/g,''));
+      return jq.val().length;
+    }
+    function iatsSetBankIdenficationNumber() {
+      var bin = $('#cad_bank_number').val() + $('#cad_transit_number').val();
+      // console.log('bin: '+bin);
+      $('#bank_identification_number').val(bin);
+    }
+    /* hide the bank identiication number field */
+    $('.bank_identification_number-section').hide();
+    iatsSetBankIdenficationNumber();
+    $('#bank_account_number').blur(function(eventObj) {
+      onlyNumbers($(this));
+    });
+    $('#cad_bank_number').blur(function(eventObj) {
+      var myCount = onlyNumbers($(this));
+      if (myCount != 3) {
+        $(this).crmError(ts('Your Bank Number requires three digits, use a leading "0" if necessary')); 
+      }
+      switch($(this).val()) {
+        case '001': $('#bank_name').val('Bank of Montreal'); break;
+        case '002': $('#bank_name').val('Bank of Nova Scotia'); break;
+        case '003': $('#bank_name').val('Royal Bank of Canada'); break;
+        case '004': $('#bank_name').val('Toronto Dominion Bank'); break;
+        case '006': $('#bank_name').val('National Bank of Canada'); break;
+        case '010': $('#bank_name').val('Canadian Imperial Bank of Commerce'); break;
+        case '016': $('#bank_name').val('HSBC Canada'); break;
+        case '030': $('#bank_name').val('Canadian Western Bank'); break;
+        case '326': $('#bank_name').val('President\'s Choice Financial'); break;
+
+        case '839': // Credit Union Heritage (Nova Scotia)
+        case '879': // Credit Union Central of Manitoba
+        case '889': // Credit Union Central of Saskatchewan
+        case '899': // Credit Union Central Alberta
+        case '809': // Credit Union British Columbia
+          $('#bank_name').val('Credit Union'); break;
+        
+        default: $('#bank_name').val(''); break;
+      }
+      iatsSetBankIdenficationNumber();
+    });
+    $('#cad_transit_number').blur(function(eventObj) {
+      var myCount = onlyNumbers($(this));
+      if (myCount != 5) {
+        $(this).crmError(ts('Your Bank Transit Number requires exactly five digits')); 
+      }
+      iatsSetBankIdenficationNumber();
+    });
+  });
+}
diff --git a/civicrm/ext/iatspayments/js/dd_uk.js b/civicrm/ext/iatspayments/js/dd_uk.js
new file mode 100644
index 0000000000..29e54dd414
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/dd_uk.js
@@ -0,0 +1,150 @@
+/* custom js for uk dd */
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+function iatsUKDDRefresh() {
+  cj(function ($) {
+    'use strict';
+    if (0 < $('#iats-direct-debit-gbp-payer-validate').length) {
+      /* move my custom fields around and make it a multistep form experience via javascript */
+      /* move my custom fields up where they belong */
+      var pgDeclaration = $('#iats-direct-debit-gbp-declaration');
+      var pgNonDeclaration = $('.crm-contribution-main-form-block');
+      var pgPayerValidate = $('#billing-payment-block');
+      // var pgPayerValidateHide = $('#billing-payment-block');
+      /* i don't want to show my default civicrm payment notice */
+      $('#payment_notice').hide();
+      /* move some fields around to better flow like the iATS DD samples */
+      $('input[name|="email"]').parents('.crm-section').prependTo('.billing_name_address-section');
+      $('.direct_debit_info-section').before($('#iats-direct-debit-extra'));
+      $('.is_recur-section').after($('#iats-direct-debit-start-date'));
+      $('.crm-contribution-main-form-block').before($('#iats-direct-debit-gbp-declaration'));
+      $('#payer_validate_amend').hide();
+      /* page 1: Declaration */
+      if ($('#payer_validate_declaration').is(':checked')) {
+        pgDeclaration.hide();
+      }
+      else {
+        pgNonDeclaration.hide();
+      }
+      $('#payer_validate_declaration').change(function() {
+        if (this.checked) {
+          pgDeclaration.hide('slow');
+          pgNonDeclaration.show('slow');
+        }
+        else {
+          pgDeclaration.hide('slow');
+          pgNonDeclaration.show('slow');
+        }
+      });
+      /* page 2: Normal CiviCRM form with extra fields */
+      // hide fields that are used for error display before validation
+      $('#iats-direct-debit-gbp-continue .crm-error').hide();
+      // hide the fields that will get validation field lookup values
+      $('#iats-direct-debit-gbp-payer-validate').hide();
+      $('.bank_name-section').hide(); // I don't ask this!
+      /* initiate a payer validation: check for required fields, then do a background POST to retrieve bank info */
+      $('#crm-submit-buttons .crm-button input').click(function( defaultSubmitEvent ) {
+        var inputButton = $(this);
+        inputButton.val('Processing ...').prop('disabled',true);
+        // reset the list of errors
+        $('#payer-validate-required').html('');
+        // the billing address group is all required (except middle name) but doesn't have the class marked
+        $('#Main .billing_name_address-group input:visible, #Main input.required:visible').each(function() {
+          // console.log(this.value.length);
+          if (0 == this.value.length && this.id != 'billing_middle_name') {
+            if ('installments' == this.id) { // todo: check out other exceptions
+              var myLabel = 'Installments';
+            }
+            else {
+              var myLabel = cj.trim($(this).parent('.content').prev('.label').find('label').text().replace('*',''));
+            }
+            if (myLabel.length > 0) { // skip any weird hidden fields (e.g. select2-offscreen class)
+              $('#payer-validate-required').append('<li>' + myLabel + ' is a required field.</li>');
+            }
+          }
+        })
+        // if all pre-validation requirements are met, I can do the sycronous POST to try to get my banking information
+        if (0 == $('#payer-validate-required').html().length) {
+          var validatePayer = {};
+          var startDateStr = $('#payer_validate_start_date').val();
+          var startDate = new Date(startDateStr);
+          validatePayer.beginDate = cj.datepicker.formatDate('yy-mm-dd',startDate);
+          var endDate = startDate;
+          var frequencyInterval = $('input[name=frequency_interval]').val();
+          var frequencyUnit = $('[name="frequency_unit"]').val();
+          var installments = $('input[name="installments"]').val();
+          switch(frequencyUnit) {
+            case 'year':
+              var myYear = endDate.getFullYear() + (frequencyInterval * installments);
+              endDate.setFullYear(myYear);
+              break;
+            case 'month':
+              var myMonth = endDate.getMonth() + (frequencyInterval * installments);
+              endDate.setMonth(myMonth);
+              break;
+            case 'week':
+              var myDay = endDate.getDate() + (frequencyInterval * installments * 7);
+              endDate.setDate(myDay);
+              break;
+            case 'day':
+              var myDay = endDate.getDate() + (frequencyInterval * installments * 1);
+              endDate.setDate(myDay);
+              break;
+          }
+          validatePayer.endDate = endDate.toISOString();
+          validatePayer.firstName = $('#billing_first_name').val();
+          validatePayer.lastName = $('#billing_last_name').val();
+          validatePayer.address = $('input[name|="billing_street_address"]').val();
+          validatePayer.city = $('input[name|="billing_city"]').val();
+          validatePayer.zipCode = $('input[name|="billing_postal_code"]').val();
+          validatePayer.country = $('input[name|="billing_country_id"]').find('selected').text();
+          validatePayer.accountCustomerName = $('#account_holder').val();
+          validatePayer.accountNum = $('#bank_identification_number').val() + $('#bank_account_number').val();
+          validatePayer.email = $('input[name|="email"]').val();
+          validatePayer.ACHEFTReferenceNum = '';
+          validatePayer.companyName = '';
+          validatePayer.type = 'customer';
+          validatePayer.method = 'direct_debit_acheft_payer_validate';
+          validatePayer.payment_processor_id = $('input[name="payment_processor"]').val();
+          var payerValidateUrl = $('input[name="payer_validate_url"]').val();
+          // console.log(payerValidateUrl);
+          // console.log(validatePayer);
+          /* this ajax call has to be sychronous! */
+          cj.ajax({
+            type: 'POST',
+            url: payerValidateUrl,
+            data: validatePayer,
+            dataType: 'json',
+            async: false,
+            success: function(result) {
+              // console.log(result);
+              if (result == null) {
+                $('#payer-validate-required').append('<li>Unexpected Error</li>');
+              }
+              else if ('string' == typeof(result.ACHREFNUM)) {
+                $('#bank_name').val(result.BANK_NAME);
+                $('#payer_validate_address').val(result.BANK_BRANCH + "\n" + result.BANKADDRESS1 + "\n" + result.BANK_CITY + ", " + result.BANK_STATE + "\n" + result.BANK_POSTCODE);
+                $('#payer_validate_reference').val(result.ACHREFNUM);
+              }
+              else {
+                $('#payer-validate-required').append('<li>' + result.reasonMessage + '</li>');
+              }
+            },
+          })
+          .fail(function() {
+            $('#payer-validate-required').append('<li>Unexpected Server Error.</li>');
+          });
+          // console.log('done');
+        }
+        if (0 < $('#payer-validate-required').html().length) {
+          $('#iats-direct-debit-gbp-continue .crm-error').show('slow');
+          inputButton.val('Retry').prop('disabled',false);
+          return false;
+        };
+        inputButton.val('Contribute').prop('disabled',false);
+        return true;
+      }); // end of click handler
+    }
+  });
+}
diff --git a/civicrm/ext/iatspayments/js/dpm.js b/civicrm/ext/iatspayments/js/dpm.js
new file mode 100644
index 0000000000..52e1a8cd8c
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/dpm.js
@@ -0,0 +1,100 @@
+/* 
+ * custom js for direct post method 
+ *
+ * Intercept the normal submission of sensitive billing data,
+ * submit it in the background via ajax
+ * and include the results for parsing by the payment processor doDirectPayment script
+ * while masking out the credit card information
+ */
+
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+cj(function ($) {
+  'use strict';
+
+  // hide fields that are used for error display before validation
+  $('#iats-dpm-continue .crm-error').hide();
+  /* initiate an ajax submission of the billing dadta: check for required fields, then do a background POST */
+  $('#crm-submit-buttons .crm-button input').click(function( defaultSubmitEvent ) {
+    var inputButton = $(this);
+    inputButton.val('Processing ...').prop('disabled',true);
+    // reset the list of errors
+    $('#iats-dpm-required').html('');
+    // the payment information group is all required (except the middle name) but doesn't have the class marked
+    $('#Main #payment_information input:visible, #Main #payment_information select:visible, #Main input.required:visible').each(function() {
+      // console.log(this.value.length);
+      if (0 == this.value.length && this.id != 'billing_middle_name') {
+        if ('installments' == this.id) { // todo: check out other exceptions
+          var myLabel = 'Installments';
+        }
+        else {
+          var myLabel = $.trim($(this).parent('.content').prev('.label').find('label').text().replace('*',''));
+        }
+        if (myLabel.length > 0) { // skip any weird hidden fields (e.g. select2-offscreen class)
+          $('#iats-dpm-required').append('<li>' + myLabel + ' is a required field.</li>');
+        }
+      }
+    })
+    // if all pre-validation requirements are met, I can do the sycronous POST to try a submission
+    // TODO: javascript version of Luhn, perhaps http://jquerycreditcardvalidator.com/
+    // console.log($('#iats-dpm-required'));
+    if (0 == $('#iats-dpm-required').html().length) {
+      var dpmURL = (typeof CRM.vars.iatspayments != 'undefined') ? CRM.vars.iatspayments.dpmURL : CRM.iatspayments.dpmURL;
+      console.log(dpmURL);
+      var dpmPOST = {};
+      dpmPOST.IATS_DPM_ProcessID = 'PA0940D765F2BD67BD97B82EFAA4D72BE9';
+      dpmPOST.IATS_DPM_FirstName = $('#billing_first_name').val();
+      dpmPOST.IATS_DPM_LastName = $('#billing_last_name').val();
+      dpmPOST.IATS_DPM_Address = $('input[name|="billing_street_address"]').val();
+      dpmPOST.IATS_DPM_City = $('input[name|="billing_city"]').val();
+      dpmPOST.IATS_DPM_Province = $('select[name|="billing_state_province_id"]').find('selected').text();
+      dpmPOST.IATS_DPM_ZipCode = $('input[name|="billing_postal_code"]').val();
+      dpmPOST.IATS_DPM_Country = $('select[name|="billing_country_id"]').find('selected').text();
+      dpmPOST.IATS_DPM_Email = $('input[name|="email"]').val();
+      
+      dpmPOST.IATS_DPM_AccountNumber = $('#credit_card_number').val();
+      var Month = $('#credit_card_exp_date_M').val();
+      var Year = $('#credit_card_exp_date_Y').val();
+      dpmPOST.IATS_DPM_ExpiryDate = Month+'/'+Year.substr(2);
+      dpmPOST.IATS_DPM_CVV2 = $('#cvv2').val();
+      // todo: translate mop values 
+      dpmPOST.IATS_DPM_MOP = $('#credit_card_type').val();
+      dpmPOST.IATS_DPM_Amount = $('.contribution_amount-section input:checked').prop('data-amount');
+      console.log(dpmPOST);
+      /* this ajax call has to be sychronous! */
+      $.ajax({
+        type: 'POST',
+        url: dpmURL,
+        data: dpmPOST,
+        dataType: 'json', 
+        async: false,
+        success: function(result) {
+          console.log(result);
+          if (result == null) {
+            $('#iats-dpm-required').append('<li>Unexpected Error</li>');
+          }
+          else if ('string' == typeof(result.ACHREFNUM)) {
+            $('#bank_name').val(result.BANK_NAME);
+            $('#payer_validate_address').val(result.BANK_BRANCH + "\n" + result.BANKADDRESS1 + "\n" + result.BANK_CITY + ", " + result.BANK_STATE + "\n" + result.BANK_POSTCODE);
+            $('#payer_validate_reference').val(result.ACHREFNUM);
+          }
+          else {
+            $('#iats-dpm-required').append('<li>' + result.reasonMessage + '</li>');
+          }
+        },
+      })
+      .fail(function() {
+        $('#iats-dpm-required').append('<li>Unexpected Server Error.</li>');
+      });
+      // console.log('done');
+    }
+    if (0 < $('#iats-dpm-required').html().length) {
+      $('#iats-dpm-continue .crm-error').show('slow');
+      inputButton.val('Retry').prop('disabled',false);
+      return false;
+    };
+    inputButton.val('Contribute').prop('disabled',false);
+    return true;
+  }); // end of click handler
+});
diff --git a/civicrm/ext/iatspayments/js/recur_start.js b/civicrm/ext/iatspayments/js/recur_start.js
new file mode 100644
index 0000000000..96e20daeeb
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/recur_start.js
@@ -0,0 +1,27 @@
+/* custom js for public selection of future recurring start dates */
+/* only show option when recurring is selected */
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+function iatsRecurStartRefresh() {
+  cj(function ($) {
+    'use strict';
+     $('.is_recur-section').after($('#iats-recurring-start-date'));
+     cj('input[id="is_recur"]').on('change', function() {
+       toggleRecur();
+     });
+     toggleRecur();
+
+     function toggleRecur( ) {
+       var isRecur = cj('input[id="is_recur"]:checked');
+       if (isRecur.val() > 0) {
+         cj('#iats-recurring-start-date').show().val('');
+       }
+       else {
+         cj('#iats-recurring-start-date').hide();
+         $("#iats-recurring-start-date option:selected").prop("selected", false);
+         $("#iats-recurring-start-date option:first").prop("selected", "selected");
+       }
+     }
+  });
+}
diff --git a/civicrm/ext/iatspayments/js/subscription.js b/civicrm/ext/iatspayments/js/subscription.js
new file mode 100644
index 0000000000..19d5d7afaa
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/subscription.js
@@ -0,0 +1,17 @@
+/* custom js for the subscription form */
+
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+cj(function ($) {
+  'use strict';
+  var dupeSubscriptionFields = (typeof CRM.iatspayments != 'undefined') ? CRM.iatspayments.dupeSubscriptionFields : ((typeof CRM.vars != 'undefined') ? ((typeof CRM.vars.iatspayments != 'undefined') ? CRM.vars.iatspayments.dupeSubscriptionFields : []) : []); 
+  
+  if (0 < dupeSubscriptionFields.length) {
+    $.each(dupeSubscriptionFields, function(index, value) {
+      $('#contributionrecur-extra tr.'+value).remove();
+    });
+  }
+  $('.crm-recurcontrib-form-block table').append($('#contributionrecur-extra tr'));
+  $('.crm-recurcontrib-form-block table').prepend($('#contributionrecur-info tr'));
+});
diff --git a/civicrm/ext/iatspayments/js/subscription_view.js b/civicrm/ext/iatspayments/js/subscription_view.js
new file mode 100644
index 0000000000..e7fb1d754c
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/subscription_view.js
@@ -0,0 +1,10 @@
+/* custom js for the subscription view page */
+
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+cj(function ($) {
+  'use strict';
+  $('table.crm-info-panel').append($('#iats-extra tr'));
+});
+
diff --git a/civicrm/ext/iatspayments/js/swipe.js b/civicrm/ext/iatspayments/js/swipe.js
new file mode 100644
index 0000000000..f7fa40d2c9
--- /dev/null
+++ b/civicrm/ext/iatspayments/js/swipe.js
@@ -0,0 +1,45 @@
+/*jslint indent: 2 */
+/*global CRM, ts */
+
+function iatsSWIPERefresh() {
+  cj(function ($) {
+    'use strict';
+
+    function iatsSetCreditCardNumber() {
+      var bin = $('#encrypted_credit_card_number').val();
+      // console.log('bin: '+bin);
+      if (bin.charAt(0) == '0') {
+        /* if 0 -> IDTech -> prefix = 00|@| */
+        var withprefix = "00|@|"+bin;
+        $('#credit_card_number').val(withprefix);
+        // console.log('withprefix: '+withprefix);
+      }
+      if (bin.charAt(0) == '%') {
+        /* if % -> MagTek -> prefix = 02|@| */
+        var withprefix = "02|@|"+bin;
+        $('#credit_card_number').val(withprefix);
+        // console.log('withprefix: '+withprefix);
+      }
+    }
+    
+    function clearField() {
+      var field = $('#encrypted_credit_card_number').val();
+      /* console.log('field: '+field); */
+      if (field == ts('Click here - then swipe.')) {
+        $('#encrypted_credit_card_number').val('');
+      }
+    }
+ 
+    if (0 < $('#iats-swipe').length) {
+      /* move my custom fields up where they belong */
+      $('#payment_information .credit_card_info-group').prepend(cj('#iats-swipe'));
+      /* hide the number credit card number field  */
+      $('.credit_card_number-section').hide();
+      /* hide some ghost fields from a bad template on the front end form */
+      $('.-section').hide();  
+      iatsSetCreditCardNumber();
+      var defaultValue = ts('Click here - then swipe.');
+      $('#encrypted_credit_card_number').val(defaultValue).focus(clearField).blur(iatsSetCreditCardNumber);
+    }
+  });
+}
diff --git a/civicrm/ext/iatspayments/phpunit.xml.dist b/civicrm/ext/iatspayments/phpunit.xml.dist
new file mode 100644
index 0000000000..9137145338
--- /dev/null
+++ b/civicrm/ext/iatspayments/phpunit.xml.dist
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<phpunit backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" syntaxCheck="false" bootstrap="tests/phpunit/bootstrap.php">
+  <testsuites>
+    <testsuite name="iATS Test Suite">
+      <directory>./tests/phpunit</directory>
+    </testsuite>
+  </testsuites>
+  <filter>
+    <whitelist>
+      <directory suffix=".php">./</directory>
+    </whitelist>
+  </filter>
+  <listeners>
+    <listener class="Civi\Test\CiviTestListener">
+      <arguments/>
+    </listener>
+  </listeners>
+</phpunit>
diff --git a/civicrm/ext/iatspayments/release-notes/1.6.0.md b/civicrm/ext/iatspayments/release-notes/1.6.0.md
new file mode 100644
index 0000000000..a17f130188
--- /dev/null
+++ b/civicrm/ext/iatspayments/release-notes/1.6.0.md
@@ -0,0 +1,38 @@
+# iATS CiviCRM Extension 1.6.0
+
+Released May 2, 2017
+
+The primary goal of this release is to provide a 4.7 compatible version of the iATS payment extension for CiviCRM.
+
+If you only use iATS for one-time credit card payments, then you're not likely to see any issues, but otherwise please see below for a number of oustanding and recent issues related to CiviCRM Core. We strongly recommend you remain updated with the latest 4.7.x release.
+
+## 1. https://issues.civicrm.org/jira/browse/CRM-20401
+
+Cancel/modify URL receipt links are wrong. This affects recurring contributions. 
+You can manually edit the message template to fix this.
+
+## 2. https://issues.civicrm.org/jira/browse/CRM-20387
+
+If you enable Sales Tax and Invoicing, then ACHEFT verification will no longer work for any pending payments on contributions that you issue an invoice for.
+
+This version of the extension includes a patched version of the code (linked to the issue above).
+
+## 3. https://issues.civicrm.org/jira/browse/CRM-19508
+
+ACHEFT and SWIPE TPL/fields switching only works when the Payment Processor marked as site default is one of the options on the Contribution/Event form.
+
+ACHEFT by itself only loads the proper TPL/fields if there is a default amount set on the Contribution/Event form.
+
+## 4. https://issues.civicrm.org/jira/browse/CRM-20396
+
+ACHEFT Event registrations (not affecting Contributions) are marked Completed when first processed - as a Result they will never be verified. They are also marked "Credit Card" by Core instead of "Direct Debit.
+
+A fix has been submitted to core and should be in 4.7.20, but you can apply the fix in this PR if you need it immediately: https://github.com/civicrm/civicrm-core/pull/10124
+
+## 5. UK Direct Debit
+
+We have retired the UK direct debit iATS processor, due to lack of interest and use.
+
+## 6. https://github.com/iATSPayments/com.iatspayments.civicrm/issues/197
+
+Back-end recurring contributions using future start dates not implemented.
diff --git a/civicrm/ext/iatspayments/release-notes/1.6.1.md b/civicrm/ext/iatspayments/release-notes/1.6.1.md
new file mode 100644
index 0000000000..566cc5ffe5
--- /dev/null
+++ b/civicrm/ext/iatspayments/release-notes/1.6.1.md
@@ -0,0 +1,25 @@
+# iATS CiviCRM Extension 1.6.1
+
+Oct 17, 2017
+
+This release is an update to the 1.6.0 (4.7 compatible version) of the iATS payment extension for CiviCRM.
+
+## 1. https://github.com/iATSPayments/com.iatspayments.civicrm/issues/184
+
+This issue may conflate a number of related problems with ACH/EFT verification. In any case, the overall strategy for 
+verification of payments has undergone a significant refactoring so that the iATS Journal data is now being stored 
+in a raw form locally in CiviCRM, and is available via the CiviCRM reports mechanism.
+
+More notes available here: https://github.com/iATSPayments/com.iatspayments.civicrm/pull/201
+and here: https://github.com/iATSPayments/com.iatspayments.civicrm/wiki/Verification-and-the-Journal
+
+Longer term, this change sets us up for future work to enable better error handling, iATS-managed recurring contributions, and use of the iATS-hosted (or other system) payment pages.
+
+## 2. https://github.com/iATSPayments/com.iatspayments.civicrm/issues/197
+
+Back-end recurring contributions using future start dates have been implemented, and a configuration option is 
+provided that enables public forms to use this functionality as well.
+
+## 3. Automated Testing
+
+We've started adding automated tests to this extension!
diff --git a/civicrm/ext/iatspayments/sql/install.sql b/civicrm/ext/iatspayments/sql/install.sql
new file mode 100644
index 0000000000..8f1d57b386
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/install.sql
@@ -0,0 +1,111 @@
+-- install sql for iATS Services extension, create a table to hold custom codes
+
+CREATE TABLE `civicrm_iats_customer_codes` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Custom code Id',
+  `customer_code` varchar(255) NOT NULL COMMENT 'Customer code returned from iATS',
+  `ip` varchar(255) DEFAULT NULL COMMENT 'Last IP from which this customer code was accessed or created',
+  `expiry` varchar(4) DEFAULT NULL COMMENT 'CC expiry yymm',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `email` varchar(255) DEFAULT NULL COMMENT 'Customer-constituent Email address',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  PRIMARY KEY ( `id` ),
+  UNIQUE INDEX (`customer_code`),
+  KEY (`cid`),
+  KEY (`email`),
+  KEY (`recur_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to store customer codes';
+
+CREATE TABLE `civicrm_iats_request_log` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Request Log Id',
+  `invoice_num` varchar(255) NOT NULL COMMENT 'Invoice number being sent to iATS',
+  `ip` varchar(255) DEFAULT NULL COMMENT 'IP from which this request originated',
+  `cc` varchar(4) DEFAULT NULL COMMENT 'CC last four digits',
+  `customer_code` varchar(255) COMMENT 'Customer code if used',
+  `total` decimal(20,2) DEFAULT NULL COMMENT 'Charge amount request',
+  `request_datetime` datetime COMMENT 'Date time of request',
+  PRIMARY KEY ( `id` ),
+  KEY (`invoice_num`),
+  KEY (`cc`),
+  KEY (`request_datetime`),
+  KEY (`customer_code`),
+  KEY (`total`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table for request log';
+
+CREATE TABLE `civicrm_iats_response_log` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Response Log Id',
+  `invoice_num` varchar(255) NOT NULL COMMENT 'Invoice number sent to iATS',
+  `auth_result` varchar(255) NOT NULL COMMENT 'Authorization string returned from iATS',
+  `remote_id` varchar(255) NOT NULL COMMENT 'iATS-internal transaction id',
+  `response_datetime` datetime COMMENT 'Date time of response',
+  PRIMARY KEY ( `id` ),
+  KEY (`invoice_num`),
+  KEY (`auth_result`),
+  KEY (`remote_id`),
+  KEY (`response_datetime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table for response log';
+
+CREATE TABLE `civicrm_iats_verify` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Verification Id',
+  `customer_code` varchar(255) NOT NULL COMMENT 'Customer code returned from iATS',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `contribution_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contribution table id',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  `contribution_status_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM new status id',
+  `verify_datetime` datetime COMMENT 'Date time of verification',
+  `auth_result` varchar(255) COMMENT 'Authorization string from iATS',
+  PRIMARY KEY ( `id` ),
+  KEY (`customer_code`),
+  KEY (`cid`),
+  KEY (`contribution_id`),
+  KEY (`recur_id`),
+  KEY (`auth_result`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to store verification information';
+
+CREATE TABLE `civicrm_iats_ukdd_validate` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'UK DirectDebit validation Id',
+  `customer_code` varchar(255) NOT NULL COMMENT 'Customer code returned from iATS',
+  `acheft_reference_num` varchar(255) NOT NULL COMMENT 'Reference number returned from iATS',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  `validated` int(10) unsigned DEFAULT '0' COMMENT 'Status id of 0 or 1 (after validation)',
+  `validated_datetime` datetime COMMENT 'Date time of validation',
+  `xml` longtext COMMENT 'XML response to initial validation request',
+  PRIMARY KEY ( `id` ),
+  KEY (`customer_code`),
+  KEY (`acheft_reference_num`),
+  KEY (`cid`),
+  KEY (`recur_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to store UK Direct Debit validation information';
+
+CREATE TABLE `civicrm_iats_journal` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'CiviCRM Journal Id',
+  `iats_id` int unsigned DEFAULT NULL COMMENT 'iATS Journal Id',
+  `tnid` varchar(255) NOT NULL COMMENT 'Transaction ID',
+  `tntyp` varchar(255) NOT NULL COMMENT 'Transaction type: Credit card or ACHEFT',
+  `agt` varchar(255) NOT NULL COMMENT 'Agent',
+  `cstc` varchar(255) NOT NULL COMMENT 'Customer code',
+  `inv` varchar(255) COMMENT 'Invoice Number',
+  `dtm` datetime NOT NULL COMMENT 'DateTime',
+  `amt` decimal(20,2) COMMENT 'Amount',
+  `rst` varchar(255) COMMENT 'Result',
+  `cm` varchar(255) COMMENT 'Comment',
+  `currency` varchar(3) COMMENT 'Currency',
+  `status_id` int(10) unsigned DEFAULT '0' COMMENT 'Status of the payment',
+  `financial_trxn_id` int(10) unsigned DEFAULT '0' COMMENT 'Foreign key into CiviCRM financial trxn table id',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `contribution_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contribution table id',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  `verify_datetime` datetime COMMENT 'Date time of verification',
+  PRIMARY KEY ( `id` ),
+  UNIQUE KEY (`tnid`),
+  UNIQUE KEY (`iats_id`),
+  KEY (`tnid`),
+  KEY (`tntyp`),
+  KEY (`inv`),
+  KEY (`rst`),
+  KEY (`dtm`),
+  KEY (`financial_trxn_id`),
+  KEY (`contribution_id`),
+  KEY (`verify_datetime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to iATS journal transactions imported via the iATSPayments ReportLink.'
+
diff --git a/civicrm/ext/iatspayments/sql/uninstall.sql b/civicrm/ext/iatspayments/sql/uninstall.sql
new file mode 100644
index 0000000000..a9df21d401
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/uninstall.sql
@@ -0,0 +1,7 @@
+RENAME TABLE `civicrm_iats_customer_codes` TO `backup_iats_customer_codes`;
+DROP TABLE IF EXISTS `civicrm_iats_customer_codes`;
+DROP TABLE IF EXISTS `civicrm_iats_request_log`;
+DROP TABLE IF EXISTS `civicrm_iats_response_log`;
+DROP TABLE IF EXISTS `civicrm_iats_verify`;
+DROP TABLE IF EXISTS `civicrm_iats_ukdd_validate`;
+DROP TABLE IF EXISTS `civicrm_iats_journal`;
diff --git a/civicrm/ext/iatspayments/sql/upgrade_1_3_001.sql b/civicrm/ext/iatspayments/sql/upgrade_1_3_001.sql
new file mode 100644
index 0000000000..69fc863c4d
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/upgrade_1_3_001.sql
@@ -0,0 +1,15 @@
+CREATE TABLE `civicrm_iats_ukdd_validate` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'UK DirectDebit validation Id',
+  `customer_code` varchar(255) NOT NULL COMMENT 'Customer code returned from iATS',
+  `acheft_reference_num` varchar(255) NOT NULL COMMENT 'Reference number returned from iATS',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  `validated` int(10) unsigned DEFAULT '0' COMMENT 'Status id of 0 or 1 (after validation)',
+  `validated_datetime` datetime COMMENT 'Date time of validation',
+  `xml` longtext COMMENT 'XML response to initial validation request',
+  PRIMARY KEY ( `id` ),
+  KEY (`customer_code`),
+  KEY (`acheft_reference_num`),
+  KEY (`cid`),
+  KEY (`recur_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to store UK Direct Debit validation information';
diff --git a/civicrm/ext/iatspayments/sql/upgrade_1_5_003.sql b/civicrm/ext/iatspayments/sql/upgrade_1_5_003.sql
new file mode 100644
index 0000000000..cfdfb8e37c
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/upgrade_1_5_003.sql
@@ -0,0 +1,3 @@
+UPDATE civicrm_payment_processor_type SET payment_instrument_id = 2 WHERE (class_name = 'Payment_iATSServiceACHEFT' OR class_name = 'Payment_iATSServiceUKDD');
+UPDATE civicrm_payment_processor p INNER JOIN civicrm_payment_processor_type t ON p.payment_processor_type_id = t.id SET p.payment_instrument_id = 2 WHERE (t.class_name = 'Payment_iATSServiceACHEFT' OR t.class_name = 'Payment_iATSServiceUKDD');
+UPDATE civicrm_contribution_recur r INNER JOIN civicrm_payment_processor p ON r.payment_processor_id = p.id INNER JOIN civicrm_payment_processor_type t ON p.payment_processor_type_id = t.id SET r.payment_instrument_id = 2 WHERE (t.class_name = 'Payment_iATSServiceACHEFT' OR t.class_name = 'Payment_iATSServiceUKDD');
diff --git a/civicrm/ext/iatspayments/sql/upgrade_1_6_001.sql b/civicrm/ext/iatspayments/sql/upgrade_1_6_001.sql
new file mode 100644
index 0000000000..5d534815a2
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/upgrade_1_6_001.sql
@@ -0,0 +1,2 @@
+ALTER TABLE civicrm_iats_verify ADD COLUMN `auth_result` varchar(255) COMMENT 'Authorization string from iATS';
+ALTER TABLE civicrm_iats_verify ADD INDEX (auth_result);
diff --git a/civicrm/ext/iatspayments/sql/upgrade_1_6_002.sql b/civicrm/ext/iatspayments/sql/upgrade_1_6_002.sql
new file mode 100644
index 0000000000..bb64d26845
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/upgrade_1_6_002.sql
@@ -0,0 +1,31 @@
+CREATE TABLE `civicrm_iats_journal` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'CiviCRM Journal Id',
+  `iats_id` int unsigned DEFAULT NULL COMMENT 'iATS Journal Id',
+  `tnid` varchar(255) NOT NULL COMMENT 'Transaction ID',
+  `tntyp` varchar(255) NOT NULL COMMENT 'Transaction type: Credit card or ACHEFT',
+  `agt` varchar(255) NOT NULL COMMENT 'Agent',
+  `cstc` varchar(255) NOT NULL COMMENT 'Customer code',
+  `inv` varchar(255) COMMENT 'Invoice Number',
+  `dtm` datetime NOT NULL COMMENT 'DateTime',
+  `amt` decimal(20,2) COMMENT 'Amount',
+  `rst` varchar(255) COMMENT 'Result',
+  `cm` varchar(255) COMMENT 'Comment',
+  `currency` varchar(3) COMMENT 'Currency',
+  `status_id` int(10) unsigned DEFAULT '0' COMMENT 'Status of the payment',
+  `financial_trxn_id` int(10) unsigned DEFAULT '0' COMMENT 'Foreign key into CiviCRM financial trxn table id',
+  `cid` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contact id',
+  `contribution_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM contribution table id',
+  `recur_id` int(10) unsigned DEFAULT '0' COMMENT 'CiviCRM recurring_contribution table id',
+  `verify_datetime` datetime COMMENT 'Date time of verification',
+  PRIMARY KEY ( `id` ),
+  UNIQUE KEY (`tnid`),
+  UNIQUE KEY (`iats_id`),
+  KEY (`tnid`),
+  KEY (`tntyp`),
+  KEY (`inv`),
+  KEY (`rst`),
+  KEY (`dtm`),
+  KEY (`financial_trxn_id`),
+  KEY (`contribution_id`),
+  KEY (`verify_datetime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table to iATS journal transactions imported via the iATSPayments ReportLink.' 
diff --git a/civicrm/ext/iatspayments/sql/upgrade_1_6_004.sql b/civicrm/ext/iatspayments/sql/upgrade_1_6_004.sql
new file mode 100644
index 0000000000..6f8d305760
--- /dev/null
+++ b/civicrm/ext/iatspayments/sql/upgrade_1_6_004.sql
@@ -0,0 +1 @@
+DELETE FROM civicrm_job where api_action = 'iatsacheftverify'; 
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDPM.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDPM.tpl
new file mode 100644
index 0000000000..bcd3286c82
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDPM.tpl
@@ -0,0 +1,14 @@
+{*
+ iATS DPM
+ Extra html to hold errors in js validation
+ Requires js/dpm.js to to all it's proper work
+*}
+
+<div id="iats-dpm-continue">
+  <div class="messages crm-error">
+    <div class="icon red-icon alert-icon"></div>
+    {ts}Please fix the following errors in the form fields above:{/ts}
+    <ul id="iats-dpm-required">
+    </ul>
+  </div>
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl
new file mode 100644
index 0000000000..5a4a58ab97
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_CAD.tpl
@@ -0,0 +1,36 @@
+{*
+ Extra fields for iats direct debit, template for CAD
+*}
+
+<script type="text/javascript" src="{crmResURL ext=com.iatspayments.civicrm file=js/dd_acheft.js}"></script>
+<script type="text/javascript" src="{crmResURL ext=com.iatspayments.civicrm file=js/dd_cad.js}"></script>
+
+    <div id="iats-direct-debit-extra">
+      <div class="crm-section cad-instructions-section">
+        <div class="label"><em>{ts domain='com.iatspayments.civicrm'}You can find your Transit number, Bank number and Account number by inspecting a cheque.{/ts}</em></div>
+        <div class="content"><img width=500 height=303 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/CDN_cheque_500x.jpg}"></div>
+        <div class="description"><em>{ts domain='com.iatspayments.civicrm'}Please enter them below without any punctuation or spaces.{/ts}</em></div>
+        <div class="clear"></div>
+      </div>
+      <div class="crm-section cad-transit-number-section">
+        <div class="label">{$form.cad_transit_number.label}</div>
+        <div class="content">{$form.cad_transit_number.html}</div>
+        <div class="clear"></div>
+      </div>
+      <div class="crm-section cad-bank-number-section">
+        <div class="label">{$form.cad_bank_number.label}</div>
+        <div class="content">{$form.cad_bank_number.html}</div>
+        <div class="clear"></div>
+      </div>
+      <div class="crm-section bank-account-type-section">
+        <div class="label">{$form.bank_account_type.label}</div>
+        <div class="content">{$form.bank_account_type.html}</div>
+        <div class="clear"></div>
+      </div>
+    </div>
+{literal}<script type="text/javascript">
+  cj(function ($) {
+    iatsACHEFTRefresh();iatsACHEFTca();
+  });
+</script>
+{/literal}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_GBP.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_GBP.tpl
new file mode 100644
index 0000000000..8510bcf78c
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_GBP.tpl
@@ -0,0 +1,94 @@
+{*
+ iATS direct debit UK customization
+ Extra fields
+ Requires js/dd_uk.js to to all it's proper work
+*}
+<div id="iats-direct-debit-gbp-declaration">
+  <fieldset class="iats-direct-debit-gbp-declaration">
+  <legend>Declaration</legend>
+  <div class="crm-section">
+    <div class="label">{$form.payer_validate_declaration.label}</div>
+    <div class="content">{$form.payer_validate_declaration.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section">
+    <div class="content"><strong>{ts domain='com.iatspayments.civicrm'}Note: {/ts}</strong>{ts domain='com.iatspayments.civicrm'}All Direct Debits are protected by a guarantee. In future, if there is a change to the date, amount of frequency of your Direct Debit, we will always give you 5 working days notice in advance of your account being debited. In the event of any error, you are entitled to an immediate refund from your Bank of Building Society. You have the right to cancel at any time and this guarantee is offered by all the Banks and Building Societies that accept instructions to pay Direct Debits. A copy of the safeguards under the Direct Debit Guarantee will be sent to you with our confirmation letter.{/ts}
+    </div>
+    <div><br/></div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section">
+    <div class="label">{$form.payer_validate_contact.label}</div>
+    <div class="content"><strong>{ts domain='com.iatspayments.civicrm'}Contact Information: {/ts}</strong>{$form.payer_validate_contact.html}</div>
+    <div class="clear"></div>
+    <div class="content">
+  <img width=166 height=61 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/bacs.png}">
+  <img width=148 height=57 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/direct-debit.jpg}">
+  <img width=134 height=55 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/iats.jpg}">
+</div>
+  </div>
+  </fieldset>
+</div>
+
+<div id="iats-direct-debit-extra">
+  <div class="crm-section gbp-instructions-section">
+    <div class="label"><em>{ts domain='com.iatspayments.civicrm'}You can find your Account Number and Sort Code by inspecting a cheque.{/ts}</em></div>
+    <div class="content"><img width=500 height=303 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/GBP_cheque_500x.jpg}"></div>
+  </div>
+</div>
+<div>
+  <div id="iats-direct-debit-logos"></div>
+  <img width=166 height=61 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/bacs.png}">
+  <img width=148 height=57 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/direct-debit.jpg}">
+  <img width=134 height=55 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/iats.jpg}">
+</div>
+<div id="iats-direct-debit-start-date">
+  <div class="crm-section payer-validate-start-date">
+    <div class="label">{$form.payer_validate_start_date.label}</div>
+    <div class="content">{$form.payer_validate_start_date.html}</div>
+    <div class="content">{ts domain='com.iatspayments.civicrm'}You may select a later start date if you wish.{/ts}</div>
+    <div class="clear"></div>
+  </div>
+</div>
+<div id="iats-direct-debit-gbp-payer-validate">
+  <div class="crm-section payer-validate-address">
+    <div class="label">{$form.payer_validate_address.label}</div>
+    <div class="content">{$form.payer_validate_address.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-service-user-number">
+    <div class="label">{$form.payer_validate_service_user_number.label}</div>
+    <div class="content">{$form.payer_validate_service_user_number.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-reference">
+    <div class="label">{$form.payer_validate_reference.label}</div>
+    <div class="content">{$form.payer_validate_reference.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-instruction">
+    <div class="label">{$form.payer_validate_instruction.label}</div>
+    <div class="content">{$form.payer_validate_instruction.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-date">
+    <div class="label">{$form.payer_validate_date.label}</div>
+    <div class="content">{$form.payer_validate_date.html}</div>
+    <div class="clear"></div>
+  </div>
+  <input name="payer_validate_url" type="hidden" value="{crmURL p='civicrm/iatsjson' q='reset=1'}">
+</div>
+<div id="iats-direct-debit-gbp-continue">
+  <div class="messages crm-error">
+    <div class="icon red-icon alert-icon"></div>
+    {ts}Please fix the following errors in the form fields above:{/ts}
+    <ul id="payer-validate-required">
+    </ul>
+  </div>
+</div>
+{literal}<script type="text/javascript">
+  cj(function ($) {
+    iatsUKDDRefresh();
+  });
+</script>
+{/literal}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_Other.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_Other.tpl
new file mode 100644
index 0000000000..286d107e82
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_Other.tpl
@@ -0,0 +1,6 @@
+{*
+ Extra fields for iats direct debit, template, for unknown currencies
+*}
+    <div id="iats-direct-debit-extra">
+      <div class="description">Your currency is not supported by this iATS Payment processor, proceed at your own risk.</div>
+    </div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_USD.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_USD.tpl
new file mode 100644
index 0000000000..a6f0cd2c79
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockDirectDebitExtra_USD.tpl
@@ -0,0 +1,24 @@
+{*
+ Extra fields for iats direct debit, template for USD
+*}
+
+<script type="text/javascript" src="{crmResURL ext=com.iatspayments.civicrm file=js/dd_acheft.js}"></script>
+
+<div id="iats-direct-debit-extra">
+  <div class="crm-section usd-instructions-section">
+    <div class="label"><em>{ts domain='com.iatspayments.civicrm'}You can find your Bank Routing Number and Bank Account number by inspecting a check.{/ts}</em></div>
+    <div class="content"><img width=500 height=303 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/USD_check_500x.jpg}"></div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section bank-account-type-section">
+    <div class="label">{$form.bank_account_type.label}</div>
+    <div class="content">{$form.bank_account_type.html}</div>
+    <div class="clear"></div>
+  </div>
+</div>
+{literal}<script type="text/javascript">
+  cj(function ($) {
+    iatsACHEFTRefresh();
+  });
+</script>
+{/literal}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockRecurringExtra.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockRecurringExtra.tpl
new file mode 100644
index 0000000000..049cbe7489
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockRecurringExtra.tpl
@@ -0,0 +1,10 @@
+<div id="iats-recurring-start-date">
+  <div class="crm-section recurring-start-date">
+    <div class="label">{$form.receive_date.label}</div>
+    <div class="content">{$form.receive_date.html}
+      <div class="description">{ts domain='com.iatspayments.civicrm'}You may select a later start date if you wish.{/ts}</div>
+    </div>
+    <div class="clear"></div>
+  </div>
+</div>
+{literal}<script type="text/javascript">cj(function ($) { iatsRecurStartRefresh();});</script>{/literal}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockSwipe.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockSwipe.tpl
new file mode 100644
index 0000000000..a57ced3207
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/BillingBlockSwipe.tpl
@@ -0,0 +1,22 @@
+{*
+ Extra fields for iATS secure SWIPE
+*}
+
+<div id="iats-swipe">
+      <div class="crm-section cad-instructions-section">
+        <div class="label"><em>{ts domain='com.iatspayments.civicrm'}Get ready to SWIPE! Place your cursor in the Encrypted field below and swipe card.{/ts}</em></div>
+        <div class="content"><img width=220 height=220 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/usb_reader.jpg}"></div>
+        <div class="clear"></div>
+      </div>
+      <div class="crm-section encrypted-credit-card-section">
+        <div class="label">{$form.encrypted_credit_card_number.label}</div>
+        <div class="content">{$form.encrypted_credit_card_number.html}</div>
+        <div class="clear"></div>
+      </div>
+</div>
+{literal}<script type="text/javascript">
+  cj(function ($) {
+    iatsSWIPERefresh();
+  });
+</script>
+{/literal}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/CDN_cheque_500x.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/CDN_cheque_500x.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0a4b0e53a187cc2c5f86f0aa4f5b82f1e909fee9
GIT binary patch
literal 55291
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

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeConfirmExtra_UKDD.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeConfirmExtra_UKDD.tpl
new file mode 100644
index 0000000000..ac0997d214
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeConfirmExtra_UKDD.tpl
@@ -0,0 +1,41 @@
+{*
+ iATS direct debit UK customization
+ Extra fields in Confirmation Screen
+*}
+<div id="iats-direct-debit-gbp-payer-validate">
+  <div class="crm-section payer-validate-address">
+    <div class="label">{$form.payer_validate_address.label}</div>
+    <div class="content">{$form.payer_validate_address.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-service-user-number">
+    <div class="label">{$form.payer_validate_service_user_number.label}</div>
+    <div class="content">{$form.payer_validate_service_user_number.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-reference">
+    <div class="label">{$form.payer_validate_reference.label}</div>
+    <div class="content">{$form.payer_validate_reference.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-instruction">
+    <div class="label">{$form.payer_validate_instruction.label}</div>
+    <div class="content">{$form.payer_validate_instruction.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section start-date">
+    <div class="label">{$form.payer_validate_start_date.label}</div>
+    <div class="content">{$form.payer_validate_start_date.html}</div>
+    <div class="clear"></div>
+  </div>
+  <div class="crm-section payer-validate-date">
+    <div class="label">{$form.payer_validate_date.label}</div>
+    <div class="content">{$form.payer_validate_date.html}</div>
+    <div class="clear"></div>
+    <div>
+      <img width=166 height=61 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/bacs.png}">
+      <img width=148 height=57 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/direct-debit.jpg}">
+      <img width=134 height=55 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/iats.jpg}">
+    </div>
+  </div>
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeThankYouExtra_UKDD.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeThankYouExtra_UKDD.tpl
new file mode 100644
index 0000000000..1acedb746d
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributeThankYouExtra_UKDD.tpl
@@ -0,0 +1,38 @@
+{*
+ iATS direct debit UK customization
+ Extra fields in Thank You Screen
+*}
+<div>
+  <div class="display-block">
+Bank Address: {$form.payer_validate_address.html}<br />
+Service User Number: {$form.payer_validate_service_user_number.html}<br />
+Reference: {$form.payer_validate_reference.html}<br />
+Start Date: {$form.payer_validate_start_date.html}
+Today's Date: {$form.payer_validate_date.html}
+  </div>
+  <h3>Direct Debit Guarantee</h3>
+  <ul>
+    <li>The Guarantee is offered by all banks and building societies that accept instructions to pay Direct Debits</li>
+    <li>If there are any changes to the amount, date or frequency of your Direct Debit the organisation will notify you (normally 10 working days) in advance of your account being debited or as otherwise agreed. If you request the organisation to collect a payment, confirmation of the amount and date will be given to you at the time of the request</li>
+    <li>If an error is made in the payment of your Direct Debit, by the organisation or your bank or building society, you are entitled to a full and immediate refund of the amount paid from your bank or building society</li>
+    <li>If you receive a refund you are not entitled to, you must pay it back when the organisation asks you to</li>
+    <li>You can cancel a Direct Debit at any time by simply contacting your bank or building society. Written confirmation may be required. Please also notify the organisation</li>
+  </ul>
+  <br/>
+  <div class="messages status continue_instructions-section">
+    <p>Please print this page for your records.</p>
+    <div id="printer-friendly">
+      <a title="Print this page." onclick="window.print(); return false;" href="#">
+        <div class="ui-icon ui-icon-print"></div>
+      </a>
+    </div>
+    <div class="clear"></div>
+  </div>
+  <br/>
+  <div class="clear"></div>
+    <div>
+      <img width=166 height=61 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/bacs.png}">
+      <img width=148 height=57 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/direct-debit.jpg}">
+      <img width=134 height=55 src="{crmResURL ext=com.iatspayments.civicrm file=templates/CRM/iATS/iats.jpg}">
+    </div>
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/ContributionRecur.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributionRecur.tpl
new file mode 100644
index 0000000000..80629a86b9
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/ContributionRecur.tpl
@@ -0,0 +1,9 @@
+{* more fields on recurring contribution display *}
+<table id="iats-extra">
+<tr><td class="label">Expiry</td>
+        <td class="content">{$expiry}</td></tr>
+<tr><td class="label">Last 4 digits (of original card)</td>
+        <td class="content">{$cc}</td></tr>
+<tr><td class="label">{ts}Card on File{/ts}</td>
+        <td class="content">{$customerLink}</td></tr>
+</table>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSCustomerLink.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSCustomerLink.tpl
new file mode 100644
index 0000000000..08f3d8f07c
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSCustomerLink.tpl
@@ -0,0 +1,17 @@
+{* HEADER *}
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="top"}
+</div>
+
+{foreach from=$elementNames item=elementName}
+  <div class="crm-section">
+    <div class="label">{$form.$elementName.label}</div>
+    <div class="content">{$form.$elementName.html}</div>
+    <div class="clear"></div>
+  </div>
+{/foreach}
+
+{* FOOTER *}
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="bottom"}
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSOneTimeCharge.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSOneTimeCharge.tpl
new file mode 100644
index 0000000000..470ef7771a
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IATSOneTimeCharge.tpl
@@ -0,0 +1,22 @@
+{* HEADER *}
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="top"}
+</div>
+
+{foreach from=$elementNames item=elementName}
+  <div class="crm-section">
+    <div class="label">{$form.$elementName.label}</div>
+    <div class="content">{$form.$elementName.html}</div>
+    <div class="clear"></div>
+  </div>
+{/foreach}
+
+  <div>
+    <span>{$form.favorite_color.label}</span>
+    <span>{$form.favorite_color.html}</span>
+  </div>
+
+{* FOOTER *}
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="bottom"}
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IatsSettings.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IatsSettings.tpl
new file mode 100644
index 0000000000..8a7f58ee73
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/IatsSettings.tpl
@@ -0,0 +1,18 @@
+{* HEADER *}
+
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="top"}
+</div>
+
+{foreach from=$elementNames item=elementName}
+  <div class="crm-section">
+    <div class="label">{$form.$elementName.label}</div>
+    <div class="content">{$form.$elementName.html}</div>
+    <div class="clear"></div>
+  </div>
+{/foreach}
+
+{* FOOTER *}
+<div class="crm-submit-buttons">
+{include file="CRM/common/formButtons.tpl" location="bottom"}
+</div>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/ACHEFTVerify.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/ACHEFTVerify.tpl
new file mode 100644
index 0000000000..0119590e59
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/ACHEFTVerify.tpl
@@ -0,0 +1,2 @@
+{* Use the default layout *}
+{include file="CRM/Report/Form.tpl"}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Journal.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Journal.tpl
new file mode 100644
index 0000000000..0119590e59
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Journal.tpl
@@ -0,0 +1,2 @@
+{* Use the default layout *}
+{include file="CRM/Report/Form.tpl"}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Recur.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Recur.tpl
new file mode 100644
index 0000000000..0119590e59
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Form/Report/Recur.tpl
@@ -0,0 +1,2 @@
+{* Use the default layout *}
+{include file="CRM/Report/Form.tpl"}
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/GBP_cheque_500x.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/GBP_cheque_500x.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..78ee735c3da53795e87e676315caff988b571444
GIT binary patch
literal 57165
zcmd?QbyOYAwlBJHcTLbNB)A55cY+h#9Tu=~cXubay9D<T+}%C669}%kBzx~~e|Nm|
z&O7gnd*A)z)nGBYt7}%xs-8V(*Khv%*W#~D0KS;3g((0aB}D^(2mHJIIsssaIvH8H
z0U!X-uhqr?z^_dx0&_=4J8niskOPB(v8|yAgORNbqpN`(BQpaNBY;=H)y}}k%EXb>
z(8SCF#0UJ*)(IrFFy;fQv&k{Z*@>8#TS&TtO_bf`RgB!NjJS+}0{o=BuH3FRb~YxC
z2BfYw)*uINS3cmM&beQYe^)aCN&hr)wBiE_{T`L{lbiynh%MNJl#PLv-iV2rnUtNK
zf%yX)J3BKSDGL)b3nSC(A3Hts2W~cYZWa#Ge-_~DXkcSgZY5Fie~$Hf#s~c8q+DEF
z7+hExY{6!X%v@Ytzx!Zep?_^b@8AY<G;pN{IgtIU2T>CTBd~>?qlGPq^mmU2hPF<Q
ze85*t|1kv{J2|<(I{pt=%f{ySy#BOya8xq+w;KOpYX=oKI}=7F69-!-u#w4YbFzO4
zzpmYXKG5%mui9{n+8R08n1CFmMEQWPH4MfU#@s9-LSmdO!mLc}9GuL|Vjnm;#Ms3+
z#h5>caR@Vi5Mue4tQ5$>(Ewy*@-JD7f6KD`r?T84U=ssJTd<0)t@Xd|o`SipqpgFv
ztsSX|GCQf9fsqC1_xbOo{imiTU<+pxV{x#p4e6h?;kNkO_^*1gvWtpxeGnEF5f=UM
zL0FVaj7?mKONgCKOoZvf2jD+tjQ=*@|3?|d*TETo-^jn+*nd^MTFdXlzs&UY<S#=v
z0liu`_|=SmodHn)7$?B^+w0>3@oNPT2!Qyn7s!7XsK3fT#UUXeUa!9X{<`pAJ^1wv
zfB_G|2yq1kfdPQTfPlh)_|*&e`T9)1cJ|u)U(Y)%91J`ZGy()9;%nvqd<g&v0|5mM
z3kQ!50Kh;&LO>y)qM#zc!y&wC1qBTQfQ7?=$9#u{z$~PQjf0zl|H;4}IIWy8lQ^q7
zr#6r0$0AHt@07%z+~~5v8K-0zU)Mt}>KMqTp2`LGXYFrteWUR?x8_2`$U&vJE8qhK
zr8CF*X1;Mjuh@GD#8;&uAR*x3;b30Xd)4c8VIeV~px-eo#!X?u2pQP>DJf&)<koBg
zS>mzIyTBh{g$>DARWAJVY8~>~aHmD!wgSjS;eRaykfC1Zg#m>D5CFWqP{9ClupxaF
z5FrHre|cD_@V{*KZpWP!`^|JBTgTQm)AYR!YpLLdF$>vu7?C#Z4G!@ejbF~h2g9@0
z8yE?Xn>_SY-_XjnXg539V-K<6Ku{i)=wm|U(O$Lf?z<vH3;A~?UqvlJMO5BvMQ<S$
zM$p+in%+lco7fEV_1jM}76e~4*hJX(^Qa<Fo2a{!+l5$sIPIokf%l_JJhX424<uem
z(IxPLv6D<->duYd$*N-~t*ed7$FnCh+a}-5OZJS~ryz3_!hnR@Z|qqLo<PU%|3T>7
zjpEy4!w{GL)5^5v7l32+P7c}U^UbsAb}7Q6@Mh~)Q3alSZPEJyF7}yDV-SJd$aU@s
zRdYpT`btnq>e*J>0Pj0I?I5XXUqP0=+a|t-<F6}q3<z=^KZsQdzy63A$3h^*SGsMo
z_iFNEL~ce}jlC^W7@WkNxooY?q=s&C)K1&fFSE#m)n1NAgczPF(wu5xl<A-U(m0mE
zU~bGXcw!V`d(U}Yu>$)GFv9SYlBX|X=@#YKt~=M%=ti`ymd8%)Kx(9{PF!Bzxun9G
zKFcp7`Y^1|+-T{^&(koyaa?{ftNwdcD(tOIoQo{GlKYR<q(X*{uk2UxC!j4s66-qD
zuw|Nzm`QMIo*i^DGhmrM%NA$;+@Aizt27u4f=_N(FD6c87Y|G}#5|!qDY2SgX{8UD
zIZuwCu`lcYSdb8KQzkd#xn`KxmfYUc_p?;HbjVy|gJs_{@U-$cF8azyt>e&>mcb<(
zIR2A2#1G@KWnE3Ewi4<7`4^x)1dW~=dxhoeIj{I?evO)<?jktgw$bYlBx`zn^j5_f
zA7aXR3+7lVIWHI4-W3QR$V^gx_LAKZy6NI0W6u%PYjF0AZ&bPRX@u22i9xFk<or@W
z|K!vAWv5BU_%gfdT;K`n3hrp68AR>>?Dc?)f5O0nd=UW=y5+)zS1G-N6<D$UZP-<2
zA^UtAe=9SLO9}VXSX2V*Y}-wA;O48>*IMFx2G_>~{N+%s5(aHJkj;JH%p02lre=l|
zECv>wT=xla`Ov`DQj!*1fKCXYP8R<Ay3f_^F|P~yvp{z<$~sJBr}u91nc<h4(~&n(
z9@939NlVY1LNvmSC(^sX^($SGgY0MZUx3TbUjUZxde3Cn>UiIO0m^*D&rkT#!W(Qu
zwyQ620>0lA<Ptd7INL4CBxIhR?j@ZV_NW$Yy3h+0KNsk6$jh!UAP;iXw^2VfUi3G1
z^w^E|4~UC?iA#)+k?KjI+s>^zexT2H$ao119UD#%Txd)tlIPDy-=_U(*S%$@P$kR%
zZvHuYwe_GJ%vBg?vLk?SaYkYmWM83<+OvJmtJIf%8ENlI{{taZs#T}QwtMw!<mJkG
zpzbN(thJm4joAMZp9-Uq%ml)lV5(_cx9x3SVO%+%?#l`Z9BLG6^6V3n$4D5Q9u@!6
zl5d>OoCtr2hjM=vF6I_A`yLNr6cVoYTn$s2GxpG6RWni8I9iS~@#48evUet=Hp}Q!
zV(7OT(#bHf?NU5+lwoMde8kqsP{87ztYAoPeN;J{1BlP2u^lmBgfFl{r{t7SOuuMv
zB`VXpoVo}dgaknBt4lI(nYK#<3e$ZaRR;KlD9}@lI>l^iPB4emRNNJD$WYy_e9mxc
zKpraWBf_$+ug_bQZvqW{F!?OLT!9`X^d69lsUJp=2m!?Qh4C;y^|AT%f^JieW$P+E
z(j+$5dpF5mL|apN=fK<cU3ji_?JYYcN<J%R3q3f{XgiEEQ^J>BK{gZufcoC!(+a`u
zLP7pooBje=gLuir)c6e^XI`()^`&`#A%37&jSG(w^f&`2tYkL}P>$%cF%~W5cO_ra
z6aad=P0eZXRzJIpl`WLvf)f5*-@3J%gElToHiz?KO;eU&TdndVc%p?!=vHaDVe3q5
zU81GtWLB&Wb_9_c8<BDga%+Io2yOG&<~co#S(m%7F|mBVHeRitySB28X2a(_&|gkZ
zk~gGr+sJ6O!*LFJn!8w5-Z<eM+a|RjOS*hHnMlEO#6+Hh@e=Go9Yb4dR|omJ(ZYGH
zvm-ZG08OvP7e<?X$&N4{0%FXw=z1mVv1w>-n@5?3_?e&&gL)$Bo;=rh*qfiM)kqL%
zL1*l%ryCtSc5Pv8NMZeo$-o^G_b91?#A)p?JVJ?>3*GmjU2B~#4oE#ewAzAumKEy)
zYrwPlRPy**(zqPAc^OsGm@N(rPrJ&|BL^u<xV-H=*LBuN^O#~D-m?vqxe246O?DHU
zwUV_7ctGpn?G*^LeWxkTl>Ip2=1J-&>R=t{U4=3<A_s%JDl(J@J+ucl5j2OZ7fc3r
z1MpZ|LX!s9Je~=jGmBD!rL@yWRyx<)W7|2sl1^Qt&IerqB5#sP&Sao^4SodUftS<}
z)o|m<nWjRbVPa*87Z+VLJ-h8%gpsD}_(YR65++J!gPEqHO)h<#H!n6VzH73{ck`|s
zn!GZ9l%WHeUL({@_o~D*?d0df@!f$e<;3Fm6Vy^IQkRYE$!;gQlzSXl4tUP&+s-=~
zX-y#9T=k^0l?Hq*e_MtVGW;shFdfl-wrtnW@`v5&*268_gE|3LjdOv9M=);U@5sA2
zs`m4YI5WPmlq5~-2h2QRFo6%)s3@pQ+DCf^%M|v%v`VTOFFkqhe8I}&vX02h@gxH-
zDbNhzC?#g7)B02CLs<+{%;$qGF)B!Ru56Xh*q54+64u(-pzmF@bR3<oV+T;&#op4G
zo;6_v5LA6ElCmbDO7q)0PqSu&I0?>S(_mmU#azuy57#6R+Y$J<)`r95aypEbM7dD0
zIa9zoEC6+fnQ#ZL+2;hExlb`Ztdn(w4Btd?i}2>33;0nBgi!yvGWiQoxy7^SS#AC|
zp)7~sv*JtofS0DwAGtp}3gT&?3J|sXq`n?GzoaL?y$o-|NCQh^w6Sm)l;S{o^Pw@H
zbsCxP2wqMsi*sA~EBVAs8H0?@lM=TItr`f+tCO7aBrYwc`F44HJz=Cgi>rp0Ca;s$
zZ<+4v4~c(fe&dHM_^LeJ=*VZZzDL5INw%)s4EIeXW!PP9Jfy;7wP$apz+>12aEBOw
z|55r?G{z&<bJ;P*P5wIxgpwZhp%yoB%?}5XAm%113`qkC2Q6<!K@>?bCeJ)_rW@p3
z5JjLbUlx|zto#_bl$@HL!ieu>n$`qlYR0w6UWkD%H)U6Tt-<&U06yiak?bj+4Ncr!
z08~A4(sIn%jB(`CJG~i}csw|S`5Dml6(;+ML(8)|6S-Bwi-`2Af-A?jx?h0c!(Gn<
zlWCs6HTp=qFTxPFAtA|_NQ`n$_Y1Ju>ZZs2#xeSVTgWr#+}6+R7XW2u_<nMvz-4M0
zX%{ZQ6G`9>l%+l%tV8xSI#!R0m*Bg`FF=pu&##UwheTJ7{`W%PHy|fo2#S*~b5kUL
z<QL!#qru+c`kb%v{=ZX*^4|(wMYhVAZq&JpgYZqUs6a*#ISE&hr5OAu@mzy2s-pGG
z-8-_#+{KHC)g4G`ARamP1+LfSAN_0n!FtrkI@Sm710AEnCi&c=hUA12l`Xu8Wl{HE
z$x`5@67$Ck(z<dz+Pyx&0J!s2Q={L9)VM7>?<^P7Oey_<>tftGzvva;0TyaU@ry64
z8r2^n|BU(e0$uPzSjqoti2Id90@v*l9%xCYZykf(B)<DVD*2!)kK3)SUg!P-X!W{$
zx!0X4mNZNBhC8Qtf4<ARkFqwQN%G&6@p>JHk||kFvUdeiK*WI)g?v1(^qc^8DB~M7
zp(J-I=)*&+)oeK-17$zu!kl8fs%4UP5IYB)1C-b1E(K-0ll12~*`~2#$=k#;h;tl@
zpINQ6W+L-okJUa4XMzIu=_L3Rt;jCaB;3%peWh-t*C0|e_fC@H!_TZxu1cqc61J6)
zE(r|VBe5y9fc0r{kH49e)>C!noBspm^1s4<1;kofg=V>wKiY8$iJ_7zQOZ&S9Wr`m
zso^zpnIrjp5#2O3w3A?UDAJ)!uTo|6P&3R<aF7?jL1sHLRfO1-LB74f`D`YgXY%@v
zjESZX+YDOi(ex<Onn-7_BffnH{JSfePy2_Hh>>1dBejP#UOg+e9RNcN&V5Bp(6I4<
z+dEUnA-U+Kjep^R3K`;VIgqbjn*U_rs>|~xdDX?{rZCRNOVmt0c7o~&?Yp$h=J4ia
z28RoudHp|~WrfA`n_UvWCj_Y{u8&+jE)Me{&$bxrJ-Z&_neVa`??}ESX7?oiL&j(R
zg6M=_y?$4yNiw}qI>4q^e*lTlkw#MgP*nwkWHH`a;v+|?MhspJ7f5();Qe44nZV3~
zjfD5^qrLyGMd9&#6y^mf?n4|2g7|O9y<H{b))c_j+-eO$`tHy0{Q3xG<FngTKePiP
zrc_>jbR@b|cCX&rXscuHu30##&K*fu{oQ+NS-sk##cfN--wiaWF87%Dzv_&8We82Z
z`nJbrf&r_<qF-2$EJlSlNCgFIPsFU(XXA9wGyxi|r(s+$nRaZ3r2|5cF`T+B;x!Z~
zYX@^C2(43D$@U=}<6w)ffjx_!zK5iWxO^fC;Jez@rQ!~BfoR-Q>xQRZagB(V-jT+g
z3|>|#Wn`@Hkx}o@^X<Q=bWZ^wqz<KFB%virO0eVy7ffD=yf->*H)7bmv=DGt?iTNz
zyCeD!TE&Fjp+d1`6`0&{&_D5EpyV9EQq8Fzv;U9)pD62A20!srzTo;O^=6nHc+s-b
z3`N@Q0$3);d93|PZt}CBR{>6b6ahgLqEHq3r1uRnK7r%>H$*?^(a09kXWc#D9}%b%
z?=kSipVF0An(3(0hRA8xYM*B2<eNdyMB#*!b6O2U<y=d@n?;|6t5j7EJRR!Zvb2iJ
z@?RTq$*Iz`R9iQ#BgDZpdP##cg7c6ONkmr=7E48N6dMlNSE4e9R3UVKN9~9zoQe!F
zKizizB>X}I>hxX@{#h0BTqw>OU|?_SEzr|eNFg!ZsL=SX>dqog4m$;R0(%D*6p*gc
zKcfg8GaSEehR{IVr?WU<aDg4}*nCgyT_x@osfW<7f6OJ}KKxv=t7FA|JTFcArQ$aL
zLMTHTkr*8isHB5~NTG<604$|aJW4#wKo-IFfW%2$cGAG7*2+c_8+_xEd|9>Asv!Ek
zPw6twl<8VJ7ConpCH;oi1hvMooR(02hnk?=o!iYTCx-z^$$L?ybWEaTF&tkqA`icu
z)lPrbRSBFL2K@lrPPxgSY1v#C+Tf+OQa&|Of^oF^cQ6W~)pg(p>dK3F^%BTx)Ton<
zKf49eO*>~Hed9;o#|euYB+H+x5|;@_*JSJGdUq>6>%Rc3z@%QyKTsBgm(fN?y-!ld
z^P<)CdG#=3@3UFx_AkIs#&d~Txuf1fHrfx*_aV#9B(3e$LOlYE&wKi%mc4_21H%AV
z_=Qvmkq!{j3J_TM{X~dLiCnTqXbMn?=18V1J-6iF3fgmUVZyGMBH}OO;YhC&j1^JM
zyNSyTL%r)Qzuscj*-~_Rdq;Udd}-{6u+_APaY(zIKzUJ;+GlUuwgf;5(~iZW%iKUi
zhA=WT$ob%Spg-T99ccKid~P$yl{Hq^R(Dods9*M_`2ruDgP5)$N91FyPsBZ^9y(xf
z{=-?mZnE}k2a!oKT9DyIm^_m6$aAT&j&^lP8Rd^K3oubDw|G5s$RxYM^OxKY=#X?f
z(Eb$Y#0pf{aARfK5*VF6YcVah=>l4d?vW(0-J5SSI>S6<H1LF1l<<B5K2Dv?xq+yV
z-D}SeWV^LMlm^SIF3j2S%S~$|;`N!$W4NnC!_d$o#gc=vxAeJw>U<SxnN_hDrQN!k
z8T8}ZYmFJ%%w@aBYHHU@R0A@j8jYuE%c`ph>JH4$4T!sKQmLr}W5mN^JdS-8`KIx`
zl1I1HBcTg}%|J`M$O9S?U%QMV0vSTeojH3nCvy$m_K|6Ytxg4vkhZ|+r~38?HJ1ZA
z9<bWL{{HvV(h>WUpuEjCf`&-zcB?}fx8q>ZSnKtDv9=(cK3;H_aFsAO^r*2c9F<)t
zijGE&Wv>f8c}n3`-RPFR`h~+o%FfO+QZD#SubBa1HwCyUHC%U9mo6c66@Ku88iu**
zTd1o&%p_pHeu2hfC><(<kfhR;r#5dx{XP?dainXT2j4Q@X>y%*pq=zLaMBEHzQ?8r
z8|zlFS%pM*=BNV;RRv&B9YYfO7eHo2P>u=)A~2(Q)26Y{iRBqrDnqmsdsRZm0UID%
zxl*89Q4^rB5SRy1&5+bMm)=y^X2agKZK~4tRwt8kap(ywuV5YxAj6D^#-#d=;3>^G
zfhfw{Qi~>#gDonNpg5xg<xPf0$BRulf9XW_s3TFI-P@V=a;<F~MSMu}jKpfT97@vv
z=v-{OtwTwX8Y1B%-v3+~^N8~HdW1RtTa)c^))Mw$zu<8#>CgVJTi{Wd68I!0W<S&A
z!=bU%9HQ{Oj({2;x;ctMGuUp;&mdUOT?=v;zgS|xI~@iQX0ZJZX3mKa)4RK`g@ROv
zvlwNb5@;P}>mi+}*2g8dWOu18iPC7AIVb))O6r2!)Ut2=;&hmy65({*;DpN37d_OI
zPZx`ib=<}?_!+T+lCQ&>FTwmtsTHR7!v{F(=;JU$h>-e*+k*DR+9g$l)MfAHp&&#(
zfNUQ_H(A2LJ*|~!0?NzovhR=JwJq2G_~<n&?xRx8D*w|Y7F0#m*4|m<_@PX);7mPX
zJBXRFBURaaDj8>sQgb&n5rpm?mD2{QuPR5;G-0d<@V>sjq420Vq}=fEPSDU?g2EY3
zMF@#vmu&bHa!x!2vma1Rrb4o)MFbyaav&5w0FLlcaW;%Xx9D~fHiAR4b(fPktB?YE
zA1C$X_fq$cH5wEeHW>y#*J5LRs?@ng9vT`HYuG_iB63xy3jK-T=0S?%5;E|qw@hq$
z-(>%2+Rf7zsZT#0tTpc;!=W2p`%x#z{I_>H<}samKxA`Yg0o3N!4?`8)gTKwNl+-F
zI@|}V8Bq)U5Nlx2S9YPq3Gt@kYRZVDO|Zw;q*88);tJ#f1Z|xL`;yIVVkJVAXx7&C
zp7pG?HzjB3nX?@^FJ&~Y61BIxpZXSKQXcyb7=LF&r;c@2*pr6?%mPGFiR>WC)74M)
zR2ygZc4v`sZ2p}#;P{CDyt(2tIQK|D<`(I)S3Gk|`jIyA?WM=_mDK$yf0vD}R_F`Z
zOSiyd9qAW<!1i%t&seEBLg-J@fw98lwlU^sQ)e5ByDrYX*j;wT1)<N2*bDqaSjVTt
zqC(T`PNqlso?G>#15UHu*O$Oi9Qse6{{`Hm6;ekU#uhS1+e5|%K`=)f9AW?V+Xlw~
z@YK%mCFFdAJ>k;<)Mt4xL~w3Si=gcDH+W0P01^C*DFNf0lu@cVZ?e$khO?F1{jqf2
zZ`Kqo`YY^1lBRU<ZPN#o@t!c?D_Ihi&!Y-t`X`WLq;A(AJ@CAL0eTOKkbpPW0q@wH
zM1|46*Y4V#v<De3_VM^}JQp(}!k{*%ii|>(wTrX&6Dhs=>bgfHLK39D?YH*Pr&Tj!
zbHyd4MU17TOxUrU;_O6%%9aie`)H36!Z4h$0kfod2XhoJ6rmkw1FIqIULI8L8H_Mp
zn;nPMr4F)nP7>^`v0WHUVUa*1d{J2=_^?Q_IV|`iAdt_!`Z{@aHDve=m!gmhO%m>4
z*{0DmjbxFD3P*-8ApP}qQz_Df3)ICyk3@|yj=QyQU(y9`53Sj>p9vwC>+Rk%6)^|R
zh$5N+b=)IpxQjwVoqUnsEkTrP3m_&Q(uu5T;(9j?x;>eZG}*MdN|uh)zYrH@KA_Px
zd3<@AN#d9YtYhbFI9Z}aWm;i}0n?2Q5q2M}oS%9)HWhgeAFWJI<gJd&xek6(r<M8i
zJOob76z5${g+j$BZ)30g6ues~b~90MiJu|&q%%<-nvmF`Jp{((M_AJJS-GC;6i7wd
zn(T?X+&gD}0oO2Q)L=P*oOV~tshipvtxdL9<G^n;`&#os9ubsU%2Lc4qr)Zr4RRPl
zxoMYFSOz(BbP!W6sT%9)9U)_r_L25yay|Dya3r;z<>h02TW<BZl5b-^H}RNnEEE*R
zHnh2{NG>%$JQ<mGiYtC^vy%YJ#$omPTXKz92~g4V3>Xp2v^=ob6Hiq>#e~_A+sMaQ
z)B0DB;@^z9A4wmM<FC)vrj7U2u41eH{De<uVb9u_+(cOWLs*Q1ezl~zm4*h9g6{i5
zd2xQ51M4Rvw52aApk9oo*7Wf~f}DnZV-}QP<i-Hwi672utC^imVQS1bN|)-W<ZkAD
zNjqK4?I$9Wty@bq5}BdgXF&=+;_;W0=k$G}uc49J9H^k9<X?6;M*|;R&S1+Fgi*TE
z06uB5DOzOvxieOa+A=>sLmDG0Dy@N+BbJrgA^#!mf%3GsYjzt4ng_sUZxqzce|@W-
zYdVjp`V<+MAHWmue)yOG>)+N8U7P0QD*YY<5}gMk2S%eCy|GC@Ui;gW8{>~R{n@b_
zmtAYh7azl%ymox7N^V2$QZDt@%W~rK*C_OIO|2glq3$+7v!_p11-*6XcRvmmCmL#g
z0St0=TTEG8sL&FjNmz83mgl=$P+lNgXG4b6I=*gQ*8;P?HMZqem6lT-u89q>D9CH_
zd8|fety9Q&4cBD!<{R(0-AH3hOQC=bzcf}0HFkz3i`P906(VzxO;h%t4cI3vFv!Ps
z76F}W>@;pXVK*vG8Xw~_O(L#W&(2PtW)ffr)IK7ytT-jGu6meosKc~TImcEKHzP$0
zT^1D<w)l72Jkj?j4e2!~(5BzAIyUb{xZsK#j*xJ1q(s)(!IY+?O&GS3L5_@=dDueO
zvRtnE<L-$JYq<{J6qq#e#o6#$5%+&LgFhShA-}G7bc|5?>bT2~G*7o45wuvGQt5TD
zVT2RfJ>rALf%kh;!m{#pkdKDlnQleyu%V6RVVFhfk)V}9u3Px&TiSAmTz0X^IeoUZ
zPV(tz`)&c<sli6*wM|y;qdrGUvPY-DF8J`OH|&@T{5S^e+nTB$(sy>XujeCz1}@|%
zXs8S3l*ZSn?#*Y)J)^)lroyXu()W}ch?O-#wa?{f?z=oJ=gWp**R0+Yw$5;7ad+vS
zA=j;gNd0Bg!=@1aEihBF7FT;ZQ;MnCPa1K;%H;ybJ6#eakYdn$V!X$arjr$!YLQvO
zdu9_tQ~sYxD~L*sJ53fiZK89I?PXD_JGUv6lF@G`p5ME`YV>vr(6Ltf8L!>bzLOpP
z*0ULMfidY^aidj3elgG4QbaG8c?Lhetikzp*9E;U?2Q(FOk~$cQgN5k8x<q)Iwq5k
zT;CAI$XL>o4A0>K`*KGw1*ew@XJ3<Q+h=v)9mQwkokM{<vY&+C-ol2kXONY^1`~0L
zB7+2vQS<lbEL<jK45}?s^U2djkOP3`u%I2+WJp-QJcf|tAauYEls(>P)sp~v?<WhX
zA1jlW*L;QYi~-*-q=sn^*FDQQv>hz->6<+oagC+ZP<eDF51%j=A!!lnQH0)MAzFcB
zW>Y0b%iHiz_{r8HOZm{qZmx;d@w#hL1>Eh|8<wM07lvDh*qm{?U$gH}K|Q8tQ;Ky3
z7~nOfFjXPP!CGl-_d;$<h*15@?%G1C*1q~K8J$mt)c44Hi(EkBBT81b=(4zS-y@(B
zY<R`!!!>lf=uAQ&cY|5TmJ8{v?c>zU$SG{+N6ne}>DAF*@K`wIE7&QLW&AbMQRjV`
zFt?ZFc?S1)99uIC(}&6?_52hCCY<Jf(g6O?#dD}bX%keH8R|rZ?QYRQWx{=?YeZpe
z=zgXf0M)W|H4{CL6~=0U=geowKy0^25riykv4>LlBLksWck)q+Bg8!U@c?bSyQm1=
z6TZVs(}gbt2q@+nH-=(%0nVWe!l7@~<W!>1d*+w|g6^cFJ1b@3iA|Js`}BIb<#s0P
zESclXn5OUj`@)<9U8T~*j)P`EDn?2;!)f7!@QOMP;gXc{?{<mbk+76kZ@pse>rTl*
zNsrv)PmE~2TRTm-CnTpbz~zU~$hjZPlunqS(tHinLK^z9?v_E`Y+W#k_7-t7Rv_;~
zZm&JTZ6@h0{ei~Ade6N69Xl3sLi5+cQ$`M@v8n>rS|AWeRucMJVpK#W5=AZBo3P<n
zosU~pO4!BJk?;i(<EcNZ!s!ZLQ9z)h{fX%uZP2UrK&%XU3GZ!1|6NdMje-44->6to
zB5YJIXHXs@L}s>bu8IO+2uPF(-G2;Lts)81PEhLQTRhOX-V=jmjal}$>#97?Eb3T)
zjp%q%mJ*`ky+za#^-?twhocHuG{w(b1F!#;tH=s<G=J}+Y{V#TcE{Z!#ThZeldtbv
z1cVPX;^HfdIe)*W_Q<X>&0pF(F_W&vd$z+UJXCynX@K2<VyJ2FPP8&<<6z`lv1mku
zJsy)^12i;X@Ibo>Nxd&Aa4|cEvuwhm35R)(`_@nV1-J6Vu6ba+m%9Ur;}bPpb=DA<
z;!Z#lnhp(jW>4WO9pU(}*Pa*??o)2ANCl1+em{~k0@Wo{r3R$$G}pg_lG1-WD8WF;
zonabLu6$A_(^<5abl9;1uDW=A6ZzO%&5Y$nVSK)Z<$B$X99oe8_XZY{ewIi56iZ{)
zY9NeDjv|P`L{b~903yMBRIVVlEN|&J?bcDlrWj@x@2GOMsa<0?C2YF6b&^@RpUZM@
zTk9B$E#2K26>qNVd)pTe8d7J0HEk>0`uLtIJah=SL~L8`^`W4))wsyLy~T~HL&L$p
z(PNruTKWNxnDv|5+yWbAWo6*^+IC)N6lp|f9&V0qkJ`bukQ(|eQ*nECPsfT6FU+;e
zd2xXkJ8H6#THHLJv7y^jPTPf5BfvvyNkkTu^SXih>)NH$MlHvd8;jN*QIQPD{()6&
z1NX;XctjyV3{nI(S*$6^1M@^<Z!9HrW}F)~4aWi^vUXdhqfg&>M5U?u;WH9_yF0_&
zYV&JD<a`|JZ^0UxQRag|KlWZ3NsNFT-0AC{N*ZQD=klS39jg*UsZXA8I6XBiv=XiN
zLfv~$l?&dw>;IYaG)7E|vYd0;U1Uo>8(7_8IJelWBXzaUzSyhRGbBG+h&Q@iEk~>(
zk_P%waG`YrDYWMM98JqsY$m~%>e94O^F=AeWGK)<^%9Eyy-mf^jb0<=&w{xG+e-8h
zu2m#=Y3(lw5@IeW&BtclmE?1+?d?@D328xdU-?2El-fi~CBzbnl4hobr8?Js3>eBa
z>ml#qc9=1o1a9%rugKkOo$a<~l&_x9)q^<d^KE2UzSZNmfbmRvYo{i5wyKP7S}p5i
z?Gioa2ew_Uq<3=J+7c)=jYpCe^0`&$awB_rm|8$uha>b@DQ1+i8P#MKKYtP&)^v=3
zSef^2=C?D}aKF#raAbmyiDmjW(~F5U&*O@QxhQ81On6$VVQ-$h7+r%>AkavUxOTJx
zo}Hv9<Eyr_>!eVv#mW_$5VXeUwHtOcxsFFhoxfk;ovpWkjvPNyipLMn(cH%m$zD4R
zyF0z&JQ;ij5XbQ9Z%k!#epr};aa#Q`>4x9s$*TzP#<{UUYsb9tZH0R$3rpox|2r0T
zhG@lXgz$S8sTgsx<Kf;eoSz-4<R9v}=UR!Zqt`*ENpYT<neD(v*UO0zT$hq4N*Q1r
zLCE#;g}1&kCvFcC3I_%+ufeRNhIjI;@EN;A$Fw*3Nlq2V6^RQLpMF!&IFrTj5QyLq
z$XjU=CG%)0Rh1O-=cs2m@k6L?pg&X;&6GLn7cyAW;@*w4HR&MBBq5tXgm;bi<97pr
zD$OE|ZxTh_K5SFF_W{az2<7bxZ0QdUcW?atv+K{0420uNxzvU-o)CCQ{ZEoP7=q-c
z-HZG6Q3Q*AgON>jp><w9D02t9v+$>&-`iU#$BUSCqNb-Pz1r1<)B$fxF99(0&laI-
zj?N9y?5vp++_~N6nEm&!SbN9!&WpxhfQ}baG1}1jKbup?hk;HH^Irg3kH;?yg`0Yb
zdSMR}7z4imJ9^(^O48@Tq%GAf9xu`APXwIYbOVCD^&UsNl;*<X1gTy(wb6#LLCoV0
z5b(m-vai{aTuI?X=zgw{SOAxJRAJH{^iTdCJIJ&qx&$7RlEgA37pN6wvv&cZ?HKfT
z$%67aA8?wvTMyW}JVG@?+AQm`*=;<KRq1wPFnCOt`nYULB$PhJ3|d$i<)!Trak?ro
zD|3ed1uEVtFX-x6mR%p;g*-_}9%zLAAQwB6ouG^@2`f-G^)9v$1uEJJ&BT^*sSIag
zker9}o2cvd8C38saj$Ae&>l}ZZ#H`~;wI)a**Is3%?&?<Q#xON&S36RN22^ZkSM!p
zvPReuL|6jigR6pp49QmIjPzO=>gL~V$`{b$L&Xc+{4yr*)7w_Kcciy0_WR-Qr6tF+
z`;MwiDSk**ma!>{thgy#MC9t<OoTZShg-^#PF-gc*;*N^YOEq=)FdS~rI4qJq0mcJ
zB8JFYh?yZu8?{e|qgg)gGHHA<-3MCA4_e@aPa==w8Yd-EHisBgy6$xZ97maABn^Rt
zIQZbBMq(S_z{iS>En0bWRGxOH-Z-Y}uohr6%SL7#u>Q^tck3H$r%TR(@p7$Kd@}3i
z-PwTfL^aD*mJi;8|0v%oxyx?hj%Hn_kVU`fKu;6wC_x-10Pf8dgoXiHxrQPto7{fP
zd(A5A#Rfxy<RrYptFOv`0g)?HgROY);wuOKgwSqz?bzgPI|o+M03eBi6l-W^_ZE?Y
zP_4exJo@o@q9EJubmMZ3^JQWE#)>4BRSE}>UZ#yT3$17%vS7Tog5u=ytYVvRs-mdl
z5u(5SbEs-VG#<_mJtucu8~uDD9>@Fc==Bzz?Ltx6@(`L#lW4MsU2H6ZkE|s`mJN|c
zFm2e0Zhi|Dey<=6L;+ZDoi$3}UFUv4YvEQl=F#Ke%Yxz$v<t?)&JI-}GKp5{PT|p|
zn>@ISuWO|%cMDQsrtdB`rfRaSj9z+#JHVsHX9|b_ND6eO-@ux$?*S<(x36yq6+8;W
zAQBz4B9p3uoZ^;>Z?126x{i}V>w*2O`@<xO>}J<Dz;T5gbQdWUjRSyO86rFtkm@Ll
ztbmSMlq=|oGmmADI2_i}r4_2enVyLbz;Rm8wG;fXbu@`ZMHu3&)h}6Di0e8<O3jl^
zZq#lyh8GAy-qLe<8m^Qg>@PtDXH==(^u?J`bx6rJ$=C-JYYkJLLTZ*s%LNR?x}bLT
zuyE`P2>1y|f(zdJ7J@-6T%vSDB!p2GDS_5zVk@!{!tOMSM7`sIAj(NtAU31OOs(>+
zw|H+B#k;XpocdcZ#6qm&+p^ctwcF-Q{cyd{&2(2Gj;l3KzMaBBS<z>}6_bU-tVVrQ
zjUiZsoyx-*J`@Y3C|A4eFMb5Zme%oLlk*82W=jfFHFtaXe8}YKy}BIy3T*n+*Eu$1
zI;rPWs0ld_zrmxTSu=$9i`QW#&oSpl%jE<dR_m3jvP9<Gnx-X(#9rBDFi3c>C<W}w
zmu!{91Awn2>OUU>{Do}>^N9`v@6#eNi&`_ME#Jbi9P~_}=jM1>Oae*>{bmL5)xDz0
zLhIr`dcP(1@>y2dx?@1YEQh%|JB$W3@68D>2DBNP!NbTYnE!}H9-5i~=8@%ChWa(D
zlZGBZ>go={=xkmzGSjX(W`$&zOYL5?)8hC$#cwn$M`<2UEmR~d7-;@>{@mkB_1<gZ
z)mo&dwYlBpF4P#t@+7r#!m0VinL|pEg>W6Xvn_sdtEp;4cbQ}DI|kaQMW<qjF3iR3
z8NPy8&OL${&*mAq^Yot<w_FU)*0rW)hEY7S8sF0w!`U))neIY`VL3u`EjFLLY5PJ&
zZpY*VaO5zCtg_MjorRKnb^Q9@=4XJuYrICcAvV7NWa=kPY<tWbY1toF{dlVstj2!a
zPQBl+e}rjp1CiYiUAxEqaAkb5>HOjIIZk?u{vQdfuQfl`mj#B`UryK#UDbE-w!G_l
z?SBF8@$SfuD6b8b(vs4=pL$Mt(AIR-b2hV6UM`tbB)G69Rk*OW(5YR=mF)3*a;0_O
zp_1Xd`x0r^uz&&h{nUuc_<Ky)1yl&pMrfqig|F$UZazU&O|{QmR?E%N-j0Yz3Lhaz
zN-S2W@Qu|Od_m-zB)*uWzRxWFP>X-VI1lDg0-ERuOc$w9`~2|S6;P?)e^X}^?HVaF
zV-}1G(5)4FpI)iF-na4fdH*#4pi_^|k>Mdx4GRwAn5?t0nrJpMqjp+<U@yRF5iIeG
z`vj#7KF}3>yV(*|6B421l=hsIz36Ok2cpHEeGLKv%WimT2^s}wOB~;gr<j-o-8czS
zR}TYjK+u5AeY`-Ls#}a+om-<bk#zo!pclMA1G|^2h1r%@|F6+7d#05fR)vl2UJ#}r
z8I2lVKqIa(S)vrXWrQ#)I?}KF3ecyDm+jm4%_O!oS$Ub|iG}v}H!Yoqtx!D+J~V|R
z3<HVmgcxiX=O8NOcQ%Bk2$*67q{M#^uMesd&$=KO>o@F>IS`G6Go*SNM-@B1Gtk~^
zBVwZ_OK3X#k`O>(s9}RFN)plUyCec}zjL*Xu$ho~w*yukF4Yq%etXMQXCEI><X-Xs
zR=7;IvLT{YN3hm7LBewRbeDp+M|)|{E>Ao9SmVT+cxI(qwwS!$=-lF=8^^(*D1KuG
z9_ZOoA7W{)l3>ChbL>g|+2?={-_X(2^L@^i>Idi4l(M|`60wc;enK{0+gn=9^tB}L
za5)8w*>HJ>c6+%{R);flNBWz>dRfyMdv$VzCW|)O=)(XJrzM()3_S?RK_r`s2J{w}
z{l+k%sNkkqg}gDOQC!O}{<RoC)F3k%?lkLcd{CJq_9V;NLVNXw+`)<JWH!}OXJ0>!
ze@PW)nN{;3-sc$vVP^s(v_*nz8O*&<UHeavYe2T?gAqBC-CsH&^YRN_b%@y9>Pp8l
zEKT#`FRs6ImZ1FfG2|Qawk?5+sSJ7+v`u)#IFq^b66E!=W;}xO%wCKE>!lw-6+IT<
zz3tCmLHi<qyFyWoAf}T5l7!xy(Z$5uyAtjB1z?k3D^Jm(?`s<MQ(X0;L}&05pI=|U
ztszW(AU@z-a`v%17pXGVa{0V`0Dm30m2>aQW?=>a;=g{r=R;)3wh=C*dvtex`i)(7
zw{3eLbmdeXn|cK4$g#cV*F1Oy10jyEb6`;WG`iJJD;I^O9K=rGJ`NyGzT|N<JV&@d
z{p2pZRyXybUDS8o)Fhb|zv-+2efO47KB^jhQUCIWN@qc{E&)TK#6V|rfRT~BpZN_^
zfVtZ=BuseqYQY>wf^xib8ph-lePjtyPZJyvWr{kH%eN4tqP(;fG_k9{jDZ3zqCoWe
zLq{j#VuL^xLR>Vy7o<WVi+{Puu((J01>hx`W5m8oQD2w1X^nC93G-olJ}N_a%Qvn1
zfNMI@fG!Yqb1J{l-zqD^j28V875S(|a`P7FIN9hu`1RHGA0Kq^JGsFn`=+ckjg48I
z$Fm6bo5DhTaQKEN8^|{MEzJy_2SmDqA=z7HwJ3x4!uG>L1D~B?Wu$R*;lsM%UO+5=
z5cYa1kCYg+U@P$HgKUlgv7ibT34dwz`SDF{&-!a>LJPuBATshZ2%*C|pgvNUJaGpL
z8~Lr@q_#gCWe)d|;%-^nJiV?~lVSFXyrZMR#ivNRrW3io2NLPg;YM2`ZqYqW3_);k
z+D(2Cph|h?m62xzpseu#fUw;1=U(&Fh#9&!MDyGPBh`slivqK_MTyK2&ifX0G3DG>
zRsPL(OFd$dYtx90+5x%opMqsKuaF^1+;U4$RHZQkn_h!ousf1N(4v=&jWk*kcYbi5
ztk1zN8k5Jny-6&5tz|>1A<EjKSVMUc4lszqH_alCArMA5%>5e(c<-lk_nH{05qsZh
zD>5-Vobj6SG)zdun`ysS`yKMcwG?ix=?0TN5IUd+Lfw(&K&xR)vO)KXDr*UmlrqJ9
zR!?SL^c0tD{U|c{+#!+NcV1zNww~cq>HNCi`B_yfr(^ObpSNkZ)K;%zeG0AJq>`tq
zpu<8FA4FU#pXO_b&wE}`%GugC<)7So-mCR9B3*wc)D@DFhb^);ZY0>B8|x{rVxn66
z-@u>x-+{l&-@xDKEAR&-P0tJA9`fQoX#1!V$qhdL!*MM4;EYh8v#Gytae}g8{^u^I
zj&LFCzp=~7d1sSfV(~=(L;dCMm2T1bf2CXSUazY5*s%|xZexBzm#wkSEL{%uf!BZ$
zazZ#58!s{P8#Ro9&B&cCUxg|npcGTX<I)gWROcNo>5S8m-0>5g2iC%>sux4zqbdVu
z`>|r(xL|}x-2#+aBAbxoZVSiiBhq&G-qz6*Xj1Y8Cd#^-fe-VLZpG%K_24T$%j?5L
zza=F#f`_MsMwR<emVQ@$o32jr%C*2CH#KEwHrHpy10%Jd=8Lz}GFCIr9OwhzRUh}#
zRK0MZh1_MD<(hbp*A5_bU$_o@l5pOz)WB1xJ)*HF-_ljsmn$oZGUg2uYpK`Xoe|n!
z^@Zq_TYL}i_N-a(8{|t@@JPO*d$u(=vhyTB2$ojIZ1Ip8n{Aves&3S20knR5Th?d1
z?)x*WnQbp+cNgPfxn1N1#eT&xTgu3tEksCEU9n%fvMpGgkcd6TRK2W&g%W5=GwfhV
z3CD;}9v#e?S~Tf|jw&5de>NN^HzF+hwcT25*oMji6q*KHK1^bwW~Ir8%^x<uyMR3=
z>@Xw}6*<=D^OCop87t@IfCI(%8b?R#xTO^2_j~7r%j17^*L09jb2dw3GX9pQ7BwUK
z@#+YiX(I75=L9`mLbeyBt666`Tv$?4WmBBq8QK|^{Cv;F?>UldD&D`<km>SfTLNX3
zJi#U7QdLz<bVl{P=oXhE*DwqxWvwa3Oldz3!RI4kt`bcgNMT<Ee2aAdx9cE=B65P7
zk3!#RLgq{Y`3rwzge@Uol%lMgEO+;R6Ci|i+)8J1a2xYzm_8~)#@i}Mo<+Yk2h5d(
zmy(jy3Sfj(C|z4_p!JZEc%UC$(JgmL@_F7!4XsP^*j-Ntl&*5C9MkaY<8Sd&pw@^8
zhkT-$Mh|K}>!Kjmcd``xm#4&rjT`cD9slqY{0oqUdXy6GDO3LAH;1BK;17pF75YEs
zPz=0sD7=1iC=g#c6bUW=(`R%DQPp0nxM^t;EpW(@@5cK(aBxlaQClgtp&ArKjuOxp
zs-UzN&XettHdK<6G6>*o_K-mOSi&me5a;KKLQCIHa5zKpjv1wul9(`v990S?xwlnr
zo1GrrY#uN6CQ5K+?gkH&yCZrr!Qp`ra)L9FIr_6@q%B@=;Hn@McQ4Dzt|MIXTbxwg
z)x`ty(ZV}}nyWq~e4KnxGgY0z-<$@R<gPj|K`EZ914UN>-~)sTLaH)u?`C*@8>Nj+
z)|ieEj}ei<>piogZtt81j+Th%?NgeD`MRpIq@Ls|4F>1&$=9z4UNV2P-T>DqIoFb)
zFTpu{mSq|5L0TzTO4^Z~P2jZy+T^sPrr}r88<u_!r9w)3Js0Ad9Qm6>FGP8HZ!ebX
z;fQQeeMWs`SirHxZ=dVky_V96>iPW9LNW6DqPCU`*%Qx15?xH8b*@#<+Ib!2Uwk)T
zEQS7=LnZ#a_?|_`^oY^&c76f0&;sQ@Ad|%rZ$D$;HdENR;(BeTC6~J9c<WDx`0x|j
z-*4$~n1gwnWI3DUDPqE5Dq_aNWzyJg(8aRf4e|4c3=oHHxGN%wTo3l_>84_01S>x`
z?L$DrQ(}^<;&AuB;|vsqhf{Dw&4D8YtC?|WCqJzj-wUmk1nAoOd<_%eD_*28AF(GH
z|5!d7<I&}_{koIzcp42?$1wMn2U99?hX9SKER9MGV||I@m;({9nZ&bo*)LInpYOFx
z^d5>t@yM$6RTx6yPLC{CH{QWHW9+{BQ7au#YGfoScuaRMq_FNv8Ui75kYQz5w`^J*
zdXh)_^SGG={<7ApK<M>zDRa^}rpphai1rUawi+$}9X6gi&tmrVOVNh&2`UbK%*k-W
z_8AvLr$jaFiJ1(0P}ef+UM3LoGnQpQ?OKpb!#HA?7z9&>;5UfFX0PS}1i~dP_oc1o
zjsafJ4Vt{!sPmd?GHnZ*u{+9)awW)M>>fXksB6gZo%agi=-mKt$a^YyFsk1a=h?1C
z_+9H&tac5ESzeR-P%cmSc?7i6>}m)xPfdWZ`T=Oh-ad(stFB7~y$suWs71e;wLe|m
z8Yv@H>4x{N&uE1EvUQEpLbVb}_@H$Hc}}Tl^TMX&{iWfzaamPNLzhCMG5-)KJA~$D
zxuSpxk2i*+P2|VmmSi2z(Bqn(i%+3Eu~GCCn(YzgN!OSsY-z?nqk**`%CX=LGY8G&
zu}R5-)tixdy0ZiP$ItZ+VL%Lk{jyjBHnQW4EcV{@B*3v+AbMaUa{$D@+xpY&HxJ|M
zn{K=0%KocgfH3E<-O;l0IGa+YUx3qJfQ|h*MNcX?b7~q@G9@92_wMnP_lcqJxx&j#
zsY3#}eHDmA-Tf9yg;_HaZHo4D-=2-HwSinTqv~s$;;?(PV2<Q*q)p^!S)G!E#0SIV
zzsrY>ia<;p#7lBU%x}HD!sRsHm(ug7nXK*b%t{zGY+h^jNLB4%m>Fy^^Y;H17H&GK
zRck7m7H1MKIZ|30RaS<baTz2CBa)b*8Kckbr;b~(T!XS=88Q8!N4;OY#b{XE=`Pp#
zJ7wc7VQ7kQo~9(#lkYTbF5DoaJHYAfrVN+aBVqp&U2*y&S*4act&j=!WH_E2t|I@U
zp2G3vIE)xTVidiEizD-Mp16ez%5o7+iw^D(URmBz9C^<KcQCc^7vpDOtvsfjBQ|ib
zLbxQpG!->1ECbNXg{+9qEUP#R>)SK_3URIIJF$^QkWci&zi#cSzW1TLQsIi=G>l+#
zs}V$@baiNL$~kOhoTqL4Lt0oJ8Y1(p4B|BN55h5(C}6bHE8v7a%Tnbpq1wsw#Rq9=
zY})Jole@sY()4ka>hw5it@Ts4i8kkJ7_i5fb>ixkkaPDX^qVjL)X${#MMaXxeehpo
zqTj9oHcskKAP7O*4jBF$*oF5O*!3VSAiTP8Qv`L<{V%YK{VV2ZeH0R^k(PqLL3qrp
zI9o~RF94K888Fk@HABps%L-duxxHLuYm{VlKCAE31!weXLyaiUa6La=*YlXgiOT<N
zjoTsUD(1>|b&CCDh3+#N0f~!lb9_(3n3KU%xhZ#c()d6tR&Rp6{Vj+mDAp;))<}bu
zsL}~i=ad{HTFm7T2P@R9*O26NL<?JNCH$7YE^-cBZDwTkbu6n@gEEYQbah4P<|>eU
z`W9EPA<RU+5Zu)Z%^*qFPu<)lV=`FCpYX{Ab$ql^S~c<l|5fR5GPAb7v{sG53jN))
z$iJud@qc%XxKlc1-09$4gkxIcM_n6ec!YvfG%7!MJz<4QsQ89qrS$cLau(+@(u20B
z7;kdCinKQDmsoAmv^*X697QfsLAV;tebc#(J#m(zBxR=xd0?M+<SzCVdvvx(Eb*oI
zqa2!)<`X4BTW|sB64}MeVb7>z5X~*$t0<(PIIzdXZZ;&<sO>nLmFP^+V~pVR10MzN
zpVquRL>t=osYqaGXy|v_zJh{+(o>kBzuAL`kdWBt&7iZlv6skBRA;NjTc*Z^kco&2
zlZ5~(IDNnezypNNn_9xC#-q!+Q{;b8n8V{TLqbuE3pDH5GX&GhLU;{h6r}xJlR42+
z6)OtX4K&TzXi0ZM{a0%Ph?izAFsxy?zP%*{BCjM$r~*bpElDa6FF!phxegr+9Z588
z;^h+)+0a%0p-Cr??VMR^pJe7OwbHPwoQ8%Hew-ku;Pjj0>iyUogGcE%TSdLH7Nuwg
zI?gCLkOcMfO*ZW)L0(XW3to^OUo;Rq3i1G{{Q?eV^$*F1R<$NgJJdD0jq{9DQ@jJ+
zX$r!lp`U2zD8HjZz7ax!SH_p6pgJJ3FB#S<E66801m*Q2o68#unxd@ml6CWy05)Re
z1=-8O+qthL%J<Z&E3OEh1o)M;*ge<OqB+2G;PZ+N_aze?nW`K(`L3Q__J9Sd!xA)Y
z+WGH9cFr3d>l09YIGjOqj~if)qDgmWybmlp7yzExwDMvdyny9lK!`SfGt|DXx=NDa
zI8Mgb>buE=hJvuJ{(NDapF#_BUoL28cXzGdqvdNFU0}JD)n)nYQ@O@=-FFE_n+;qt
zC(Fa_!BcJ_d)cR=^pcX5pfS{+FM2-4RSPxs8!oRs)U8b^dDRx#753m$M}+pnA@D+k
zBr*~hM^ZX25U$8r9fWg-#c})dc}p)iAOu^vtpr)+Vl~C|_mG2Dr8A2MK^y<JJI_Cs
zWb>ce9ZwV)St>&0P=t69r@0ZSzXg8RA{KfMkl0MAQFyG}XC%^aJut59>^+7Tg*!N2
zQ_Hl?_|w^BD^ZEkc_A?E<IJUO4x-F6u@@QIR8<Lg?@s)%kau*Jt<hL%Dns|KY326k
zf((ZgFtm9XVWuh;Xr)o|vvh8_{(h1|5vSEv;n93`(aPTYc2Q%n+~{LyNmZbwNQqso
zD2yEM+`_&*)Lu$(K`tiGXb`vS=}-Ui1$m+pvXac<VLBVnE`|P0G^P)TX;P+4*5Yh&
zrz<Ad$Tq4`I;N&5Zf+eyj?kXt7Wz~^0h*?zWX3v*<X$#fKdmB4@y!>;p#gbyjiJrT
zf!sk*G|C7vdvFxe9A{miZaD^{_kZ)P8h<=#-T$XP>3^U9lZd<TX5pqSc*N$2G@SE?
zTdB3o#0{nNH&wA+ibo6vnox^w2?MMa5l8oVlFQjw)^`t>zP_LIAb66wul}L>O1*og
zAjx&MdQ^tE+x!>xj-VXo83FC4OyES+l94Nc_S0*!lUPFXisD358FRaxp|IMmXX$R6
zK(CSZJudxZFk=g-E$bJ+uj$mKrJQV)bC`HCc2EP1xgMZc;8CjRgeh9E?td}PwRNcv
z`bxPx_c>?}OwnVqs?Oq|;la*4!6hy(%-?0Vciq0c>A{HDCiW1zgd#^m!b)IJlj>NG
zVFR?t=VT_rNdF(~y=8bD%a$!z0$X5<nZaTPi`imkS<K8>A`5Jb(P9RRRbp0&nZaUa
zW{X*V<>NEAZ{KfvUVk&)J@aFJR%J#;M(iCcA|uvbJ5Ve6%^Nb~xunaxz0vA=&HmnK
z^Ab^({+b`G3>0rc%Rl*IWc24U)h$BdvS~wHhhVoi(00CuVf_MxM>NEj?+PI?w2#i1
z=VZL=?b8|h=t2^dXs~;jfO$a7#I~x^oc#2@8X|0=R#Yf;?v!|uu-w0qpLE}pFU~9Z
z&*kZ8C;4^FTJqgl@2t#T?2DBZVm7xJcj&><-LlM=ZZcu6(KvVxw0a}H_*#BxAT`xI
zkH%q7nNyRWlfzFdD*x@Zr(2&ailgI+H?V`%;+SdUHEya^$waG72#7v^NZ7^PBS+`%
z;^Yg-ZPFXzS8MXmC-KmV3RXID$?rF_Cuu0A8N9#+O^y(12<a<m)jBmGfOqXyXh-s{
zy>A9Ep!>GP!nmk7&{09@!cCW7vqPM%hR_|Y)Vkatfvo@B>^T*+1DcW0&lFnAq%jR>
z;DnxuQN=O*r<%bT^#MzjBtm#7(co*hvLAO+{1LO^S#JduoX!P(-LVV41m|iz)V=-Q
z{*|0JxicCO<{?Ao^6ubtv!KEF(n5DQ{knx|DG_>UHFi8@`!0($I;>}WevlQ2x924N
zg-L~VEaTD|YA7bMqX9ljfCX?V!KG;vrn(xgQ#pN;s9ZZ8w+1e=<)m=5*@_o-e*<<w
z-9aUJ5v+xMD;f+5_1%3I#k5H~V(Q@#D75Jwg)H77cXLe2!bwR=2^iZRHAZTK)lt#f
z81+>!yGIFr0SedDlKr3Y4<i?Q1?H{26=*e`;-a2MZH(?rLMiYBERR#RoG94c5$Jnl
zcV}oj^0}RUMvw0Algo=1325^aq^<-N)=Est3p}RIcCE%#<FU~;8#sBV#^}gP#o1g;
z!uGgM15QyQ!%}1yHa1DvYN^&<8kq`f_pP%Y?YU+uXI2W0t!NAR%76u~%kQwHTOtZp
z^mkWps)?GMHIozc*Zjt|ZV8`a^EKh!5JtcC$oa!UL7`oH5H?DgZf_r01a3-85;@be
z*$91LPLG}J@8Iloj?!6v*((cwjSocR)!&dgugk*-cYFU+Ta4y_!f8-JVps~ZIJ8?C
ziUok#MT#}W5T3rNNL$sYu~OTBV)R;~Pp4@4cqMgrv!zU8GPv0`55xCipoy~dpf@Fy
z^&wyDbN)sWEEbH98w-pj{yx47|3C(k<9IT$1Od7Q@X%s(fcw2U^{^Sc`^TMv+>aDC
z#>*0P3aV7RQimMQDFEbGtYSSZ{_yZeI*IBkgtffQ_C0Ly8+NTjI6|i)q4GhMmvPyB
zkF{~u6L8!&OIWEj;<~`9ILj}Hp%`QlPOu#Sxp%`7pa?1lm?uK1E~oYt!7UwtKRlM~
z;lSQoXng+|@~s*=AJIw}ZFPN9MXK00WG3YEVx?R-P15fG2R&Q~@uQ9RL-bK{^<RGh
z+*LKU@87DsBoCzf2vGA8Pv~`@%E#f@d{xD4ScwOR<#bR8?`hr*vLlBhh{gr**f3#+
ze=6Vt-ABwyF9qa!+^FcYdMCS#@L~`7osVWFK`Tg6!C1;U8<LdgD9y!{DA!;77)fA@
zUmNlM1)vcaej!;DO7mKgkSKIZT(j6#9IYH{{_bJlZL>L}2J`eTi2wnf*dx%WwkB+j
z)!AgFekE}`_QIJ*lvX!{$JpFwWDrLetDAUQp@|;&$cYNfBQKUlMZ@gabEJeFb40f$
zC4+OOXJwqVh2b}H=+AR!J4@#yhh-bi5SQwVl`c@`1<_G(;h~eskdvDU17H$!P6b8j
zXl9PNCiy1%6E3#OS`44pPe2bNw9Q^4jTgg1!1SJ{=>R1fbcS_r4QVy|1^7+!?9zCz
zu^F+@^gaOXTe8<nW3uElQOSB8r;5-UWtIIWI#fFIel+&)d<iTUCsVNZ`W+V(IA`l?
zOasT^XjxZvj}qnblOljKC9ws_1V!JK+04`hSy`|hHGHWvxZ2NByZwF+_xWWGsawMI
zTo&9uUurtM;CYN+F36MtJThG&Yuq*)$O%d}Gv13gt$H>J##q|g?Wj@vo!OSqxEWn7
z)TZZ@_se}L*Dt`^7K{7id<}noMP3KLH4ez`-$qizFMvQi=m%Wrp8VP4Zspn&+j-Vr
zb%HkFod2Np7vR$@1Qdew*`IDyN`!^<2(;q7zqYP^%Sd;?ahkQ??YHH$|8d%kLaOaS
zwb-#NF%BG405fqamNf&Nx8X=f80)19-1JLcr21(vB4m(dzAjmJK)yfEmmEn}LqpqV
zMw$EXo0cH3^SI`ObuRdI?iXOwVARj6Oe~V*fcE)~%kL<z{x`p)xFm>;{jm5r(O5|_
z&<%-(BDdkjgkkOwiR_(QTzWP!Yz`F#6Mcxe8Hf*GkV=PdG`ibY7RG(e1lsl%=!vN@
zRuy$9*MItqRwURGt)$=XsxF=S#Ag2WKQRj2^5VTl=RfYJ-E<PzzOMTJZ~t%UnX!NA
z_wLfV+2^L>oYsL8tVAAFX)H>0IuId*1g6$&&x!$m;jG%T>FqK*!cT=@QD?Ig)m`()
zP%V24e+*S4_<wCcy7c4++vgEqw#i^Q5e=F6@fAE4ZXX|vpNL<SSi}49?-QD4sZo~<
zRNM|MIG(VPluI;T)GI;W74&CmzX0~!H!>@mtVG+_HCde-d?kK#^L$kd(9r0yfZx25
z^A31;XMg`Mss8>`N1J?uM<##YWJ{U<X>?Tln|fOO$?hk{RX7Lm^d^9R${*Ri2n>^S
zW5_YecbDA0tB}EPQWw}cBs5f~{#at9XKEGtIa7EyA%-QDqn$Rh5p7$m|2f~bE~JMW
zA{6C$RU`gHjNwOF;@M1Z^jaD#Pg}NC?T~3B29KK;L^woaDp!?S++zZt+@Zt+Hv&CN
z&BIg3xtv8mB(u`khs+`^?#vLLMHX^+p&?SG(S5q#(btGJ^C254k+_|A+Vd;?eE~F7
zTcp#ViagQH>J<h(e^7tju8N1szVz!nmT1k7w){h>_c>XB*&`-UDzf)sTzM>vP9&UN
zF5LKd$6#8L#GD8$8m~Xh<2!&O#(szfVeHsQ5!hUuxpqlqQ{M)7kSeYjROG-;T~I9z
zRvU(H=W6_P=$QS*KM6O!bBL;}!HJ8p4=o@sadTw9rY3a^ar7~X(izqHA(~#gWxzF_
zC$pAQIfg_>1sLly1a_*;J4}&57JR75?8^1*<@~1NHI@(v9tYxm<9Qbp6EmUWJeEP8
zDu>tTY)oaj0U?L3DW~sFDN-6NRj~4#qr5Re+_PTEr<nbSl?wJ`yJE`IUP3r)T3tMe
z7}D@vU=L<b!8U4^voKrLtnLYnNE^T*%u{c*)0`_1>bd1-hv#GpSr(sZCuG8+ouO3_
zO;GJd3u!5@Ll_mOd{o~akEx5#gnJX5iKlQ<;(gNalVQeH3ykbD)08NQXYT%v;%RWu
zNH??iE~A{(O{LQQ^-=s{mdGZp%)7nmpLgk^R(x@HN%Ul4oks8Qq_yi?=N{<=coFxY
zWo2-n*JBf<&t-I}LlITJ=67VPYz;d?bR8ccYK?XokB=8G6qjuu^CoN%0)aUzC2mdz
z)wSevc%DXREQ13G!65SUj*$DUF&kybHrIvMLe1Yk3$3pyhKQ~L4T&oxYD6R9hLRVv
z+GM_so9+MF<^Fq6eCuaz%_O2s$<z~siBVhT1~!WgIpe++{XC}>M2rDI`3_aYuQ!tk
z87rn9zC^n<4m;xK6sOweteSh5=z;X{F?-_F!|5uTLGsFMA6yV513x&!2djW*>CrRP
z2ahatE4g_jqGs9?Y*|K(v{^S;=<X*!7tRs4Ij_4RH&Rj4kv(b;_ikn?77N(+c=)~+
zda!FtE(^%#NePfb$fYL_Gux)K;@5jWMC4C~{0cETv<LF;gB}bxE;c(lC~NK(0{8JZ
zk6EULe_a^4<0tv+0#lP!#nKB&&ZQ?Bwlz=vR*N$-DVVjja`^4St%P{fRBV&U@=aHD
z750x3$~Pv>!G;I%BOUR|;pWHcO0YciC2+o1RcLFCw;01(rdQ7?dc7?3mPV9UrTspo
z=U+h6)n<jIlX@ZFEA8W+bL<R=MNas*jRqpiwE0{{8aH1I;1%pH5UHu>2iVL{B^{Rh
zjVCx9uHsuZGTn_l=1B8m-;IO0cnw*B#!Q=)4LT2@1*<Z%8M?uO$bD~!%vpi%x+>mF
zWgp8!`ImQRuG)sAg+lgc;i5BmNU!=`{b&#vn!+elBTrnB^W^%_ljJ?$A8L$Yd0mgF
zMh?ozI_=r*v-UgAdvjyaYi!{8NP+U=M(!2&KU64^|3f7crUR*6&}+D0senPN+4+ZJ
z&;v)$=7Jj<MyOM{4)nQ;IWrDCuIptVh`Ve!aSNr8R+4_?Ap6R%@OYt_zFiwF1JkM{
zuHe&*fXV6cUOQXnn#*y5;$L%Y&E(%UfcqEQ^ndNV<!n>0bO*Yur6@XpZ)7~u6+H!P
zJ^nTs=LJTCBCpK3bJTMA!H0EpR7}U>S#FGWt#^)}<5>gV^cWHGrbc=Z<M1qZ4lc*V
zJ*1bngj^7M&6IHO_f4DNHcL-XBv@Y&FZrRr*gVd-WA;T~#lHlCYfi*awtSj(82wmr
zJwtUrUa2WA7Ohn(RiH43US%mocQxS@ovBIxO*#4Jt#nAZa<it+d*C(zR;SLf5vnao
zErw^f{0lT$u?;;B_I?@-T!ZeDKRhEjNIIEE*(z7<in#KUpAMJ*63LC;Q8$<X%wu8t
zNzRB1H@VBlZ3_)eu<57*H5$9=`cO@x`nslE@VMsWqa^YH8<~hQ8ZxyM;AhML991Fm
zhvMCR0k2&!(p(%nAEWM?njboqdg-!+{f$7oLpzxal{y&lnvq8`wDLS1=7~bAQ}t_J
z9LI|KSB{&eF$|^}V(y^HA{-T}rkFE-p~ED=D{YX#mqy`bp^doFBI+~lwj6uG&DecD
z?CHVm9W+;R@)^Za0a71Tmk?`5Wbg!MFbcP5g>=6c|E}G*v-&m#4`vU4%_|I61##n8
z9tGv;LYnf%_;ms2<N_o*&NiG$8AwEN79}ztS}_SDZ^wgUOAzn7U4%q38HaN@L;T)3
zvCJUzp)%DSG2Cr7NnS}L<dl(=4zFxyTp7cM*N975w1u1>=K97Pzr{qdf>o5cih_^T
zk<AQISdc$NPn6*#YG-h}$Mg(tV++*4OPVniMmvkcih|&|AG$Ifp?bbv(PL*&%2QN;
zx|$GWniSZk`o;s0sBuk@gJ84B4c<4Awq*%R34N&5*UEF<SoKIio`I}S8=_yDc@&=s
zjlxEsW`6;ouWR&CHk)4xmqT!*?e^P*7FI>U3kur=+RA0!QTSae+<hv@&`0&V1_mre
zEXj<60@kZiI!XhCV$o|HrdscHiVRJ6(&DHNu(32AwD5<sIPK$2LIjo>vRX1UtgZIs
z;;(!ukrT%p4ID4<E{3sA+)<)qR@s|1b#ZJ1B6`9Pv<Mc;&RteNlChz)F=06f(hW9A
zO%9aP;1*q)(qr9+niklmhf`CDe@le9h#6Y_RKYiN(NaM_o~2=CbehU&arcIqX#opI
zFOhcW1BFzMOSs$dn}8A&1Yya5U@|!YLnIqqV8Z+y$H&q{HjXN)nxb}PJ-f;7G@s8b
zyr7#JOtmh}h#j`W%dk+SXvR*OFEmckG$^{gWexU4%dumJ&*l*V#WEwrGWN_WoRm>~
zp`rof=}n&uchE6KK=}8A=L}>o+#10^MNZLT&9J)+X>Xd4#&v*kX9<KjPA-n+8`i(6
z=4Yq9<iN*SB*7CCQ;PoASc8${6+ZS^*@nn}w3t*Aq~U03O;I%183yhoCMG*LEGA!^
zzANGncl^*8XhyT~W|DWs%SD3lc$G@sBLIypJ2}Z0U*o%{!nHfLZhD1LZ&X7_b1<;-
z5#&7haiAo_C0DePC~FF*)|M|6*lA=Joohm2qHANVJ%7>B%8=2uw`@gVsKXK<Qj>H$
zlN3`Lo^#MnsY{C3=y=E^Lb*D?;5HT`+?C;~n}~dsv7oRSXIDGvl||NX&M)}}em<~S
zfd}2HPR4ooUAcmGVzg}4qzp-}kvOJ2rs_fH{x1M;SZOhaG&%MaxMxq<jHeon4Nk3Z
z1BpjcW~K8NfD>}W_893`<hM2V5OdA`0CyI(dV51~noD9)@xh~Nji~kPm}^Bsa9o&g
ztD*Hd=&`7OVIS@j@V32j%?<Za0Pt`3XA_+-t-f^oOq(2E!L;#tugyC&Mfha;yZ1YI
zKO)^KN7wuyhPAt&vdG{hVmZa<7MX<W&L9w0Ph&_uz?F_-n~($KNbtbQ82%8|mnqmH
zL2667CC<89>-EkN@;rQ2CN6@6lZ=J$Jr1$@ZNJTmisd+HRNT&gsaTH2c?iEe{{@it
zOO<R``-^O%@d^#HZ7cNM{_lwC*<phb$hY1{tY<8Y8xYqqCVlttrVsV>yPxHOhkP^W
zAN&v7)i)XR%Lqq#@L;uh)C0W6p?Pr5RK@nJ2dyx;fEozAx`?7ov~&nijg3eJUlU|@
zMvP`t*s5dSOgZ7dZuYG1a77aBWBs--;5fJYjbpO@bpE70Y0>3u)4TC$wfoFBE%?H#
zMyOVYd6bgN7PxcqDDgtw96fqW^k7dicsTMhVcY&bex+(DY50WTF7s4~tJ3|T(T}=>
z{ZYL7X;Kx~Z*Ra{>+sjpI@by|o-#|vPq2qCrRA51z@OSC+CxvbF1_LYpI2k|^nX0;
zEq|u!7#dXWF^Vag9>?p!Q^wda$vCBlA&+lz!o-7(qNBz18u_Wt_da=MUQaGvLPC{c
zjF~Rq;C|YHwfnf3=^ld&KisE>ZpJ}QatBp^-aI<&+@wCKznpwp?G7Zo&b(_6u<ILN
zKmOhbY%v<1SH=7pO`VGQ^QIYcUo@6q;<B&bF95n7MjU(3l>LHH!z0TM%}-FuEjoli
z>$C%1nl;MuGbC6^Sgha($tIy$+1165xpskIJ`~i4cHbJL*bdPr5YWn6WK7zPt!g%D
zU`|?;^}|@{-@U;NeOz-a?vf>Z^r?YY_~EEZ$b~wvsqgqD3l(EGx#a_)kNk&x-1$|t
zwDE<TnD}$PiaV!#KK*V3zSFT^fNAmkjq|MCrltnFo2=mz?%N6=&ge0ptS+CwNVBB1
zp^g+m8(p7$wnd-uYfLOQx^LZ=dix5hIC?_bq#RgRX*NDHzGt<=?vv%4!;h=o*Cf8D
z(5#y%sfNu`;SJolO?!QxsA(>UC}DP+C#Z@!VBicbH>_o%6nAbymfLaEUm5fsGtZaC
zWSQep-Dj>bbjoc~@E|o7kmk@ODZGzo9%XHm!#^Z!$w$TC1s?ZKjL!XhR2W$4kyh7<
z6vC-IOFdtv3uLoc8cn27Dj@4{#~v0T>yR-d`2{HE{i0lIKYud3bCa^xbL#}@#Ktx-
z`w~w10`2D$@{E!|Wz_p;bNdg3!a1++%aBRY_ell3j%23PRUkdT8P}3GyLsOlP(9L8
z)0`_KLhE08J&|D5+u_s6Ciz*SiyX1Qs8<G#_d{_HVV0`)sl;Sn!>Z!SO&X)ZW2s=e
zC4}WOFK)_&)FHvI7v6$og$3MO=S;ayj_=II4MX*{5e*4L6&C)qnEIgdSA}!bzD!Yw
z?cwu;Ybp1O49W(tv?X7|6IH(^yc>}p!BeFZ8+jKF79r#Q>}N7Ko6}&W5$oyazDP8D
z8ro_4d}hSbKbPoB(cESNwfF{iVh@V80d^1-I-%<|hSSpwZIS<VEn?vOVu4o6bCy;8
z$T`8Z#;pBZWslw*_9qMe+w=}#80m4Z*9RP-YNc#sfY=lDTMc2<y)gR*O7q3qtyqW`
ze``D|-l=bMFuM8C?y`iiYfc4MD~H^;Kp3<P^FG9W9sqk6eW~e-`YKHM5Q*u-RFoEf
zR`UtF{m$K}${Xf0?>9Lg_LmvH;zTGml&~NkG!@xwVGekRZKIO;3tEZB2mcTqMf{O#
z#CryT8aEze?ZPPtqHqk%nR}8&h^~9fA&cS$Lybpt2=AcL`it&1gI*&Z<`*V;KDA8+
zdp(T*_9XV%*2m1;LQN)JG)s7z>^dI#tc3zqv>z^{uZ2df8ihf)x#eG{i^j0iod=)V
zCV{605mU?Bg3LzfOIT}}D(Nc&)t%VkQ;aR?sV$$?$L(-o5HPluh1Itvc&c17_esMj
z<kr`rn8=i5I|zAGxwb5TSaJG$<}DTJQOLVg4Ycs>e)4P+E?(^As`;(U<4wyB4TI^?
zwpy(79`g^E{WuB3K8xV$!6wT2`5zx6bV`PpTOU_PYRd35*nbF@NFoS*6Ni#lzM>;U
zOi8vhTA9J2rkaxGu1icGt>M1kY~k|;vC69#Q(cz5H?U0!O`LIu0Y?n`JFP0lbvZX6
z-o}55sPQZXdvvake5S;;D#kun*gdxevVOC%$*c83NJ)12;%*yAO$8m+LPl^?`r#<*
znf5ymqZ@TVYiK4h+w#Cw>s*#N8;0(Rr~NBA%G5X)f7{)%`0fR%DBZ$F$O_DM`G%-N
zeHpFDI9_~kLQ1S73y-_!{U(xIsdi*mF~0n4YnBy*+_}&P^#GMZ>vs1W3tk<+7MBMP
zIGBPdD6P{)>VPV8JH6sYD%)w-`Q)2rdUv|_glg;BMNOotDT0nq(ER)oQ_A|0StWF%
zg)P4T=ItKciWnOkr{W-B@vToy;@Uq?3O0YH7_L9_(tqnr@}HTo5Zuxn&1kJ~7|%-e
zpiFuT28KD}LWj!E>Q;naO^|8QVn@c<rhusJ-7rt0KCMG1WB7YCh9l71tj9UzWO;My
zBpe8Bii^9>or=dOafU(rFBi;mUbiqfW|A$>GJGDvouQ9nI#ZZz%ot;frW{6Gl#W;H
z{MeBHJx^qqs`^w)X|EBsgg_;lD$Pz0Y_4;YK`DdJym7o~bamG6g;mD$5DD`OU}zy)
z@lBuZiDH-}op){P+^1oG-q}+U`82Vi)~}NN``iFCmM^+l^cWGpFLV7f0bIP}>4A;6
z<Rc6((WfuxA2+BppEjoYHy<4)D*wM$OulWgytCe=>bwokY94*6>s_p@L+k@b6`7k9
z{thL`%4DhMlTGG&CYxC(|7E8f8s;_5>&?yWDfwmbqpOGNGIsMFUdKCrPV6>fI=+R=
zokHn`y1WC(vidUT{^cUV;2ws0D=*T^9^;<YujKY!?@P|pli#GlZp_K;A2!%$F$nBS
zEAH#02~G>Ya4pqU&t0MgCnxm!iHkjhA|GEN{=B%$lD>w2qW|s{buISopA-hONpZ@?
zYL%t&h<)uY1MYj%aYXnucF|~|1S=4aAaQ)t@f^s?NSsSSHy@KHfLqZ`HSs^7OG>g`
z!kMc5Nz_0fkc%ZrInS62N-8<WL=2Nj68)#`IzHqrUjCo;_9?Z~1VsmIjU?;=fWi1x
z!(=)Vjn`|rF3F)qVFRVW!@L}O4DLKvIptR}-z7yz;}n=kiR%=KK^OR`Rug;FH@4z^
zlhSZK=D9#>WUD>9w7Spc{f9p(9I+H~O!h<fU8i|l>OkAsGd%LMxlS@IfrGkxT6it-
zyC=mW&t8`KM^VZ&!G|_Fj8B$xZj(!p&*~`josb|2`vJ>A1ynWh#S<*lUjWkW@}%9-
zijV$lG7j^RE;2d|HrYo3n8$f)Z?bF5W^9|xrCl+3WeV(zF-b$^l#efhKbB+tNVP6u
z9hy>z<{_&qhv{gCp`m*3{hiK11z8_;?gJ00R}TI!K!l!Xl@b_fXDl*t56rw`_97ai
zf+jYmj-iy#YeD)s#F-G#%PPhLTL3jpAAh{JO)K}Mzph~5IDdlY^&se7A!%vwEY<@*
zCFwK%LG2N~B@Z)5p-E~QV<R#-%Cj7j<ifB*=ZG$vt-j5WDmzlay2>(u_&9El;qe8f
zei2)*io>y|1=;`mPzf1lb|JNz4lX3x9w1qz%_tM?wre4Nr|!V8Ur>^_P2ITfnxV<Z
zTJE>4UU@NFvWBA7*55yEej!Utk!u>JuQrxT8Tp6>lPPMz@>Vr?qDaeAo6?sDGpsX5
zVMdSDH0-ER{sT>lPM(_roLq-9a%g-PJ}z_vXY6ea;Q`mrJx;q<$RHX}j=8uvy1Y0#
zw<Tn|7}2D_@d!5v4eGMwTcrXhk5cC~>qvORm@b&jUY7=}O^T2$)~me5Dz1mA)Y(VQ
zpDv(1Up`1jho6xQ<~)>2Uiw+p^oD!3N2ygjO2NlZC{tIB8zr4g$vM8J+9|*!1%I&4
z@8D$X7odDh^%p=A*SNu8)Zr(y4v(WB*4nk;wpf#Rwq06{HBLsZ%T{gm#Yerlh;>p{
z19wx#{`=SG-acKaGxdhsTdb>Uj_H@7Vlp+xsdy4kQlUwXqv#n!T3rs$ZjA>FEeYEb
z>Nk@nA<Z^#m_c!Y8ZuK!@+3<M7D57qjsf++NFyC_`!O<E-^1Z=r^of@*5Ylw<MTT<
zom}%#+q^eEUv|CD`s^EXC?R5b#(CZK{Xj}3tXJ{I?U_g4-L|zfyr^@(IiAb~ga>k2
zUpkw4^3cokgGZys)}9f^3}S3+UZTtCW^C@Oo@8eodVT@Oec&YR*K+&T+R3=xp9yt1
z($>b3Hhrsto?3(unee9_{{7C_KLQVa3k^UCdro}%1@M$$e)=4DJ}J@4h42*LKJyr}
z`3s=z>nn7?d?|JF_(x5vBj>$eUf~tvXqGjpAHm7ug3WzM_lV49drpq;jKuSoKo8GP
zig^zKzF0q6CB1T_{<$Jdq@ywSQOYr!tI_*bAK5zP-8(;%!l$|!n{`R7!)HlVIQ+Zw
z=tU{24>Z8=7~=vT55?{x1ToQg4k#j6-mk-|v8!ric=m&`B4$ytqQa9zzD$j8rtf_H
zFY%)fHL`N^Gf4C-dCl4v(7K`q?Xy4HI9`^E41K!4lX=Ai3Re*NpfpvYn0Fwv%~B!G
zJH;%WY7t|c#ErJ~(bgka!Ci${s?DmGg*=<s64jb%I?*;S;jSTxj9=VTHzzIVFvb*{
zhKN#?g@^+YvT?=(_X{9A+p>TMem|pOOy)=1X-{XM?lCGf&6DtaT4<$VUh)e7rzJk8
z+^2cY)okgZp?tuqHJk@uL}OB<rt>+f8U*kU<}Q9l=q}aQo}yP!u?HiEtSWs8Q#a)`
z*V1a}^KAx>&hWsC!WgFm*5!qRloVVLrlI$t?d64`>m~R=Au~J<P06V-&_60qMaV*7
zuNBMEyO(DagruCN`^?FORI)D$=Q;C_0xg?S7A57=vZ|PJxxUTc^sp%+>M0WM7qDF4
z2b01VR~SMmKou>zCcKYr$M0&wlldq;U~AX*v-+FzDJDQk-4dRgwiOjm%p;9K6;2nW
zb9fiYY0!Q!w++P$q4kwKt=TXo!$zqMWqJ+TD;?%ysZcakWjdMC?_t8qXwy0Phok@j
zuQh_ImD`&1$vR3paqqmY$y!q~gSTI2maG{QgbB#0l{)CcOnThJ^5nQZct4l7rq1z&
z$%HIfPkmiAJz3(ch&geOoN^Av!^BKrMuR<wMte&(w}C&KrlsNHA`Rm2C#NBu_fK<G
zwoi7$5MiTGT>ORzBV29HWAj=Zkj=qv{R=R)1QEW_OD}whV(E4L0|(rdf8fCJ?30S%
z>(>e=Mf8)L28`=PTH$PJ69{8^6Kr7fY0HbHJ|=1l#^hP8FS^KTWepOs(aLG(aPVLe
z(>SHZZa*$QMYo-an7#2hg<S5nZI#fn{q0X+4ci4*q_7MOJKrw(Qt=9hN;{so`99$#
z_&zReY{n?nmPJYNHOp>kxjqbLR?AR~mRHnK9k*oqxWjZVxSKtGJbRw4vRs@|Cfv-!
zAc_Qi@yW}VTbs=M(Tw&7tn_yB1&e1AUG+BxqtToCHRja!82h|@z-MC4=X-?i_WjL;
z($yE&c8u!?uAPlLWyjfEkAI%{{}l=T8#jg`R&LAEqQ7H<E0*dPsu}A~3Eu0kHy4^P
z4yft1au<w(s$);J+2p(H5Gm!pII@lo0Nz0)BDtgr)>t6|k+WBe%6kK9nVjAqFA_WS
zagI@f5B)ye8f&MZU<93!U6O5C)cMiczS{8Zxbw~WeIfar+x~)tjrgBR99%I2DT|~3
zhYFA*c-m9j#F3`mJrA8cnW8GDDr1-ve$rnO&Y_~g+!B06cK{!i8Up3-I{hAT$$n*j
z+cAL`FXv>Lzjeo%U@g>+PMnLYz9)iG)iGH(h-RPEw#4N1*ZH~T^mh++?FYKYt&&`G
zHA_*oPIo`-a);i%zWZ3^OH}$ypGsU{ax{O^txf!%!15xbvkmLmAlT}v+|n!g;fBv~
zHoA@d(dr_&a}}%f-~Ats-mx;fsLiX-IJ;G8Y`aY5_5-VWCQNL?Iq{1lO{y!Rk{+WQ
zGB^yY;3T|)F1$jNYra=Y(QP^COom+x&TUCwn=F;_mhAH!>o%eb79rTEh*WK<EIS#2
zpBE18ORo9o%I>mRnkcm&MzB*3`0azT(%tw;;SdR&hX&-u%cJvMM5o6LDoh%XERXA#
zGnX^c;ny6w`8S2sY^#j&lHpX9)wM3Dpss9?S9&v<RoN=EJTbS*>?k8@>=$Q$jNghj
z1W_Kv@V6T_>x?2HI8wz(J{gtS>1_wpv74Hi?Sbw5JaO?_`|MIFA0lIygAhIDWz-3H
z6dC3v_Rv`@Nqy}-ddc%x;Bomk4v`d4n<*376u*DVSVBv{T%VI!G>%(-S%U4LwI_iO
z9U`T~yr_$!qV;#9^_S%-mV+kzx=`Buk)69$0_%}5E~r-jt-D@*Xo(Y0RVSijWR+n-
zBAEByn*>nG4>iKSJM0)5VlM#Oiwd;~g}RNu1GMjRi!f6Na_h%11|HCMwTGhJ@KjhK
zIHpRvHc~Fs?#S2c^^YpgRrT3?Ru2#iwK36*l9E*=!!z=;J{B}pn70qNa<U7Xh}vdB
zL>e+7gvSf(7AzD@x4@uvOztwV8XnfpNIRM7Qs3v2c)_L%+orvXSw62>Y>%&p{@HH$
zNl5bnrx|^E&?BA869p34Ay9HJYsmcO2Cn<+uM7R5-R|G+zx{Iw#qZu#jB@|Q1!8Xd
zhOJ*z=HGO``uy`*Fz~dej&;*<Wn0kHdTfD9q(0=Jb(vVy@s1~yk}EFGEcfjtz2<26
zJM1muO<00KR<@}CI9nV&P#*c<Ih6^OA=Gqk!Q+j69ioH*^!A<wHU^pzUtKzuy_Ggv
z+)AHomnSo{-fSD=D1lt7Gq;p>O}(7nJvfgwUd{En*;!(^9=yps;^5Z13S8N-&0COk
zJgoI06gMbHWg=>@1%Y5~b--^xsu9y{voYnq7B{=p5n$_+;5VxEr|KM9s_f-%2?Cgf
zGAslH<Bb-?b~f0HU<Y2q=8trBGW#)uET@;)jIP=GmvaGEJA)MI(?F#GIz9P<ylqU6
z_~8REt(7qYvH=5Ayi$H5)ym+ia|0f?X@O+!ck6t#2&^NGpA(S_ow~yYo)!-Ia|LB>
zy7_}?4eE8b$+8^pts0+@50+Z^;uq_z*BIw*xSe-;gB{6Nn&1oh&9L>{qEt{J0>u%e
z0Q^Xs2J;Ir_6D5;lZ0*0Cd+A0Y&t<fyk4_A6jIB{6C{3wMS}<m3JDgLwYP47R6wN2
z;IG*vt#U0XctgBfJ96_MA^!h5mp}slQFxiN&S-jn0lu;M@=DDWYzW0BJ+wRX8yqr^
z_dip<SP`%NIpWpCl=ySRTX7->w-wl|+HjtWK4ND}nPiKPP1qMECuW>mM?CLABw-n>
z)d8nO|M}+=k?*Ur6Gj}|O=;D`R^@rq$HBVi1H~m2fho<4ClVvb#zFcy)AeCg=c;_g
znT+qe=V_{^FG^)yYwnmwlGnAQ(Y-*p6-fUT**B%H*`b)~6A+aS5%dfvnh@3DpFV+Q
zC&Vs2&2u0=WR$dF`psj%6ZIQy$OEbl{yg}pYF^NRp&}e28(a5r!D{DDus{D#k&AxA
z`<Ci9rv8^11GB=U^+)2QTF-IxGlOBGue%pRcg-Y^>OK&$>#xUN`V)KnvaNm$!2gLl
zaB02$@Or46d|vm8kXkeTu-#ewoNe<xBqd5LSiwMo5{XVWXoJ|sH>tLJOII@SXoe_Q
zd!>%GwQIq`uCxzH9IKa1eu`9H6;%dK+7UgyhZURV5FdV@lq1FQm_d(FfNc>6Z<CpM
z8p34+;`QS;6E{l@fNQ_cO0AO`XEa{JzMsy4gTY++3<ZT4?cc>bf7SZ^+?RZYX#8it
zQE{}bHwRbLl-1ioi9FZ!$asii*2z%uP-u_Gz1W~Xa;w*&=37d(Zf4m<%S$;w&;6(_
zqo}Iu($fQTflhPNRER*=B9=U$rSlt8Tl8Uq=65Bqe`n(pr03(gD^OKHjSzb?4|57+
zhM`*K13GftvS<vUi-!;jmb2f1zRs!S+61ppIk-&T#DaV8B8qh?)PR`no*LP1hV#L9
zg;&?j9fptXvWqsCy1(o0wm5F_vA~}Rz_QyVce3i?7t@5BU?~2ov<IUgQf~G0i6G89
zTxZcf8h4ZK{YO3Cca?EZt6By)CcgmI71h)H?QoFB=e6vGx>rCbbJ@QDm|I}BoR2qo
zCb11lYEmF9A4C(JfHj#)C(O<nsA)Li?b6cMXy(EBCoFgEXi2>;6GXvQZ*7d~NU0WQ
z!ys#2_%Bpa?P3tF+Z4ogqh%K%qk>jhcks@na_28stb7Kw4gVe%CX+WQmzk8S?TLJF
zqdN)bK%pDZBjcYJ`fFUgXdaVrC4TIk{{>hqIj;RvB${Va@95s7^3%UH;_r(1w;*kR
z^wrD^5(W|fa~jR86sMTZr4@{8)T=G)FF{u_n0rJDPQ=Qfw|0%%Jww<tq{WAl<r_)m
zn=CBNp0itJ`U=t<gCmm7@>wrPS#>&(M9x1di3-Ml0bY+UmOV$s!_+SP0<14Qs<&57
z`UBI1o(P1j8*X@&kf$tu0lr$CXuR~xK-1O{lD5|JeM@X(^yrx!XwDhH!yeU)N^N34
z;?$q$SE@Rjkq_%)Jp{chyNcLXq8URQ8qq*?NKP0z-svjfW2C$1#VOKn+ny&sne)Ah
z1Y1wv8ZKHX^B-8rEs^{l{zoW~-l%K;)4R^UN3(v>pN^U(`Iq4j;zQhH-GukfMcwh%
zpRa%S5zJ(3;k)#WajaN7rl;qmm=TL``80z`Vl=F|!IZS<d)NoSIlTYtI+}HsnAq4L
zHHd4N^)?1<ZqY}(T|!{0voWJJE8yqOcc4i2;(qP90&m?Z)u0s33Dp$vBm)VBW`Rqd
zh^QoQsnygOORPsK8z&@(l=OWf3<50=H(f*i3EJke1e#LhYz{cLvex?_Fsb|pCZ+#w
z4bk@E%T?h?aOS~p%zC4<$p70v)quzsc79%}H{Ii|zis|+xCrOT+1^U~XtdY#8~nOv
zZ~pR<8KSQ(X$GtD&y|-e@BdRcY<NaBcbhL{%YQ5X+Yhx@|H4GC+)DR2o5#tldSdT_
z-&o1$VENl|AxO{nj}|C0civz(`~|KMbNs*60Hf@s+yS0(%ssottxuxi=aE}xr{vn&
zV=C*7%gYDLxI;VrF_S6I4~gEmW4lpyUOlVH5)<hW4XLD-*YD0S=V`9pwlWwr7IgXk
zZoOhFr1h80IIfv`)y^JG1{4w}Jx&Sp<?xLzts8digPha)g9wRv7g+6l4WqrfN#bW@
za74)`JOkW4NDQ~F7gS*4gl!D5q)0uBB*W@Q2ojl$d1U>b^1d#iNZssR5^vo60+^V-
zB?v!mQBE**JZW&!4O`$UYsKtaAL28LUq*L&%O=+6{4GA9-7G@Ftp4OSkuT)F@!V12
zl=PX6i_-w9llmvbBDxl#w-6V>l`YIqdasq@B4jN4)fW4ng3;6NtjDh27<zul-G%=G
zBE2MvYG+_q$$Cs`@iE@Tr*W98w3@5*&HJe9ZEdG&v=3htqEhtr{<bppZ!2ryr4{fw
z)l+^&VzsnOBbHt*2ToAoh+z$y?hcgyY{-wg=raf$0<N3@F7`seC;Z&DTn#ouo1tc;
zu^7dT493Vr$$IfYLmQ1$C5<(I&Ds2G>W5L?Q%q6Mv&+r316nsL0|7k|vXKr93HF`y
zH>$D<f`=gy)inZVQST_qRoPa8R0qRTKcFvKZkQ-+9pSy>aqpSdC8rI|xdS5c+W%>O
zodF2auZOq)7z{SVe>tmF)^E)Gk4HoIAmJKrA9da>CRemQ(uCm3lv)q%G&kZ`U%A3w
zP$AFPAE+=Tg_OX>8tXn1;AEce(f%H{!)C?i>9d?zLqSf0v-xmNaMd50hN$v?7+i<+
z?}F?4MtUTc(a<Z|<tAc+(;|J)7>U>4(g;SzT9;5C&q5~`VCvRsZgYNt`5v6;|MPRd
zII(wRRBt4?3sN(1Oy_Wwfr5=#V&FdE`aC$ZFokhYPBi7`WdTxe*-kv`%Tj3wA13Z7
ztgIUXuDV)`W7?px^iYY&mx_T5l(ed0mc$;r@l2;r`13V{xe=vCQ9hqm23JlPZ0v6%
zsvL#`ZOUiplKaW^?9b{xZ>J-W$Y>o_+rKc0JZvoPsKXe!Gfo)AvI8}jIb9o^hu?UU
zZ3j1Nh4&$uQRStJYSn9yB=ovy2_R_ACQ4Uq7oJ`pyPqt@3Mz94?+a}Dj^OZ2Q@u^#
z<le7Yi{f>Oh_Pz15i}<OY)3dHIVFAC8FWYL_8p$rltnO-;69@t!+SDBUobM){un_c
zkA@fQELZ+Mvnd*ZBC5{32v^r?f~=VVn2<{VG><R?zY!b{=tJdP2~Ku+x_#X@=MH58
z%w4*sFCU_1@=iSMZn%m7AAeSxIMo#%N_e%_*J`}7k)SqW5`Wh&&iS~w=q%G`AC4;s
zMhGuwc!Om!C@?fq_ObC)luBl==x9jwU3Nr5Pd8Z_1CRZL+GN9W0)Z!)R5XP4wh)ZR
z!wzH3WmGjfe_BFeDA&@@q_yPPd>)yzq2=-9?z?SMK*vtirJ%SBl#7rJ#&!!?eX3EU
z@YptA80wdN8(_4`zP`bVNmx)UL7P~R(Cx}#kFUW+-)Z(XCfI&o_7=_#G;0}9HyT#~
zH(*{$m5Cdi*lJi{ZbuWI*jcT&P;WPmFXbY&9NMb!3CCVjZ2Ft^83O1Mrh<OL%1K05
z;f&r$P8B1LQDT9oH|#-V^ll*1LSuCrdE=boZE4(VCK53nCtNxr8>p@NB0hbd+-vxW
z=6a)!f)`iOl;qHt@TX{QCg!50i_Xf+nNAFQ>7gA0ZG~qyW{b6>v+q75D=OFlHS@dn
zyU99tcI#SB$i$rHxj&7=6m;s0U9dP03v@SY_vvK|bN1X->s!KYBpo%7anmd!E8Ym=
zuT(mu?{Gvr5bW;soK%VLB~=@{V@O;wokA!R?Y@V5)}gw^NTg$IBF%$5m>Q0@_T@Ev
z{q4%i6-2;z7Yb~T{j#NOSg{-zLS?Z~JW*u-S5*1aa&`cil6>jf1T8H68ne<8x%#Ph
z867cNlG&nsJUmjNZ;E0-RENpMp#gFZAg*L6ZA!+|FHUL)d`U>TB+g*d+ApVJaTK#;
zO7_lFh=_f1eXP^0$c}*Bj`vKNKA7n)c-DpHyweTFwd~x9fl5u5O?f8?*T{_w>*_pW
zpE?nFr1y+N(eZz4_WlunRQj*UdXw`XeBa%XLX(mM$d%D(LI5EUDb)}ZO|jShTbQWm
zAQ5pg@=YV%oD^;i3`}?<wI<8#<UjzC+cb;}%oS~cokxhsbPxBT5|Ki(e}U07kDLe%
zJc=4D4cz<W5EM>%86zG^|EBm|A~}f2ElaeTS1nAM;>5FUmhOY!2Ls8$?)`fKobTH^
zM@ocNb+)l#3~{a)S_T)Of>={!h4wjQmCw<`3uxIq`>!CLwJy|(f#Fw@Y7l+t)&P;2
zzHQs2-}Hg2fUsPDC#2F2{U;eaNa8<*wM!g`Vl2<*h5S#c#_GgP*H;Xt9srlOo-nl&
zkgRP92iR}kD1P<=er>%>^7&-qe)LvgQ1MmZF|)!CLFcoI2>WNFU@+}^WozKUBHWnX
z^?Br4Da$P-KQ>NfE1&TFa9bN|^K}sMcHx(<8=OK*5+3)tJ}%$N?&bKOn)+Q=Cop?V
z4|jcMv$)=|nQz|A>t|$t+F3KeU3ut6aaQd#@_sW_i;~`av_;UaX>=;%!N6?f1^oQK
ze-)GoHt~n=1F7yXGnh&pYE$wh@6vaPAyUpY7=+#PfZ58Qnqr{!;<;M%-B~Khw)><S
z7i7CDe|T8m8V&Jybs}L8#2);lkZfgQGy{K8eFd3~Ru?FXl?E(Y7md`TLxPg{w1#fu
z6*dYkzCvN8D+OX!xl=Xb#&l)JFj7GyDF9JenY;C2tOS?bBcb|h|Ie9CKBQ#Vgr=6E
zEf+b^^;r)?;f?pN52?>5SYv2iSWDAt<Xks*RRKI#hlpXwAUZ*-0Ez4+&q0+SiON?{
z9UH^IP&{|pycKjnXuQ^k0^uL9zR6us<)0z^8mBL-X)^rVCre;Rj_A!D>VX8AO$YLN
zDG(X_H?V;|ss|W0QhI^S3O+$SSfQYWY%fr4le?BY-SNmvTi>qYhZiBq!DFnoM}IT&
z&|TB2*?|u%yaRo*m}JxNYlxUE`80rI=LbykHe%WN-PqD}Jx+MQ&+XzX2#4W*Epqg%
z>7{mVo_6azqoLTAShc&k=*U~rmy4_I=wZshurRv!W;MUkQxW+zx9o)d9Qo`Z7tUJ1
zS&ZYy*fPZmcJJ}NlRcH1Xr(aAoP2n?BIIB?m>Qg)msG;6+#6QY@zdt+N7OHX8Rsf!
z`{=uM4~y?8k!e0otgGRbIjf3v)2F8WFslMlXE<uK0I^SF`FffS&dYw`Ts+s5)6vY~
z?ZyzfpcjFn#o8JRyQ}(V_z{iEZ~wJ8@m4pN+5r{4D%J^qJDY#97>g1e!|k)FI$7i3
z9)cJjN5M6CITDhH!b@F%HiO${wsfqatZxUB>nuxEkvb2QKi9tD#+Ou%Z3{DSl4Cb3
z3{zeB(@>e@JPc}ghVlNKUr=kX(Mp=*aKP&m1vfT3WupWaADf+EX|0c3l>3&8_i1|>
z#|`4n`CS{tG}!+q2IvF+n*juGw_G5Hcf-tAD%L_5E`+szEQ&(Au`=z}nzxGaj=~rX
zp(jGz!$14F+AGI6DizNaAa;<<yD7|qVo2AI(rY|>N~wIH)ifa=@hn6KUQcy8Zb&NL
zohwV!`50+HuD;MHK178iBBn+=yoUmR2st)`6G5yG9MFxru21)j<^hf_VJx@e;FU{+
zB+S6Mw8`n};IM}z`IAzauSd>C>1OMHmopFNwl0dE0i@?XthNH@o6QAJ?r0?ynJZ{Z
z=N6XY=$B+&*x6JVWgz;B-|RazWDn-V7wukQAZMwNzea9+rL$PmeFj>J(3wbV0vUEZ
z{l=4wN4;P$z5D+x2>sXK;pNL=dP3F#c^@+sanb#d2O&X>I(#T>QR1a<HWeVu3PV^~
z6h&1}0(2Kx0<<Eq4u6#Mol`!w_(PL1`cEo^|4}W4Y-zf6@NSYS0d~+>E&u>GF^F`Q
zu=dR=DVXXrHM%aU9OjQ@1<~|xye4z<F=9O5Sx~5Xjp2W%-TVbWtFf;NZWWTKwB@KU
z)|pL#ofr+Y2%buh@uJXMe?X;4pyWo>7$hj^O2&kPXx(SNFx|Y{@;wbq#-Q8%eH0J#
zc{uTSLU}kpP6Rf*CkK=a{{hZa%=_K+aioMxWFvSqA8TlEsloYprdfJuYb4RRA!*=5
z1%~qNvL5XaQSEl2G}!BVG5T}~{gnsII4JE&`^`#s*<Swc3?xsQXuz|8v;GU4PStTg
z{SicWvBWf=WVn$%1rAPk^IexR8mtP+Y)(`Q0w#aQwAZyf@OtTDt?BT0eoEprl%T4>
z;HfGs+y?{Mu@N6@t}qxOB-`OJIPTF#tOgwTW=DIgwrpNpcwU4VR^D|b{KKk%_RwKF
z6|AufW(Vc&@J((xY}v^dYO~*hma~DC##?e}!3B8KVo0uPf%I%73dID`IJog%U!1rs
zgiA_=-qu(Z>)!5-r)f+LZ*lKZqh>S<b=O{fQp~?_L&s|l!d|pQ-X$ULg+e2z<U&i(
z-C=5(0v>!$Q0su2rj=A^ORzH^9iCjS1wF&(jVHtl45wu<&~er+V1Yz?6b__NF`W%j
ze;}`<$dA5TfKvKPzDsk%%6o1_Kd=`2h0k^8BnkRtD=>rCals77u_;L1Ou-_`jdjcj
z1J`dCvAj=$wP%b~EzHjub`t#gzbYq#4P=e~Nl}}t<Cep@bW}6wwLZrhe#A5v@9`@Y
z%tEpsy21e1ZB)o~G!0$OlB}Z{!Q9rmL;XA77=8Was|FT??=(iAeT`^g%Om?bMWg%)
zr#9pBND-QbzIXv8z-JKU+}3^XAHU@rQ6PZ`q_<uKB1ppCMg8$`<s=4&>K_05I0WRo
zvW;!Lc{{;{sv9q83@$X&VZt%g%#bLc;SQfC?#rCoa?We527Z;$0Ll1X^pNXo(32uk
zl@GXo8Jur^WH7I5*f>j%m;i>b(}%V_=R_YfWXkn&P}ki)CVtiWj?}#rx%+M;iRJ-K
zDacV>WlkULI#<pi?e{9A`*BjeA>T~zQ_(f9Ann&ajyKNvbC1mL4!3<2T6(;j9etm>
zo@b+O<(((?%>p&z`5F+;mYG)|6gk&fceC$dW%OFhMsAf6jvwXhr3!{Ig~cFSkU!G_
zZX4>XE*({H3Q8>SYA0jYDGrOE*hjNT>sIqVs<p|sTpE`PS3$`i+RAuQtK12+#WZSg
z-}s#JaxwDvK+Ae~DxNzS_njZHxy$rV$r)Yp4oY}-tNaQN&J1_6P6t8P{EPdV2+KF0
zY6Qs@bt)EkNaH)KXm)<6<qjCrh?W{h8_F1N9|h_xH5Ot4rv?Wm_UsqI##?o6+{?NV
z1*f(SW^Gs*OG#q<s=3KS!0=E`nLbEDV6jjHtdk%!v_q>gOo+T6VtrN5sYFamLvCTx
zq79AKtj|fQSpI4c*Q<bzl};)X9P6#%l9AH17$_Dvn)nV?f42{1$D0gm>h+h-=H_p4
zfJUwNA&*7fD_Hd<(lIN^4!*{Mhb*_^bhV%VZ~XXr1|;hjMhN+gMg)LX_74fU1^@`H
z$vINXNC$o(!bokmw^-o&iu#SixykklQqJ7QJeTLLlKdq!0Qw>k?V8{lnDTevALLZ1
zJPv(CbgMnrL~yqMIVjL;CwXxBH=*G{<s3Kv&<XcVg^BW{|1=HKjKWGO3cICUE~g%<
zz(it%9S?ebvgK__*C0>WC&pgSX^jo}Ezu-VOxXA3ZXwR<5fpREM5iVkTL|BtVqMNo
zO8w&19;QzB_7~|##=kf6hnQgIFG~1APR&%}TeorhSS}#>m>b3VSfZ6+60`JumY)g4
zJwpS0<wwGc!lF5Kz^)4<qJ*O{{jK$shyG}A4LXKokqbhql^mmj@9fmYy_e6Zb8<cR
z%{uKZjwa`S9CIRo`%wUHrxE@paEfkF)3Ct=^Tk|0yaq87biAII&ej^^UFq^q2*yR;
zpSKQYe(=tGmb19n1^cFZD_=$KWqYjdjFSnB`xda@yC@bCPy4)sJiNH!q(8_db#S&P
zh_RiOV<yZ%JEC0H`4>dy#r3WN-W{WgE=Lnj%M^;eFGpPftwRhHFIrJRiL}UDkP?4r
z+bcZSwb2bMCUU2zSV4bXsBV(*eu&sAiWCb^h9wF@$<Qr@Bw0R=XDp;`69Ww`I=mzO
zJhqAj&Ce<-;?<a3=HCVLB2Efj)Bu0oBcps|qs|>gkK4M;ySnFDUo&9{`5qgy((RM(
z1Zwy;q<9&K6nHK<P2%ou^xte8)8EqTE|AG4Gah*js9<ry2Nn(HMWl?(>OHyWL)QSQ
zp-4kMt8%v5c^JK!zvgQwr|H5hzqU%^K%dtc)AYqYS?Jbs&KQ~kri}w5XBs}1mbREx
z8^mO8`Dt|AD=NOScnBAQaN2stqkH_M{hs(FA^mc}zU*)~PeOY{j6C!U@QCdPIk^lu
zzl%O#hOEP_Vr;T5E+?TQfwExnSdxbyOhV))v&1kZu2iZAyYRD*x^y2CubXF=T_2Z_
zb(Vp+p7#1xK=ujEIdx|YZU~?Jo5_fHx~;6Mifod|3np%VU5MjR4A{Xre&dA%OKW}u
z*G4U2kaj$av#gGmRo5HOx2m=+q0J$@?D#viPs>v@;(S>9{LS`O8r<yUo+NI8@&@1v
zK2LUC!58%iGdEj3zvX?ocYV=8PCk2j-Vq&`tu1pc@uO?XQitssza-RGg*6~2`Dq6%
zk7r`1Q_;dZz%^{2>KNil&F2-jR=nX9Wk$Do6YrFG_5P-apm1rv*uACK>*9GjaIwzL
zu?n`mQbRmph<qL!qDWm%(#@vmtUd7f060?hbbET`JUbZ{Js9tlG#HEJG6z1Hxfa|8
z$BD=}`>y4P#b(TrgBq>I|Ha!|K*ia#TcQvk5Q4i0cTaE)fso*Cjk|T@?vmi{ngGF_
zhHf;tOM*+|PM{&U^G)af&p+oocg@V5d(WBawR){ywcdWK`mJ5nRZs0_@7*(HSPPMo
zyPUg*E1GbkY`e55PTDkS2Ql~i3d=RezZ+e+{KM!XHj%o|=Cha|*tBNQ6Zj*rwZ*B;
zg68egRdD~ctHOGlw)-j_NjLAENK%LmSBM0f8b04>sfmjBpwG`<_xG8G_g{ujSYC<f
zTKOf}7v|M4zjex4b<X8dr*(1jGAO^J<t`|QNVJcj{M00__3dOSW;p3Ymw#8n>*at6
zG$foZqD{Ese$+Ez)z`=;7Cjd7@9@az)_*GeanpIq=^w~&r-)E$SrY#rg3J3s{vrb*
z|I+9^YT3ykG4NC!a+aTu`Q!3GLd*6veK_#FU)&=AWk*7s_{%SZz*P)l0l9VhYRcp<
zB%H}DuH=W<Ysxza`iQSLht!NdLICTDS^Qs>8_dNYxq>mYa*FE5$J%JQw;%54;`(2|
znB|Qm&1;8!(ZHp>qbc*Szm8Z4=N*2(%~)|(F)bx3UP{&}wlFUOOM|viB^SH7>5AO7
z3&H&KNZNM}d>p~9I+xWz`C1M!A-Z#rj(XB~Fq#)gj&j!OEn}CDw}RO@M+-oC@*}Z|
zvMY&>Mv{uTFS`-Z%tvxX0~|TVw2eIt<uivCdVA*=F%x(d!8oCGWv<$LSi=!d=Zrd^
z*;F*~c2Mwk_;B7Kk(JVoFd?*9XRtJhWKq!*WvZ~!{Ao~ORRmq`5EwK9-nUdXqKUZ`
zQ9X0?J4?|Gg2#LH!S(j5z^EU3M0?q0YGYM`Sv37q6E9@MrjKG6XamCIrwRY2yh=9k
z+;Ur1#LsAbX*jWDMlwm7u8m4tJ+jLfd?Euz*ao~;)M}GhVjIyUb?|fHQ$jM&Y?dc~
zp`?y2-H!*6MMX5mA&gb>CLj1}*al>b%J*eBT03OZr!j~ruf-d0Ac&bw2R&+c@*&-G
zXZ;=dLuRoa4NH#vv?_6Ri>-v(ZQ_7$Ag4wZepWyX@VP8j5fBV~;v4!UzU9alkI?go
z?=*B+J<z;kT7M<jT)RPhRF_*IX?-x)S=Z3x!e;gegKT)NiE96HuW3yapBsT}U=-Xw
z)~&N(ze}ynF^lyra^ZQbNng)HL9j8udZNBdFLxoSU+_9n08wbVU(uAlh}`fVsvd&H
zt&XazRx%scG>B~$H`Oxdb>2`81|i64ea7%nz>?REp^z7Dnj;N6z~Iadq4*Qh?sew*
z#TcQl;=AxiF7y@qf+r==&5?7KeFzA4>KBnWk^9WoTAnFo;GPDF&+793S^kbVDjZtm
zs(nyfHSdNJ)<(U!6lV0oS4T@PaRJx1g8B{fRS^``<7eR`1b?6~5%(}1B-ouwi);9S
z`KNCeF)(6t)}HK>>MCL{{Wj)Ne2Y|^sPaBRN^`tc--@A8B5w$~_0Hkm!Fxser&2o6
zz)NOPglSXyA|8sZq_=h-cX{=_YsFO7?y){1|0KhFOJHagb8dV8e97%peY^v@Oo+AK
zW#O6K9NObX;g+C=N!|S~2XfK=N=h>L56=q*)`P;@viWz$HiB-!!2YrDfrYv-X@pac
zv#@WMn7{@8&ml3U@0LU;NcPD6eSd7oV>EhJwIN?`%PPy%$)t$k4YwleL8y8NW3@-n
zolYCyOz^2Oj3*@@{kL4glj`(=!O@@wO241ucNOnf-6T@CQmVxcVCoOJ|KXdGX*FXW
zw607Li6+_#2L`A=N%T;eoQ5{%N7IrDg%VRyd*%XKq&~F>B)mVb8McdRPm6L)(oaf5
zU*E(l-VeBxZVNs9_R?zC+%z)rdA0OQV&jSFVg9<JjM4V`qwc=`zfwfRf+!C7IQt~U
z?gU@M9fKBZb!+rv^G1-R?Mr@Nhs1g+##HAvrPCkZ#<(7ik&R*wG&WciZSSPCoTXM~
z4tX6XrldqU=5m@l>KaXsl&7yNVI<p#j2O&&9y#_aXcyTzJkPUyN<H2^u4_~8)}y~3
zAx-CB9aw`vTL7U7Bo-Ypn4=Sd+N0h%TuTYn3}emWR^R;G$5twZ!~N*1OsQp~@iq$e
zDva)QHkVVUe2IO68VNWE>2@hC$be!LW+I#(D6V?}{d+KGjs0Ok<?+PLbyKdFPOq)d
zQllEH9Zsmk6LZoM!8u^M*%W%#!iET<2~$=bt_k%fVoa_BMUGJg?E_hh%ssPaYM8_r
zE@X3*7HAK;Vm|wQwKzM9FI;$U0Bd5XT`94G4;i^!(=gjLvylt%bAdTxhKX3q-RtOI
zNNgI_u^LnCcJvul3~=-3xfLg;j*jM+d?c}6g&ab9<L~528!SD|a`~;hzFu`FT5_9P
zEa%zwDZ<Fj98Ud96Sx(vc|^9e06{E(#JLn*e3lnFaTkHcFnd%!9DxiM-ILCMj`<;Q
zK&w*D>{LN3b}x{@$qVGuEdsEf<6meau%;??wiut4UTsLZ_3-zwBl#8GaLNIbf4$lJ
zeqtyq`ABOoOPO3=)c~20`7?WaSIODxy%$To+wq9O;C5V^(x$|;Rdw5DTf#Fe;tR^E
z`j?sYvi*lb-b^k<IiHt}NhCp(I<m$S%vHwp2*vr3iSqP@pCruvLiefH^51LHsB4Vp
z;zH0Yj{qziiY#QR2II$!pq!G|Oa>XT%hNG%eY?dE8LC<0kg4Y-369<TCFLWoRMMqY
z&+6k>AxCFAH`gD-ILEdo4?go5FG10wo$nne1($9q+?;RUQylepTksgVc^>X}^jRDR
zghi2xh>XdKj5<kvsL6VCuFQ;}>jIwy48Z(k@(w^NXlv*^ZZJKH@qTg{V_2|uGNBg=
zKpusQ-PX2gTl;M^E@ON!qa3jiGU|g2N=cYVV*$na-I$yZi<|+)yVk(`$`Z`(diZ!I
zT=HqGEpvQ@=4LNw!G0t++Q(g%3%IJ!J=ny|*SAucU^(oovZ4bo7Gq&9oUA~R$qJE=
zJczpS-ieA}DAaTTZWk5%sNAgARESgz!!%=cbY?Y*N`NBlcevIBc{$At=8QI}dW_Wl
z?<Ks4)-9(J{Nd3!G+^cW#$7S(ky6#SIJ_G_<qgiRos2r!S5newlqtY8C%B(`H#XYL
zF<(?QPTU#0jjt>_ojEwb5d0_#TqMKW{$q96`$Hkr$xmV2b=x1=lp$}s#s(|^^glQm
zLxrez-)ZQ<lhq~&#5@#KP}64=0gh&AhoG%=IAeyOvB5djO|E0zb&)l%D~KRn=`wmK
zd8a%sf1FV09v%<ER3%-x$zIRzrHmW_{eDsgc^@tfra669m0GphUx<98{jHJ(tDA*x
zoUuRw=#AkdL#+cW+o%`(mAwk7=)@lkyeN(CF?MlDhtJF35HdiXZwPr0XUGG$(p)`f
ziZ`L1UKSWa&8-W)q)(C^TZIiI*ez$vGx6fB++0J(1Fa}D?Xl)7XC+XTB$y~l`O<(o
zJD@ATPDOBwv2aPliNWK6BjqjSvVoq1=dn>*i-MgHS!sKU_K)_1^sK2GBeciHmBp2}
zV6H`wg|}cwYR5d-v8nx#fuXS*-;31unz*geFZ)-57l%c+$#kUx2ZysP0G(($@RV_4
zy9;HENcN?T&1bXf*2X<<|0OU{X1qvzC-p)TNUAOG60%xBh^0Ao3304XhFC?LR*w~6
zOLcU7RXE`w6V3|>0pbI<hDwxaJ~jFAymI}(J@VT%vK4j8H08=)sShov<{L8@YVXBZ
z4bx5!&4a8M>(~*Yf8;)=GF^#3#yshSWKU6g>sx>XWikUvu`MYL?yd0iYUUEBl};aT
zosTts0bQ2`u~1f5)!hsRl+6n*%2rw}%Dfi4-?Ni~8fU(xiF{dY?XGHzJiu9r#~Qos
z8Ot4las6PGgNr%0MGVRg{9Z(+1XCFbLwPni-Ru^#h6P@0FQ<MLi5p?jzf)2R*4E`4
zU>EPkqBXwu)bkN@zVmCVu3$-y<81NiZaR6*yj5SbU!T9iFNsi}-iK&+!xDxLYMnM?
z2FWHYbQc2RVg>WIJO)OO8R*%#VoP?oBcdeuQlj}nMP$DIE@jW9ygq)v8J=rozG_{r
z;MV>bvkl`|@r{+$^?kS-jr7u-p-af`RiWnUqpT+3`)u~HEMPX@lU8y{NS2MO<#HJV
zpJTOkp}HvUG%`9px)S>5CJt~eNJfRnQ)FJkXEpfzb*Zb<l#LT9^Xk?8%i!bOsWZQ#
z!kd+M&%K|twHv5=xjySJ)g9FXzu2S`pK0=Yxx8XE7uoAZ1nU*Fh<B<gkC$SJ?4Q!F
zB~_%sG`DaTx}lwpMl()?4s6YXDo4=PJ_kge-12!xvEPC!3*h=~f4Rq-T|kV_f}Ac9
zRidWSTN#{U);qky{^1|^Y;UIBht8`aht-`rPfS2x4&$Is17034_188mt%j!(q+ZYM
zT`PP9CAFtHTEeT$9Zec4zgy3IiW^x7yl-RVo?g1Q>L<@NHWI;xZ1II-y*LJZp}nTA
zV3o~Pr&IqqS`~<Vo_Q#kFCbSgqLP)ZwLLChSX#Z|o%4Gme%p|^O}VNb_}#G9$L^=~
z)op9+NwN?SxcTyIv45OTQepqBS8TkVdhzH4wSkIy+GAO8JTDPQ*|9xV)aG%7NqAPH
z6Z!gmd9!kX2FE9yvRB4pb6l{7<F~`ZhAtlCQ~GB0P|&7!PFplL<w#n!yOl5hrR|6&
z+{>k9sQT~+(B4bf5$6bU{MZQc6SBDP84UiOJ!JavLBM~@!C*3KIhz~24SQj0rN7O<
z#<LXWSXG!*8O;Jx!{ZM8RQt82SoB0rAcf1pz;btQn~n;29hFYq=B}QjlE8cn=Qt6q
zYEK=>l3RIXrp)N4<U3FsyC(WR2@cd)V494lb9r0~D>(V=%|Q<yBEezkAQE5JYzO=O
zC_7toNuuThH0~wQ&D(qpLB%0%5LVP|1HJU+%l4>dFV`-x{b}#7@W6Ww>MUi0*{3SA
zXp^RC?^e?o?yvgqw2j`Ax$Ca@oqUD>(S7I%t>?aP>H`Q4#wlN2A2@HdfsQn&Hw=aw
z^E4K1ScIKXM=s)HS9n<wG)@UO7?^zXdsxl!qsRe*EY7~oOT)%=Da4_oFjWGvGFoxM
zMF+C*S<kl&7PYx#VTvBW<WgdmOvO~0imevUZaak+^|H-1xf)Kxh6puJ<H(IaxlzUX
zm078@F-h;KVWBZE=rxH=hUzkq>in8@W#7Km#__Rm;q9G(0~K6c6rzgL0ZoDD6+2o5
z9eYE0EM#Cav5?k0Ge^?2Yp|(_kfk72BOmx>4G+=oOYw~27DC50C!k1G>eDfl*kC0o
z$^V#IF)}{bqU&pcoEm0F*T9VPfj+RORx*2M+qh`Ng#&tGo_mVPz7-ots;$7>V!|+G
z7hVIu7E9d})rJ%|E7sb#XnBr89p5>VvH%q(hde)ZlKSuHW0fo&_IVw7oTs~<0!&EU
zfl(B<?-ANe8?6N4dp|EMH;$nXLuu1D`sB;CN|IE)$Wy3<WGPJJuZk#Umf9udForqI
zT7BLg2ZjY3<F<dI=C*iO0IGGy7b*>WON^NnpNR8S0n%;G;DAV4lk%9?Pc;(bT^0l`
zbF7R@jOqdBm>TP^e2jm<j#5SgcS7CL>T*V9p6^2W*?;|Lbsuo?8X3(ZrtW`Xq2%5d
zj;%m1r~^{jO1~>qWfA2E?SRn71-5C_zA}@*uiXGtYy(4NM<b^A@!r%8L+^}a%M-UI
z1UGTYzM1O^JTS%FT6a8hFg)*v`M56T5amdz{dAf@Qdd5WSyEtSD8=OIl?_I(K>Ero
z8K7yhF%S3qd0jC6MU6`)vy_#r1cj*UIa@R>6EBASGlYh4@F!>Mq3$b0+!u)!VW&zF
ze1?JhPd>$Kyz)v4dZmhrS^hx@!4mc%qPHloo)+s~XyOSOD)xZB7ir(bQ=6ZGUb^n4
z<y1QsxP@)$wZB$xeJV~HI-kzgznmrJ?5KSGvV0jroP&M}DdeC<o+Ez4${OF<z>1!u
z<@MV;R#LyBS7D?h&!()$MV#g}Q;Wu)wf-wzhF=U#BYK!9tpjoo=IsxD#o6WaL~#YG
zyX=|2vJ0N@upObEI~g7JDm*#X7RrYtF8Irx#KPxi?&61Kjb^U=%yf9UABHQQp}}{D
zPwAa$r1^)4yr=LEqma5Jf-7^Sh+_cFX&>$Mn`oTK?*c#m_k-5}-%%`V@;75$)TPY*
z-QFtio~fv*6<xA3oAP;_qY7X)H+k|a>}2V_Q##LZT&b5Bt#`@ZwvzHN^B(Lc73>L*
z^eT&5L}YHn>!D}J{)IHcIkqlUy~&)LOE+6-C`Fhn0eiY|KdUYQo0I~54(-g|TZ?!W
zl!bz%MdlQdJSIK!%W^7b@Dcm*XEj`Zyj+)4d__D^Pyo{Z$hxDDXL{Tco<5^|@)oNw
zW;^AsZBKxE(ELW6fBX@;(;|4|_pS1R^Ir+Id7W|Ynd#=Qs2?fGuOL!KZ#d>T2UK<t
ziHuS{V&a38YyA)i{RpA1KPq;0)+xw7*3Ysv-hq2_rytDCxLIgOp&_Z<kVMG(-3Xk>
zF5RN=m70NQ8{5OU36X=DQm8B;4Hbk<4m)i;4jo^+*MT$KUKaVz8w<Cc8A|jWOL&)|
zoi;Tb!{RNh`s+<6@2y=o=)t8DQ_iiQwEF4&*-|kD&igm&u35yCC$?9O$VIwk%#<WD
zx1D!K-Bgh49F;QMO#^-&8y~j8DbE=?`Ui3wk70_=H?|e9YfS(lE%dzxv-L@Wr*#bf
zM-~j`y3jr~3>5vyHdoaH=rQMLDI1x!K%0{UWzI#f{!3vHzve6WozDHR1ozn^t=fXU
zl*Dr6AYDvNK)a2j<kP%gicXL8ir6l*6PJJ|Dkoo-=-a~XA0-xq#^&z}k6#zO`W7R#
zfs=m4ODN2MXBn6{z6QJ(U7QOKbm?R)pm&)Q0{Srd7<fG%U`MTwozBE$%{hEsWS!@t
zqHbyF#ru#ImmOx$D=#N`RG%)jKTbVr1_z()o-V~NUk5~<W4Glr<g_IVDDH{u9eE_5
zHeK2pwphH_erFhMASjUCt`RM4Lk0gLsRf`K@9JWoA&F2TeQ#~Q7M2@?3x!w0UsJD<
zd=7%G>LjnC4f+iLvO;yn2lzH~;gK>1&D;t%yJS~AN|{NDF-=-dWJ%2gIKVff!gNNo
z5*YWPSy5}Np#8%&PY~>Q6WZ@*P6?yeC%7)oNZ{Sxs&Ww{n{1P@guNs9XcL1boTGo#
zFy59RnBh)crBmCo8%_2pyp&8n5Xf4iqq5SLVbx;Kt?3`7owu6u7`0u!!xBf!2bzK8
zk1{NZj5=gVZmq7Y`2Z$;;t#`n<KcVP?J{v$W+GUhH}p|6*{EjXxoPaCtq(FE7O}LV
zOe8rzYpbt1Df9apDdza2Q0*Us7!iLv7wo!KOAeKIi?FheJ7r!;wKu~@R9jA4{!U)m
zYyP>izXW$CBNFghf7Z@8-nNljBXVS+>awItM6@nRGEvbWP95g$s*QT=xxMeV4T^7p
zA>I0MV>;OEfNv!JEoN!+CAG(|^=gaSK;BLQ>zub%3<1S~K(Nhe4*fuJO6$lIR<kwr
zmQbwGkHJ_2#gR2Ml2WCUkyci!m@hgH(n%@n`OHTf9IhotrR{f~Bx+p?pN5RIS3fnO
zWiSy|910b-OiWKm%v^ZeV9$U`QI9DJcL#2$u~Z@0tLxz>%>x>s28nW?V;aoWNU-aB
z3E59TtXn_wZG#$J`V#~8=k%tDQL)Sl^C+MrxG<{@j*Ev6gIu27OxE5_^(aX_e(o{r
zI3T%DJK0sA`Zbq`0ShU~iW60URGlNPztuteN%CY5EN|eN+qRP|SrkCG^1Qoa@a4o-
z!rPe^SX-j^4YA41yW%(8g%)4bDXS!LX3GrIINCQ4hRV*=Y21kWTu7gC*{2}cs#kg1
z)Fu*=zrf0095ej9K<jrzuH5E>_r853q;ikd0RVj(drIf|=O3HTe4)&!U>7lY?_ZNx
z)HbZqw#xc_?uDwaknfEaJ$|b5erZ^#gcd8h0PjQ>yL>Juxh7wCz^nV+qbwv2t@p(a
z2~TYBjJ(I`25$qeJFOSSw|!pLf0r40N9qSqPdpV0?_-)M?4_-6q7wEt-RoL^J~#0L
zEB)L%A|*Lt!Sa%j(B0ll>1_(cBkd~>RT`7aQK=mPOmtvh<%0|lx$6Rd87B4Fs;$6h
z$A%0={uWQRw5TP1nnfg{MmgR}N^b|x9rE{0u?7dV9DBUB>^aX@i+7#|bLjW$>VP@+
z?hd<$%uhpJ4}pFuZL8Zk)>BT{ROMBbRGERu%UVTOE>x$0j${JjccJDbp9tr^6!<){
zHW5`13m$&?`9g(v|8Pu4XY5)Y(gmAa03J=IT3i$DuB~8UpWr!Ua0m~JMdpsqaTO&~
zzv;za#C%R%-NZZ@mbN^iR5)(C-7WZw`Ng@d*>2Uy>XFw<z^}c^Y8r*mF{{RvDN9gl
zpBFr>o`e{D8mrQGQeDdyH8tLwW_^-V;`=ML#Q>VFZ}`>`Q0164aE@8;&aLUm#{8V`
zr(Ol7hk*T2y_E4s)?)#M`Qw7*oB;qjBEsfJ30*a-1Fd*MLwGtul-GxH8A4C=7K=%S
zcqhK@WppsD!?BcOsv0#Dt+0*?*9o*2l^Br;-69Bn-4T8oUbW|gz?<YA5%LbBbNdTd
zS`%5gz?_&tpM}gfbA#^(-oY5H=0Wm9og*Z`>x`d`JMiT+n-X+0j0%!bPkYR8?Q<LP
zeImj;kc&k0*j|e(|4MQ7s{0x{##5MJhUJPL45+91YE6Vah<{bbS}GJ$<6rCEq?|UK
zWJC9pL_;@xOE#~Q!AE58Lsn1!-W;CDpk}TI@1*&3JiU5KRT}@nP;A=s`=`sRgQsSg
z*Mp6h0o*3&Q&I+tg1FrQ^}@i#c{;~|JPe0*&|A`aWsSz9&ebC#9dvZhWL<9c`t!iO
zV{m$88{d?-?~eDuxsN~lNz<$yyXD-+O%@tQ1=m>;=EoTCOIH=Z&o~N21^=c!3Bi{y
zW7>L(t*1WkEDGtYxV~u&Je;1fI~tUg`XF_03`ywl^Lo9&2XpEXl$@*r+|Ao%x>8w9
z(m8HWIoJUfnP)yXPy*0G(;y(R5&W&)qjc{u-4c%<&B_8QUv-M(d%b-OT++{hyN0#j
zR=5e{ywg1SqeHcB^5bJ?M||lTBr=WKfCE0CdxijfOKG#7%Ts{NOrH#T?nAnVr>%{K
zUFQydx!RaBs3)(65S9^ScdkXhF7Zv}VMsK3JiF<vWe7Kp;`NrNdaBKv^kZeBkAe-4
z75Zk*VDO6pPdMbd;i{5(%ICHE`R;5f*;YY1d`Kjtm`!Qa%sj6I=oGX7K-)Z2B>?JN
zK}(rWVGpKf^NGzRlX35G^%j=c`Ywv=Y-kJB<FQJeSkVz~cwbM_MPx{3TSty4N0~}%
zN*TSCj#pba+8{^coJs!WnrWK39nSLd#wUWOt%tko&0gpd9l+#<1uAYBUp(@%_Mt88
zpz}Ldc_om{;r-4ai6?zR&w&Ak{%?mjCwbdixznLy2qBC8_JWFC=J8Pk@{RA(fIQ!u
zehg=>*`P$#`znwAGW(tq9s7mLRa>2Nan-+ZPvHI4e(*B(InR`dl<j(TEwE>L<>GmF
zkxL*(zliD81tIZOO9q_skUe&MG4A(DbWc~x_YL4Rb6iSHywQ{f_lJTpISlr>ow%k~
z#kwNGPTEbyZ(4jNyn0;-bjvASbcI+`?ED&(&nznpb4x2%X#CiJ2#a~mzqb>BI-9LD
zD!~f@6qOM*Mt8@!zC6cRo8L{sTC*%0lgHxTvrjltnhw?y_Kgop)~Dg~`%>)*Krmfe
z%oMmQYLmE)UefJ($CWSkHyhqSEk@SpcT$|DQ}}XYmf$;$`7!YQt+rdgw>!h$R(VG@
zG^=1@&z+PuFA)&^<1j?mBVQ`=v-jqfjn%RXJU=8wt$I#YP1#E0Lj=uX(3qV66Nz?P
z*#5VrbR$*oZckFClF|<=S&&<<9xi+zsI|4zZ+9v&0NsR$vNww@j9E1C1NTjhBE3BO
zi(t%bnHT9>DCVTj=bE+c`*&dS_h&tQ4bTl*_(B6~tajT=LZ`m36{SY9^cxH?xj}l5
zRD5-dZ{r1+7C8u|paj<01}!c9q!cCue;xTOIBRKsrPq#1k!G8UUpTm&;zCRR>%qJ%
z(vFyBf}tiJ@?r2iVk4C+b3MyaY;zT6#?{^l9D8P~KxS%^si4jQcBxa_`f8toU_2?I
z`u>CQRE}Ug%{BC{ArAcj$c{w)e25die;oJ~KGP)n<9@!4hgb1C;Lkc8!=3_{6_+;n
z@_BIh_(HwLpji5*?VdF<A$5xa*Q{VzK^kz#n2x3_QGsE8uCks=u>ZRAm8<_^>--g|
zu%u9QPd}jLK~Yh~<LA{(g*BH*rkZFC9@-LK(A7X8dm-8(xyC-`SCm?<?ysKq8Tg@n
zX1}&8fv#06{$&?8DhM`{hTx83?Uhy1rK@D2fZ?aeuVPh<Gy}p6B{)Q&dUT@?lEE8y
zvzpYJT4D1jNS_>=Ja@8AmVk=zFCR-DV}x@+vo{Fos|NA?Mst1{`3(g-C_hLV9f)c1
zO*~|z(uI&!*^i0Pr(0K0xY497Qp;BdsQ+k_)Blv8d|l^SaWslJbF0Z?ij1C|=IlEl
zuZkf>BOpWlW`u_FD@FTtNSNATYIm7OPc_^qZm2TdO1qfG^D?K|FMf8vdEAvhx5fFJ
z#iagh^Zq1A#ex;f@K>W<EJ&UHJ?qQ#Px!xV+5bUNg8q%7WX~#cuMxPQRX#RYwh&FG
z5K|bXW8D%gu<>!koGt2NXPt)dV6M_ZI7Vm|*xEtW8bVXug<wbiS1^Z=2wy0u5t8+w
zu_-*WAnP4MV|%C07mo1cERr^uD`EVSKRNc54dqq2EZPV?&oZ7gcBSWMf^#{%S0%a;
zW300XTlU4KW7zfHcoqr*fkBQiG`2-Pj)<?w{fvJheH!h?+nIe$_BF?JzAEeE?xEK8
zsaNd-DCsBI@2x<Msn4V-9K}^He@!AU&MUjP$);Gub$p<QE7(z_w@zojnGqzkf30F*
z)q5?6erAvHVtj}y7>NQ2<QCpABI5huxG5{eBr|W%#{>P!VZh{tj!^Yg0Dbb5q`6n#
z&djUDT5^9T<->q4AHFpvwH&Fo-{?Z7*qtDB%qbejMfp5T&{+RTOLdvG>`c1CX%Mb~
zxUUU<I9rN)8)Hawg=>X}LN?}rE~gB)rdIS0D7?TPKFkWJD!C=7WJuQed;;TU9dwFl
zMWx;MdJg;i8Wa*y7oR|+E{%Lw@GSVU>DR3GF<(SD)Dh-p;8oTd^B{GwtUTnj$sHhg
z%ceV@#T{oU^N!;9N?pa}>4M0aRy6IksUK=t$`c%QHH{$P*`fBe%Z<Y^)De-hag-*Y
z@#*`kPv*|`EA^4;CI|0pi}x-vPqN^%x8@PS0Q8mF+CI~u(!Y>g0XPXS`hpO0OCYh2
z`S?Bal6=jspEi8Ar?>Ab*(952MinWh;=n`m9jsPg7a4OfO5^pZh|Jx)WQ$ebs;X}i
zV$4;kFq0O%^xS9xExBvEP8{at@Oq17I%IIKv|Mr<x&V*McD2UhiXtF8B{Q^dK;}Zc
z34}W%t^%~^TG9{n>^XI)$kcw+263@W5AUuC)uzt<e51^7K9i!69FIW7I5@xPvgkYZ
zF7V;^Xd64QuD4>iZ9i+GYY|acK<$?dyE_%i)Aba#iZQ<Y5ombZ1Qdtx#BbJCk4p7G
z$4?!$e-+TDW`{!!((HuBwg9PxFYw<b@d@Ke4MRXCHSDIi<#e+4bF*2?evra7c^I7{
zn~21LAWZylIfk;9%fvhXsULbDtL(aof-rLy-<*kTCr(nik2FJP#_UrRVRX|dr5W2{
z!Q%vK&;N{)so`=SC{Rqk{=$UOWSsmtARem7x<2s@>V9yZ;!rVBH=ADHh3c`vLOF>#
zgfhb>jY%DS^eHBNmX0ywje4{Mi|THr>#BC=EsLdJL+QoIb$&SOMM8G<sE-cfd^|7d
zcqBmVajyVVf|<%?b+>1eQz*^?$Mh$9#*Fi9^@_1~a#S4>hq0ykfKZMUd*N@Y&?O=~
zqDwWtmcYilFB>w+Q`VC9P_7-oUr5QG@@*VaDhSoGeVK$0w-w9KG^eMJi!?{2)19ln
zctum@d%W=*HLUtEz5qm43A-=1425!wbAM)3uKaM5cFN3KOB3b>nM#jXV|ua@?$+So
zIVSsy^uv~<b2|BN3owdBt~4wCD?1tr>GZT(6d?X>((_$^Jz+@wCr|73!mg0qFc2RL
zd9%l~`mectc~5pxVys=EbF#+`SkTbyJ=eHTmDg_R^fd#MMN2Fx+n1_J^X0HkqJi_d
z&mX}Jj@VOq%@e;!z=D7XRR&G**Vkj@%}NvVY=gOcQI{R4pOGmhUw~Shv=zwg%VsDm
zv5qHS><x>pI*U6S&+k#)bZ+fF>{hGs1vcbt&<SJE8mrV~&psD?!VxYnUsz37YJ<CS
zznlNvE-C8$(zPjS`LhAnP^;gM)CB(@pxRL)@n;K?$2BJSAx}Av!;YNdECf%rkIf1H
zKDcI1$zC0FE~j^I2xnXd!TSc4%*W>k-i;0yw=>&wP!coIXFL5)i=gP1BWp04#JKxV
zA@RnIA&V9*_ZbH!TjZA<DO`-S2NZWikZUW6+^jj(e5rp&u`OCm*@gMg@Qv*@tWUPY
zbrKv#j74lFEL~!RI?Jc#%&ks}f%N4kD<f@gD`j}=KG~mE{Drif-plc_FZ*Hb-bLie
z2CBOgO@r+C%1iTK;~(qBnCa2v-h~S$gyDqUN1@QLdc!YmD2n8?xfi$MoJou)(z5eS
z!DUN`JKL7nueU}oom|ZG+M@l;Noe%jnZNnUz4tujywF}7Ra?2Mt-LNhoWVWIV6c^M
z{IsKJ)Ica!F;gs5gsa_Re}_h16bUVfVgEM$2Y_suZa+mtiQ25@Qq09eeRN9u_`8mN
zi|8A=l7dZSGiQ9ATr68*f@kK<d>^g9)|EULW@bM(G!%``J}8^r!y1iny3R^&sYIbi
zgmM3*9w5Jg^4#Yy5KUV?Oz4$<_2T;ri7?%t;un)*WEa@!Q9qi-be`*h8bJ~x_;ykC
z^wW{4GJTz84BIlej^~2sg;BGTUbB!Pp10`-%z(gRnMC(r7_;vgB8(fL1t+~ZqQB6p
zG>Q7zqD}v{0Q#driBQ(lUcdiS|L=Yjq*O$lIas=%7bzGKQ^r87hdw<+xY2L3oA-TA
z-c+xD{tqIPMg*_fQQ5pkiRhJLk7R)E+D5bA4`0dcTd@72%-)NEQ*S5Fy;I<R%1A5C
zQkwW|H5Z1P+dg@(+78EDp9t(=^hq}*3K1{G9$vt&5Py&JM14O3xu{z4#Z?d6)H8Gp
z7zQmLwI@`ns#Dcybg5Ba5hUZ=hmKL#EZhZW5(=N&+lmIWNB&Cw6H^8@`NA^*8ZJSO
z`;$S~7KGHJzhg5bJ$|0ol<3zjQdN)(o-2=}w-T8^W;Ai26yt-Mi5*F_ITMxsQY6Y{
zo5WH+)`x}>xdVY;3cYw;YmeI>Re_?4c>U42*5*`I#d@3+R1v5~P$@&CK3=L^xpN<B
z``y`Dc0(}xd5O<xdX0Yi&O-B#cUtTmDVVZS{PDoO_n)1C%1ibkx$koyO<8yx-ylCm
z<`&Fx87yvk(Iua)8u)m=*00rs%&b7x;kyj;_DC-DAa5*Bl{ff5;VY>kX_(H~(gG-+
z(&)*5;>kWbFx8w4HC~U#|JO(|Yrxbd@#}#Xou@MVgP}Ud@wT%fq5PatnPmgo;T85M
z48r!hRGYC#q0b83Q7|qW%ijYUG=7>@RM3bldtZMuUk$V!a*TV)-~E-i%_gFbOXssF
zD^WR9h0%~JtvDKP<txdyhmpH`uFq^-EW1Q`tR!cl?b>Vhg?s9F?hv8+RZ-?vd#!m7
z#95x)_Aert#+3oXj^rJKNdq3~qA3Nx^8>r5diam$5Zqz=z10Y-!`JfPy!NK1A1z?{
z*p9D~Xa1BC`N{_da7oQcw5-o{-*PGMdm7jO|Gms+iuEFqBU`ap^1b;iIcEY@LyS@<
zgL{lkzo4VXvz08p;fe|R8S!_i3d!$<Sr}Ox**~#O^R_X#Qs(bczVMklqH47~bLSj_
z*Z1*d+8!^Ynzs~De9ut$4(=RtFYxycc|ZYwSJC;xv++26n?GGN(Ol~LUGIo$P=RzX
z@>Q3Z*!GTiXT-JYuAh9Ki^`>c{enn*Do+BQRIsPl@Q6<k?(vtgs|3-_yk7{Nl|84Y
znfD`U=Eji433X&vo&?9z7s0{5P{uic<a{(L&DaXURH(*hO}amrA93kk=9)w;$8WXC
zUdXXjvnQLcN^tJ5619-P*rbt=iU-m$kfl)&pPCSF4zTaiIKox@I;YY{HKN_u07nzg
zRjyr)_l0cVz!g3Y#pmqQZU=i!bUokMyhD$glW+Yr$(UEKzU_V-Uj1OA?qtMvG1>}-
zd!*t$+LHZd=#oApY9$gQo~NPn#9s+j5T99Ky~tC!@>L8J>V85q=tR<LM+p5d<)G0d
zt^WAvG;kx;RjIp<>63?0O%lYEVCcwCUW@x36rxkxMRYEPkjHUEbh@7eQzzv*!pNoC
zB$#d2>*>!;Gx4FV3T;Omfe)Lv-4G&|aj&w$#@o8gk94|?GV>=UP~nJh65_URFMg@1
zHuWj%opan?ITEF(Nc_FpA6aYnnx;ilVv7e{H*4rO#P$!!s;@h*O1crS0#5->zvKR9
zpS^jOZxaMp4o&!QV)G5U<^O73yYe@h_`m&*WEWDYDJWKVqot<|G|_S_G{-$IzRD^*
zoG|MxvbKZiuUC_~@~Q7zSUe1Ka<}v)UF5%=T>lN(v)KQHalE8SG55!*T4R$$_7*@`
zuCN}7fhh>c|4mgo52EoroEDu{murj}^I~N*9hURBtEa!|{UFg~J>FMcHR>UL++Oy}
zjhfYjhBgT4=p-ercJwC5{mG_rWzSHv!-Ufl$D;V<Rv+#<b>5k4zDe(W>AA$eFv&-X
zaq+bgTDp?`7zWa*)5M8gPyYlav)*x{+A%Y1P~u|wu@xIh7)eDNdRRy|kZn)(_3cQP
z^W9%aY!73-TjJ^!0orGSW-F#DsZ4sjx}9YV=T-WZ1A@vW+o}_SA0Eti{EX0+T}~Y)
zShH{fykj*oWl?DU*@P1R!)UKcgyvDx-v*85zct-wp6En(lsY_AbmPD<+Fr+zpSV56
zHTM@XcD$puELK5tytqB=xfJVVQ%$8>z4<GZ8HxzSKyVm-WM_2CW$g%*HO)316xOl!
zMN#!K0pu-E7pSN+zV8{poGrm91B5DI_gyerop_UScca42i|dYdH^v!R_+E}fp@gc5
zS~Nxi)D8&Q^PR|JfL4O;YOMMJ@8i)$`h!#017=eoQuX)$1uFiN=#Kx}h|wH7c`UC}
zKcN0w-KGC4;MPy+iHCW0M+TiK{~f2=7=IxZ>mZzs`Ymn00dS|9j0eH1LaH_N(JJu%
z=+B*XKRNP`Sq?>)qgSVsq!6>R&3~Acr#o;)=d2N9;74)k-5^w)VnK?j{7)I{Mf}5^
zK~R;STX%KXnL*CaqYm@`{mVv+zxtpv076k_adQCZsZwZm9ZvNJG}jCx?~Ps+lP?Vz
z0p^z2BdArEZq9}s-(j3ZePZM)WPVQ5d@yR5(!CB+^jRv}1^UKN`U9d2Lc>8&;$r5@
zCe7Nv0ZQxNW?JQZkAAUPgdE$hsM>dN=_lmHH5Rs=2dUPe*GuC61Y-B!zV`pXVT4Ca
zO&Ugj%N02$b;TF$aXpALzAB&Az%tP+?(bj+t151SF=(}ndQj9|g<VHqeRC$rB-M(>
zTb|`zv93DZ-=AA$r7v|xRc+Cfvv6yx9u0kwjn`w<PHXXoHri>tlr|Hll!p5c`xi>Y
znai=p7v|Fkh=0S7O3+1mMZpYZ!>W>sxQwi$gEC`GtzJ|z5~j>;$gojNl!-!)AX(9r
z5v3hWXJhBQPseWJe4J^QuG+#NmcR<5hc-$+`$Mwa*0C!#p4KoY%MMZaz@CV5fiy?{
z6SH@;$lhBP12Aj?cl}|_Boi^+{=RX@O&Tw04;vvu$NL%_Ul=VTk)#wVb*}bG%m^{c
z4`nYJQJP?Pp^}ZNiqiidi%@j}S_2jvyeaQ!ZcL)vm%PZBUwkTd4fY&#9^!lUMVRR)
zb5O9$?{kyhHjUsk&$b{n`MIbATXYBLC2D|eetPi#ks=IlsAA{#Q~l-l^Vz$YFHJZ1
zjR{&`jZbfnX};$Ch2;DDk>__H`!lm8_~YAG1}w#2scY6|@GlE}4UqryMZBc?_%ib?
zq-+>TNx_*~6(yT0BC=z-ZeeLMAEbrcM7y>Le!b*Zmbb%jq1QyL$x#?cqA}mgQ)wt|
zdUD~g@Ybvk5DF>D4mdwDu5nv9l;xSHX?mz2nc;mETlp_+=6~f+{=a`ODY=jI0rYkm
z4+KP==SXT)see+d|9f`#X;Bb)W$`Hav6EA}@u+7p)c-N8A$7_H=Pd2gednds?%J^>
z-41@so|~qawF|~z^8vueW4XWGesQX@owojY0WII4H+sEGe<Gvbv(buSAB_fkeSxi<
znkfl8B<bKw9c;rE-yJX$RmdmC8GVbyP$Y{?X(d{(e`&P*bF;Szu9}`kHBPbQWdK$J
zJCw8Y$*z;U;=f(#KCeEdoq(bX62^#UsGE&9$1l?vFpd$xEea*3&=dyqKxz`@f7f$<
z!}BeO^91ENF!W*s#@}_7zH>&LIlEo_<8w((OwVN7aSl;Z?aMb1_9QUAfr<<wtqq?c
zl_AoSTI#L9hkoO==R-B9gXSXW9xWz79TNFfNvejc`%E5YHWeJoMvz1FNr2hX33;P9
zs`f1+>oulmn;3u7;A4epfnJ^rR9%jWxxNg$_wNltMAQHFxc?^~X<TdaH_vHype&Y)
zu&n&vt3U<-K~rdG#6adIoFS>hQ93V0-|PB~LIV?@Ns~zQvx<<*Nu-}h&mi~p(Ln76
z5rEIfwHU~uc!yIEvL0YPdf>s21F_yuAO+6(_^v)ZtAlnEttD9b%F!fk!drjv0M@#6
zNN(tJPLFCo6ita6LG^bI{cbRO)=)JACDINMOVGdH&1tZqgFfNojjj`*@*@)w^_}tN
zixRhkbK*}e-k8kOcMM}Cf9hl7VhU*(3-jJlt~KX)`U@$G^7Cm6?RM_OSXQdP-8ZVH
z7Ur!KJ-vPbE1KoEm2XCSl4W@in<RP$@^2+mW7Z-KIdba!h+(b_Vn58Qcc!uJ;PUDi
zZ{ZR*@n2Tsr|PvaD(1ljedtW^So(qQJQ-*<g(mc@Jnyw#K{Va4MySe1@mbz;ia2`<
zuAfTgqfRV8oaT;$6H*6%UvJMfOJP?{5a%4aH1#r6Y+<})UlJi!-4Ab<k#Q(#Ph(+a
zQJ$^NEShpiU${mCoiMAok^+smxzGH^+d#6b8ZOv^w+UQ}>fll%@^Ix1a%%5I&%@zE
z<@0sam&|?fdZB|#p=IQ<UE?=by5H0fgs_@lx})!~d_Y@v-c@%gcaA3z`t9|MHuNFs
z-DO%|QI}J(U~cG}e|AX9<vDVzB<jrRQ`-%(Zsv!-koayCL*)8)mGG5TMt=T^4k!5i
zxu^`|-#SL&p2A=;g0G=<+a=?pK(9Br{*3rK8Z^6EXG}Bol5UG5TVbq|%jTQgvlZz?
zNKIsfQU*atGI635@)&Zp(AJ`HlKi)Z|3Qa;(D~R0sINPnee^H*o-^{%kAI}KrjcQ;
z`^E~@q#D#MmGLoqv=qw&|KsFh2$p$pl=M=tgT6+X`-;9C#g5>~Gs9`!60BaKxS{h_
zQtbKY`paQa1Oz}Zs5J|haF&QrK+PlxTn(O4qY{XkLT@!MlZx1l8KyB#O<7rUWp^h@
z`%H@l^z2m6+4wtH9Lu<2FW$8N>}{xb;l0_SURl50xg>UOPSf^+%4$r#aOT0(Bx*kx
z5nm5RmPSIiUx_8Oubzq5InZ$WJHG2XX+|!hB^df)9{I-5&fqGp-*W%<47}Sw;L*A3
z-^8E3WBdcX|C!OEpefM<0z0J}a?1;zap&xyHh@@~)&K;0egyAcC&zZUGPT$bmwbzL
zr%wQo#ae0c$w^@MA%Bg~Vxk@v1)aUdDYubOsAlX(`rn^9a9>{IHXoG-3lZnQ$Cw=*
za8tdc+ORW$(Nja@apB7oy#4VfhS*89=o$UfK-lzLZuRmJ{Sn&c`o?r-6lZZib9c)M
zbJp1NMV?TJzy=O6IuVO+=k8)s->YDLqJRZlx4Hh5rjF4)?17bgegEBI89oT!at%pe
z9CwZ@4}%G*G+zr{)lq!2p`Z|`(-jad(#S;k78y+-nd$HXzHxbc)Nc!GM&~n(S<JYY
zW9plV8=7Fp<=%N2<bI_x{$=TG`aE_EzHGd5<<Pm16*lN(iP7;r1{#Ck_DzwdjCy`W
z@T$1e(OO@z6A0}?8xM2&4tI(fnO3FKJ8R$m{`2}>0;Jy8K>hW&bkdKs=9>GPgre1b
zErrRtB=aOIOlcHz&o5I6aY7C)u|-e^F*3_cB2Ks61{gWJIp1V8pbzFbrtGYu=|Jlo
z2b!8rIk{Y5LtQZH)X<@0%H>*8!B@{j-pVIIXa$9zRglWnlD8~70S)j;T3Y4YXx`}z
zflFyVSOpZp<6pBCMe#FJh~1Ctm5_$&^Wgt5&=vQ)oMn}Wmm9i@@#^E3_B(9~SfzAz
z0#8V_)*J4Ujsd)yIoq6A^fYwk+5%-EimaP3C!PfYgv6vh8C_{&O2aW^{glQIZ9z)T
zGQ6T-={Ps!x(Iy1-SrpJLz~dej;q$Ozhj>pWx3j)$+DKR`H=)ld`mR^C7NLNPeL2-
zIW<6o3PfE1a7L!1#(SLuiimij?-A0jWIDV>auh0~?!wlMv1@oO+|q}NnWThBLXJY%
zlng(_I0_Yw11HTn6JkySk08KQ13k)s#r);7H-h5J6NlHFOE=-YepNj_<KvIaTh8f~
z<c2R|ov4B$KxJ*Ni-XngyYsySf!gf&wt2!~u3oj1ukwmdjMjJe7K?0}2~n0|fy=v0
z!I|g;WCl2sz1Npnp?aH{RbMD=H$8#fHDmx>ab<l{FU|vP$J6@4tlqTxtSWRxPe0x|
zLFe0J&Cx|K3&_L@=&|Rx!2%7w=KOjQ1nax<Q|?(3vq^2@2MILs88sKrInIag^2SZl
zass!v5@ooLd@o<zc+9x3uRC!M-ANcPP^L5pwU}D^6M8M)YSLaL?NUPS`!&v!Rl$KA
zs}PfZA1_C{Yadqddt*Mmsb@>x9ts<0M_Vf&T?Q)lAcj@W5@~knE^QA5&SpAZ;jd%M
z?e*qX6`PO3=cPOgj>NvZ?m^&{1)JuXw7G_T@GSOO2IRiwLt-RE>`4|2XH!c4VegiD
zxHC%AgY`l2Tkn{;XVV=&eC>=fS_+@mPAcvK%yg>$EcmAw&2}gl8u#6ybwAba1<;^5
z!6}2O|IMSCT&ye+b#>zQPBBdtNH&|-bXHD__lzhUzdGU8<-k(6?*|h^WP0;ZY%6z*
zFA@Gy^mfE74>Iip2a}td=GG_hnVuy7J|T4S6jaR{c3@xPz8~<4b=W^V3&>WGr8kw<
z7u2>&0zn$&3wb-3kH5JZUP&gxu<tR_$?8t~H`?r=<nk|uygS-QBCR~QY|94tgevE5
zTUwv@;f~!ZS}mPSDIf9+nID`u@tdPL#E4n~sY1L=V@TFv6L0IdfrB65GCKp<j67ll
zo3<w?CxUYmP;T-Ou&dzKUYuDC(ReV^lCr@7F?GFquN7shZ%BLrQutP24$O<CvoE>}
z82A?wQ$aGBWAk~2MQ)Ti5vN_=wWWAlv~#S&@BB}XBcZwjENUs-Sr|#NeqHV|RcvmU
z$XK1CYF_aY_-#RJk|JH1Evvg=Pum_6rnb-?U!8R@_m%!TDab$^S0>wOVsHSq^Gcl}
zF_@HFTVGIvBT1W3FPKdYPwCb4!sicQF!nj&=Mw&N;iK|4zfLOH-0&tJ)_7&3(HAqL
z#%=Kqu4Iy7FU;|6x4cr%JqsC<7v=hChubQ0O8w6(+SPCst|Ni~i@G*s(=1EuZ3Z(#
z*H_a{qgMLQ?FXea*4hyo@y%vh0W{6ej%a8E<><5t@7^F7UOSkJ4x7IM3;D-<c?^dC
zeeM1~Sxo-z0vZ6#DD1n=j}BVB1lQksg%<<YZ5_=78oi@YFdjH8I4N`C1kijeHv%&A
z;v--yY{enu5uF?+RDYc$liFQhvO(c?H&jwF$}Z$6LH={@ost7?v}Xo>!ouc#=SxBG
z=Hgb_eSo-jB6lRm>V172*|<A^1I@=+XUxB<(1tDc>1`p1gl`sy{qs@dYk~L1sz~nc
zN}Z!qt_$b(Qv~Gjq%H7EsI5hRdZz&g_td8I$D%x!yRFfDiN=Os4CAbuMh!eOeEIa*
z{h-lz#Bwie-Tf}~0iGI}cY!~<S`_AhDQ@Y?5Qc`_8j)5-3yx;74Xm)hMZw4<vZu+x
zZWmt5$`3o;!zto^+G*N0AMl<3+~xg}-kj%1eY$+7>y<<TY&Iw5%x6~O(H~ZO<UJa{
z_qrVCaOhe_4&1<rEFknCDNVTBBO{GGo$t~0EOjOQGkc^174hU6l^~D39;F_gORlxm
zr@9nvEcYEsV?r06?c&!}2;p5FeWH!Cnefr3(xuE2Cq^%J%swIVra#rob4&D!q4rk8
zO|o-LKqLfLs4Hup`te-ll>B_l)RTTo-x@$syC)h+=<Fj(`eh7wg@@GdlDSX~5*0$(
znB|xXqKm#1RY`jSLc&o|pRZ*9BLSLn0Kwe(!`>-3yjh61@UZ`f)z6;StHQa>PWmjK
zQyGI&r!6C98goLkHQ`M!M;)u&eC__<Q|H1oE0D;hZZ<nZ^-~QEvfEsJ?VKjYot!s$
z*8NjUE%DBl)9x}^#Hhu*k&OB0L+8;&w^sul6!#&a4J>en9A^Ma#Nba=&+rexasyb@
zIO*z|o1^5itKs8HB3Deh7w^Eb*8uGI8~{?BQ*Rf`wOunxgWXFMKE5i*KU7J*Xlq^u
zSG<rzJBR>ZW+l7rPV%(1-Y>-Nt~wjcE5qqL0Ahhd)3EGih--YKWAX8a+ZW!;QgKKA
zO~A#UVB2qm194$OPbZEc>h{)0jeJ_Z+RasNL83#HqRZ)XJQ9iWJL64e?e*c7&VuH{
zXD)hNl<$OOHcc~isn@QE3)ox%4L3_p_<VL$Uk!#C1e{ttCuO%{3$SuL4ah14WbPJr
zb%(^_!EUmUy{kBoa>e(F8d4t%D&q{MFFwFXm^bv8nY`#FT%NMk&AE#d>sUd@cEC5c
zx~p#p>VLs#ph(WT3H=A;vIj5ZtV*ujB0XDRmY#rJvL6;#OsfM!V+|Ud*M59WRbhF@
zhDH7${5j=b=r)$puCJtK>=)OV{g<a@KYEkc2s%~eP5*!|!Go_#8w_2IyMcdSX*nAo
z_L>k_YU(u`HLS2q*A**YEPDvzoNlrxwl-|a&oUi;mzL@quckazt*#jRNjOSIUDe0Z
zr`P`T8r&hpvCZot!aSkx14ZAH(9~E)hb$(_*wfx7Wu?dc;lN_!mDoc-^6y<VFepah
zF)7Lc-Dm0Cvl=10;VLa<#(vQ1TCahh5F6Im$cL4@%(5*RR$l_Iu(J%Z%V2)jcaJ&B
zku|3P5nS{Y6%=@flQwo9Lwp$S5++vh>^8O`yUND2NLWvCYBoM2fnMgF{73$eqZW+y
zNSD})w$}EM%Q`E*LZ&sG`kwDBs7vIQz2B36d(N6}+Dj?mVIe0kk`+L<il?p?RZ^vt
zHp~pq9%P%hJyYHaSCPwW7LEG@tKP;X=zGq9Ea$DE2l>X&B-*pyFx`ip*8Y4k>+ab#
ztD1%@%PH!r4W^<raO{DrY{|lY0a;Ail%s5lkvVl67nU{wr33PXr~X(WL$xBV!`xB8
zcYjuILEhcEg*Q>u&}At0R)~y5o0p|rfeZ1p=Wu5*8`4XvowLCYm@E{3dR;b}gX~BL
z_Z4iRkcJR++B`Km?BWwYQ%~`6v21B>PA#lsG}(;D7Q=i9g*9r(@As#4+agzH?EF+B
zB}`hPe@r#hy%3z((FT5NitWDpkJ-`9uHzedHkncu@j5`h3|9udD-oQBWF;LWAE89D
zenA;`txW|pB88kDPU)$fhM)cF0MH{A8p!l^&O2+D-;6KGODNbCZMA1S3px|zVKgwT
zSM%R?r@Clgveehmc^=blZdJZD*J<(v)1(<0tm<l~Ggqcw`0J8#l|N{8pdtKBU8Kqd
z2a~CLZ`sl9HT{LQyVt+b?A4cE<kA~lZ(kTCaB0(dj+2{wW{DoY-WwVlv^}FySZ(nO
zj{t@zT$AQZT9ntO(XqVK?_$mDg5%A<%kP-ZUumlo$S*W^(ND97{p{b~@5ubBzO+m6
zQSg>{wL69n{@wk~Yq#XfMi(2evhF9h+ic`-?|ZoX%DibB?MSAW{F;2}sK7_fTl$mp
zBtF#V{cf8dR28x4Lj1L*OLHQ&eTiL~cHn5V*byc6TtQ}zlN>KrTzeiFuI@Tn?T9bi
z%bBI;3Yi+%1zW1Virp@)Jo8M&v;o-Y?w;M!u~YG>?#mz7iUo>uWRH3SGrjL+PL1m?
zWH(>akJbuSdANGnD~Wc+2Ct-!hKpu%!wRxjyjh;H_>^_-VJ79P^0R-J1JA{|aOK~U
zFPlZ&&(p?}a;ny@pK=e&JImi*2wX-64nF1Ng^!fp{+O{t!s6RRgAEhkEJ{+kq2P8V
zIazu3vWv}Zxs#Zd-CgarVyelB0H!Ie415kN%wyJDPF8l%01ms~_Pbw{duZ>?2_Mdx
z@6Aj1y|ty#w&+&Cr%$WRlBOG-WtH2Lwd%R&CcBna!3#?f(OQobAvBFv>xsWDZcPb(
z7Bq2p#StEr<hk4G4!-sly6<?|e9d*`X??TT%vPGKdV7b*a>WJ*ucU_7<hsgLM+G;P
d3d0tjkkAE(9y5(2AHauL2{+SdVgmdBn*iOv+nxXb

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Page/IATSCustomerLink.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Page/IATSCustomerLink.tpl
new file mode 100644
index 0000000000..528b8ca1c8
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Page/IATSCustomerLink.tpl
@@ -0,0 +1,15 @@
+<h3>Customer Information</h3>
+<table>
+<tr><th>Label</th><th>Value</th></tr>
+{foreach from=$customer item=custValue key=label}
+<tr><td>{$label}</td><td>{$custValue}</tr>
+{/foreach}
+</table>
+
+<h3>Card Information</h3>
+<table>
+<tr><th>Label</th><th>Value</th></tr>
+{foreach from=$card item=cardValue key=label}
+<tr><td>{$label}</td><td>{$cardValue}</tr>
+{/foreach}
+</table>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Page/iATSAdmin.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Page/iATSAdmin.tpl
new file mode 100644
index 0000000000..b88763fcc3
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Page/iATSAdmin.tpl
@@ -0,0 +1,58 @@
+{if $jobLastRunWarning == 1}
+  <h3>{if $jobOverdue != ''}{ts}Warning!{/ts}{else}{ts}Cron Running{/ts}{/if}</h3>
+  <p>The current time is {$currentTime}</p>
+  <p>Your iATS Payments extension version is {$currentVersion}</p>
+  <p>{ts 1=$jobLastRun}Your iATS Payments cron last ran at %1.{/ts}</p>
+  <p>{if $jobOverdue != ''}<strong style="font-size: 120%">{ts}Your recurring contributions for iATS Payments requires a correctly setup and functioning cron job that runs daily. You need to take action now.{/ts}</strong>{else}{ts}It's all good.{/ts}{/if}</p>
+{/if}
+
+
+<h3>Recent transations using iATS Payments</h3>
+<form method="GET">
+  <fieldset><legend>Filter results</legend>
+    <div><em>Filter your results by any part of the last 4 digits of a Card Number or the Authorization Result:</em></div>
+    <table>
+      <tr>
+        <td>Card Number (last 4 digits): <input size="4" type="text" name="search_cc" value="{$search.cc}"></td>
+        <td>Authorization Result: <input size="11" type="text" name="search_auth_result" value="{$search.auth_result}"></td>
+        <td><input type="submit" value="Filter" class='crm-button'></td>
+     </tr>
+    </table>
+  </fieldset>
+</form>
+
+<table class="iats-report">
+  <caption>Recent transactions with the IATS Payment Processor</caption>
+  <tr>
+    <th>{ts}Invoice{/ts}</th>
+    <th>{ts}Contact{/ts}</th>
+    <th>{ts}Request IP{/ts}</th>
+    <th>{ts}Card Number{/ts}</th>
+    <th>{ts}Total{/ts}</th>
+    <th>{ts}Request DateTime{/ts}</th>
+    <th>{ts}Result{/ts}</th>
+    <th>{ts}Transaction ID{/ts}</th>
+    <th>{ts}Response DateTime{/ts}</th>
+  </tr>
+  {foreach from=$iATSLog item=row}
+    <tr>
+      {if $row.contributionURL != ''}
+      <td><a href="{$row.contributionURL}">{$row.invoice_num}</a></td>
+      {else}
+      <td>{$row.invoice_num}</td>
+      {/if}
+      {if $row.contactURL != ''}
+      <td><a href="{$row.contactURL}">{$row.sort_name}</a></td>
+      {else}
+      <td></td>
+      {/if}
+      <td>{$row.ip}</td>
+      <td>{$row.cc}</td>
+      <td>{$row.total}</td>
+      <td>{$row.request_datetime}</td>
+      <td>{$row.auth_result}</td>
+      <td>{$row.remote_id}</td>
+      <td>{$row.response_datetime}</td>
+    </tr>
+  {/foreach}
+</table>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/Subscription.tpl b/civicrm/ext/iatspayments/templates/CRM/iATS/Subscription.tpl
new file mode 100644
index 0000000000..9f9f32d124
--- /dev/null
+++ b/civicrm/ext/iatspayments/templates/CRM/iATS/Subscription.tpl
@@ -0,0 +1,28 @@
+{*
+ Extra fields for updating the subscription, buried in a fake table so I
+ can move the rows where they belong
+*}
+<table id="contributionrecur-extra">
+<tr class="contribution-status-id"><td class="label">{$form.contribution_status_id.label}</td>
+        <td class="content">{$form.contribution_status_id.html}</td></tr>
+<tr class="payment-processor-id"><td class="label">{$form.payment_processor_id.label}</td>
+        <td class="content">{$form.payment_processor_id.html}</td></tr>
+<tr class="start-date"><td class="label">{$form.start_date.label}</td>
+        <td class="content">{$form.start_date.html}</td></tr>
+<tr class="next-sched-contribution-date"><td class="label">{$form.next_sched_contribution_date.label}</td>
+        <td class="content">{$form.next_sched_contribution_date.html}</td></tr>
+<tr class="is-email-receipt"><td class="label">{$form.is_email_receipt.label}</td>
+        <td class="content">{$form.is_email_receipt.html}</td></tr>
+</table>
+<table id="contributionrecur-info">
+<tr><td class="label">Contact Name</td>
+	<td class="content"><strong>{$form.contact.label}</strong></td></tr>
+<tr><td class="label">Payment Processor</td>
+	<td class="content"><strong>{$form.payment_processor.label}</strong></td></tr>
+<tr><td class="label">Financial Type</td>
+	<td class="content"><strong>{$form.financial_type.label}</strong></td></tr>
+<tr><td class="label">Payment Instrument</td>
+	<td class="content"><strong>{$form.payment_instrument.label}</strong></td></tr>
+<tr><td class="label">Failure Count</td>
+	<td class="content"><strong>{$form.failure_count.label}</strong></td></tr>
+</table>
diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/USD_check_500x.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/USD_check_500x.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..51842efa8b8f2e2921defa2088fdabec577cd65f
GIT binary patch
literal 58859
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
M{-67WCqEbe2b7ws^8f$<

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/bacs.png b/civicrm/ext/iatspayments/templates/CRM/iATS/bacs.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0e1fe25666ca49264767c586a2df4258b3dad0d
GIT binary patch
literal 2616
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

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/credit_card_reader.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/credit_card_reader.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..891234f2686401a54d4b79f27b33f59c88f5c998
GIT binary patch
literal 20631
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
Le|@TiU!(s5Tdpz0

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/direct-debit.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/direct-debit.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0fc1c6a65cc6067019cbcf012e2d81ea1fd14d1b
GIT binary patch
literal 2372
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
VO^aZ#$k_1oF^9@}Y#qF@zW}5yE++s0

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/iats.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/iats.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f0929209c24d527e68dd5c1fa04c2507b8bef9a9
GIT binary patch
literal 2753
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
X)`;thb_vE0#OAC&YI_)&zdiO}vlngk

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/templates/CRM/iATS/usb_reader.jpg b/civicrm/ext/iatspayments/templates/CRM/iATS/usb_reader.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fed3ae17c40f69b7725e77b097c142ef52d6608f
GIT binary patch
literal 14396
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
aIo=O}8Qy+BW%@W+kykP?n}>co`F{XZ+KMUw

literal 0
HcmV?d00001

diff --git a/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/BaseTestClass.php b/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/BaseTestClass.php
new file mode 100644
index 0000000000..e33a4f9f06
--- /dev/null
+++ b/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/BaseTestClass.php
@@ -0,0 +1,196 @@
+<?php
+
+use Civi\Test\HeadlessInterface;
+use Civi\Test\HookInterface;
+use Civi\Test\TransactionalInterface;
+
+/**
+ * FIXME - Add test description.
+ *
+ * Tips:
+ *  - With HookInterface, you may implement CiviCRM hooks directly in the test class.
+ *    Simply create corresponding functions (e.g. "hook_civicrm_post(...)" or similar).
+ *  - With TransactionalInterface, any data changes made by setUp() or test****() functions will
+ *    rollback automatically -- as long as you don't manipulate schema or truncate tables.
+ *    If this test needs to manipulate schema or truncate tables, then either:
+ *       a. Do all that using setupHeadless() and Civi\Test.
+ *       b. Disable TransactionalInterface, and handle all setup/teardown yourself.
+ */
+abstract class BaseTestClass extends \PHPUnit_Framework_TestCase implements HeadlessInterface, HookInterface, TransactionalInterface {
+  //class BaseTestClass extends \PHPUnit_Framework_TestCase implements HeadlessInterface, HookInterface {
+
+  /**
+   * Configure the headless environment.
+   */
+  public function setUpHeadless() {
+    // Civi\Test has many helpers, like install(), uninstall(), sql(), and sqlFile().
+    // See: https://github.com/civicrm/org.civicrm.testapalooza/blob/master/civi-test.md
+    return \Civi\Test::headless()
+      ->installMe(__DIR__)
+      ->apply();
+  }
+
+  private $_apiversion = 3;
+
+  /**
+   * wrap api functions.
+   * so we can ensure they succeed & throw exceptions without litterering the test with checks
+   *
+   * @param string $entity
+   * @param string $action
+   * @param array $params
+   * @param mixed $checkAgainst
+   *   Optional value to check result against, implemented for getvalue,.
+   *   getcount, getsingle. Note that for getvalue the type is checked rather than the value
+   *   for getsingle the array is compared against an array passed in - the id is not compared (for
+   *   better or worse )
+   *
+   * @return array|int
+   */
+  public function callAPISuccess($entity, $action, $params, $checkAgainst = NULL) {
+    $params = array_merge(array(
+      'version' => $this->_apiversion,
+      'debug' => 1,
+    ),
+      $params
+    );
+    switch (strtolower($action)) {
+      case 'getvalue':
+        return $this->callAPISuccessGetValue($entity, $params, $checkAgainst);
+
+      case 'getsingle':
+        return $this->callAPISuccessGetSingle($entity, $params, $checkAgainst);
+
+      case 'getcount':
+        return $this->callAPISuccessGetCount($entity, $params, $checkAgainst);
+    }
+    $result = $this->civicrm_api($entity, $action, $params);
+    $this->assertAPISuccess($result, "Failure in api call for $entity $action");
+    return $result;
+  }
+  /**
+   * This function exists to wrap api getValue function & check the result
+   * so we can ensure they succeed & throw exceptions without litterering the test with checks
+   * There is a type check in this
+   *
+   * @param string $entity
+   * @param array $params
+   * @param string $type
+   *   Per http://php.net/manual/en/function.gettype.php possible types.
+   *   - boolean
+   *   - integer
+   *   - double
+   *   - string
+   *   - array
+   *   - object
+   *
+   * @return array|int
+   */
+  public function callAPISuccessGetValue($entity, $params, $type = NULL) {
+    $params += array(
+      'version' => $this->_apiversion,
+      'debug' => 1,
+    );
+    $result = $this->civicrm_api($entity, 'getvalue', $params);
+    if ($type) {
+      if ($type == 'integer') {
+        // api seems to return integers as strings
+        $this->assertTrue(is_numeric($result), "expected a numeric value but got " . print_r($result, 1));
+      }
+      else {
+        $this->assertType($type, $result, "returned result should have been of type $type but was ");
+      }
+    }
+    return $result;
+  }
+  /**
+   * This function exists to wrap api getValue function & check the result
+   * so we can ensure they succeed & throw exceptions without litterering the test with checks
+   * There is a type check in this
+   * @param string $entity
+   * @param array $params
+   * @param null $count
+   * @throws Exception
+   * @return array|int
+   */
+  public function callAPISuccessGetCount($entity, $params, $count = NULL) {
+    $params += array(
+      'version' => $this->_apiversion,
+      'debug' => 1,
+    );
+    $result = $this->civicrm_api($entity, 'getcount', $params);
+    if (!is_int($result) || !empty($result['is_error']) || isset($result['values'])) {
+      throw new Exception('Invalid getcount result : ' . print_r($result, TRUE) . " type :" . gettype($result));
+    }
+    if (is_int($count)) {
+      $this->assertEquals($count, $result, "incorrect count returned from $entity getcount");
+    }
+    return $result;
+  }
+  /**
+   * This function exists to wrap api getsingle function & check the result
+   * so we can ensure they succeed & throw exceptions without litterering the test with checks
+   *
+   * @param string $entity
+   * @param array $params
+   * @param array $checkAgainst
+   *   Array to compare result against.
+   *   - boolean
+   *   - integer
+   *   - double
+   *   - string
+   *   - array
+   *   - object
+   *
+   * @throws Exception
+   * @return array|int
+   */
+  public function callAPISuccessGetSingle($entity, $params, $checkAgainst = NULL) {
+    $params += array(
+      'version' => $this->_apiversion,
+      'debug' => 1,
+    );
+    $result = $this->civicrm_api($entity, 'getsingle', $params);
+    if (!is_array($result) || !empty($result['is_error']) || isset($result['values'])) {
+      throw new Exception('Invalid getsingle result' . print_r($result, TRUE));
+    }
+    if ($checkAgainst) {
+      // @todo - have gone with the fn that unsets id? should we check id?
+      $this->checkArrayEquals($result, $checkAgainst);
+    }
+    return $result;
+  }
+  /**
+   * Check that api returned 'is_error' => 0.
+   *
+   * @param array $apiResult
+   *   Api result.
+   * @param string $prefix
+   *   Extra test to add to message.
+   */
+  public function assertAPISuccess($apiResult, $prefix = '') {
+    if (!empty($prefix)) {
+      $prefix .= ': ';
+    }
+    $errorMessage = empty($apiResult['error_message']) ? '' : " " . $apiResult['error_message'];
+    if (!empty($apiResult['debug_information'])) {
+      $errorMessage .= "\n " . print_r($apiResult['debug_information'], TRUE);
+    }
+    if (!empty($apiResult['trace'])) {
+      $errorMessage .= "\n" . print_r($apiResult['trace'], TRUE);
+    }
+    $this->assertEquals(0, $apiResult['is_error'], $prefix . $errorMessage);
+  }
+  /**
+   * A stub for the API interface. This can be overriden by subclasses to change how the API is called.
+   *
+   * @param $entity
+   * @param $action
+   * @param array $params
+   * @return array|int
+   */
+  public function civicrm_api($entity, $action, $params) {
+    return civicrm_api($entity, $action, $params);
+  }
+
+}
diff --git a/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/ContributionIATSTest.php b/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/ContributionIATSTest.php
new file mode 100644
index 0000000000..81def34a36
--- /dev/null
+++ b/civicrm/ext/iatspayments/tests/phpunit/CRM/iATS/ContributionIATSTest.php
@@ -0,0 +1,278 @@
+<?php
+
+// KG I need this - BestTestClass does not always autoload in local IDE
+require_once __DIR__ . '/BaseTestClass.php';
+
+use Civi\Test\HeadlessInterface;
+use Civi\Test\HookInterface;
+use Civi\Test\TransactionalInterface;
+
+// KG
+use Civi\Payment\System;
+
+
+/**
+ * FIXME - Add test description.
+ *
+ * Tips:
+ *  - With HookInterface, you may implement CiviCRM hooks directly in the test class.
+ *    Simply create corresponding functions (e.g. "hook_civicrm_post(...)" or similar).
+ *  - With TransactionalInterface, any data changes made by setUp() or test****() functions will
+ *    rollback automatically -- as long as you don't manipulate schema or truncate tables.
+ *    If this test needs to manipulate schema or truncate tables, then either:
+ *       a. Do all that using setupHeadless() and Civi\Test.
+ *       b. Disable TransactionalInterface, and handle all setup/teardown yourself.
+ *
+ * @group headless
+ */
+class CRM_iATS_ContributioniATSTest extends BaseTestClass {
+
+  public function setUpHeadless() {
+    // Civi\Test has many helpers, like install(), uninstall(), sql(), and sqlFile().
+    // See: https://github.com/civicrm/org.civicrm.testapalooza/blob/master/civi-test.md
+    return \Civi\Test::headless()
+      ->installMe(__DIR__)
+      ->apply();
+  }
+
+  public function setUp() {
+    $this->_apiversion = 3;
+    parent::setUp();
+  }
+
+  public function tearDown() {
+    parent::tearDown();
+  }
+
+  /**
+   * Test a Credit Card Contribution - one time iATS Credit Card - TEST41 - Backend
+   */
+  public function testIATSCreditCardBackend() {
+
+    $params = array(
+      'sequential' => 1,
+      'first_name' => "Can",
+      'last_name' => "ada",
+      'contact_type' => "Individual",
+    );
+
+    $individual = $this->callAPISuccess('contact', 'create', $params);
+
+    // Need to create a Payment Processor - iATS Credit Card - TE4188
+    $this->paymentProcessor = $this->iATSCCProcessorCreate();
+
+    $processor = $this->paymentProcessor->getPaymentProcessor();
+    $this->paymentProcessorID = $processor['id'];
+
+    $form = new CRM_Contribute_Form_Contribution();
+    $form->_mode = 'Live';
+
+    $contribution_params = array(
+      'total_amount' => 1.00,
+      'financial_type_id' => 1,
+      'receive_date' => '08/03/2017',
+      'receive_date_time' => '11:59PM',
+      'contact_id' => $individual['id'],
+      'payment_instrument_id' => 1,
+      'contribution_status_id' => 1,
+      'credit_card_number' => 4222222222222220,
+      'cvv2' => 123,
+      'credit_card_exp_date' => array(
+        'M' => 12,
+        'Y' => 2025,
+      ),
+      'credit_card_type' => 'Visa',
+      'billing_first_name' => 'Karin',
+      'billing_middle_name' => '',
+      'billing_last_name' => 'G',
+      'billing_street_address-5' => '39 St',
+      'billing_city-5' => 'Calgary',
+      'billing_state_province_id-5' => 1031,
+      'billing_postal_code-5' => 10545,
+      'billing_country_id-5' => 1228,
+      'frequency_interval' => 1,
+      'frequency_unit' => 'month',
+      'installments' => '',
+      'hidden_AdditionalDetail' => 1,
+      'hidden_Premium' => 1,
+      'receipt_date' => '',
+      'receipt_date_time' => '',
+      'payment_processor_id' => $this->paymentProcessorID,
+      'currency' => 'CAD',
+      'source' => 'iATS CC TEST88',
+    );
+
+    $form->testSubmit($contribution_params, CRM_Core_Action::ADD);
+
+    $contribution = $this->callAPISuccessGetSingle('Contribution', array(
+      'contact_id' => $individual['id'],
+      'contribution_status_id' => 'Completed',
+    ));
+    $this->assertEquals('1.00', $contribution['total_amount']);
+    $this->assertEquals(0, $contribution['non_deductible_amount']);
+
+    // Make sure that we have a Transaction ID and that it contains a : (unique to iATS);
+    $this->assertRegExp('/:/', $contribution['trxn_id']);
+
+    // LineItems; Financial Tables;
+  }
+
+  /**
+   * Test a SWIPE Contribution - one time iATS SWIPE - TEST41 - Backend
+   */
+  public function testIATSSWIPEBackend() {
+
+    $params = array(
+      'sequential' => 1,
+      'first_name' => "Can",
+      'last_name' => "ada",
+      'contact_type' => "Individual",
+    );
+
+    $individual = $this->callAPISuccess('contact', 'create', $params);
+
+    // Need to create a Payment Processor - iATS SWIPE - TE4188
+    $this->paymentProcessor = $this->iATSSWIPEProcessorCreate();
+
+    $processor = $this->paymentProcessor->getPaymentProcessor();
+    $this->paymentProcessorID = $processor['id'];
+
+    $form = new CRM_Contribute_Form_Contribution();
+    $form->_mode = 'Live';
+
+    $contribution_params = array(
+      'total_amount' => 2.00,
+      'financial_type_id' => 1,
+      'receive_date' => '08/03/2017',
+      'receive_date_time' => '11:59PM',
+      'contact_id' => $individual['id'],
+      'payment_instrument_id' => 1,
+      'contribution_status_id' => 1,
+      // we have some JS that pre-pends e.g. 00|@| when we have an IDTECH encrypted swiper - not sure how to test that - so pre-pending it here (for now)
+      'credit_card_number' => '00|@|02B701801F422300039B%*4222********2220^PAYMENTSTESTCARD/IATS^***********************?*;4222********2220=***************?*FED6CC57978E86AD50F2F9ED1F6C5C46DFA701B5AC802A4419DDAC1EE1BC1C12CD18DC31DA214C1D14C40550D3282C01E1F81900A46990876624179BD99164C523C37C0C78797BFDB52B378F47B7E14F39C9D3956F02D53F0E1A4B8774BCD74721F7D1E15BFEF934E9FB6BC38107960572ECC0405546DCF6035E78D7BDCC3A43A5EED1CD223A07AB70232D8A3FC073D3C8170736F266783AFFFF73813900042002705F8303',
+      // cvv2 is not required
+      'credit_card_exp_date' => array(
+        'M' => 12,
+        'Y' => 2025,
+      ),
+      'credit_card_type' => 'Visa',
+      'billing_first_name' => 'Karin',
+      'billing_middle_name' => '',
+      'billing_last_name' => 'G',
+      'billing_street_address-5' => '39 St',
+      'billing_city-5' => 'Calgary',
+      'billing_state_province_id-5' => 1031,
+      'billing_postal_code-5' => 10545,
+      'billing_country_id-5' => 1228,
+      'frequency_interval' => 1,
+      'frequency_unit' => 'month',
+      'installments' => '',
+      'hidden_AdditionalDetail' => 1,
+      'hidden_Premium' => 1,
+      'receipt_date' => '',
+      'receipt_date_time' => '',
+      'payment_processor_id' => $this->paymentProcessorID,
+      'currency' => 'CAD',
+      'source' => 'iATS SWIPE TEST88',
+    );
+
+    $form->testSubmit($contribution_params, CRM_Core_Action::ADD);
+
+    $contribution = $this->callAPISuccessGetSingle('Contribution', array(
+      'contact_id' => $individual['id'],
+      'contribution_status_id' => 'Completed',
+    ));
+    $this->assertEquals('2.00', $contribution['total_amount']);
+    $this->assertEquals(0, $contribution['non_deductible_amount']);
+
+    // Make sure that we have a Transaction ID and that it contains a : (unique to iATS);
+    $this->assertRegExp('/:/', $contribution['trxn_id']);
+
+    // LineItems; Financial Tables;
+  }
+
+
+  /**
+   * Create iATS - TEST41 CC Payment Processor.
+   *
+   * @param array $processorParams
+   *
+   * @return Instance of CC Payment Processor
+   */
+  public function iATSCCProcessorCreate($processorParams = array()) {
+    $paymentProcessorID = $this->processorCreateCC($processorParams);
+    return System::singleton()->getById($paymentProcessorID);
+  }
+
+  /**
+   * Create iATS - TEST41 SWIPE Payment Processor.
+   *
+   * @param array $processorParams
+   *
+   * @return Instance of SWIPE Payment Processor
+   */
+  public function iATSSWIPEProcessorCreate($processorParams = array()) {
+    $paymentProcessorID = $this->processorCreateSWIPE($processorParams);
+    return System::singleton()->getById($paymentProcessorID);
+  }
+
+  /**
+   * Create iATS Credit Card - TEST41 Payment Processor.
+   * Payment Processor Type: 13 is iATS Payments Credit Card
+   *
+   * @return int
+   *   Id Payment Processor
+   */
+  public function processorCreateCC($params = array()) {
+    $processorParams = array(
+      'domain_id' => 1,
+      'name' => 'iATS Credit Card - TE4188',
+      'payment_processor_type_id' => 13,
+      'financial_account_id' => 12,
+      'is_test' => FALSE,
+      'is_active' => 1,
+      'user_name' => 'TE4188',
+      'password' => 'abcde01',
+      'url_site' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'class_name' => 'Payment_iATSService',
+      'is_recur' => 1,
+      'sequential' => 1,
+      'payment_type' => 1,
+      'payment_instrument_id' => 1,
+    );
+    $processorParams = array_merge($processorParams, $params);
+    $processor = $this->callAPISuccess('PaymentProcessor', 'create', $processorParams);
+    return $processor['id'];
+  }
+
+  /**
+   * Create iATS SWIPE - TEST41 Payment Processor.
+   * Payment Processor Type: 15 is iATS Payments SWIPE
+   *
+   * @return int
+   *   Id Payment Processor
+   */
+  public function processorCreateSWIPE($params = array()) {
+    $processorParams = array(
+      'domain_id' => 1,
+      'name' => 'iATS Credit Card - TE4188',
+      'payment_processor_type_id' => 15,
+      'financial_account_id' => 12,
+      'is_test' => FALSE,
+      'is_active' => 1,
+      'user_name' => 'TE4188',
+      'password' => 'abcde01',
+      'url_site' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'url_recur' => 'https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL',
+      'class_name' => 'Payment_iATSServiceSWIPE',
+      'is_recur' => 1,
+      'sequential' => 1,
+      'payment_type' => 1,
+      'payment_instrument_id' => 1,
+    );
+    $processorParams = array_merge($processorParams, $params);
+    $processor = $this->callAPISuccess('PaymentProcessor', 'create', $processorParams);
+    return $processor['id'];
+  }
+}
diff --git a/civicrm/ext/iatspayments/tests/phpunit/bootstrap.php b/civicrm/ext/iatspayments/tests/phpunit/bootstrap.php
new file mode 100644
index 0000000000..5bef121472
--- /dev/null
+++ b/civicrm/ext/iatspayments/tests/phpunit/bootstrap.php
@@ -0,0 +1,51 @@
+<?php
+
+ini_set('memory_limit', '2G');
+ini_set('safe_mode', 0);
+eval(cv('php:boot --level=classloader', 'phpcode'));
+
+require_once __DIR__ . '/CRM/iATS/BaseTestClass.php';
+
+/**
+ * Call the "cv" command.
+ *
+ * @param string $cmd
+ *   The rest of the command to send.
+ * @param string $decode
+ *   Ex: 'json' or 'phpcode'.
+ * @return string
+ *   Response output (if the command executed normally).
+ * @throws \RuntimeException
+ *   If the command terminates abnormally.
+ */
+function cv($cmd, $decode = 'json') {
+  $cmd = 'cv ' . $cmd;
+  $descriptorSpec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => STDERR);
+  $oldOutput = getenv('CV_OUTPUT');
+  putenv("CV_OUTPUT=json");
+  $process = proc_open($cmd, $descriptorSpec, $pipes, __DIR__);
+  putenv("CV_OUTPUT=$oldOutput");
+  fclose($pipes[0]);
+  $result = stream_get_contents($pipes[1]);
+  fclose($pipes[1]);
+  if (proc_close($process) !== 0) {
+    throw new RuntimeException("Command failed ($cmd):\n$result");
+  }
+  switch ($decode) {
+    case 'raw':
+      return $result;
+
+    case 'phpcode':
+      // If the last output is /*PHPCODE*/, then we managed to complete execution.
+      if (substr(trim($result), 0, 12) !== "/*BEGINPHP*/" || substr(trim($result), -10) !== "/*ENDPHP*/") {
+        throw new \RuntimeException("Command failed ($cmd):\n$result");
+      }
+      return $result;
+
+    case 'json':
+      return json_decode($result, 1);
+
+    default:
+      throw new RuntimeException("Bad decoder format ($decode)");
+  }
+}
diff --git a/civicrm/ext/iatspayments/xml/Menu/iats.xml b/civicrm/ext/iatspayments/xml/Menu/iats.xml
new file mode 100644
index 0000000000..6c93d40991
--- /dev/null
+++ b/civicrm/ext/iatspayments/xml/Menu/iats.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<menu>
+  <item>
+    <path>civicrm/iATSAdmin</path>
+    <page_callback>CRM_iATS_Page_iATSAdmin</page_callback>
+    <title>iATS Payments Administration</title>
+    <access_arguments>access CiviContribute</access_arguments>
+  </item>
+  <item>
+    <path>civicrm/iatsjson</path>
+    <page_callback>CRM_iATS_Page_json</page_callback>
+    <access_arguments>make online contributions</access_arguments>
+  </item>
+  <item>
+    <path>civicrm/admin/contribute/iatssettings</path>
+    <page_callback>CRM_iATS_Form_IatsSettings</page_callback>
+    <title>iATS Payments Settings</title>
+    <access_arguments>access CiviContribute,administer CiviCRM</access_arguments>
+  </item>
+  <item>
+    <path>civicrm/contact/view/iatscustomerlink</path>
+    <page_callback>CRM_iATS_Page_IATSCustomerLink</page_callback>
+    <title>CustomerLink Information at iATS</title>
+    <access_arguments>access CiviContribute</access_arguments>
+  </item>
+  <item>
+    <path>civicrm/contact/edit/iatscustomerlink</path>
+    <page_callback>CRM_iATS_Form_IATSCustomerLink</page_callback>
+    <title>Edit CustomerLink Information at iATS</title>
+    <access_arguments>access CiviContribute</access_arguments>
+  </item>
+  <item>
+    <path>civicrm/contact/iatsprocesslink</path>
+    <page_callback>CRM_iATS_Form_IATSOneTimeCharge</page_callback>
+    <title>IATSOneTimeCharge</title>
+    <access_arguments>access CiviCRM</access_arguments>
+  </item>
+</menu>
diff --git a/civicrm/install/index.php b/civicrm/install/index.php
index 166bd2a8ef..2367eab45b 100644
--- a/civicrm/install/index.php
+++ b/civicrm/install/index.php
@@ -727,6 +727,13 @@ class InstallRequirements {
       ts("JSON support not included in PHP."),
     ));
 
+    // check for Multibyte support such as mb_substr. Required for proper handling of Multilingual setups.
+    $this->requireFunction('mb_substr', array(
+      ts("PHP Configuration"),
+      ts("Multibyte support"),
+      ts("Multibyte support not enabled in PHP."),
+    ));
+
     // Check for xcache_isset and emit warning if exists
     $this->checkXCache(array(
       ts("PHP Configuration"),
diff --git a/civicrm/js/crm.backbone.js b/civicrm/js/crm.backbone.js
index e384466213..c7960305fa 100644
--- a/civicrm/js/crm.backbone.js
+++ b/civicrm/js/crm.backbone.js
@@ -1,4 +1,4 @@
-(function($, _) {
+(function($, _, Backbone) {
   if (!CRM.Backbone) CRM.Backbone = {};
 
   /**
@@ -569,4 +569,4 @@
       model.trigger('error', model, resp, options);
     };
   };
-})(CRM.$, CRM._);
+})(CRM.$, CRM._, CRM.BB);
diff --git a/civicrm/js/crm.designerapp.js b/civicrm/js/crm.designerapp.js
index 840d98a8e9..fef007d231 100644
--- a/civicrm/js/crm.designerapp.js
+++ b/civicrm/js/crm.designerapp.js
@@ -1,4 +1,4 @@
-(function ($, _) {
+(function ($, _, Backbone) {
   $(function () {
     /**
      * FIXME we depend on this being a global singleton, mainly to facilitate vents
@@ -30,4 +30,4 @@
       });
     };
   });
-})(CRM.$, CRM._);
+})(CRM.$, CRM._, CRM.BB);
diff --git a/civicrm/js/jquery/jquery.crmEditable.js b/civicrm/js/jquery/jquery.crmEditable.js
index f6920f744b..ca1a08e248 100644
--- a/civicrm/js/jquery/jquery.crmEditable.js
+++ b/civicrm/js/jquery/jquery.crmEditable.js
@@ -29,6 +29,7 @@
         ret[fieldName] = $(this).text();
         if (this === el) {
           ret.field = fieldName;
+          ret.params = $(this).data('params');
         }
       }
     });
@@ -132,7 +133,7 @@
         var
           info = $i.crmEditableEntity(),
           $el = $($i),
-          params = {},
+          params = info.params || {},
           action = $i.data('action') || info.action;
         if (!info.field) {
           return false;
diff --git a/civicrm/js/model/crm.uf.js b/civicrm/js/model/crm.uf.js
index 043d08a5fa..a6ab2982ae 100644
--- a/civicrm/js/model/crm.uf.js
+++ b/civicrm/js/model/crm.uf.js
@@ -491,6 +491,13 @@
         editorAttrs: {maxlength: 64},
         validators: ['required']
       },
+      'frontend_title': {
+        title: ts('Public Title'),
+        help: ts(''),
+        type: 'Text',
+        editorAttrs: {maxlength: 64},
+        validators: []
+      },
       'group_type': {
         // For a description of group_type, see CRM_Core_BAO_UFGroup::updateGroupTypes
         // title: ts(''),
@@ -512,6 +519,16 @@
         help: ts('If you are using this profile as a contact signup or edit form, and want to redirect the user to a static URL if they click the Cancel button - enter the complete URL here. If this field is left blank, the built-in Profile form will be redisplayed.'),
         type: 'Text'
       },
+      'cancel_button_text': {
+        title: ts('Cancel Button Text'),
+        help: ts('Text to display on the cancel button when used in create or edit mode'),
+        type: 'Text'
+      },
+      'submit_button_text': {
+        title: ts('Submit Button Text'),
+        help: ts('Text to display on the submit button when used in create or edit mode'),
+        type: 'Text'
+      },
       'created_date': {
         //title: ts(''),
         type: 'Text'// FIXME
@@ -670,8 +687,17 @@
           return _.omit(ufFieldModel.toStrictJSON(), ['id', 'uf_group_id']);
         })
       );
-      var copyLabel = ' ' + ts('(Copy)');
-      copy.set('title', copy.get('title').slice(0, 64 - copyLabel.length) + copyLabel);
+      var new_id = 1;
+      CRM.api3('UFGroup', 'getsingle', {
+        "return": ["id"],
+        "options": {"limit": 1, "sort": "id DESC"}
+      }).done(function(result) {
+        new_id = Number(result.id) + 1;
+        var copyLabel = ' ' + ts('(Copy)');
+        var nameSuffix = '_' + new_id;
+        copy.set('title', copy.get('title').slice(0, 64 - copyLabel.length) + copyLabel);
+        copy.set('name', copy.get('name').slice(0, 64 - nameSuffix.length) + nameSuffix);
+      });
       return copy;
     },
     getModelClass: function(entity_name) {
diff --git a/civicrm/js/view/crm.designer.js b/civicrm/js/view/crm.designer.js
index a92ac6d606..3db0eb0ca1 100644
--- a/civicrm/js/view/crm.designer.js
+++ b/civicrm/js/view/crm.designer.js
@@ -1,4 +1,4 @@
-(function($, _) {
+(function($, _, Backbone) {
   if (!CRM.Designer) CRM.Designer = {};
 
   /**
@@ -866,7 +866,7 @@
     initialize: function() {
       this.form = new Backbone.Form({
         model: this.model,
-        fields: ['title', 'help_pre', 'help_post', 'is_active']
+        fields: ['title', 'frontend_title', 'help_pre', 'help_post', 'is_active']
       });
       this.form.on('change', this.form.commit, this.form);
     },
@@ -875,4 +875,4 @@
     }
   });
 
-})(CRM.$, CRM._);
+})(CRM.$, CRM._, CRM.BB);
diff --git a/civicrm/js/view/crm.profile-selector.js b/civicrm/js/view/crm.profile-selector.js
index 5c55405a7e..257dfd226f 100644
--- a/civicrm/js/view/crm.profile-selector.js
+++ b/civicrm/js/view/crm.profile-selector.js
@@ -1,4 +1,4 @@
-(function($, _) {
+(function($, _, Backbone) {
   if (!CRM.ProfileSelector) CRM.ProfileSelector = {};
 
   CRM.ProfileSelector.Option = Backbone.Marionette.ItemView.extend({
@@ -185,4 +185,4 @@
       view.render();
     }
   });
-})(CRM.$, CRM._);
+})(CRM.$, CRM._, CRM.BB);
diff --git a/civicrm/packages/backbone/backbone.collectionsubset.js b/civicrm/packages/backbone/backbone.collectionsubset.js
index d5f9b4e5cc..864500dcd0 100644
--- a/civicrm/packages/backbone/backbone.collectionsubset.js
+++ b/civicrm/packages/backbone/backbone.collectionsubset.js
@@ -1,8 +1,8 @@
 /*! backbone.collectionsubset - v0.1.2 - 2012-12-20
 * https://github.com/anthonyshort/backbone.collectionsubset
 * Copyright (c) 2012 Anthony Short; Licensed MIT */
-// Patched for civicrm by colemanw - added global import of _ variable
-(function(_) {
+// Patched for civicrm by colemanw - added global import of _ and Backbone variables
+(function(_, Backbone) {
 
   Backbone.CollectionSubset = (function() {
 
@@ -230,4 +230,4 @@
     module.exports = Backbone.CollectionSubset;
   }
 
-}(_));
+}(_, Backbone));
diff --git a/civicrm/packages/backbone/backbone.collectionsubset.min.js b/civicrm/packages/backbone/backbone.collectionsubset.min.js
deleted file mode 100644
index 29fc9becf2..0000000000
--- a/civicrm/packages/backbone/backbone.collectionsubset.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! backbone.collectionsubset - v0.1.2 - 2012-12-20
-* https://github.com/anthonyshort/backbone.collectionsubset
-* Copyright (c) 2012 Anthony Short; Licensed MIT */
-(function(_){Backbone.CollectionSubset=function(){function e(e){e==null&&(e={}),e=_.defaults(e,{refresh:!0,triggers:null,filter:function(){return!0},name:null,child:null,parent:null}),this.triggers=e.triggers?e.triggers.split(" "):[],e.child||(e.child=new e.parent.constructor),this.setParent(e.parent),this.setChild(e.child),this.setFilter(e.filter),e.model&&(this.child.model=e.model),e.refresh&&this.refresh(),this.name=e.name}return e.extend=Backbone.Model.extend,_.extend(e.prototype,Backbone.Events),e.prototype.setParent=function(e){var t,n=this;return(t=this.parent)!=null&&t.off(null,null,this),this.parent=e,this.parent.on("add",this._onParentAdd,this),this.parent.on("remove",this._onParentRemove,this),this.parent.on("reset",this._onParentReset,this),this.parent.on("change",this._onParentChange,this),this.parent.on("dispose",this.dispose,this),this.parent.on("loading",function(){return n.child.trigger("loading")},this),this.parent.on("ready",function(){return n.child.trigger("ready")},this)},e.prototype.setChild=function(e){var t;return(t=this.child)!=null&&t.off(null,null,this),this.child=e,this.child.on("add",this._onChildAdd,this),this.child.on("reset",this._onChildReset,this),this.child.on("dispose",this.dispose,this),this.child.superset=this.parent,this.child.filterer=this,this.child.url=this.parent.url,this.child.model=this.parent.model},e.prototype.setFilter=function(e){var t;return t=function(t){var n,r;return n=e.call(this,t),r=this.parent.filterer?this.parent.filterer.filter(t):!0,n&&r},this.filter=_.bind(t,this)},e.prototype.refresh=function(e){var t;return e==null&&(e={}),t=this.parent.filter(this.filter),this.child.reset(t,{subset:this}),this.child.trigger("refresh")},e.prototype._replaceChildModel=function(e){var t,n;t=this._getByCid(this.child,e.cid);if(t===e)return;return _.isUndefined(t)?this.child.add(e,{subset:this}):(n=this.child.indexOf(t),this.child.remove(t),this.child.add(e,{at:n,subset:this}))},e.prototype._onParentAdd=function(e,t,n){if(n&&n.subset===this)return;if(this.filter(e))return this._replaceChildModel(e)},e.prototype._onParentRemove=function(e,t,n){return this.child.remove(e,n)},e.prototype._onParentReset=function(e,t){return this.refresh()},e.prototype._onParentChange=function(e,t){if(!this.triggerMatched(e))return;return this.filter(e)?this.child.add(e):this.child.remove(e)},e.prototype._onChildAdd=function(e,t,n){var r;if(n&&n.subset===this)return;this.parent.add(e),r=this._getByCid(this.parent,e.cid);if(!r)return;return this.filter(r)?this._replaceChildModel(r):this.child.remove(e)},e.prototype._onChildReset=function(e,t){if(t&&t.subset===this)return;return this.parent.add(this.child.models),this.refresh()},e.prototype._getByCid=function(e,t){var n;return n=e.getByCid||e.get,n.apply(e,[t])},e.prototype.triggerMatched=function(e){var t;return this.triggers.length===0?!0:e.hasChanged()?(t=_.keys(e.changedAttributes()),_.intersection(this.triggers,t).length>0):!1},e.prototype.dispose=function(){var e,t,n,r,i;if(this.disposed)return;this.trigger("dispose",this),this.parent.off(null,null,this),this.child.off(null,null,this),typeof (t=this.child).dispose=="function"&&t.dispose(),this.off(),i=["parent","child","options"];for(n=0,r=i.length;n<r;n++)e=i[n],delete this[e];return this.disposed=!0},e}(),Backbone.Collection.prototype.subcollection=function(e){var t;return e==null&&(e={}),_.defaults(e,{child:new this.constructor,parent:this}),t=new Backbone.CollectionSubset(e),t.child},typeof module!="undefined"&&module!==null&&(module.exports=Backbone.CollectionSubset)}(_));
diff --git a/civicrm/packages/composer.json b/civicrm/packages/composer.json
new file mode 100644
index 0000000000..45416833dd
--- /dev/null
+++ b/civicrm/packages/composer.json
@@ -0,0 +1,5 @@
+{
+  "name": "civicrm/civicrm-packages",
+  "description": "Legacy third party dependencies for CiviCRM",
+  "type": "library"
+}
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 2355db8f01..e151ccbd40 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -14,6 +14,17 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
+## CiviCRM 4.7.31
+
+Released March 7, 2018
+
+- **[Synopsis](release-notes/4.7.31.md#synopsis)**
+- **[Features](release-notes/4.7.31.md#features)**
+- **[Bugs resolved](release-notes/4.7.31.md#bugs)**
+- **[Miscellany](release-notes/4.7.31.md#misc)**
+- **[Credits](release-notes/4.7.31.md#credits)**
+- **[Feedback](release-notes/4.7.31.md#feedback)**
+
 ## CiviCRM 4.7.30
 
 Released February 7, 2018
diff --git a/civicrm/release-notes/4.7.31.md b/civicrm/release-notes/4.7.31.md
new file mode 100644
index 0000000000..1cb83a7a4c
--- /dev/null
+++ b/civicrm/release-notes/4.7.31.md
@@ -0,0 +1,938 @@
+# CiviCRM 4.7.31
+
+Released March 7, 2018
+
+- **[Synopsis](#synopsis)**
+- **[Features](#features)**
+- **[Bugs resolved](#bugs)**
+- **[Miscellany](#misc)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |         |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| **Require attention to configuration options?**                 | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
+
+## <a name="features"></a>Features
+
+### Core CiviCRM
+
+- **[CRM-21244](https://issues.civicrm.org/jira/browse/CRM-21244) Enhancements
+  to "FROM email addresses"
+  ([11047](https://github.com/civicrm/civicrm-core/pull/11047))**
+
+  A variety of changes have been made to the email addresses available as the
+  "From" address for system messages.  The Organization Address and Contact Info
+  form no longer has a field for selecting the From email address--this is now
+  editable by choosing a default on the From Email Addresses page.
+
+  The PDF letter task now allows selecting the from email address.
+
+  You can also now choose whether to add the logged-in contact's email address
+  to the list of from email addresses. If users' addresses are from other
+  domains, they can have deliverability problems if the domain uses SPF or
+  DMARC.
+
+  Additionally, this refactors and centralizes a lot of the code regarding from
+  email addresses.
+
+- **[CRM-21573](https://issues.civicrm.org/jira/browse/CRM-21573) Allow to
+  disable sending of email from activity source contact email for receipt
+  ([11424](https://github.com/civicrm/civicrm-core/pull/11424))**
+
+  Now activity notifications will not send from the source contact's email
+  address if the site is not set to allow emails from the logged-in contact.
+
+- **[CRM-21719](https://issues.civicrm.org/jira/browse/CRM-21719) Require
+  Multibyte PHP Extension
+  ([11612](https://github.com/civicrm/civicrm-core/pull/11612) and
+  [11599](https://github.com/civicrm/civicrm-core/pull/11599))**
+
+  The Multibyte String PHP function support is now a requirement for installing
+  CiviCRM.
+
+- **[CRM-21225](https://issues.civicrm.org/jira/browse/CRM-21225) Add a new
+  field, Profile Title so that the Profile Name does not serve a dual purpose of
+  labelling the Profile and displaying the Title for the Profile fields publicly
+  ([11508](https://github.com/civicrm/civicrm-core/pull/11508) and
+  [11503](https://github.com/civicrm/civicrm-core/pull/11503))**
+
+  Profiles can now be given a public title to display on frontend forms that is
+  distinct from the name for internal purposes.
+
+- **[CRM-21654](https://issues.civicrm.org/jira/browse/CRM-21654) Support custom
+  file field on Batch Entry Profile
+  ([11520](https://github.com/civicrm/civicrm-core/pull/11520))**
+
+  File fields are no longer suppressed when batch editing data using a profile,
+  and if the field currently has a file, the form displays its name.
+
+- **[CRM-21751](https://issues.civicrm.org/jira/browse/CRM-21751) Move SMS
+  provider ID to 'Select Recipients' page from 'SMS content'
+  ([11656](https://github.com/civicrm/civicrm-core/pull/11656))**
+
+  The field for choosing the SMS provider now appears before the recipient
+  selection fields.
+
+- **[CRM-20769](https://issues.civicrm.org/jira/browse/CRM-20769) Allow for
+  Button Text on profiles to be overriden in settings
+  ([11598](https://github.com/civicrm/civicrm-core/pull/11598)) (completes
+  previous work)**
+
+  The profile quick editor now allows setting the cancel and submit button text.
+
+- **[CRM-21540](https://issues.civicrm.org/jira/browse/CRM-21540) Add support
+  for auto-complete fields in the batch entry forms
+  ([11398](https://github.com/civicrm/civicrm-core/pull/11398))**
+
+  Auto-complete fields in a profile can now be edited when batch editing data.
+
+- **[CRM-21621](https://issues.civicrm.org/jira/browse/CRM-21621) Provide
+  ability to delete first website field
+  ([11480](https://github.com/civicrm/civicrm-core/pull/11480))**
+
+  A trashcan link now allows all websites to be removed from a contact.
+
+- **[CRM-21750](https://issues.civicrm.org/jira/browse/CRM-21750) Add support
+  for addressee_id, email_greeting_id, postal_greeting_id to api Contact.get
+  ([11654](https://github.com/civicrm/civicrm-core/pull/11654))**
+
+  Greeting type ids can now be filtered in the Contact API.
+
+- **[CRM-21707](https://issues.civicrm.org/jira/browse/CRM-21707) Handle
+  metadata based serialisation in apiv3 basic_create_fallover
+  ([11648](https://github.com/civicrm/civicrm-core/pull/11648),
+  [11607](https://github.com/civicrm/civicrm-core/pull/11607), and
+  [11583](https://github.com/civicrm/civicrm-core/pull/11583))**
+
+  The standard function for Create actions in the API now uses the serialization
+  metadata to format multiple values for saving.
+
+- **[CRM-21140](https://issues.civicrm.org/jira/browse/CRM-21140) Agree & (if
+  applicable) implement approach to storing extension data for entities / tables
+  ([11567](https://github.com/civicrm/civicrm-core/pull/11567)) (preliminary
+  work)**
+
+  The API can now be used to create custom data sets for profiles, price sets,
+  and payment tokens.  This is envisioned as a way for extension writers to
+  store extended data about these entities.
+
+- **[CRM-21674](https://issues.civicrm.org/jira/browse/CRM-21674) Allow
+  proximity search to accept lat & long at the BAO/api level & custom search
+  form ([11542](https://github.com/civicrm/civicrm-core/pull/11542))**
+
+  Proximity search via the API or custom search now accepts a latitude/longitude
+  combination as an alternative to an address to use as the center point.
+
+- **[CRM-21717](https://issues.civicrm.org/jira/browse/CRM-21717) Allow for
+  selecting multiple relationship types in advanced search
+  ([11595](https://github.com/civicrm/civicrm-core/pull/11595))**
+
+  Advanced Search now allows for searching for contacts with one of multiple
+  specified relationship types.
+
+- **[CRM-21634](https://issues.civicrm.org/jira/browse/CRM-21634) Standardise
+  component search options for contact fields, add contact type
+  ([11492](https://github.com/civicrm/civicrm-core/pull/11492) and
+  [11538](https://github.com/civicrm/civicrm-core/pull/11538))**
+
+  Contact fields on the search forms for contributions, pledges, memberships,
+  and participants now share a common structure in both appearance and code.
+
+- **[CRM-21020](https://issues.civicrm.org/jira/browse/CRM-21020)
+  alterMailContent hook: pass additional contextual details
+  ([10815](https://github.com/civicrm/civicrm-core/pull/10815))**
+
+  When a message is sent via a template, additional details about the template
+  are provided to functions invoking `hook_civicrm_alterMailContent`.
+
+- **Add API parameter for fix_address
+  ([11372](https://github.com/civicrm/civicrm-core/pull/11372))**
+
+  When saving an address using the API, you can now bypass a handful of fixes
+  that normally get applied.
+
+- **[CRM-21741](https://issues.civicrm.org/jira/browse/CRM-21741) For in-place
+  editing, allow data-params to be passed to CRM.api3
+  ([11639](https://github.com/civicrm/civicrm-core/pull/11639))**
+
+  Fields enabled for in-place editing can now specify additional API parameters
+  to be sent when saving updates.
+
+### CiviCampaign
+
+- **[CRM-21593](https://issues.civicrm.org/jira/browse/CRM-21593) New order by
+  options for WalkList Report
+  ([11449](https://github.com/civicrm/civicrm-core/pull/11449))**
+
+  The Walk / Phone List Report now can be sorted by street name, street number,
+  and whether the street number is odd or even.
+
+### CiviCase
+
+- **[CRM-21461](https://issues.civicrm.org/jira/browse/CRM-21461) Case Dashlet
+  enhancement ([11304](https://github.com/civicrm/civicrm-core/pull/11304))**
+
+  The Case Dashboard, My Cases dashlet, and All Cases dashlet now use DataTables
+  to display results.  This allows easy sorting and filtering of results among
+  other improvements.
+
+- **[CRM-21498](https://issues.civicrm.org/jira/browse/CRM-21498) Option to
+  Change Status of Linked Cases
+  ([11350](https://github.com/civicrm/civicrm-core/pull/11350))**
+
+  When changing the status of a case, you now have the option to update the
+  status of all linked cases.
+
+- **[CRM-21520](https://issues.civicrm.org/jira/browse/CRM-21520) Add Action on
+  Contact Search to Add Contacts to a Case
+  ([11371](https://github.com/civicrm/civicrm-core/pull/11371))**
+
+  Contacts selected from search results can now be added in bulk with a selected
+  case role to a selected case.
+
+### CiviContribute
+
+- **[EXT-56](https://issues.civicrm.org/jira/browse/EXT-56) - Add
+  com.iatspayments.civicrm to tarballs
+  ([11052](https://github.com/civicrm/civicrm-core/pull/11052))**
+
+  The iATS payment processor is now included in core CiviCRM.
+
+- **[CRM-21722](https://issues.civicrm.org/jira/browse/CRM-21722) Payment
+  processor check configuration - improved message in UI
+  ([11604](https://github.com/civicrm/civicrm-core/pull/11604))**
+
+  A payment processor's configuration is now checked as part of the validation
+  of the payment processor configuration form.
+
+- **[CRM-21256](https://issues.civicrm.org/jira/browse/CRM-21256) Payment
+  processor contribution page performance improvement
+  ([11563](https://github.com/civicrm/civicrm-core/pull/11563))**
+
+  The list of available payment processors is now fetched once rather than
+  several times per contribution page load.
+
+- **[CRM-21511](https://issues.civicrm.org/jira/browse/CRM-21511) Add recurring
+  contribution to membership detail and contribution
+  ([11555](https://github.com/civicrm/civicrm-core/pull/11555) and
+  [11365](https://github.com/civicrm/civicrm-core/pull/11365))**
+
+  When viewing a contribution or membership with a recurring contribution, there
+  is now a link to view the recurring contribution.
+
+- **[CRM-21050](https://issues.civicrm.org/jira/browse/CRM-21050) Use datepicker
+  for all date fields used in contribution backoffice form
+  ([10841](https://github.com/civicrm/civicrm-core/pull/10841))**
+
+  The receive date, thank you date, receipt date, and cancel/refund date fields
+  now use `datepicker` instead of `jcalendar`.
+
+- **[CRM-21343](https://issues.civicrm.org/jira/browse/CRM-21343) Search
+  Contributions by Cancel Date and Cancel Reason
+  ([11638](https://github.com/civicrm/civicrm-core/pull/11638))**
+
+  Find Contribution and Advanced Search now allow searching for contributions by
+  cancellation reason and date.
+
+- **[CRM-21635](https://issues.civicrm.org/jira/browse/CRM-21635) Expose
+  contact custom data on contribution summary report
+  ([11494](https://github.com/civicrm/civicrm-core/pull/11494))**
+
+  The Contribution Summary Report can now use contact custom fields as filters
+  or displayed in columns.
+
+- **[CRM-20614](https://issues.civicrm.org/jira/browse/CRM-20614) Do not
+  Download Export file for Financial Batch
+  ([10393](https://github.com/civicrm/civicrm-core/pull/10393))**
+
+  A financial batch export can be set using the API or custom extension to not
+  automatically download the file.
+
+### CiviMail
+
+- **[CRM-21546](https://issues.civicrm.org/jira/browse/CRM-21546) Implement
+  unique opens filter for mailing opened report
+  ([11401](https://github.com/civicrm/civicrm-core/pull/11401))**
+
+  A new option on the Mailing Opened Report toggles displaying all open events
+  and all recipients who have opened the message.
+
+### CiviMember
+
+- **[CRM-21512](https://issues.civicrm.org/jira/browse/CRM-21512) Remove
+  restriction on "update subscription" when linked to membership
+  ([11366](https://github.com/civicrm/civicrm-core/pull/11366))**
+
+  Members with autorenewal enabled can now edit the recurring contribution to
+  change the amount or number of installments. They will be warned that the
+  recurring contribution is linked to a membership.
+
+- **[CRM-21688](https://issues.civicrm.org/jira/browse/CRM-21688) Use
+  fontawesome to show membership auto-renew status and and error indicator
+  ([11561](https://github.com/civicrm/civicrm-core/pull/11561))**
+
+  Icons for membership autorenewal now use the Font Awesome library, and a new
+  icon indicates memberships that were set to autorenew but have a canceled
+  recurring contribution.
+
+### Drupal Integration
+
+- **[CRM-21226](https://issues.civicrm.org/jira/browse/CRM-21226) Add view
+  filter handler for contact reference custom field
+  ([508](https://github.com/civicrm/civicrm-drupal/pull/508))**
+
+  Contact reference custom fields used as views filters can now filter on
+  strings in the sort name in addition to the contact ID of the referenced
+  contact.
+
+- **[CRM-20822](https://issues.civicrm.org/jira/browse/CRM-20822) Expose tag
+  parent id in views
+  ([459](https://github.com/civicrm/civicrm-drupal/pull/459))**
+
+  Views can now display, filter, and sort by parent tag ID or name.
+
+- **[CRM-21758](https://issues.civicrm.org/jira/browse/CRM-21758) Add event
+  "created_id" to Drupal Views
+  ([519](https://github.com/civicrm/civicrm-drupal/pull/519))**
+
+  Views can now display, filter, and sort by the contact who created an event.
+  Relationships can be added to the contact.
+
+### WordPress Integration
+
+- **[CRM-16421](https://issues.civicrm.org/jira/browse/CRM-16421) Work to get
+  CiviCRM for WordPress in WordPress' official Repository
+  ([11576](https://github.com/civicrm/civicrm-core/pull/11576),
+  [121](https://github.com/civicrm/civicrm-wordpress/pull/121), and
+  [122](https://github.com/civicrm/civicrm-wordpress/pull/122)) (continues
+  previous work)**
+
+  Sites about to install CiviCRM can now indicate whether to use the new
+  installer library by the presence of a file named `.use-civicrm-setup`.  A new
+  tarball will be generated for each version of CiviCRM named
+  `civicrm-*-wporg.zip`.  This new tarball will be equivalent to the
+  `civicrm-*-wordpress.zip` files except that it uses the new installer and
+  displays a series of opt-ins in order to satisfy WordPress.org requirements.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
+
+- **[CRM-21715](https://issues.civicrm.org/jira/browse/CRM-21715) Activity
+  Report: move the SQL creation to a buildQuery function
+  ([11584](https://github.com/civicrm/civicrm-core/pull/11584))**
+
+  This resolves a fatal error that would appear when exporting to CSV from the
+  Activity Report.
+
+- **[CRM-21334](https://issues.civicrm.org/jira/browse/CRM-21334) Fire hooks on
+  contact image deletion
+  ([11163](https://github.com/civicrm/civicrm-core/pull/11163))**
+
+  The expected hooks are triggered when deleting a contact image.
+
+- **[CRM-21701](https://issues.civicrm.org/jira/browse/CRM-21701) street
+  addresses are not reliably parsed
+  ([11579](https://github.com/civicrm/civicrm-core/pull/11579))**
+
+  Street addresses are now parsed whenever they're edited if address parsing is
+  enabled.  Previously, this was only done if USPS address standardization was
+  enabled.
+
+- **[CRM-21629](https://issues.civicrm.org/jira/browse/CRM-21629) Resource URL
+  status check gets false positive when blank user agents are blocked
+  ([11488](https://github.com/civicrm/civicrm-core/pull/11488))**
+
+  The system check for verifying resource URLs now sets a user agent header when
+  making HTTP requests to the server.
+
+- **[CRM-21591](https://issues.civicrm.org/jira/browse/CRM-21591) PHP 7.1 issue
+  Non well form numeric value encountered when viewing the misc settings screen
+  ([11505](https://github.com/civicrm/civicrm-core/pull/11505) and
+  [11447](https://github.com/civicrm/civicrm-core/pull/11447))**
+
+- **[CRM-21618](https://issues.civicrm.org/jira/browse/CRM-21618) Add missing
+  structure in templates
+  ([11478](https://github.com/civicrm/civicrm-core/pull/11478) and
+  [11457](https://github.com/civicrm/civicrm-core/pull/11457))**
+
+  Several form templates with nonstandard markup have been updated slightly.
+
+- **[CRM-8140](https://issues.civicrm.org/jira/browse/CRM-8140) Not possible to
+  select fields for export when using Custom Searches
+  ([11458](https://github.com/civicrm/civicrm-core/pull/11458))**
+
+- **[CRM-21616](https://issues.civicrm.org/jira/browse/CRM-21616) sql metadata
+  is being lost when calling the report from the api
+  ([11476](https://github.com/civicrm/civicrm-core/pull/11476))**
+
+  When retrieving a report via the API, the SQL query is now reliably provided
+  if requested.
+
+- **[CRM-21670](https://issues.civicrm.org/jira/browse/CRM-21670) Search of
+  active relationships does not appear on Relationship Report
+  ([11537](https://github.com/civicrm/civicrm-core/pull/11537))**
+
+  This restores the filter in the Relationship Report for a relationship's
+  active period.  The filter had been removed accidentally in a past
+  improvement.
+
+- **[CRM-20996](https://issues.civicrm.org/jira/browse/CRM-20996) Copy profile
+  from wizard duplicates 'name' in database
+  ([11597](https://github.com/civicrm/civicrm-core/pull/11597))**
+
+  This ensures that the profile machine name is unique when copying profiles.  A
+  database error would result when copying profiles while editing events or
+  contribution pages.
+
+- **[dev/core#2](https://lab.civicrm.org/dev/core/issues/2) Display Inbound
+  Email: linefeed suppressed
+  ([11661](https://github.com/civicrm/civicrm-core/pull/11661))**
+
+  When viewing an activity, the Details field now displays line breaks that are
+  in the original.  This is important in viewing the text of inbound email
+  activities.
+
+- **[CRM-21738](https://issues.civicrm.org/jira/browse/CRM-21738) Merges not
+  copying viewOnly data (regression but not recent)
+  ([11636](https://github.com/civicrm/civicrm-core/pull/11636))**
+
+  View-only custom data was not copying to the merged contact when merging two
+  contacts.
+
+- **[CRM-21742](https://issues.civicrm.org/jira/browse/CRM-21742) Use form
+  validation rather than Exception handling for proximity seach
+  ([11643](https://github.com/civicrm/civicrm-core/pull/11643))**
+
+  Custom searches now support validation, the proximity search is now configured
+  to display validation errors rather than a cause a full-blown exception when
+  geocoding fails.
+
+- **[CRM-19784](https://issues.civicrm.org/jira/browse/CRM-19784) Yahoo
+  Placefinder service appears to have EOL'ed
+  ([11540](https://github.com/civicrm/civicrm-core/pull/11540))**
+
+  Support is removed for the now-defunct Yahoo geocoding service.
+
+- **[CRM-21737](https://issues.civicrm.org/jira/browse/CRM-21737) New option
+  value validation is too tight for languages
+  ([11633](https://github.com/civicrm/civicrm-core/pull/11633))**
+
+  Option values for language now only need to have a unique name rather than a
+  unique value.
+
+- **Website api - fix nonstandard BAO delete method
+  ([11625](https://github.com/civicrm/civicrm-core/pull/11625))**
+
+  Deleting a website now uses a standard method that invokes all the usual hooks.
+
+- **Use mb_strlen() in ellipsify() to avoid excessive multibyte truncation
+  ([11594](https://github.com/civicrm/civicrm-core/pull/11594))**
+
+  This resolves problems truncating text with multibyte characters to a shorter
+  length than intended.
+
+- **[CRM-21524](https://issues.civicrm.org/jira/browse/CRM-21524) CiviCRM
+  exports (postal) mailing lists including Contacts clearly marked is_deceased
+  in the database
+  ([11527](https://github.com/civicrm/civicrm-core/pull/11527))**
+
+  This ensures that exports suppress deceased and "do not mail" contacts prior
+  to merging rows with the same address.  Previously, contacts sharing an
+  address with a deceased contact in the same search result would be merged with
+  them in the results.
+
+- **[CRM-21687](https://issues.civicrm.org/jira/browse/CRM-21687) MariaDB 10.2
+  and logging: log_civicrm_activity schema syntax error
+  ([11580](https://github.com/civicrm/civicrm-core/pull/11580))**
+
+- **[CRM-21651](https://issues.civicrm.org/jira/browse/CRM-21651) Contact :: New
+  Email/SMS : loading failed when no contact is found
+  ([11506](https://github.com/civicrm/civicrm-core/pull/11506))**
+
+- **[CRM-21669](https://issues.civicrm.org/jira/browse/CRM-21669) Consistent
+  wording for "Email - Send now" task
+  ([11535](https://github.com/civicrm/civicrm-core/pull/11535))**
+
+- **[CRM-21613](https://issues.civicrm.org/jira/browse/CRM-21613) Search issues
+  on 'Manage Tag' page
+  ([11510](https://github.com/civicrm/civicrm-core/pull/11510) and
+  [11467](https://github.com/civicrm/civicrm-core/pull/11467))**
+
+- **[CRM-21444](https://issues.civicrm.org/jira/browse/CRM-21444) Empty field at
+  form "Add rule for..." merge duplicate contacts
+  ([11523](https://github.com/civicrm/civicrm-core/pull/11523))**
+
+  The contact type options when creating a dedupe rule would not appear when in
+  a language other than English.
+
+- **[CRM-21533](https://issues.civicrm.org/jira/browse/CRM-21533) Outbound
+  setting reverts in non-production sites on executing sched job
+  ([11393](https://github.com/civicrm/civicrm-core/pull/11393))**
+
+  This resolves a bug where running a scheduled job on a site in development
+  mode would re-enable outbound mail.
+
+- **[CRM-17352](https://issues.civicrm.org/jira/browse/CRM-17352) Backbone
+  no-conflict ([11504](https://github.com/civicrm/civicrm-core/pull/11504) and
+  [198](https://github.com/civicrm/civicrm-packages/pull/198))**
+
+  CiviCRM now uses Backbone.js in `noConflict` mode to prevent conflicts if the
+  CMS has its own copy of the library.
+
+- **[CRM-21644](https://issues.civicrm.org/jira/browse/CRM-21644) Preferred
+  Communication Method is not set to default for contact
+  ([11499](https://github.com/civicrm/civicrm-core/pull/11499))**
+
+  A contact's Preferred Communication Method field now defaults to its current
+  value when included in a profile.
+
+- **[CRM-18300](https://issues.civicrm.org/jira/browse/CRM-18300) "Permission
+  denied" message re contact on CiviCRM dashboard
+  ([11470](https://github.com/civicrm/civicrm-core/pull/11470))**
+
+- **[CRM-21614](https://issues.civicrm.org/jira/browse/CRM-21614) Tag UI doesn't
+  appear to respect reserved tags permission
+  ([11469](https://github.com/civicrm/civicrm-core/pull/11469))**
+
+  This resolves a problem where a non-privileged user editing a reserved tag
+  would appear to be able to make edits, but the edits would not take effect.
+
+- **[CRM-21744](https://issues.civicrm.org/jira/browse/CRM-21744) Fix proximity
+  custom search to work with smart groups
+  ([11645](https://github.com/civicrm/civicrm-core/pull/11645))**
+
+- **[CRM-21159](https://issues.civicrm.org/jira/browse/CRM-21159) Address fields
+  cause DB errors when adding contacts to group from Search Builder
+  ([11524](https://github.com/civicrm/civicrm-core/pull/11524) and
+  [11422](https://github.com/civicrm/civicrm-core/pull/11422))**
+
+- **[CRM-14834](https://issues.civicrm.org/jira/browse/CRM-14834) Activity
+  Export with Relationships incurs fatal error
+  ([11526](https://github.com/civicrm/civicrm-core/pull/11526))**
+
+- **[CRM-18048](https://issues.civicrm.org/jira/browse/CRM-18048) Activity
+  Report fatal error when including custom field set with long name
+  ([11183](https://github.com/civicrm/civicrm-core/pull/11183))**
+
+### CiviCampaign
+
+- **[CRM-21602](https://issues.civicrm.org/jira/browse/CRM-21602) Disable/Enable
+  Campaign not working
+  ([11466](https://github.com/civicrm/civicrm-core/pull/11466))**
+
+  The loading icon would not stop when working with the listings of campaigns,
+  surveys, and petitions.
+
+- **[CRM-21663](https://issues.civicrm.org/jira/browse/CRM-21663) Fix Campaign
+  Search and result structure
+  ([11528](https://github.com/civicrm/civicrm-core/pull/11528))**
+
+### CiviCase
+
+- **[CRM-21760](https://issues.civicrm.org/jira/browse/CRM-21760) Manager Name
+  is missing in 'Find Cases' search list
+  ([11665](https://github.com/civicrm/civicrm-core/pull/11665))**
+
+- **[CRM-21730](https://issues.civicrm.org/jira/browse/CRM-21730) postProcess()
+  hook don't receive case id after submitting "New Case" form
+  ([11618](https://github.com/civicrm/civicrm-core/pull/11618))**
+
+- **[CRM-21704](https://issues.civicrm.org/jira/browse/CRM-21704) Do Not allow a
+  case type that is reserved to be deleted or disabled.
+  ([11581](https://github.com/civicrm/civicrm-core/pull/11581))**
+
+### CiviContribute
+
+- **[CRM-17647](https://issues.civicrm.org/jira/browse/CRM-17647) Recording
+  payment truncates the amount after the comma (whether thousands or decimal
+  separator) ([11539](https://github.com/civicrm/civicrm-core/pull/11539),
+  [11646](https://github.com/civicrm/civicrm-core/pull/11646),
+  [11575](https://github.com/civicrm/civicrm-core/pull/11575),
+  [11574](https://github.com/civicrm/civicrm-core/pull/11574),
+  [11554](https://github.com/civicrm/civicrm-core/pull/11554),
+  [11547](https://github.com/civicrm/civicrm-core/pull/11547), and
+  [11541](https://github.com/civicrm/civicrm-core/pull/11541))**
+
+  Monetary amounts are now more consistently cleaned in the form layer.
+
+- **[CRM-21323](https://issues.civicrm.org/jira/browse/CRM-21323) Fix backend
+  credit card payment processor selection
+  ([11530](https://github.com/civicrm/civicrm-core/pull/11530))**
+
+  This resolves a problem when a backend credit card contribution form fails
+  validation: the first payment processor listed would load instead of the one
+  selected.
+
+- **[CRM-20625](https://issues.civicrm.org/jira/browse/CRM-20625) Better Payment
+  Processor extension error handling
+  ([11631](https://github.com/civicrm/civicrm-core/pull/11631))**
+
+  This resolves a problem where CiviCRM would crash attempting to load a payment
+  processor provided by a disabled or missing extension.
+
+- **[CRM-21698](https://issues.civicrm.org/jira/browse/CRM-21698) On some
+  systems recording a negative contribution results in a $0 contribution
+  ([11577](https://github.com/civicrm/civicrm-core/pull/11577))**
+
+- **[dev/core#1](https://lab.civicrm.org/dev/core/issues/1) Allow to search for
+  "in progress" contributions
+  ([11640](https://github.com/civicrm/civicrm-core/pull/11640))**
+
+  The "in progress" and "overdue" statuses are now available for searching
+  contributions.
+
+- **Amount and source could exceed max length of subject column
+  ([11593](https://github.com/civicrm/civicrm-core/pull/11593))**
+
+  The activity corresponding to a contribution is given a subject based upon the
+  contribution source and amount.  Since the combined string could be longer
+  than the activity subject field's maximum length, this truncates it with an
+  ellipsis.
+
+- **[CRM-21721](https://issues.civicrm.org/jira/browse/CRM-21721) Notice :
+  Division by zero ([11623](https://github.com/civicrm/civicrm-core/pull/11623)
+  and [11601](https://github.com/civicrm/civicrm-core/pull/11601))**
+
+  This resolves a PHP notice that would appear when submitting a $0.00
+  contribution using a price set.
+
+- **[CRM-21684](https://issues.civicrm.org/jira/browse/CRM-21684) contact
+  subtype fields prevent inclusion in profile/receipt email
+  ([11559](https://github.com/civicrm/civicrm-core/pull/11559))**
+
+  This resolves a problem where adding a subtype-specific custom field to a
+  profile prevents any fields from the profile being included in receipts.
+
+- **[CRM-21647](https://issues.civicrm.org/jira/browse/CRM-21647) Fatal error on
+  deleting any contribution record
+  ([11500](https://github.com/civicrm/civicrm-core/pull/11500))**
+
+- **[CRM-21580](https://issues.civicrm.org/jira/browse/CRM-21580) exporting
+  financial batch fails when label of batch statuses changed
+  ([11434](https://github.com/civicrm/civicrm-core/pull/11434))**
+
+- **[CRM-21589](https://issues.civicrm.org/jira/browse/CRM-21589) "Repeat
+  Contributions" report ignores sort
+  ([11446](https://github.com/civicrm/civicrm-core/pull/11446))**
+
+- **[CRM-20676](https://issues.civicrm.org/jira/browse/CRM-20676) Tax applied
+  repeatedly on edits of price set events
+  ([11655](https://github.com/civicrm/civicrm-core/pull/11655) and
+  [11461](https://github.com/civicrm/civicrm-core/pull/11461)) (completes
+  previous work)**
+
+- **[CRM-19752](https://issues.civicrm.org/jira/browse/CRM-19752) Slow query
+  created by financial type acls
+  ([11621](https://github.com/civicrm/civicrm-core/pull/11621) and
+  [9746](https://github.com/civicrm/civicrm-core/pull/9746))**
+
+- **[CRM-21665](https://issues.civicrm.org/jira/browse/CRM-21665) Check Number
+  show hide not working
+  ([11611](https://github.com/civicrm/civicrm-core/pull/11611))**
+
+- **[CRM-21155](https://issues.civicrm.org/jira/browse/CRM-21155) Hook
+  batchItems does not change the csv export
+  ([10951](https://github.com/civicrm/civicrm-core/pull/10951))**
+
+- **[CRM-19107](https://issues.civicrm.org/jira/browse/CRM-19107) PayPal Button
+  Error ([11474](https://github.com/civicrm/civicrm-core/pull/11474))**
+
+  The PayPal Express button now reliably sends the donor to PayPal rather than
+  submitting the contribution form.
+
+- **[CRM-21609](https://issues.civicrm.org/jira/browse/CRM-21609) PayPal Pro IPN
+  code no longer respects changed recurring amount
+  ([11463](https://github.com/civicrm/civicrm-core/pull/11463))**
+
+- **[CRM-21728](https://issues.civicrm.org/jira/browse/CRM-21728) Intermittant
+  fatal on pcp.create api
+  ([11606](https://github.com/civicrm/civicrm-core/pull/11606))**
+
+- **[CRM-21664](https://issues.civicrm.org/jira/browse/CRM-21664) Contributions
+  creation result in error for certain currencies
+  ([11533](https://github.com/civicrm/civicrm-core/pull/11533))**
+
+  Currency validation now uses the `civicrm_currency` table rather than a
+  hard-coded list of values.
+
+- **[CRM-21528](https://issues.civicrm.org/jira/browse/CRM-21528) top donor
+  report: add2group error
+  ([11482](https://github.com/civicrm/civicrm-core/pull/11482))**
+
+- **[CRM-20866](https://issues.civicrm.org/jira/browse/CRM-20866) Soft credit
+  appearance inconsistent in contribution search
+  ([11433](https://github.com/civicrm/civicrm-core/pull/11433))**
+
+  This resolves problems when changing the option for displaying soft credits
+  during a series of contribution searches.
+
+### CiviEvent
+
+- **[CRM-21771](https://issues.civicrm.org/jira/browse/CRM-21771) error when
+  viewing event registration with linked contribution
+  ([11749](https://github.com/civicrm/civicrm-core/pull/11749))**
+
+- **[CRM-21623](https://issues.civicrm.org/jira/browse/CRM-21623) Smart Group
+  Relative Date not saving for some fields in Advance Search.
+  ([11486](https://github.com/civicrm/civicrm-core/pull/11486))**
+
+- **[CRM-21743](https://issues.civicrm.org/jira/browse/CRM-21743) Creating an
+  event template from existing one does not work
+  ([11644](https://github.com/civicrm/civicrm-core/pull/11644))**
+
+  This resolves a problem where using an event template to create a new event
+  template would result in creating a new event instead.
+
+- **[CRM-21071](https://issues.civicrm.org/jira/browse/CRM-21071) Event Location
+  Tab: Second Email and Phone fields broken
+  ([11568](https://github.com/civicrm/civicrm-core/pull/11568))**
+
+### CiviMail
+
+- **[CRM-21759](https://issues.civicrm.org/jira/browse/CRM-21759) mailing
+  template selector missing
+  ([11676](https://github.com/civicrm/civicrm-core/pull/11676))**
+
+  This restores the field to select a template when composing a CiviMail
+  message.  It had gone missing in 4.7.30.
+
+- **[CRM-21683](https://issues.civicrm.org/jira/browse/CRM-21683) Mailing
+  summary breaks on mailing names with apostrophes
+  ([11557](https://github.com/civicrm/civicrm-core/pull/11557))**
+
+  The mailing name filter in the Mailing Summary Report now uses a standard
+  filter, resolving problems with using an apostrophe in the search text.
+
+- **[CRM-21260](https://issues.civicrm.org/jira/browse/CRM-21260) and
+  [CRM-21316](https://issues.civicrm.org/jira/browse/CRM-21316) CiviMail compose
+  UI very slow to initialize when many mailing groups, past mailings and
+  templates ([11142](https://github.com/civicrm/civicrm-core/pull/11142) and
+  [11558](https://github.com/civicrm/civicrm-core/pull/11558))**
+
+  The process of building recipient lists for CiviMail has been refactored to be
+  simpler and faster.
+
+- **[CRM-21521](https://issues.civicrm.org/jira/browse/CRM-21521) Bounce
+  processing exception: no such property 'text'
+  ([11390](https://github.com/civicrm/civicrm-core/pull/11390))**
+
+  This correctly handles bounce messages that have nested multipart parts.
+
+- **[CRM-21749](https://issues.civicrm.org/jira/browse/CRM-21749) [obscure
+  intra-rc regression] Mailing api no longer respecting
+  '_skip_evil_bao_auto_schedule_'
+  ([11653](https://github.com/civicrm/civicrm-core/pull/11653))**
+
+### CiviMember
+
+- **[CRM-20707](https://issues.civicrm.org/jira/browse/CRM-20707) membership
+  inheritance does not update start/end dates
+  ([10485](https://github.com/civicrm/civicrm-core/pull/10485))**
+
+- **[CRM-21554](https://issues.civicrm.org/jira/browse/CRM-21554) Offline Credit
+  Card Membership Renewal not showing any error message on failure
+  ([11408](https://github.com/civicrm/civicrm-core/pull/11408))**
+
+- **[CRM-21485](https://issues.civicrm.org/jira/browse/CRM-21485) Tax not added
+  when renewing membership in backend
+  ([11459](https://github.com/civicrm/civicrm-core/pull/11459))**
+
+- **[CRM-21612](https://issues.civicrm.org/jira/browse/CRM-21612) Membership
+  Payment not recorded for recurring contribution when status label is changed.
+  ([11465](https://github.com/civicrm/civicrm-core/pull/11465))**
+
+- **[CRM-21724](https://issues.civicrm.org/jira/browse/CRM-21724) Receipt for
+  membership contribution sending custom fields for wrong membership type
+  ([11605](https://github.com/civicrm/civicrm-core/pull/11605))**
+
+- **[CRM-21656](https://issues.civicrm.org/jira/browse/CRM-21656) Backend
+  Membership with Priceset applies taxes twice to line_item
+  ([11521](https://github.com/civicrm/civicrm-core/pull/11521))**
+
+- **[CRM-19920](https://issues.civicrm.org/jira/browse/CRM-19920)
+  Job.process_membership uses too much memory
+  ([11564](https://github.com/civicrm/civicrm-core/pull/11564))**
+
+### Backdrop Integration
+
+- **[CRM-21619](https://issues.civicrm.org/jira/browse/CRM-21619) Can't install
+CiviCRM on Backdrop using the Module Installer
+([44](https://github.com/civicrm/civicrm-backdrop/pull/44))**
+
+### Drupal Integration
+
+- **[CRM-21627](https://issues.civicrm.org/jira/browse/CRM-21627) Can't enable
+  multilanguage support in Drupal
+  ([11491](https://github.com/civicrm/civicrm-core/pull/11491))**
+
+- **[CRM-21652](https://issues.civicrm.org/jira/browse/CRM-21652) Numerous
+  issues with anonymous users registering accounts on Drupal 8 (especially from
+  contribution pages)
+  ([11509](https://github.com/civicrm/civicrm-core/pull/11509) and
+  [11507](https://github.com/civicrm/civicrm-core/pull/11507))**
+
+- **[CRM-21667](https://issues.civicrm.org/jira/browse/CRM-21667) Bad timezone
+  hand-off from CMS to CRM
+  ([11534](https://github.com/civicrm/civicrm-core/pull/11534))**
+
+- **Backport fix from D7 module.
+  ([514](https://github.com/civicrm/civicrm-drupal/pull/514))**
+
+  The Drupal 6 group role sync now uses the improved method developed for Drupal
+  7.
+
+- **Update civicrm_handler_field_contact_image.inc
+  ([516](https://github.com/civicrm/civicrm-drupal/pull/516))**
+
+  Views containing the contact image field now provide help for setting image
+  style.
+
+- **[CRM-17652](https://issues.civicrm.org/jira/browse/CRM-17652) Symfony
+  conflict between Civi and Drupal 8
+  ([193](https://github.com/civicrm/civicrm-packages/pull/193)) (continues
+  previous work)**
+
+  The `civicrm-packages` repository is now contains metadata to be a composer
+  library.
+
+- **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views:
+  Custom fields of type Money should use the same filter operators as Integer
+  fields ([436](https://github.com/civicrm/civicrm-drupal/pull/436))**
+
+- **[crm-16541](https://issues.civicrm.org/jira/browse/crm-16541) drush
+  civicrm-sql-dump fails to dump stored function
+  ([520](https://github.com/civicrm/civicrm-drupal/pull/520))**
+
+### Joomla Integration
+
+- **[CRM-20904](https://issues.civicrm.org/jira/browse/CRM-20904) Joomla - Fatal
+  Error when schedule job is executed from cron.php
+  ([10692](https://github.com/civicrm/civicrm-core/pull/10692))**
+
+## <a name="misc"></a>Miscellany
+
+- **[CRM-21660](https://issues.civicrm.org/jira/browse/CRM-21660) Remove use of
+  deprecated function on mapping_type
+  ([11525](https://github.com/civicrm/civicrm-core/pull/11525))**
+
+- **[CRM-21671](https://issues.civicrm.org/jira/browse/CRM-21671) Add core tasks
+  class ([11536](https://github.com/civicrm/civicrm-core/pull/11536))**
+
+- **[CRM-13123](https://issues.civicrm.org/jira/browse/CRM-13123) Handle
+  value-separated fields at the dao level
+  ([11472](https://github.com/civicrm/civicrm-core/pull/11472)) (finishes
+  previous work)**
+
+  This non-functional change updates serialization metadata for the field
+  storing the ways a profile is used.
+
+- **Change geocoder message check.
+  ([11664](https://github.com/civicrm/civicrm-core/pull/11664))**
+
+- **Unit test fixes
+  ([11659](https://github.com/civicrm/civicrm-core/pull/11659))**
+
+- **Fix unit test to not rely on hacking the DB to have ids for price set…
+  ([11652](https://github.com/civicrm/civicrm-core/pull/11652))**
+
+- **Added trait to support Codeception tests
+  ([11115](https://github.com/civicrm/civicrm-core/pull/11115))**
+
+- **(NFC) Fix logging test for multilingual on MySQL5.7
+  ([11626](https://github.com/civicrm/civicrm-core/pull/11626))**
+
+- **[nfc] Fix intermittantly failing test.
+  ([11617](https://github.com/civicrm/civicrm-core/pull/11617))**
+
+- **[CRM-21729](https://issues.civicrm.org/jira/browse/CRM-21729) Exclude
+  (non-lintable) vendor test cases from deply
+  ([11613](https://github.com/civicrm/civicrm-core/pull/11613))**
+
+- **Minor api clean up.
+  ([11569](https://github.com/civicrm/civicrm-core/pull/11569))**
+
+- **Api4 - Update entity directory
+  ([11582](https://github.com/civicrm/civicrm-core/pull/11582))**
+
+- **Fix typo (very recent)
+  ([11566](https://github.com/civicrm/civicrm-core/pull/11566))**
+
+- **Minor api tidy up.
+  ([11543](https://github.com/civicrm/civicrm-core/pull/11543))**
+
+- **Fix mock test data for PaymentProcessor object.
+  ([11545](https://github.com/civicrm/civicrm-core/pull/11545))**
+
+- **Edit to contributor listing: Standalone code contributor from now.
+  ([11512](https://github.com/civicrm/civicrm-core/pull/11512))**
+
+- **Fix unit test failure
+  ([11479](https://github.com/civicrm/civicrm-core/pull/11479))**
+
+- **Reformat DAO files to pass linting and use short array syntax
+  ([11418](https://github.com/civicrm/civicrm-core/pull/11418))**
+
+- **Params to assertGreaterThanOrEqual in api_v3_CaseTest were in wrong order
+  ([11451](https://github.com/civicrm/civicrm-core/pull/11451))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following code authors:
+
+AGH Strategies - Alice Frumin, Tommy Bobo; Agileware - Alok Patel; Australian
+Greens - Seamus Lee; Awebon Technologies - Karthikeyan Balasubramanian;
+BackOffice Thinking - Hassan Farooq; CiviCoop - Erik Hommel; CiviCRM - Coleman
+Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CompuCorp - Camilo
+Rodriguez, Michael Devery, Mukesh Ram, Omar Abu Hussein; Coop SymbioTIC -
+Mathieu Lutfy; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i
+Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit;
+Ginkgo Street Labs - Frank Gómez; iXiam - Luciano Spiegel; JazzMan; JMA
+Consulting - Monish Deb; Johan Vervloet; John Kingsnorth; Joinery - Allen Shaw;
+Joost Fock; Kanzu Code - Carl Andrew Lema; Lighthouse Design and Consulting -
+Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW
+Consulting - Matthew Wire; mountev; myDropWizard - David Snopek; Oxfam Germany -
+Thomas Schüttler; Pradeep Nayak; Progressive Technology Project - Jamie
+McClelland; Samson Alajede; Squiffle Consulting - Aidan Saunders; Systopia -
+Björn Endres, Philipp Batroff; Tech To The People - Xavier Dutoit; Third Sector
+Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Vedant
+Rathore; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston; yurg
+
+Most authors also reviewed code for this release; in addition, the following
+reviewers contributed their comments:
+
+AGH Strategies - Andrew Hunt, Holly Hanks; Agileware - Agileware Team; Andy
+Clarke; Anthony Borrow; Bashar Makhay; Blackfly Solutions - Alan Dixon; Chris
+Burgess; Christophe Golle; Circle Interactive - Andrew Walker, Dave Jenkins;
+CiviDesk - Nicolas Ganivet; CompuCorp - Chandana Bandara, Guanhuan Chen, Tunbola
+Ogunwande; Comunica2 - René Nieuwburg; Custom Websites to Go - Julie Hall; Dave
+Greenberg; Dave Rolsky; DevMate - Adam Kwiatkowski; Donald Lobo; Evan Chute;
+Fuzion - Gemma Potaka, Peter Davis; Ginkgo Street Labs - Dan O'Brien; Glasgow
+Women's Library - Helen MacDonald; GMCVO Databases - Alex Lee, Heather Oliver;
+JMA Consulting - Joe Murray; Joseph Lacey; Juan David Hurtado G.; Just Hope -
+Phil Morice Brubaker; Klangsoft - David Reedy Jr; Korlon - Stuart Gaston;
+Lemniscus - Noah Miller; MC3 - Graham Mitchell; Mick Collopy; Nathan Brettell;
+Nubay Services - David Tarrant; Palante Technology Cooperative - Jack Aponte;
+Panu Boonpromsook; Piotr Stankowski; Play Australia - Renaee Churches;
+Progressive Technology Project - Robyn Perry; Registered Nurses' Association of
+Ontario - Thomas Mannell; Richard van Oosterhout; Saurabh Batra; Semper IT -
+Karin Gerritsen; Shira Miller; Skvare - Mark Hanna, Peter Petrik; Spry Digital -
+Julia Koelsch; Systopia - Fabian Schuttenberg, Martin Peth; Tadpole Collective -
+Kevin Cristiano; Team Expansion - Greg Harris; Tobias Lounsbury; Web Access -
+Kurund Jalmi; We Move Europe/Caltha - Tomasz Pietrzkowski; Wildsight - Lars
+Sanders-Green
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Andrew Hunt.  If you'd like to provide
+feedback on them, please login to https://chat.civicrm.org/civicrm and contact
+`@agh1`.
diff --git a/civicrm/settings/Mailing.setting.php b/civicrm/settings/Mailing.setting.php
index cc2626fa4c..e38584c89f 100644
--- a/civicrm/settings/Mailing.setting.php
+++ b/civicrm/settings/Mailing.setting.php
@@ -346,4 +346,17 @@ return array(
     'description' => 'Enable this setting to rebuild recipient list automatically during composing mail. Disable will allow you to rebuild recipient manually.',
     'help_text' => 'CiviMail automatically fetches recipient list and count whenever mailing groups are included or excluded while composing bulk mail. This phenomena may degrade performance for large sites, so disable this setting to build and fetch recipients for selected groups, manually.',
   ),
+  'allow_mail_from_logged_in_contact' => array(
+    'group_name' => 'Mailing Preferences',
+    'group' => 'mailing',
+    'name' => 'allow_mail_from_logged_in_contact',
+    'type' => 'Boolean',
+    'quick_form_type' => 'YesNo',
+    'default' => 1,
+    'title' => 'Allow mail from logged in contact',
+    'is_domain' => 1,
+    'is_contact' => 0,
+    'description' => 'Allow sending email from the logged in contact\'s email address',
+    'help_text' => 'CiviCRM allows you to send email from the domain from email addresses and the logged in contact id addresses by default. Disable this if you only want to allow the domain from addresses to be used.',
+  ),
 );
diff --git a/civicrm/sql/civicrm.mysql b/civicrm/sql/civicrm.mysql
index 9f83ba586f..6ecfa96b7c 100644
--- a/civicrm/sql/civicrm.mysql
+++ b/civicrm/sql/civicrm.mysql
@@ -3482,8 +3482,9 @@ CREATE TABLE `civicrm_uf_group` (
 
      `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Unique table ID',
      `is_active` tinyint   DEFAULT 1 COMMENT 'Is this form currently active? If false, hide all related fields for all sharing contexts.',
-     `group_type` varchar(255)    COMMENT 'This column will store a comma separated list of the type(s) of profile fields.',
+     `group_type` varchar(255)    COMMENT 'Comma separated list of the type(s) of profile fields.',
      `title` varchar(64) NOT NULL   COMMENT 'Form title.',
+     `frontend_title` varchar(64)    COMMENT 'Profile Form Public title',
      `description` text    COMMENT 'Optional verbose description of the profile.',
      `help_pre` text    COMMENT 'Description and/or help text to display before fields in form.',
      `help_post` text    COMMENT 'Description and/or help text to display after fields in form.',
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index 9a9da77236..a00045e658 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23952,4 +23952,4 @@ INSERT INTO `civicrm_report_instance`
 VALUES
     (  @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
 
-UPDATE civicrm_domain SET version = '4.7.30';
+UPDATE civicrm_domain SET version = '4.7.31';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index c1e212b199..ef346cc355 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13  Distrib 5.7.20, for Linux (x86_64)
+-- MySQL dump 10.16  Distrib 10.2.12-MariaDB, for debian-linux-gnu (x86_64)
 --
 -- Host: 127.0.0.1    Database: 47testcivi_nwh7q
 -- ------------------------------------------------------
--- Server version	5.7.20-0ubuntu0.17.04.1
+-- Server version	10.2.12-MariaDB-10.2.12+maria~zesty
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -10,7 +10,6 @@
 /*!40101 SET NAMES utf8 */;
 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
 /*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
@@ -87,7 +86,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_activity` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity` DISABLE KEYS */;
-INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES (1,NULL,9,'Subject for Tell a Friend','2017-04-23 04:19:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(2,NULL,10,'Subject for Pledge Acknowledgment','2016-12-02 21:59:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(3,NULL,10,'Subject for Pledge Acknowledgment','2017-02-12 11:09:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(4,NULL,10,'Subject for Pledge Acknowledgment','2017-07-11 16:36:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(5,NULL,9,'Subject for Tell a Friend','2017-07-19 23:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(6,NULL,9,'Subject for Tell a Friend','2017-04-18 08:16:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(7,NULL,10,'Subject for Pledge Acknowledgment','2017-07-07 01:52:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(8,NULL,9,'Subject for Tell a Friend','2016-12-12 00:45:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(9,NULL,9,'Subject for Tell a Friend','2017-02-16 21:30:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(10,NULL,10,'Subject for Pledge Acknowledgment','2017-05-29 09:48:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(11,NULL,9,'Subject for Tell a Friend','2016-12-12 21:36:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(12,NULL,9,'Subject for Tell a Friend','2017-09-03 11:50:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(13,NULL,9,'Subject for Tell a Friend','2017-05-15 06:40:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(14,NULL,9,'Subject for Tell a Friend','2016-12-07 14:31:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(15,NULL,10,'Subject for Pledge Acknowledgment','2017-09-07 07:47:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(16,NULL,10,'Subject for Pledge Acknowledgment','2017-07-31 20:57:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:48','2017-11-01 23:27:48'),(17,NULL,10,'Subject for Pledge Acknowledgment','2017-09-28 00:27:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(18,NULL,10,'Subject for Pledge Acknowledgment','2017-04-11 01:23:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(19,NULL,10,'Subject for Pledge Acknowledgment','2017-01-31 14:25:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(20,NULL,10,'Subject for Pledge Acknowledgment','2017-07-21 23:05:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(21,NULL,10,'Subject for Pledge Acknowledgment','2017-02-26 17:56:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(22,NULL,9,'Subject for Tell a Friend','2016-12-22 03:53:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(23,NULL,10,'Subject for Pledge Acknowledgment','2017-01-13 17:50:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(24,NULL,10,'Subject for Pledge Acknowledgment','2017-03-17 14:04:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(25,NULL,9,'Subject for Tell a Friend','2017-08-14 22:05:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(26,NULL,9,'Subject for Tell a Friend','2016-12-22 06:21:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(27,NULL,9,'Subject for Tell a Friend','2017-04-03 17:03:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(28,NULL,9,'Subject for Tell a Friend','2017-04-30 16:46:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(29,NULL,10,'Subject for Pledge Acknowledgment','2017-05-12 05:59:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(30,NULL,9,'Subject for Tell a Friend','2017-09-28 18:08:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(31,NULL,9,'Subject for Tell a Friend','2016-12-29 16:10:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(32,NULL,9,'Subject for Tell a Friend','2017-08-21 14:17:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(33,NULL,9,'Subject for Tell a Friend','2017-10-06 16:39:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(34,NULL,10,'Subject for Pledge Acknowledgment','2017-08-09 17:33:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(35,NULL,9,'Subject for Tell a Friend','2017-08-28 23:42:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(36,NULL,9,'Subject for Tell a Friend','2017-02-08 16:26:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(37,NULL,9,'Subject for Tell a Friend','2017-09-20 21:00:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(38,NULL,9,'Subject for Tell a Friend','2017-10-28 01:58:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(39,NULL,9,'Subject for Tell a Friend','2017-04-17 04:57:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(40,NULL,10,'Subject for Pledge Acknowledgment','2017-03-28 12:23:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(41,NULL,9,'Subject for Tell a Friend','2017-08-16 07:40:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(42,NULL,9,'Subject for Tell a Friend','2017-04-09 21:49:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(43,NULL,10,'Subject for Pledge Acknowledgment','2016-12-31 23:36:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(44,NULL,9,'Subject for Tell a Friend','2017-10-15 12:24:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(45,NULL,9,'Subject for Tell a Friend','2017-11-02 05:27:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(46,NULL,9,'Subject for Tell a Friend','2017-08-13 19:37:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(47,NULL,10,'Subject for Pledge Acknowledgment','2017-01-22 04:03:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(48,NULL,9,'Subject for Tell a Friend','2016-11-07 05:02:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(49,NULL,10,'Subject for Pledge Acknowledgment','2017-05-23 01:28:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(50,NULL,9,'Subject for Tell a Friend','2017-09-26 15:12:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(51,NULL,9,'Subject for Tell a Friend','2017-07-06 05:49:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(52,NULL,9,'Subject for Tell a Friend','2017-09-26 17:02:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(53,NULL,10,'Subject for Pledge Acknowledgment','2017-09-25 01:30:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(54,NULL,10,'Subject for Pledge Acknowledgment','2017-03-14 06:05:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(55,NULL,10,'Subject for Pledge Acknowledgment','2017-04-15 18:33:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(56,NULL,10,'Subject for Pledge Acknowledgment','2017-03-18 17:22:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(57,NULL,10,'Subject for Pledge Acknowledgment','2016-12-08 15:42:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(58,NULL,9,'Subject for Tell a Friend','2017-02-26 04:58:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(59,NULL,10,'Subject for Pledge Acknowledgment','2017-06-26 18:40:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(60,NULL,10,'Subject for Pledge Acknowledgment','2016-11-06 16:31:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(61,NULL,10,'Subject for Pledge Acknowledgment','2017-03-26 03:12:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(62,NULL,10,'Subject for Pledge Acknowledgment','2017-08-25 20:02:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(63,NULL,9,'Subject for Tell a Friend','2017-02-07 06:25:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(64,NULL,9,'Subject for Tell a Friend','2017-01-14 13:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(65,NULL,9,'Subject for Tell a Friend','2017-05-05 16:13:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(66,NULL,10,'Subject for Pledge Acknowledgment','2016-12-13 09:27:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(67,NULL,9,'Subject for Tell a Friend','2017-07-23 23:10:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:49','2017-11-01 23:27:49'),(68,NULL,10,'Subject for Pledge Acknowledgment','2017-01-10 07:28:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(69,NULL,10,'Subject for Pledge Acknowledgment','2017-02-08 04:57:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(70,NULL,9,'Subject for Tell a Friend','2017-05-13 20:42:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(71,NULL,10,'Subject for Pledge Acknowledgment','2017-01-02 09:19:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(72,NULL,10,'Subject for Pledge Acknowledgment','2017-05-25 02:44:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(73,NULL,9,'Subject for Tell a Friend','2017-01-11 23:58:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(74,NULL,10,'Subject for Pledge Acknowledgment','2017-04-28 18:50:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(75,NULL,9,'Subject for Tell a Friend','2017-01-28 00:54:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(76,NULL,10,'Subject for Pledge Acknowledgment','2017-08-11 03:48:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(77,NULL,9,'Subject for Tell a Friend','2017-10-14 02:23:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(78,NULL,9,'Subject for Tell a Friend','2017-02-08 01:08:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(79,NULL,9,'Subject for Tell a Friend','2017-02-24 23:07:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(80,NULL,9,'Subject for Tell a Friend','2017-02-26 18:11:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(81,NULL,9,'Subject for Tell a Friend','2017-03-17 17:34:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(82,NULL,9,'Subject for Tell a Friend','2017-03-04 09:50:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(83,NULL,10,'Subject for Pledge Acknowledgment','2017-09-02 23:50:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(84,NULL,9,'Subject for Tell a Friend','2017-04-02 15:27:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(85,NULL,10,'Subject for Pledge Acknowledgment','2017-01-10 06:26:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(86,NULL,9,'Subject for Tell a Friend','2017-01-05 08:19:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(87,NULL,10,'Subject for Pledge Acknowledgment','2017-10-11 01:35:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(88,NULL,10,'Subject for Pledge Acknowledgment','2016-12-12 22:46:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(89,NULL,10,'Subject for Pledge Acknowledgment','2017-04-07 05:35:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(90,NULL,10,'Subject for Pledge Acknowledgment','2017-02-21 12:33:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(91,NULL,9,'Subject for Tell a Friend','2017-03-05 07:06:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(92,NULL,10,'Subject for Pledge Acknowledgment','2017-02-08 09:00:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(93,NULL,9,'Subject for Tell a Friend','2017-09-23 14:14:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(94,NULL,10,'Subject for Pledge Acknowledgment','2017-07-21 13:44:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(95,NULL,9,'Subject for Tell a Friend','2017-06-06 21:33:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(96,NULL,9,'Subject for Tell a Friend','2017-02-04 11:13:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(97,NULL,10,'Subject for Pledge Acknowledgment','2017-07-19 16:22:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(98,NULL,9,'Subject for Tell a Friend','2017-10-06 04:35:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(99,NULL,10,'Subject for Pledge Acknowledgment','2017-01-05 18:51:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(100,NULL,9,'Subject for Tell a Friend','2017-05-02 03:33:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(101,NULL,9,'Subject for Tell a Friend','2017-04-22 08:07:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(102,NULL,9,'Subject for Tell a Friend','2016-11-04 09:40:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(103,NULL,10,'Subject for Pledge Acknowledgment','2017-07-26 12:56:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(104,NULL,10,'Subject for Pledge Acknowledgment','2017-02-11 20:46:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(105,NULL,9,'Subject for Tell a Friend','2017-01-25 13:51:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(106,NULL,10,'Subject for Pledge Acknowledgment','2016-12-04 01:07:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(107,NULL,10,'Subject for Pledge Acknowledgment','2017-05-23 21:48:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(108,NULL,10,'Subject for Pledge Acknowledgment','2016-12-18 04:47:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(109,NULL,9,'Subject for Tell a Friend','2017-02-03 19:28:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(110,NULL,9,'Subject for Tell a Friend','2017-08-19 11:16:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(111,NULL,10,'Subject for Pledge Acknowledgment','2016-11-19 17:07:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(112,NULL,10,'Subject for Pledge Acknowledgment','2016-12-11 08:37:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(113,NULL,9,'Subject for Tell a Friend','2017-02-04 02:14:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(114,NULL,9,'Subject for Tell a Friend','2017-06-21 09:37:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(115,NULL,10,'Subject for Pledge Acknowledgment','2017-05-16 22:48:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(116,NULL,9,'Subject for Tell a Friend','2017-02-09 15:01:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:50','2017-11-01 23:27:50'),(117,NULL,10,'Subject for Pledge Acknowledgment','2017-07-30 17:55:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(118,NULL,9,'Subject for Tell a Friend','2017-06-12 14:43:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(119,NULL,10,'Subject for Pledge Acknowledgment','2016-11-08 21:28:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(120,NULL,9,'Subject for Tell a Friend','2017-10-31 20:29:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(121,NULL,9,'Subject for Tell a Friend','2017-02-26 05:25:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(122,NULL,10,'Subject for Pledge Acknowledgment','2017-09-21 09:37:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(123,NULL,10,'Subject for Pledge Acknowledgment','2017-03-27 05:19:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(124,NULL,9,'Subject for Tell a Friend','2017-05-02 16:36:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(125,NULL,10,'Subject for Pledge Acknowledgment','2017-09-14 00:49:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(126,NULL,10,'Subject for Pledge Acknowledgment','2017-09-12 06:17:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(127,NULL,9,'Subject for Tell a Friend','2017-09-07 20:26:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(128,NULL,10,'Subject for Pledge Acknowledgment','2017-08-17 05:50:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(129,NULL,9,'Subject for Tell a Friend','2016-11-13 17:00:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(130,NULL,10,'Subject for Pledge Acknowledgment','2017-01-20 19:05:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(131,NULL,9,'Subject for Tell a Friend','2017-08-08 21:53:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(132,NULL,10,'Subject for Pledge Acknowledgment','2017-08-10 19:06:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(133,NULL,10,'Subject for Pledge Acknowledgment','2017-03-19 19:14:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(134,NULL,10,'Subject for Pledge Acknowledgment','2017-07-15 17:42:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(135,NULL,9,'Subject for Tell a Friend','2017-04-23 09:20:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(136,NULL,9,'Subject for Tell a Friend','2017-07-23 08:07:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(137,NULL,9,'Subject for Tell a Friend','2017-02-19 08:20:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(138,NULL,10,'Subject for Pledge Acknowledgment','2017-09-16 11:59:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(139,NULL,10,'Subject for Pledge Acknowledgment','2017-04-11 05:39:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(140,NULL,10,'Subject for Pledge Acknowledgment','2017-09-07 18:18:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(141,NULL,9,'Subject for Tell a Friend','2017-10-22 18:56:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(142,NULL,9,'Subject for Tell a Friend','2017-04-22 06:51:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(143,NULL,9,'Subject for Tell a Friend','2016-12-09 06:26:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(144,NULL,9,'Subject for Tell a Friend','2017-05-09 21:37:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(145,NULL,9,'Subject for Tell a Friend','2017-03-06 22:42:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(146,NULL,9,'Subject for Tell a Friend','2017-04-08 08:00:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(147,NULL,9,'Subject for Tell a Friend','2017-04-18 18:36:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(148,NULL,9,'Subject for Tell a Friend','2016-11-13 16:32:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(149,NULL,10,'Subject for Pledge Acknowledgment','2017-08-24 01:59:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(150,NULL,10,'Subject for Pledge Acknowledgment','2017-07-24 01:29:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(151,NULL,10,'Subject for Pledge Acknowledgment','2017-06-14 05:33:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(152,NULL,9,'Subject for Tell a Friend','2017-02-25 16:35:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(153,NULL,10,'Subject for Pledge Acknowledgment','2017-03-02 20:18:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(154,NULL,10,'Subject for Pledge Acknowledgment','2017-04-12 01:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(155,NULL,10,'Subject for Pledge Acknowledgment','2017-07-30 18:37:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(156,NULL,9,'Subject for Tell a Friend','2017-06-07 12:57:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(157,NULL,9,'Subject for Tell a Friend','2017-05-11 05:12:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(158,NULL,10,'Subject for Pledge Acknowledgment','2017-07-12 01:03:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(159,NULL,10,'Subject for Pledge Acknowledgment','2017-09-13 10:37:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(160,NULL,9,'Subject for Tell a Friend','2017-03-03 18:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(161,NULL,10,'Subject for Pledge Acknowledgment','2017-03-03 22:00:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(162,NULL,9,'Subject for Tell a Friend','2017-09-14 11:38:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(163,NULL,9,'Subject for Tell a Friend','2017-10-29 01:28:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(164,NULL,9,'Subject for Tell a Friend','2016-12-11 13:12:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:51','2017-11-01 23:27:51'),(165,NULL,9,'Subject for Tell a Friend','2017-03-04 09:47:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(166,NULL,10,'Subject for Pledge Acknowledgment','2017-03-21 20:32:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(167,NULL,9,'Subject for Tell a Friend','2017-06-02 09:36:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(168,NULL,10,'Subject for Pledge Acknowledgment','2017-10-20 01:13:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(169,NULL,10,'Subject for Pledge Acknowledgment','2017-01-28 09:18:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(170,NULL,9,'Subject for Tell a Friend','2017-02-09 15:07:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(171,NULL,10,'Subject for Pledge Acknowledgment','2017-08-21 20:25:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(172,NULL,9,'Subject for Tell a Friend','2017-09-29 09:54:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(173,NULL,9,'Subject for Tell a Friend','2017-04-20 12:18:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(174,NULL,10,'Subject for Pledge Acknowledgment','2017-09-25 05:39:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(175,NULL,10,'Subject for Pledge Acknowledgment','2017-10-23 01:45:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(176,NULL,9,'Subject for Tell a Friend','2016-12-13 10:06:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(177,NULL,9,'Subject for Tell a Friend','2017-03-25 01:34:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(178,NULL,9,'Subject for Tell a Friend','2017-07-03 17:53:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(179,NULL,10,'Subject for Pledge Acknowledgment','2017-08-23 08:07:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(180,NULL,9,'Subject for Tell a Friend','2017-05-23 03:17:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(181,NULL,10,'Subject for Pledge Acknowledgment','2017-01-26 03:42:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(182,NULL,9,'Subject for Tell a Friend','2017-02-13 16:59:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(183,NULL,9,'Subject for Tell a Friend','2017-07-14 08:24:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(184,NULL,10,'Subject for Pledge Acknowledgment','2017-03-18 12:06:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(185,NULL,9,'Subject for Tell a Friend','2017-03-10 22:30:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(186,NULL,10,'Subject for Pledge Acknowledgment','2017-03-22 01:51:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(187,NULL,9,'Subject for Tell a Friend','2017-07-22 08:29:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(188,NULL,9,'Subject for Tell a Friend','2017-10-02 13:34:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(189,NULL,9,'Subject for Tell a Friend','2016-11-28 04:03:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(190,NULL,9,'Subject for Tell a Friend','2016-11-06 14:22:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(191,NULL,9,'Subject for Tell a Friend','2017-05-05 00:50:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(192,NULL,10,'Subject for Pledge Acknowledgment','2017-06-26 23:15:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(193,NULL,9,'Subject for Tell a Friend','2017-07-24 20:38:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(194,NULL,10,'Subject for Pledge Acknowledgment','2017-07-10 05:58:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(195,NULL,9,'Subject for Tell a Friend','2016-12-01 16:59:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(196,NULL,10,'Subject for Pledge Acknowledgment','2017-06-22 05:53:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(197,NULL,10,'Subject for Pledge Acknowledgment','2017-05-26 06:45:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(198,NULL,9,'Subject for Tell a Friend','2017-09-11 06:09:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(199,NULL,10,'Subject for Pledge Acknowledgment','2017-07-06 15:41:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(200,NULL,9,'Subject for Tell a Friend','2017-09-22 07:35:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(201,NULL,9,'Subject for Tell a Friend','2017-02-10 18:37:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(202,NULL,9,'Subject for Tell a Friend','2017-06-26 09:15:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(203,NULL,10,'Subject for Pledge Acknowledgment','2017-11-02 00:36:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(204,NULL,10,'Subject for Pledge Acknowledgment','2017-10-16 05:18:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(205,NULL,10,'Subject for Pledge Acknowledgment','2017-10-09 17:19:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(206,NULL,10,'Subject for Pledge Acknowledgment','2017-03-03 03:40:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(207,NULL,9,'Subject for Tell a Friend','2016-11-26 21:33:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(208,NULL,10,'Subject for Pledge Acknowledgment','2017-10-15 08:06:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(209,NULL,9,'Subject for Tell a Friend','2017-09-24 16:46:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(210,NULL,10,'Subject for Pledge Acknowledgment','2017-04-30 20:03:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(211,NULL,10,'Subject for Pledge Acknowledgment','2017-01-09 05:14:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(212,NULL,10,'Subject for Pledge Acknowledgment','2017-04-24 15:38:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:52','2017-11-01 23:27:52'),(213,NULL,10,'Subject for Pledge Acknowledgment','2017-06-14 16:16:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(214,NULL,9,'Subject for Tell a Friend','2017-01-11 19:14:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(215,NULL,10,'Subject for Pledge Acknowledgment','2016-11-11 13:56:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(216,NULL,10,'Subject for Pledge Acknowledgment','2017-09-29 07:39:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(217,NULL,10,'Subject for Pledge Acknowledgment','2017-06-16 09:14:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(218,NULL,9,'Subject for Tell a Friend','2017-06-14 11:45:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(219,NULL,10,'Subject for Pledge Acknowledgment','2016-11-21 12:00:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(220,NULL,10,'Subject for Pledge Acknowledgment','2017-08-19 20:53:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(221,NULL,10,'Subject for Pledge Acknowledgment','2017-01-19 04:12:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(222,NULL,10,'Subject for Pledge Acknowledgment','2017-04-03 05:54:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(223,NULL,10,'Subject for Pledge Acknowledgment','2017-01-18 11:26:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(224,NULL,10,'Subject for Pledge Acknowledgment','2017-01-12 04:58:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(225,NULL,9,'Subject for Tell a Friend','2017-06-15 08:43:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(226,NULL,10,'Subject for Pledge Acknowledgment','2017-09-12 03:50:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(227,NULL,9,'Subject for Tell a Friend','2016-11-02 10:55:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(228,NULL,9,'Subject for Tell a Friend','2017-05-19 18:07:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(229,NULL,10,'Subject for Pledge Acknowledgment','2017-10-13 00:00:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(230,NULL,10,'Subject for Pledge Acknowledgment','2016-12-28 17:52:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(231,NULL,9,'Subject for Tell a Friend','2016-11-17 09:49:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(232,NULL,10,'Subject for Pledge Acknowledgment','2017-06-23 19:32:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(233,NULL,10,'Subject for Pledge Acknowledgment','2017-03-23 15:01:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(234,NULL,10,'Subject for Pledge Acknowledgment','2017-02-24 03:30:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(235,NULL,9,'Subject for Tell a Friend','2017-06-02 23:12:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(236,NULL,10,'Subject for Pledge Acknowledgment','2017-08-12 10:28:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(237,NULL,10,'Subject for Pledge Acknowledgment','2017-02-16 04:18:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(238,NULL,10,'Subject for Pledge Acknowledgment','2017-09-14 17:06:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(239,NULL,10,'Subject for Pledge Acknowledgment','2017-02-13 03:25:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(240,NULL,10,'Subject for Pledge Acknowledgment','2016-11-24 07:34:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(241,NULL,9,'Subject for Tell a Friend','2016-11-29 20:01:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(242,NULL,10,'Subject for Pledge Acknowledgment','2017-04-10 22:15:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(243,NULL,9,'Subject for Tell a Friend','2017-06-13 13:05:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(244,NULL,9,'Subject for Tell a Friend','2017-10-04 17:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(245,NULL,10,'Subject for Pledge Acknowledgment','2017-08-26 11:59:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(246,NULL,9,'Subject for Tell a Friend','2017-04-08 18:16:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(247,NULL,9,'Subject for Tell a Friend','2016-11-04 18:30:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(248,NULL,10,'Subject for Pledge Acknowledgment','2017-04-18 07:51:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(249,NULL,10,'Subject for Pledge Acknowledgment','2016-12-06 01:00:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(250,NULL,9,'Subject for Tell a Friend','2017-03-20 20:16:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(251,NULL,9,'Subject for Tell a Friend','2017-01-01 19:40:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(252,NULL,10,'Subject for Pledge Acknowledgment','2017-07-10 19:59:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(253,NULL,9,'Subject for Tell a Friend','2017-01-23 17:39:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(254,NULL,10,'Subject for Pledge Acknowledgment','2017-04-16 01:20:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(255,NULL,9,'Subject for Tell a Friend','2017-01-18 17:46:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(256,NULL,10,'Subject for Pledge Acknowledgment','2017-02-24 14:33:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(257,NULL,10,'Subject for Pledge Acknowledgment','2017-10-21 16:27:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(258,NULL,10,'Subject for Pledge Acknowledgment','2017-02-03 04:19:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(259,NULL,10,'Subject for Pledge Acknowledgment','2017-02-24 15:32:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(260,NULL,9,'Subject for Tell a Friend','2017-05-28 12:02:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(261,NULL,9,'Subject for Tell a Friend','2017-04-28 11:10:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(262,NULL,10,'Subject for Pledge Acknowledgment','2017-10-07 00:10:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(263,NULL,10,'Subject for Pledge Acknowledgment','2017-02-24 17:27:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(264,NULL,9,'Subject for Tell a Friend','2016-11-19 04:10:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:53','2017-11-01 23:27:53'),(265,NULL,10,'Subject for Pledge Acknowledgment','2017-03-19 01:32:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(266,NULL,9,'Subject for Tell a Friend','2017-04-14 01:57:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(267,NULL,9,'Subject for Tell a Friend','2017-06-17 00:08:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(268,NULL,10,'Subject for Pledge Acknowledgment','2017-05-11 03:11:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(269,NULL,9,'Subject for Tell a Friend','2016-11-17 05:21:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(270,NULL,9,'Subject for Tell a Friend','2017-09-20 17:30:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(271,NULL,9,'Subject for Tell a Friend','2017-03-14 02:24:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(272,NULL,9,'Subject for Tell a Friend','2017-01-05 00:50:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(273,NULL,10,'Subject for Pledge Acknowledgment','2017-01-26 05:20:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(274,NULL,10,'Subject for Pledge Acknowledgment','2017-07-04 14:14:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(275,NULL,9,'Subject for Tell a Friend','2017-05-25 15:52:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(276,NULL,9,'Subject for Tell a Friend','2017-08-30 23:35:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(277,NULL,9,'Subject for Tell a Friend','2017-10-05 10:01:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(278,NULL,10,'Subject for Pledge Acknowledgment','2017-09-19 11:13:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(279,NULL,10,'Subject for Pledge Acknowledgment','2017-07-25 07:16:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(280,NULL,10,'Subject for Pledge Acknowledgment','2017-04-28 15:44:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(281,NULL,9,'Subject for Tell a Friend','2017-06-10 11:47:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(282,NULL,9,'Subject for Tell a Friend','2017-03-17 05:01:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(283,NULL,9,'Subject for Tell a Friend','2017-01-17 21:21:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(284,NULL,9,'Subject for Tell a Friend','2017-04-21 20:30:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(285,NULL,10,'Subject for Pledge Acknowledgment','2017-02-27 09:26:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(286,NULL,10,'Subject for Pledge Acknowledgment','2017-09-10 23:56:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(287,NULL,9,'Subject for Tell a Friend','2017-02-15 16:55:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(288,NULL,9,'Subject for Tell a Friend','2017-05-12 03:04:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(289,NULL,9,'Subject for Tell a Friend','2017-10-11 04:33:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(290,NULL,9,'Subject for Tell a Friend','2017-09-02 10:18:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(291,NULL,9,'Subject for Tell a Friend','2017-04-02 02:02:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(292,NULL,10,'Subject for Pledge Acknowledgment','2017-06-14 02:45:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(293,NULL,9,'Subject for Tell a Friend','2017-08-20 12:31:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(294,NULL,10,'Subject for Pledge Acknowledgment','2016-11-08 20:45:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(295,NULL,10,'Subject for Pledge Acknowledgment','2017-08-30 21:34:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(296,NULL,10,'Subject for Pledge Acknowledgment','2016-11-10 20:51:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(297,NULL,9,'Subject for Tell a Friend','2017-04-29 01:35:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(298,NULL,9,'Subject for Tell a Friend','2017-07-15 12:18:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(299,NULL,10,'Subject for Pledge Acknowledgment','2017-10-31 08:44:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(300,NULL,10,'Subject for Pledge Acknowledgment','2017-04-06 01:30:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(301,NULL,9,'Subject for Tell a Friend','2017-03-05 02:14:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(302,NULL,9,'Subject for Tell a Friend','2016-12-10 08:23:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(303,NULL,9,'Subject for Tell a Friend','2017-07-20 09:29:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(304,NULL,10,'Subject for Pledge Acknowledgment','2016-12-22 23:19:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(305,NULL,10,'Subject for Pledge Acknowledgment','2016-11-20 19:01:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(306,NULL,10,'Subject for Pledge Acknowledgment','2017-09-04 00:54:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(307,NULL,9,'Subject for Tell a Friend','2017-09-07 16:41:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(308,NULL,9,'Subject for Tell a Friend','2017-01-29 12:07:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(309,NULL,10,'Subject for Pledge Acknowledgment','2017-03-17 02:26:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(310,NULL,9,'Subject for Tell a Friend','2017-03-09 03:25:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(311,NULL,9,'Subject for Tell a Friend','2017-05-22 11:29:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:54','2017-11-01 23:27:54'),(312,NULL,9,'Subject for Tell a Friend','2016-12-04 08:18:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(313,NULL,10,'Subject for Pledge Acknowledgment','2016-11-12 03:42:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(314,NULL,10,'Subject for Pledge Acknowledgment','2016-11-20 13:16:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(315,NULL,9,'Subject for Tell a Friend','2017-02-20 09:11:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(316,NULL,10,'Subject for Pledge Acknowledgment','2017-03-04 13:53:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(317,NULL,10,'Subject for Pledge Acknowledgment','2017-04-15 03:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(318,NULL,9,'Subject for Tell a Friend','2017-05-27 21:51:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(319,NULL,9,'Subject for Tell a Friend','2017-10-14 08:14:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(320,NULL,10,'Subject for Pledge Acknowledgment','2017-07-07 13:56:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(321,NULL,9,'Subject for Tell a Friend','2017-08-21 18:17:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(322,NULL,10,'Subject for Pledge Acknowledgment','2017-01-24 11:17:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(323,NULL,10,'Subject for Pledge Acknowledgment','2017-05-19 09:08:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(324,NULL,10,'Subject for Pledge Acknowledgment','2017-09-21 12:45:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(325,NULL,9,'Subject for Tell a Friend','2017-01-20 05:07:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(326,NULL,10,'Subject for Pledge Acknowledgment','2017-07-10 03:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(327,NULL,10,'Subject for Pledge Acknowledgment','2017-07-27 06:17:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(328,NULL,10,'Subject for Pledge Acknowledgment','2017-02-09 12:56:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(329,NULL,10,'Subject for Pledge Acknowledgment','2017-11-02 03:20:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(330,NULL,10,'Subject for Pledge Acknowledgment','2017-09-07 10:55:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(331,NULL,9,'Subject for Tell a Friend','2017-08-27 19:02:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(332,NULL,10,'Subject for Pledge Acknowledgment','2016-11-22 08:51:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(333,NULL,10,'Subject for Pledge Acknowledgment','2016-12-05 12:23:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(334,NULL,10,'Subject for Pledge Acknowledgment','2017-07-05 15:44:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(335,NULL,10,'Subject for Pledge Acknowledgment','2016-11-14 09:07:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(336,NULL,9,'Subject for Tell a Friend','2017-08-16 03:35:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(337,NULL,9,'Subject for Tell a Friend','2017-09-29 08:13:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(338,NULL,9,'Subject for Tell a Friend','2017-10-24 01:33:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(339,NULL,9,'Subject for Tell a Friend','2017-08-17 03:13:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(340,NULL,9,'Subject for Tell a Friend','2016-12-02 01:37:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(341,NULL,10,'Subject for Pledge Acknowledgment','2017-04-20 13:16:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(342,NULL,9,'Subject for Tell a Friend','2017-09-14 01:36:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(343,NULL,9,'Subject for Tell a Friend','2017-03-08 20:09:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(344,NULL,9,'Subject for Tell a Friend','2017-04-11 15:21:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(345,NULL,9,'Subject for Tell a Friend','2016-11-17 15:21:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(346,NULL,9,'Subject for Tell a Friend','2017-03-04 23:14:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(347,NULL,9,'Subject for Tell a Friend','2017-03-09 03:13:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(348,NULL,9,'Subject for Tell a Friend','2017-05-26 16:56:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(349,NULL,9,'Subject for Tell a Friend','2017-05-16 15:02:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(350,NULL,10,'Subject for Pledge Acknowledgment','2016-12-11 11:55:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(351,NULL,9,'Subject for Tell a Friend','2017-07-05 08:55:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(352,NULL,9,'Subject for Tell a Friend','2017-03-13 11:51:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(353,NULL,10,'Subject for Pledge Acknowledgment','2017-08-22 15:09:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(354,NULL,10,'Subject for Pledge Acknowledgment','2017-04-09 04:21:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(355,NULL,9,'Subject for Tell a Friend','2017-10-10 00:14:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(356,NULL,9,'Subject for Tell a Friend','2017-02-03 06:50:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(357,NULL,9,'Subject for Tell a Friend','2017-04-15 11:18:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(358,NULL,9,'Subject for Tell a Friend','2017-07-05 10:13:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(359,NULL,10,'Subject for Pledge Acknowledgment','2017-02-04 21:12:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:55','2017-11-01 23:27:55'),(360,NULL,9,'Subject for Tell a Friend','2017-01-05 13:37:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(361,NULL,9,'Subject for Tell a Friend','2017-07-13 00:55:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(362,NULL,9,'Subject for Tell a Friend','2017-05-21 02:06:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(363,NULL,9,'Subject for Tell a Friend','2017-10-25 16:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(364,NULL,10,'Subject for Pledge Acknowledgment','2017-02-01 15:14:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(365,NULL,10,'Subject for Pledge Acknowledgment','2017-07-28 00:21:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(366,NULL,10,'Subject for Pledge Acknowledgment','2017-04-17 03:33:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(367,NULL,9,'Subject for Tell a Friend','2017-09-05 07:11:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(368,NULL,9,'Subject for Tell a Friend','2017-01-19 16:35:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(369,NULL,10,'Subject for Pledge Acknowledgment','2017-02-17 15:29:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(370,NULL,10,'Subject for Pledge Acknowledgment','2017-10-18 04:41:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(371,NULL,10,'Subject for Pledge Acknowledgment','2017-03-17 12:49:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(372,NULL,9,'Subject for Tell a Friend','2017-05-09 07:38:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(373,NULL,9,'Subject for Tell a Friend','2017-10-09 00:20:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(374,NULL,9,'Subject for Tell a Friend','2016-11-21 03:23:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(375,NULL,9,'Subject for Tell a Friend','2017-01-13 15:33:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(376,NULL,10,'Subject for Pledge Acknowledgment','2017-06-20 20:20:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(377,NULL,9,'Subject for Tell a Friend','2017-02-19 13:25:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(378,NULL,10,'Subject for Pledge Acknowledgment','2017-01-28 05:58:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(379,NULL,10,'Subject for Pledge Acknowledgment','2017-07-03 20:24:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(380,NULL,9,'Subject for Tell a Friend','2017-06-23 03:23:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(381,NULL,9,'Subject for Tell a Friend','2017-07-22 09:11:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(382,NULL,9,'Subject for Tell a Friend','2017-01-02 09:31:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(383,NULL,9,'Subject for Tell a Friend','2017-01-25 06:24:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(384,NULL,10,'Subject for Pledge Acknowledgment','2017-05-07 08:44:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(385,NULL,10,'Subject for Pledge Acknowledgment','2017-10-12 10:50:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(386,NULL,9,'Subject for Tell a Friend','2017-04-10 00:13:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(387,NULL,10,'Subject for Pledge Acknowledgment','2017-09-15 21:07:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(388,NULL,9,'Subject for Tell a Friend','2016-11-11 03:55:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(389,NULL,9,'Subject for Tell a Friend','2017-05-27 09:28:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(390,NULL,9,'Subject for Tell a Friend','2017-09-22 10:13:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(391,NULL,10,'Subject for Pledge Acknowledgment','2017-04-19 15:31:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(392,NULL,9,'Subject for Tell a Friend','2016-12-20 21:54:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(393,NULL,9,'Subject for Tell a Friend','2017-01-31 12:14:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(394,NULL,9,'Subject for Tell a Friend','2017-09-16 02:29:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(395,NULL,10,'Subject for Pledge Acknowledgment','2016-12-13 17:36:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(396,NULL,10,'Subject for Pledge Acknowledgment','2016-11-25 00:19:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(397,NULL,9,'Subject for Tell a Friend','2017-04-30 20:10:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(398,NULL,10,'Subject for Pledge Acknowledgment','2016-11-12 11:03:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(399,NULL,9,'Subject for Tell a Friend','2017-05-01 03:51:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(400,NULL,10,'Subject for Pledge Acknowledgment','2016-12-08 23:11:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(401,NULL,10,'Subject for Pledge Acknowledgment','2016-12-13 11:46:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(402,NULL,9,'Subject for Tell a Friend','2017-05-23 11:12:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(403,NULL,9,'Subject for Tell a Friend','2017-07-30 12:30:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(404,NULL,10,'Subject for Pledge Acknowledgment','2017-10-24 04:57:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(405,NULL,10,'Subject for Pledge Acknowledgment','2017-10-02 02:54:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(406,NULL,10,'Subject for Pledge Acknowledgment','2017-04-09 04:13:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(407,NULL,9,'Subject for Tell a Friend','2017-02-22 13:44:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:56','2017-11-01 23:27:56'),(408,NULL,9,'Subject for Tell a Friend','2017-09-02 15:03:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(409,NULL,10,'Subject for Pledge Acknowledgment','2017-06-11 01:30:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(410,NULL,10,'Subject for Pledge Acknowledgment','2017-09-23 22:58:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(411,NULL,9,'Subject for Tell a Friend','2017-10-03 01:37:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(412,NULL,9,'Subject for Tell a Friend','2016-12-26 07:45:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(413,NULL,10,'Subject for Pledge Acknowledgment','2017-05-14 22:23:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(414,NULL,10,'Subject for Pledge Acknowledgment','2017-10-05 14:19:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(415,NULL,9,'Subject for Tell a Friend','2016-12-04 20:38:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(416,NULL,10,'Subject for Pledge Acknowledgment','2017-05-15 16:02:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(417,NULL,9,'Subject for Tell a Friend','2017-08-11 22:31:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(418,NULL,9,'Subject for Tell a Friend','2017-06-25 18:29:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(419,NULL,9,'Subject for Tell a Friend','2017-08-13 04:51:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(420,NULL,10,'Subject for Pledge Acknowledgment','2016-12-06 10:39:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(421,NULL,9,'Subject for Tell a Friend','2017-01-09 22:28:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(422,NULL,9,'Subject for Tell a Friend','2017-05-13 23:51:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(423,NULL,10,'Subject for Pledge Acknowledgment','2017-02-21 12:54:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(424,NULL,9,'Subject for Tell a Friend','2017-09-05 02:36:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(425,NULL,10,'Subject for Pledge Acknowledgment','2017-10-10 04:02:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(426,NULL,9,'Subject for Tell a Friend','2017-04-09 01:53:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(427,NULL,9,'Subject for Tell a Friend','2016-12-15 05:19:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(428,NULL,9,'Subject for Tell a Friend','2016-11-23 06:48:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(429,NULL,9,'Subject for Tell a Friend','2017-05-16 11:24:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(430,NULL,9,'Subject for Tell a Friend','2016-12-05 00:21:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(431,NULL,10,'Subject for Pledge Acknowledgment','2017-09-25 20:29:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(432,NULL,9,'Subject for Tell a Friend','2017-07-29 10:17:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(433,NULL,10,'Subject for Pledge Acknowledgment','2016-12-21 16:36:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(434,NULL,10,'Subject for Pledge Acknowledgment','2017-07-26 03:18:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(435,NULL,10,'Subject for Pledge Acknowledgment','2017-05-08 14:50:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(436,NULL,9,'Subject for Tell a Friend','2017-09-02 16:49:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(437,NULL,10,'Subject for Pledge Acknowledgment','2017-10-19 12:35:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(438,NULL,9,'Subject for Tell a Friend','2017-08-01 22:50:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(439,NULL,10,'Subject for Pledge Acknowledgment','2017-06-08 13:24:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(440,NULL,9,'Subject for Tell a Friend','2017-02-27 06:53:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(441,NULL,9,'Subject for Tell a Friend','2017-03-15 18:52:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(442,NULL,9,'Subject for Tell a Friend','2016-11-23 15:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(443,NULL,9,'Subject for Tell a Friend','2017-05-16 19:30:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(444,NULL,9,'Subject for Tell a Friend','2017-05-21 05:40:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(445,NULL,10,'Subject for Pledge Acknowledgment','2016-11-06 18:55:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(446,NULL,10,'Subject for Pledge Acknowledgment','2016-11-28 08:22:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(447,NULL,9,'Subject for Tell a Friend','2017-05-30 10:29:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(448,NULL,9,'Subject for Tell a Friend','2017-08-07 02:01:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(449,NULL,9,'Subject for Tell a Friend','2017-03-02 03:29:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(450,NULL,10,'Subject for Pledge Acknowledgment','2017-07-15 16:47:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:57','2017-11-01 23:27:57'),(451,1,6,'$ 125.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(452,2,6,'$ 50.00-Online: Save the Penguins','2010-03-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(453,3,6,'$ 25.00-Apr 2007 Mailer 1','2010-04-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(454,4,6,'$ 50.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(455,5,6,'$ 500.00-Apr 2007 Mailer 1','2010-04-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(456,6,6,'$ 175.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(457,7,6,'$ 50.00-Online: Save the Penguins','2010-03-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(458,8,6,'$ 10.00-Online: Save the Penguins','2010-03-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(459,9,6,'$ 250.00-Online: Save the Penguins','2010-04-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(460,10,6,NULL,'2009-07-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(461,11,6,NULL,'2009-07-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(462,12,6,NULL,'2009-10-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(463,13,6,NULL,'2009-12-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(464,1,7,'General','2017-11-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(465,2,7,'Student','2017-11-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(466,3,7,'General','2017-10-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(467,4,7,'Student','2017-10-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(468,5,7,'Student','2016-10-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(469,6,7,'Student','2017-10-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(470,7,7,'General','2017-10-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(471,8,7,'Student','2017-10-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(472,9,7,'General','2017-10-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(473,10,7,'Student','2016-10-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(474,11,7,'Lifetime','2017-10-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(475,12,7,'Student','2017-10-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(476,13,7,'General','2017-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(477,14,7,'Student','2017-10-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(478,15,7,'Student','2016-10-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(479,16,7,'Student','2017-10-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(480,17,7,'General','2017-10-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(481,18,7,'Student','2017-10-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(482,19,7,'General','2017-10-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(483,20,7,'Student','2016-10-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(484,21,7,'General','2017-10-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(485,22,7,'Lifetime','2017-10-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(486,23,7,'General','2017-10-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(487,24,7,'Student','2017-10-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(488,25,7,'Student','2016-10-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(489,26,7,'Student','2017-10-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(490,27,7,'General','2017-10-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(491,28,7,'Student','2017-10-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(492,29,7,'General','2017-10-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(493,30,7,'General','2015-03-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(495,15,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(497,17,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(499,19,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(501,21,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(503,23,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(504,24,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(505,25,6,'$ 100.00 - General Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(506,26,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(507,27,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(508,28,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(510,30,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(512,32,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(514,34,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(515,35,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(516,36,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(520,40,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(523,43,6,'$ 1200.00 - Lifetime Membership: Offline signup','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(525,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(526,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(527,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(528,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(529,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(530,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(531,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(532,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(533,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(534,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(535,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(536,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(537,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(538,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(539,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(540,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(541,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(542,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(543,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(544,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(545,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(546,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(547,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(548,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(549,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(550,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(551,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(552,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(553,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(554,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(555,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(556,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(557,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(558,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(559,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(560,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(561,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(562,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(563,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(564,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(565,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(566,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(567,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(568,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(569,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(570,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(571,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(572,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(573,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(574,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(575,45,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(576,46,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(577,47,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(578,48,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(579,49,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(580,50,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(581,51,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(582,52,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(583,53,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(584,54,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(585,55,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(586,56,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(587,57,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(588,58,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(589,59,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(590,60,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(591,61,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(592,62,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(593,63,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(594,64,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(595,65,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(596,66,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(597,67,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(598,68,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(599,69,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(600,70,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(601,71,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(602,72,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(603,73,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(604,74,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(605,75,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(606,76,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(608,78,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(610,80,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(611,81,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(612,82,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(613,83,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(614,84,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(616,86,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(617,87,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(618,88,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(619,89,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(620,90,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(622,92,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58'),(624,94,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2017-11-02 10:27:58',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2017-11-01 23:27:58','2017-11-01 23:27:58');
+INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES (1,NULL,9,'Subject for Tell a Friend','2017-12-01 10:00:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(2,NULL,9,'Subject for Tell a Friend','2017-03-15 10:07:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(3,NULL,10,'Subject for Pledge Acknowledgment','2017-09-29 02:44:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(4,NULL,9,'Subject for Tell a Friend','2017-01-21 02:03:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(5,NULL,9,'Subject for Tell a Friend','2017-12-18 14:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(6,NULL,9,'Subject for Tell a Friend','2017-06-28 07:24:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(7,NULL,9,'Subject for Tell a Friend','2017-08-11 03:05:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:39','2018-01-11 22:52:39'),(8,NULL,10,'Subject for Pledge Acknowledgment','2017-07-13 12:02:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(9,NULL,9,'Subject for Tell a Friend','2017-12-07 17:25:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(10,NULL,9,'Subject for Tell a Friend','2017-07-09 15:23:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(11,NULL,10,'Subject for Pledge Acknowledgment','2017-04-12 20:58:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(12,NULL,10,'Subject for Pledge Acknowledgment','2017-07-19 04:02:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(13,NULL,10,'Subject for Pledge Acknowledgment','2017-12-08 10:25:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(14,NULL,9,'Subject for Tell a Friend','2017-02-05 09:19:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(15,NULL,9,'Subject for Tell a Friend','2017-11-04 17:56:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(16,NULL,9,'Subject for Tell a Friend','2017-11-19 04:54:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(17,NULL,9,'Subject for Tell a Friend','2017-11-30 12:28:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(18,NULL,9,'Subject for Tell a Friend','2017-01-15 07:57:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(19,NULL,10,'Subject for Pledge Acknowledgment','2017-11-13 09:12:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(20,NULL,10,'Subject for Pledge Acknowledgment','2017-01-26 07:37:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(21,NULL,9,'Subject for Tell a Friend','2017-10-29 08:40:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(22,NULL,10,'Subject for Pledge Acknowledgment','2017-08-30 11:18:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(23,NULL,9,'Subject for Tell a Friend','2017-02-12 22:02:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(24,NULL,10,'Subject for Pledge Acknowledgment','2017-02-26 07:58:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(25,NULL,9,'Subject for Tell a Friend','2017-04-15 22:46:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(26,NULL,10,'Subject for Pledge Acknowledgment','2017-11-21 18:42:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(27,NULL,9,'Subject for Tell a Friend','2017-04-21 13:01:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(28,NULL,9,'Subject for Tell a Friend','2017-08-29 06:06:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(29,NULL,9,'Subject for Tell a Friend','2017-02-09 04:45:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(30,NULL,9,'Subject for Tell a Friend','2017-07-16 09:08:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(31,NULL,10,'Subject for Pledge Acknowledgment','2017-04-16 18:00:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(32,NULL,9,'Subject for Tell a Friend','2017-09-07 03:27:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(33,NULL,9,'Subject for Tell a Friend','2017-10-06 15:35:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(34,NULL,10,'Subject for Pledge Acknowledgment','2017-03-07 21:30:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(35,NULL,10,'Subject for Pledge Acknowledgment','2017-06-17 07:37:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(36,NULL,10,'Subject for Pledge Acknowledgment','2017-07-01 03:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(37,NULL,9,'Subject for Tell a Friend','2017-02-12 06:52:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(38,NULL,9,'Subject for Tell a Friend','2017-04-12 01:23:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(39,NULL,9,'Subject for Tell a Friend','2017-09-15 14:46:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(40,NULL,10,'Subject for Pledge Acknowledgment','2017-12-18 07:08:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(41,NULL,9,'Subject for Tell a Friend','2017-08-22 20:20:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(42,NULL,9,'Subject for Tell a Friend','2017-01-26 21:27:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(43,NULL,10,'Subject for Pledge Acknowledgment','2017-11-06 01:19:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(44,NULL,9,'Subject for Tell a Friend','2017-04-26 17:44:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(45,NULL,10,'Subject for Pledge Acknowledgment','2017-11-23 00:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(46,NULL,9,'Subject for Tell a Friend','2017-05-23 07:43:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(47,NULL,10,'Subject for Pledge Acknowledgment','2017-12-21 21:11:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(48,NULL,9,'Subject for Tell a Friend','2017-01-17 02:10:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(49,NULL,9,'Subject for Tell a Friend','2017-09-05 07:37:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(50,NULL,10,'Subject for Pledge Acknowledgment','2017-11-14 12:57:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(51,NULL,9,'Subject for Tell a Friend','2017-03-26 23:07:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:40','2018-01-11 22:52:40'),(52,NULL,10,'Subject for Pledge Acknowledgment','2017-07-27 21:46:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(53,NULL,9,'Subject for Tell a Friend','2017-06-25 17:02:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(54,NULL,10,'Subject for Pledge Acknowledgment','2017-02-28 06:59:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(55,NULL,9,'Subject for Tell a Friend','2017-05-07 19:01:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(56,NULL,10,'Subject for Pledge Acknowledgment','2017-05-26 10:14:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(57,NULL,10,'Subject for Pledge Acknowledgment','2017-07-12 08:08:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(58,NULL,10,'Subject for Pledge Acknowledgment','2017-03-26 10:09:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(59,NULL,10,'Subject for Pledge Acknowledgment','2017-09-09 14:14:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(60,NULL,9,'Subject for Tell a Friend','2017-08-01 03:08:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(61,NULL,10,'Subject for Pledge Acknowledgment','2017-06-21 03:18:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(62,NULL,9,'Subject for Tell a Friend','2017-02-23 12:48:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(63,NULL,10,'Subject for Pledge Acknowledgment','2017-08-04 10:17:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(64,NULL,9,'Subject for Tell a Friend','2017-07-09 14:17:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(65,NULL,10,'Subject for Pledge Acknowledgment','2017-02-21 23:33:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(66,NULL,10,'Subject for Pledge Acknowledgment','2018-01-03 17:59:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(67,NULL,9,'Subject for Tell a Friend','2017-02-21 03:11:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(68,NULL,9,'Subject for Tell a Friend','2017-09-17 01:05:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(69,NULL,9,'Subject for Tell a Friend','2018-01-08 11:47:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(70,NULL,10,'Subject for Pledge Acknowledgment','2017-10-10 13:07:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(71,NULL,10,'Subject for Pledge Acknowledgment','2017-11-30 09:08:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(72,NULL,9,'Subject for Tell a Friend','2017-02-14 16:49:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(73,NULL,9,'Subject for Tell a Friend','2017-11-02 18:23:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(74,NULL,9,'Subject for Tell a Friend','2017-06-28 16:40:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(75,NULL,9,'Subject for Tell a Friend','2017-04-04 13:08:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(76,NULL,9,'Subject for Tell a Friend','2017-02-15 02:31:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(77,NULL,10,'Subject for Pledge Acknowledgment','2017-06-09 01:10:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(78,NULL,9,'Subject for Tell a Friend','2017-05-06 10:06:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(79,NULL,10,'Subject for Pledge Acknowledgment','2017-10-16 05:22:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(80,NULL,10,'Subject for Pledge Acknowledgment','2017-08-11 03:29:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(81,NULL,9,'Subject for Tell a Friend','2017-03-24 18:58:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(82,NULL,10,'Subject for Pledge Acknowledgment','2017-10-12 08:49:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(83,NULL,9,'Subject for Tell a Friend','2017-01-27 00:46:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(84,NULL,9,'Subject for Tell a Friend','2017-11-29 02:35:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(85,NULL,9,'Subject for Tell a Friend','2017-12-19 06:09:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(86,NULL,10,'Subject for Pledge Acknowledgment','2017-10-23 18:45:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(87,NULL,9,'Subject for Tell a Friend','2017-05-16 22:56:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(88,NULL,10,'Subject for Pledge Acknowledgment','2017-02-25 10:15:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(89,NULL,9,'Subject for Tell a Friend','2017-07-15 00:21:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(90,NULL,9,'Subject for Tell a Friend','2017-08-26 12:26:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(91,NULL,10,'Subject for Pledge Acknowledgment','2017-04-01 04:46:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(92,NULL,10,'Subject for Pledge Acknowledgment','2017-11-27 23:51:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(93,NULL,9,'Subject for Tell a Friend','2017-11-14 00:46:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(94,NULL,10,'Subject for Pledge Acknowledgment','2017-01-20 13:37:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(95,NULL,10,'Subject for Pledge Acknowledgment','2017-04-10 15:17:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(96,NULL,10,'Subject for Pledge Acknowledgment','2017-03-30 03:11:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(97,NULL,10,'Subject for Pledge Acknowledgment','2017-02-23 15:57:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:41','2018-01-11 22:52:41'),(98,NULL,10,'Subject for Pledge Acknowledgment','2017-07-07 14:13:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(99,NULL,10,'Subject for Pledge Acknowledgment','2017-02-22 19:36:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(100,NULL,10,'Subject for Pledge Acknowledgment','2017-02-06 17:22:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(101,NULL,9,'Subject for Tell a Friend','2017-04-18 12:14:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(102,NULL,9,'Subject for Tell a Friend','2017-02-22 21:10:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(103,NULL,9,'Subject for Tell a Friend','2017-03-31 18:25:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(104,NULL,10,'Subject for Pledge Acknowledgment','2017-04-24 08:22:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(105,NULL,9,'Subject for Tell a Friend','2017-04-20 01:42:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(106,NULL,9,'Subject for Tell a Friend','2017-08-24 22:36:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(107,NULL,10,'Subject for Pledge Acknowledgment','2017-02-18 22:42:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(108,NULL,10,'Subject for Pledge Acknowledgment','2017-03-17 23:36:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(109,NULL,9,'Subject for Tell a Friend','2017-08-09 09:36:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(110,NULL,9,'Subject for Tell a Friend','2017-12-18 13:48:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(111,NULL,9,'Subject for Tell a Friend','2017-12-02 01:06:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(112,NULL,9,'Subject for Tell a Friend','2017-05-28 12:19:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(113,NULL,10,'Subject for Pledge Acknowledgment','2017-04-13 16:55:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(114,NULL,10,'Subject for Pledge Acknowledgment','2017-09-17 03:57:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(115,NULL,10,'Subject for Pledge Acknowledgment','2017-10-20 06:24:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(116,NULL,10,'Subject for Pledge Acknowledgment','2017-01-31 01:19:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(117,NULL,10,'Subject for Pledge Acknowledgment','2017-10-02 19:29:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(118,NULL,10,'Subject for Pledge Acknowledgment','2017-11-18 07:57:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(119,NULL,9,'Subject for Tell a Friend','2017-11-28 02:09:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(120,NULL,9,'Subject for Tell a Friend','2017-06-08 12:35:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(121,NULL,9,'Subject for Tell a Friend','2017-07-14 15:30:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(122,NULL,9,'Subject for Tell a Friend','2017-06-11 14:58:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(123,NULL,10,'Subject for Pledge Acknowledgment','2017-07-19 11:23:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(124,NULL,9,'Subject for Tell a Friend','2017-09-17 01:52:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(125,NULL,9,'Subject for Tell a Friend','2017-03-24 08:52:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(126,NULL,9,'Subject for Tell a Friend','2017-12-01 16:05:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(127,NULL,10,'Subject for Pledge Acknowledgment','2017-06-05 01:17:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(128,NULL,9,'Subject for Tell a Friend','2017-02-11 00:04:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(129,NULL,9,'Subject for Tell a Friend','2017-01-21 18:17:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(130,NULL,10,'Subject for Pledge Acknowledgment','2018-01-05 08:09:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(131,NULL,9,'Subject for Tell a Friend','2017-08-07 07:04:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(132,NULL,9,'Subject for Tell a Friend','2017-11-04 11:23:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(133,NULL,9,'Subject for Tell a Friend','2017-10-14 15:48:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(134,NULL,9,'Subject for Tell a Friend','2017-08-08 02:21:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(135,NULL,10,'Subject for Pledge Acknowledgment','2017-02-08 14:04:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(136,NULL,9,'Subject for Tell a Friend','2017-09-28 02:37:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(137,NULL,10,'Subject for Pledge Acknowledgment','2017-06-12 06:17:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(138,NULL,10,'Subject for Pledge Acknowledgment','2017-07-02 19:05:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(139,NULL,9,'Subject for Tell a Friend','2017-07-04 01:09:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(140,NULL,9,'Subject for Tell a Friend','2017-01-28 23:44:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(141,NULL,10,'Subject for Pledge Acknowledgment','2017-08-12 18:32:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(142,NULL,10,'Subject for Pledge Acknowledgment','2017-04-22 15:40:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(143,NULL,9,'Subject for Tell a Friend','2017-11-21 21:29:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:42','2018-01-11 22:52:42'),(144,NULL,10,'Subject for Pledge Acknowledgment','2017-02-03 12:01:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(145,NULL,10,'Subject for Pledge Acknowledgment','2017-09-02 20:20:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(146,NULL,9,'Subject for Tell a Friend','2017-12-04 19:50:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(147,NULL,10,'Subject for Pledge Acknowledgment','2017-09-22 14:02:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(148,NULL,9,'Subject for Tell a Friend','2017-08-03 22:06:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(149,NULL,9,'Subject for Tell a Friend','2017-08-21 17:14:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(150,NULL,10,'Subject for Pledge Acknowledgment','2017-07-28 07:32:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(151,NULL,10,'Subject for Pledge Acknowledgment','2017-06-13 03:32:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(152,NULL,9,'Subject for Tell a Friend','2017-10-06 21:32:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(153,NULL,9,'Subject for Tell a Friend','2017-06-07 08:36:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(154,NULL,10,'Subject for Pledge Acknowledgment','2017-11-26 22:57:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(155,NULL,10,'Subject for Pledge Acknowledgment','2017-07-09 04:33:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(156,NULL,10,'Subject for Pledge Acknowledgment','2017-04-02 23:10:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(157,NULL,10,'Subject for Pledge Acknowledgment','2017-06-25 11:07:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(158,NULL,10,'Subject for Pledge Acknowledgment','2017-11-04 23:52:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(159,NULL,10,'Subject for Pledge Acknowledgment','2017-11-27 13:35:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(160,NULL,10,'Subject for Pledge Acknowledgment','2017-03-26 01:41:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(161,NULL,9,'Subject for Tell a Friend','2017-07-29 20:36:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(162,NULL,9,'Subject for Tell a Friend','2017-05-26 17:48:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(163,NULL,9,'Subject for Tell a Friend','2017-06-23 05:36:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(164,NULL,10,'Subject for Pledge Acknowledgment','2017-05-11 20:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(165,NULL,10,'Subject for Pledge Acknowledgment','2017-01-28 00:23:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(166,NULL,9,'Subject for Tell a Friend','2017-09-26 11:47:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(167,NULL,9,'Subject for Tell a Friend','2017-08-30 15:48:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(168,NULL,9,'Subject for Tell a Friend','2017-07-19 13:18:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(169,NULL,9,'Subject for Tell a Friend','2017-08-05 18:22:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(170,NULL,9,'Subject for Tell a Friend','2017-05-18 16:35:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(171,NULL,10,'Subject for Pledge Acknowledgment','2017-01-20 00:13:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(172,NULL,9,'Subject for Tell a Friend','2017-06-29 18:55:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(173,NULL,10,'Subject for Pledge Acknowledgment','2017-02-22 02:24:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(174,NULL,10,'Subject for Pledge Acknowledgment','2017-10-26 10:34:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(175,NULL,9,'Subject for Tell a Friend','2017-07-27 17:19:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(176,NULL,10,'Subject for Pledge Acknowledgment','2017-04-14 13:46:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(177,NULL,9,'Subject for Tell a Friend','2017-06-19 06:46:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(178,NULL,10,'Subject for Pledge Acknowledgment','2017-04-17 23:02:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(179,NULL,10,'Subject for Pledge Acknowledgment','2017-07-23 06:24:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(180,NULL,9,'Subject for Tell a Friend','2017-08-10 20:16:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(181,NULL,9,'Subject for Tell a Friend','2017-11-03 23:54:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(182,NULL,9,'Subject for Tell a Friend','2017-05-05 23:09:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(183,NULL,9,'Subject for Tell a Friend','2017-03-23 13:51:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(184,NULL,10,'Subject for Pledge Acknowledgment','2017-04-26 21:14:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(185,NULL,10,'Subject for Pledge Acknowledgment','2017-06-24 15:39:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(186,NULL,9,'Subject for Tell a Friend','2017-06-18 19:39:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(187,NULL,10,'Subject for Pledge Acknowledgment','2017-05-18 13:55:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(188,NULL,10,'Subject for Pledge Acknowledgment','2017-07-27 21:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:43','2018-01-11 22:52:43'),(189,NULL,10,'Subject for Pledge Acknowledgment','2017-06-27 19:10:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(190,NULL,10,'Subject for Pledge Acknowledgment','2017-08-28 09:30:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(191,NULL,9,'Subject for Tell a Friend','2017-10-03 21:36:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(192,NULL,10,'Subject for Pledge Acknowledgment','2017-09-28 08:55:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(193,NULL,9,'Subject for Tell a Friend','2017-11-01 06:50:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(194,NULL,9,'Subject for Tell a Friend','2017-10-07 17:07:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(195,NULL,9,'Subject for Tell a Friend','2017-04-17 23:02:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(196,NULL,10,'Subject for Pledge Acknowledgment','2017-08-12 07:37:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(197,NULL,9,'Subject for Tell a Friend','2017-08-25 15:11:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(198,NULL,9,'Subject for Tell a Friend','2017-01-19 17:44:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(199,NULL,9,'Subject for Tell a Friend','2017-04-29 11:53:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(200,NULL,9,'Subject for Tell a Friend','2017-10-02 14:00:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(201,NULL,10,'Subject for Pledge Acknowledgment','2017-08-26 11:41:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(202,NULL,10,'Subject for Pledge Acknowledgment','2017-11-07 04:27:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(203,NULL,9,'Subject for Tell a Friend','2017-07-17 00:10:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(204,NULL,9,'Subject for Tell a Friend','2017-01-20 23:38:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(205,NULL,9,'Subject for Tell a Friend','2017-07-30 13:40:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(206,NULL,9,'Subject for Tell a Friend','2017-04-30 11:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(207,NULL,10,'Subject for Pledge Acknowledgment','2017-02-04 00:57:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(208,NULL,10,'Subject for Pledge Acknowledgment','2017-09-05 04:52:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(209,NULL,9,'Subject for Tell a Friend','2017-07-06 08:47:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(210,NULL,9,'Subject for Tell a Friend','2017-09-15 04:59:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(211,NULL,9,'Subject for Tell a Friend','2017-09-16 03:24:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(212,NULL,10,'Subject for Pledge Acknowledgment','2017-05-19 08:48:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(213,NULL,9,'Subject for Tell a Friend','2017-08-08 06:08:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(214,NULL,10,'Subject for Pledge Acknowledgment','2017-12-24 11:59:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(215,NULL,9,'Subject for Tell a Friend','2017-02-10 23:48:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(216,NULL,9,'Subject for Tell a Friend','2017-05-24 21:27:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(217,NULL,10,'Subject for Pledge Acknowledgment','2018-01-05 02:28:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(218,NULL,10,'Subject for Pledge Acknowledgment','2017-01-13 20:44:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(219,NULL,10,'Subject for Pledge Acknowledgment','2017-09-29 19:10:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(220,NULL,10,'Subject for Pledge Acknowledgment','2017-08-29 10:16:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(221,NULL,10,'Subject for Pledge Acknowledgment','2017-04-06 17:41:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(222,NULL,9,'Subject for Tell a Friend','2017-03-03 05:51:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(223,NULL,9,'Subject for Tell a Friend','2017-08-28 21:43:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(224,NULL,9,'Subject for Tell a Friend','2017-02-11 01:45:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(225,NULL,10,'Subject for Pledge Acknowledgment','2017-10-02 02:30:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(226,NULL,10,'Subject for Pledge Acknowledgment','2017-07-15 14:21:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(227,NULL,9,'Subject for Tell a Friend','2017-04-05 09:54:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(228,NULL,10,'Subject for Pledge Acknowledgment','2017-11-12 09:09:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(229,NULL,10,'Subject for Pledge Acknowledgment','2017-11-23 23:04:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(230,NULL,9,'Subject for Tell a Friend','2018-01-10 10:20:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(231,NULL,10,'Subject for Pledge Acknowledgment','2017-09-11 19:50:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(232,NULL,9,'Subject for Tell a Friend','2017-09-24 04:09:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(233,NULL,9,'Subject for Tell a Friend','2017-10-27 07:26:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(234,NULL,9,'Subject for Tell a Friend','2017-07-17 11:03:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:44','2018-01-11 22:52:44'),(235,NULL,10,'Subject for Pledge Acknowledgment','2017-12-23 04:53:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(236,NULL,10,'Subject for Pledge Acknowledgment','2017-12-05 18:18:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(237,NULL,10,'Subject for Pledge Acknowledgment','2017-06-12 22:09:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(238,NULL,10,'Subject for Pledge Acknowledgment','2017-07-19 10:52:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(239,NULL,10,'Subject for Pledge Acknowledgment','2017-01-27 15:27:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(240,NULL,10,'Subject for Pledge Acknowledgment','2017-08-17 13:00:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(241,NULL,10,'Subject for Pledge Acknowledgment','2017-11-06 15:51:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(242,NULL,10,'Subject for Pledge Acknowledgment','2017-06-10 14:11:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(243,NULL,10,'Subject for Pledge Acknowledgment','2017-11-23 13:37:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(244,NULL,10,'Subject for Pledge Acknowledgment','2017-07-29 02:56:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(245,NULL,10,'Subject for Pledge Acknowledgment','2017-12-17 19:16:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(246,NULL,9,'Subject for Tell a Friend','2017-06-21 20:14:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(247,NULL,10,'Subject for Pledge Acknowledgment','2017-01-30 18:08:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(248,NULL,10,'Subject for Pledge Acknowledgment','2017-05-27 07:51:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(249,NULL,10,'Subject for Pledge Acknowledgment','2017-07-27 17:32:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(250,NULL,10,'Subject for Pledge Acknowledgment','2017-04-17 18:35:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(251,NULL,10,'Subject for Pledge Acknowledgment','2017-10-11 13:12:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(252,NULL,10,'Subject for Pledge Acknowledgment','2017-08-15 15:51:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(253,NULL,9,'Subject for Tell a Friend','2017-12-29 17:41:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(254,NULL,9,'Subject for Tell a Friend','2017-11-22 18:16:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(255,NULL,10,'Subject for Pledge Acknowledgment','2017-03-31 06:18:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(256,NULL,10,'Subject for Pledge Acknowledgment','2017-05-31 05:51:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(257,NULL,9,'Subject for Tell a Friend','2017-07-12 10:42:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(258,NULL,9,'Subject for Tell a Friend','2017-10-18 14:07:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(259,NULL,10,'Subject for Pledge Acknowledgment','2018-01-07 15:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(260,NULL,9,'Subject for Tell a Friend','2017-07-24 09:19:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(261,NULL,10,'Subject for Pledge Acknowledgment','2017-07-31 15:38:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(262,NULL,9,'Subject for Tell a Friend','2017-12-10 04:49:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(263,NULL,9,'Subject for Tell a Friend','2017-02-04 23:11:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(264,NULL,9,'Subject for Tell a Friend','2017-05-12 16:01:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(265,NULL,10,'Subject for Pledge Acknowledgment','2017-07-27 09:12:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(266,NULL,9,'Subject for Tell a Friend','2018-01-09 02:16:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(267,NULL,9,'Subject for Tell a Friend','2017-10-07 08:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(268,NULL,10,'Subject for Pledge Acknowledgment','2017-04-22 22:17:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(269,NULL,9,'Subject for Tell a Friend','2017-01-31 14:55:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(270,NULL,10,'Subject for Pledge Acknowledgment','2017-11-12 06:00:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(271,NULL,9,'Subject for Tell a Friend','2017-09-12 21:16:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(272,NULL,9,'Subject for Tell a Friend','2017-05-13 22:11:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(273,NULL,9,'Subject for Tell a Friend','2018-01-06 17:30:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(274,NULL,9,'Subject for Tell a Friend','2017-10-05 06:03:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(275,NULL,9,'Subject for Tell a Friend','2017-10-30 11:08:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(276,NULL,10,'Subject for Pledge Acknowledgment','2017-07-08 11:03:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(277,NULL,9,'Subject for Tell a Friend','2017-06-14 13:13:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(278,NULL,10,'Subject for Pledge Acknowledgment','2017-03-25 11:46:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(279,NULL,9,'Subject for Tell a Friend','2017-11-06 01:16:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(280,NULL,10,'Subject for Pledge Acknowledgment','2017-09-16 17:59:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(281,NULL,9,'Subject for Tell a Friend','2017-11-04 07:04:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:45','2018-01-11 22:52:45'),(282,NULL,9,'Subject for Tell a Friend','2017-03-24 06:14:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(283,NULL,10,'Subject for Pledge Acknowledgment','2017-05-06 14:06:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(284,NULL,9,'Subject for Tell a Friend','2017-10-20 16:52:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(285,NULL,9,'Subject for Tell a Friend','2017-01-19 07:40:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(286,NULL,10,'Subject for Pledge Acknowledgment','2017-07-16 09:39:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(287,NULL,9,'Subject for Tell a Friend','2017-04-23 11:56:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(288,NULL,9,'Subject for Tell a Friend','2017-04-07 03:07:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(289,NULL,9,'Subject for Tell a Friend','2017-04-29 07:59:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(290,NULL,10,'Subject for Pledge Acknowledgment','2017-07-03 20:30:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(291,NULL,9,'Subject for Tell a Friend','2017-09-05 21:57:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(292,NULL,10,'Subject for Pledge Acknowledgment','2017-11-24 08:27:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(293,NULL,9,'Subject for Tell a Friend','2017-12-16 10:16:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(294,NULL,10,'Subject for Pledge Acknowledgment','2017-10-11 02:35:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(295,NULL,9,'Subject for Tell a Friend','2017-01-20 06:17:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(296,NULL,9,'Subject for Tell a Friend','2017-04-15 07:37:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(297,NULL,9,'Subject for Tell a Friend','2017-10-22 13:22:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(298,NULL,9,'Subject for Tell a Friend','2017-08-14 16:02:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(299,NULL,9,'Subject for Tell a Friend','2017-07-29 03:56:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(300,NULL,10,'Subject for Pledge Acknowledgment','2017-10-30 17:26:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(301,NULL,10,'Subject for Pledge Acknowledgment','2017-05-31 12:28:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(302,NULL,10,'Subject for Pledge Acknowledgment','2017-08-30 03:29:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(303,NULL,10,'Subject for Pledge Acknowledgment','2017-06-23 19:33:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(304,NULL,10,'Subject for Pledge Acknowledgment','2017-08-15 15:14:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(305,NULL,9,'Subject for Tell a Friend','2017-04-23 20:11:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(306,NULL,9,'Subject for Tell a Friend','2017-04-07 17:11:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(307,NULL,10,'Subject for Pledge Acknowledgment','2017-04-19 00:09:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(308,NULL,10,'Subject for Pledge Acknowledgment','2017-07-21 00:48:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(309,NULL,9,'Subject for Tell a Friend','2017-10-24 07:09:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(310,NULL,10,'Subject for Pledge Acknowledgment','2017-08-28 18:43:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(311,NULL,10,'Subject for Pledge Acknowledgment','2017-12-26 21:50:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(312,NULL,9,'Subject for Tell a Friend','2017-11-05 16:04:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(313,NULL,10,'Subject for Pledge Acknowledgment','2017-04-30 21:40:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(314,NULL,9,'Subject for Tell a Friend','2017-04-04 23:22:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(315,NULL,9,'Subject for Tell a Friend','2017-10-29 07:20:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(316,NULL,10,'Subject for Pledge Acknowledgment','2017-09-23 08:03:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(317,NULL,9,'Subject for Tell a Friend','2017-02-22 09:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(318,NULL,10,'Subject for Pledge Acknowledgment','2017-11-05 00:47:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(319,NULL,10,'Subject for Pledge Acknowledgment','2017-02-15 09:27:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(320,NULL,9,'Subject for Tell a Friend','2017-07-29 20:21:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(321,NULL,9,'Subject for Tell a Friend','2017-01-14 17:24:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(322,NULL,9,'Subject for Tell a Friend','2017-03-21 13:39:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(323,NULL,10,'Subject for Pledge Acknowledgment','2017-01-22 23:30:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(324,NULL,10,'Subject for Pledge Acknowledgment','2017-07-20 18:06:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(325,NULL,10,'Subject for Pledge Acknowledgment','2017-06-02 09:57:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(326,NULL,10,'Subject for Pledge Acknowledgment','2017-07-25 09:31:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(327,NULL,10,'Subject for Pledge Acknowledgment','2017-04-11 15:58:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(328,NULL,10,'Subject for Pledge Acknowledgment','2017-08-13 22:36:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(329,NULL,10,'Subject for Pledge Acknowledgment','2017-10-27 19:20:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:46','2018-01-11 22:52:46'),(330,NULL,9,'Subject for Tell a Friend','2017-01-13 04:24:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(331,NULL,10,'Subject for Pledge Acknowledgment','2017-03-27 07:32:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(332,NULL,9,'Subject for Tell a Friend','2017-11-06 11:31:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(333,NULL,9,'Subject for Tell a Friend','2017-08-04 15:41:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(334,NULL,9,'Subject for Tell a Friend','2017-11-03 14:21:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(335,NULL,10,'Subject for Pledge Acknowledgment','2017-08-10 00:28:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(336,NULL,10,'Subject for Pledge Acknowledgment','2017-10-24 21:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(337,NULL,9,'Subject for Tell a Friend','2017-11-06 05:41:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(338,NULL,10,'Subject for Pledge Acknowledgment','2017-03-22 13:03:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(339,NULL,10,'Subject for Pledge Acknowledgment','2017-03-18 14:41:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(340,NULL,9,'Subject for Tell a Friend','2017-05-10 07:24:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(341,NULL,9,'Subject for Tell a Friend','2017-05-15 06:55:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(342,NULL,9,'Subject for Tell a Friend','2017-02-16 11:51:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(343,NULL,10,'Subject for Pledge Acknowledgment','2017-08-10 22:21:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(344,NULL,10,'Subject for Pledge Acknowledgment','2017-10-05 18:17:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(345,NULL,10,'Subject for Pledge Acknowledgment','2017-02-21 15:51:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(346,NULL,9,'Subject for Tell a Friend','2017-09-21 13:46:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(347,NULL,10,'Subject for Pledge Acknowledgment','2017-09-20 17:52:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(348,NULL,10,'Subject for Pledge Acknowledgment','2017-12-17 05:53:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(349,NULL,10,'Subject for Pledge Acknowledgment','2017-02-15 14:21:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(350,NULL,10,'Subject for Pledge Acknowledgment','2017-01-22 18:43:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(351,NULL,10,'Subject for Pledge Acknowledgment','2017-10-05 09:46:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(352,NULL,9,'Subject for Tell a Friend','2017-11-30 23:30:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(353,NULL,9,'Subject for Tell a Friend','2017-12-10 17:54:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(354,NULL,9,'Subject for Tell a Friend','2017-12-14 12:11:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(355,NULL,9,'Subject for Tell a Friend','2017-09-22 09:39:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(356,NULL,10,'Subject for Pledge Acknowledgment','2017-06-23 12:21:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(357,NULL,9,'Subject for Tell a Friend','2017-04-07 09:06:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(358,NULL,10,'Subject for Pledge Acknowledgment','2017-12-24 14:58:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(359,NULL,9,'Subject for Tell a Friend','2017-08-28 01:34:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(360,NULL,9,'Subject for Tell a Friend','2017-09-08 06:14:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(361,NULL,10,'Subject for Pledge Acknowledgment','2017-02-06 16:30:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(362,NULL,9,'Subject for Tell a Friend','2017-09-24 22:55:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(363,NULL,10,'Subject for Pledge Acknowledgment','2017-04-17 17:39:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(364,NULL,10,'Subject for Pledge Acknowledgment','2017-05-30 01:13:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(365,NULL,9,'Subject for Tell a Friend','2017-06-13 13:10:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(366,NULL,9,'Subject for Tell a Friend','2017-07-20 23:14:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(367,NULL,10,'Subject for Pledge Acknowledgment','2017-10-08 13:57:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(368,NULL,9,'Subject for Tell a Friend','2017-10-23 03:47:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(369,NULL,9,'Subject for Tell a Friend','2017-07-27 08:13:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(370,NULL,10,'Subject for Pledge Acknowledgment','2017-04-27 06:46:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(371,NULL,9,'Subject for Tell a Friend','2017-04-02 01:55:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(372,NULL,10,'Subject for Pledge Acknowledgment','2017-11-08 14:38:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(373,NULL,10,'Subject for Pledge Acknowledgment','2017-08-16 12:49:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(374,NULL,9,'Subject for Tell a Friend','2017-04-29 16:32:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(375,NULL,9,'Subject for Tell a Friend','2017-06-15 01:38:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:47','2018-01-11 22:52:47'),(376,NULL,9,'Subject for Tell a Friend','2017-03-27 22:27:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(377,NULL,9,'Subject for Tell a Friend','2018-01-05 06:05:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(378,NULL,9,'Subject for Tell a Friend','2017-11-15 09:59:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(379,NULL,9,'Subject for Tell a Friend','2017-01-16 07:00:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(380,NULL,9,'Subject for Tell a Friend','2017-11-19 13:10:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(381,NULL,9,'Subject for Tell a Friend','2017-10-24 09:44:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(382,NULL,10,'Subject for Pledge Acknowledgment','2017-12-29 21:10:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(383,NULL,9,'Subject for Tell a Friend','2017-03-10 17:32:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(384,NULL,9,'Subject for Tell a Friend','2017-07-03 20:55:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(385,NULL,9,'Subject for Tell a Friend','2017-04-16 00:00:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(386,NULL,9,'Subject for Tell a Friend','2017-11-29 16:38:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(387,NULL,10,'Subject for Pledge Acknowledgment','2017-06-04 21:13:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(388,NULL,9,'Subject for Tell a Friend','2017-04-16 19:28:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(389,NULL,10,'Subject for Pledge Acknowledgment','2017-10-17 13:14:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(390,NULL,9,'Subject for Tell a Friend','2017-12-29 16:58:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(391,NULL,9,'Subject for Tell a Friend','2017-11-19 19:30:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(392,NULL,10,'Subject for Pledge Acknowledgment','2017-06-24 07:27:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(393,NULL,9,'Subject for Tell a Friend','2017-05-30 08:47:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(394,NULL,10,'Subject for Pledge Acknowledgment','2017-07-10 15:48:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(395,NULL,10,'Subject for Pledge Acknowledgment','2017-11-26 08:54:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(396,NULL,10,'Subject for Pledge Acknowledgment','2017-11-25 04:18:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(397,NULL,9,'Subject for Tell a Friend','2017-10-12 22:45:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(398,NULL,9,'Subject for Tell a Friend','2017-05-03 09:40:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(399,NULL,9,'Subject for Tell a Friend','2017-08-26 12:40:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(400,NULL,9,'Subject for Tell a Friend','2017-07-17 00:19:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(401,NULL,10,'Subject for Pledge Acknowledgment','2017-12-02 17:18:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(402,NULL,10,'Subject for Pledge Acknowledgment','2017-02-13 17:01:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(403,NULL,10,'Subject for Pledge Acknowledgment','2017-12-11 14:57:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(404,NULL,10,'Subject for Pledge Acknowledgment','2017-08-25 15:19:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(405,NULL,10,'Subject for Pledge Acknowledgment','2017-05-20 07:31:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(406,NULL,9,'Subject for Tell a Friend','2017-01-26 01:14:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(407,NULL,10,'Subject for Pledge Acknowledgment','2017-09-02 16:02:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(408,NULL,10,'Subject for Pledge Acknowledgment','2017-01-13 04:14:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(409,NULL,10,'Subject for Pledge Acknowledgment','2017-04-21 16:02:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(410,NULL,10,'Subject for Pledge Acknowledgment','2017-04-05 18:09:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(411,NULL,10,'Subject for Pledge Acknowledgment','2017-01-20 21:45:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(412,NULL,10,'Subject for Pledge Acknowledgment','2017-04-08 09:18:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(413,NULL,10,'Subject for Pledge Acknowledgment','2017-03-24 16:15:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(414,NULL,9,'Subject for Tell a Friend','2017-05-29 09:46:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(415,NULL,10,'Subject for Pledge Acknowledgment','2018-01-03 01:05:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(416,NULL,9,'Subject for Tell a Friend','2017-01-31 17:28:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(417,NULL,9,'Subject for Tell a Friend','2017-11-17 10:10:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(418,NULL,10,'Subject for Pledge Acknowledgment','2017-08-30 22:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(419,NULL,10,'Subject for Pledge Acknowledgment','2017-02-23 05:50:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(420,NULL,10,'Subject for Pledge Acknowledgment','2017-05-23 07:47:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(421,NULL,9,'Subject for Tell a Friend','2017-12-08 01:34:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:48','2018-01-11 22:52:48'),(422,NULL,10,'Subject for Pledge Acknowledgment','2017-03-10 23:39:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(423,NULL,9,'Subject for Tell a Friend','2017-10-13 05:43:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(424,NULL,10,'Subject for Pledge Acknowledgment','2017-03-28 10:34:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(425,NULL,10,'Subject for Pledge Acknowledgment','2017-07-25 02:58:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(426,NULL,9,'Subject for Tell a Friend','2017-03-23 17:30:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(427,NULL,9,'Subject for Tell a Friend','2017-09-22 03:19:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(428,NULL,9,'Subject for Tell a Friend','2017-09-09 09:45:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(429,NULL,10,'Subject for Pledge Acknowledgment','2017-08-12 15:53:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(430,NULL,10,'Subject for Pledge Acknowledgment','2017-09-25 23:13:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(431,NULL,9,'Subject for Tell a Friend','2017-06-24 00:39:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(432,NULL,10,'Subject for Pledge Acknowledgment','2018-01-01 19:08:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(433,NULL,10,'Subject for Pledge Acknowledgment','2017-12-22 03:12:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(434,NULL,9,'Subject for Tell a Friend','2017-10-15 17:25:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(435,NULL,10,'Subject for Pledge Acknowledgment','2017-05-13 05:30:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(436,NULL,9,'Subject for Tell a Friend','2017-11-14 06:19:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(437,NULL,9,'Subject for Tell a Friend','2017-08-31 17:32:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(438,NULL,9,'Subject for Tell a Friend','2017-10-30 00:22:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(439,NULL,9,'Subject for Tell a Friend','2017-04-11 18:15:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(440,NULL,9,'Subject for Tell a Friend','2017-02-27 10:21:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(441,NULL,10,'Subject for Pledge Acknowledgment','2017-06-19 15:11:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(442,NULL,10,'Subject for Pledge Acknowledgment','2017-01-12 18:27:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(443,NULL,9,'Subject for Tell a Friend','2017-08-13 16:09:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(444,NULL,10,'Subject for Pledge Acknowledgment','2017-07-25 01:52:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(445,NULL,10,'Subject for Pledge Acknowledgment','2017-12-15 10:02:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(446,NULL,9,'Subject for Tell a Friend','2017-11-30 12:10:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(447,NULL,9,'Subject for Tell a Friend','2017-01-30 18:49:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(448,NULL,10,'Subject for Pledge Acknowledgment','2017-11-20 08:35:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(449,NULL,10,'Subject for Pledge Acknowledgment','2017-08-02 14:36:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(450,NULL,10,'Subject for Pledge Acknowledgment','2017-11-02 04:15:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(451,1,6,'$ 125.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(452,2,6,'$ 50.00-Online: Save the Penguins','2010-03-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(453,3,6,'$ 25.00-Apr 2007 Mailer 1','2010-04-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(454,4,6,'$ 50.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(455,5,6,'$ 500.00-Apr 2007 Mailer 1','2010-04-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(456,6,6,'$ 175.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(457,7,6,'$ 50.00-Online: Save the Penguins','2010-03-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(458,8,6,'$ 10.00-Online: Save the Penguins','2010-03-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(459,9,6,'$ 250.00-Online: Save the Penguins','2010-04-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(460,10,6,NULL,'2009-07-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(461,11,6,NULL,'2009-07-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(462,12,6,NULL,'2009-10-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(463,13,6,NULL,'2009-12-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(464,1,7,'General','2018-01-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(465,2,7,'Student','2018-01-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(466,3,7,'General','2018-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(467,4,7,'Student','2018-01-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(468,5,7,'General','2015-12-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(469,6,7,'Student','2018-01-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(470,7,7,'General','2018-01-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(471,8,7,'Student','2018-01-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(472,9,7,'General','2018-01-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(473,10,7,'Student','2017-01-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(474,11,7,'Lifetime','2018-01-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(475,12,7,'Student','2018-01-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(476,13,7,'General','2017-12-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(477,14,7,'Student','2017-12-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(478,15,7,'Student','2016-12-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(479,16,7,'Student','2017-12-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(480,17,7,'General','2017-12-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(481,18,7,'Student','2017-12-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(482,19,7,'General','2017-12-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(483,20,7,'Student','2016-12-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(484,21,7,'General','2017-12-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(485,22,7,'Lifetime','2017-12-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(486,23,7,'General','2017-12-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(487,24,7,'Student','2017-12-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(488,25,7,'Student','2016-12-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(489,26,7,'Student','2017-12-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(490,27,7,'General','2017-12-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(491,28,7,'Student','2017-12-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(492,29,7,'General','2017-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(493,30,7,'General','2015-05-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(495,15,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(497,17,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(499,19,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(501,21,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(503,23,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(504,24,6,'$ 1200.00 - Lifetime Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(505,25,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(506,26,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(507,27,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(508,28,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(510,30,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(512,32,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(514,34,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(515,35,6,'$ 1200.00 - Lifetime Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(516,36,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(520,40,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(522,42,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(523,43,6,'$ 100.00 - General Membership: Offline signup','2018-01-12 09:52:49',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:49','2018-01-11 22:52:49'),(525,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(526,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(527,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(528,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(529,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(530,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(531,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(532,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(533,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(534,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(535,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(536,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(537,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(538,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(539,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(540,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(541,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(542,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(543,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(544,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(545,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(546,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(547,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(548,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(549,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(550,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(551,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(552,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(553,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(554,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(555,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(556,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(557,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(558,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(559,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(560,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(561,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(562,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(563,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(564,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(565,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(566,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(567,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(568,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(569,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(570,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(571,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(572,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(573,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(574,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(575,45,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(576,46,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(577,47,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(578,48,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(579,49,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(580,50,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(581,51,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(582,52,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(583,53,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(584,54,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(585,55,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(586,56,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(587,57,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(588,58,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(589,59,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(590,60,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(591,61,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(592,62,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(593,63,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(594,64,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(595,65,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(596,66,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(597,67,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(600,70,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(602,72,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(603,73,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(605,75,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(606,76,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(607,77,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(608,78,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(609,79,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(612,82,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(613,83,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(614,84,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(616,86,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(617,87,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(618,88,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(619,89,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(620,90,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(621,91,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(622,92,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(623,93,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50'),(624,94,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2018-01-12 09:52:50',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2018-01-11 22:52:50','2018-01-11 22:52:50');
 /*!40000 ALTER TABLE `civicrm_activity` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -97,7 +96,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_activity_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES (434,288,1,3),(17,11,2,3),(366,244,2,3),(689,451,2,2),(771,533,2,2),(516,343,3,3),(646,424,3,3),(436,289,4,3),(541,357,4,3),(690,452,4,2),(793,555,4,2),(146,95,5,3),(218,143,5,3),(581,382,5,3),(601,394,5,3),(691,453,6,2),(810,572,6,2),(2,1,7,3),(167,109,7,3),(380,253,7,3),(465,308,7,3),(550,362,7,3),(592,389,7,3),(284,185,8,3),(400,267,8,3),(454,301,8,3),(480,318,8,3),(692,454,8,2),(271,177,9,3),(522,346,9,3),(184,120,10,3),(228,148,10,3),(403,269,10,3),(214,141,12,3),(552,363,12,3),(763,525,12,2),(128,82,14,3),(310,201,14,3),(369,246,14,3),(679,444,14,3),(9,6,15,3),(131,84,15,3),(448,297,15,3),(526,348,15,3),(792,554,15,2),(108,70,16,3),(122,79,16,3),(482,319,16,3),(693,455,16,2),(443,293,17,3),(468,310,17,3),(82,51,18,3),(301,195,18,3),(395,264,18,3),(509,339,18,3),(657,430,18,3),(787,549,18,2),(507,338,19,3),(694,456,19,2),(126,81,20,3),(321,209,20,3),(345,228,20,3),(32,22,21,3),(450,298,21,3),(573,377,21,3),(577,380,22,3),(173,113,23,3),(178,116,23,3),(293,190,23,3),(798,560,23,2),(156,101,24,3),(47,31,25,3),(74,46,25,3),(263,172,25,3),(424,282,25,3),(143,93,26,3),(305,198,26,3),(520,345,26,3),(597,392,26,3),(716,478,26,2),(752,514,26,2),(808,570,26,2),(181,118,27,3),(265,173,27,3),(312,202,27,3),(800,562,27,2),(99,64,28,3),(722,484,28,2),(739,501,28,2),(49,32,29,3),(148,96,29,3),(118,77,31,3),(151,98,31,3),(298,193,31,3),(327,214,31,3),(371,247,31,3),(543,358,31,3),(409,272,32,3),(485,321,32,3),(700,462,32,2),(701,463,32,2),(776,538,32,2),(162,105,34,3),(697,459,34,2),(438,290,35,3),(799,561,35,2),(422,281,36,3),(470,311,36,3),(91,58,37,3),(186,121,37,3),(354,235,37,3),(634,417,37,3),(638,419,37,3),(537,355,38,3),(594,390,38,3),(276,180,39,3),(643,422,39,3),(226,147,40,3),(332,218,40,3),(456,302,40,3),(675,442,40,3),(140,91,41,3),(391,261,42,3),(318,207,43,3),(432,287,43,3),(699,461,43,2),(398,266,44,3),(687,449,44,3),(706,468,44,2),(746,508,44,2),(775,537,44,2),(220,144,45,3),(289,188,45,3),(788,550,45,2),(343,227,46,3),(619,407,46,3),(673,441,46,3),(719,481,46,2),(754,516,46,2),(717,479,47,2),(753,515,47,2),(42,28,48,3),(51,33,48,3),(233,152,48,3),(295,191,48,3),(383,255,49,3),(40,27,50,3),(112,73,50,3),(340,225,50,3),(364,243,50,3),(115,75,51,3),(375,250,51,3),(56,36,52,3),(249,163,52,3),(291,189,52,3),(497,331,52,3),(705,467,52,2),(745,507,52,2),(768,530,52,2),(566,373,53,3),(570,375,53,3),(583,383,53,3),(713,475,53,2),(750,512,53,2),(568,374,54,3),(579,381,54,3),(668,438,54,3),(795,557,54,2),(70,44,55,3),(247,162,55,3),(389,260,55,3),(405,270,55,3),(653,428,55,3),(789,551,55,2),(158,102,56,3),(216,142,58,3),(222,145,58,3),(794,556,58,2),(101,65,59,3),(413,275,59,3),(426,283,59,3),(649,426,59,3),(279,182,60,3),(407,271,60,3),(23,14,61,3),(60,38,61,3),(134,86,61,3),(612,402,61,3),(703,465,61,2),(744,506,61,2),(766,528,61,2),(665,436,62,3),(14,9,63,3),(36,25,63,3),(415,276,63,3),(636,418,63,3),(240,157,64,3),(625,411,64,3),(712,474,64,2),(760,522,64,2),(194,127,65,3),(256,167,65,3),(511,340,65,3),(671,440,66,3),(714,476,66,2),(736,498,66,2),(38,26,67,3),(244,160,67,3),(599,393,67,3),(723,485,67,2),(761,523,67,2),(19,12,68,3),(120,78,68,3),(711,473,69,2),(749,511,69,2),(531,351,70,3),(731,493,70,2),(743,505,70,2),(209,137,71,3),(428,284,71,3),(698,460,71,2),(7,5,72,3),(154,100,72,3),(251,164,72,3),(514,342,72,3),(539,356,72,3),(627,412,72,3),(175,114,73,3),(205,135,73,3),(728,490,73,2),(741,503,73,2),(780,542,73,2),(207,136,74,3),(621,408,74,3),(260,170,77,3),(505,337,77,3),(45,30,78,3),(783,545,78,2),(124,80,79,3),(281,183,79,3),(528,349,79,3),(77,48,80,3),(287,187,80,3),(685,448,80,3),(730,492,80,2),(742,504,80,2),(784,546,80,2),(62,39,81,3),(238,156,81,3),(518,344,81,3),(708,470,81,2),(734,496,81,2),(197,129,82,3),(631,415,82,3),(695,457,82,2),(796,558,82,2),(224,146,84,3),(253,165,84,3),(490,325,84,3),(605,397,84,3),(614,403,84,3),(80,50,85,3),(97,63,85,3),(269,176,86,3),(476,315,86,3),(557,367,87,3),(802,564,87,2),(21,13,88,3),(58,37,88,3),(503,336,88,3),(546,360,88,3),(548,361,88,3),(590,388,88,3),(641,421,88,3),(349,231,89,3),(65,41,91,3),(458,303,91,3),(472,312,91,3),(677,443,91,3),(54,35,92,3),(104,67,92,3),(273,178,92,3),(524,347,92,3),(559,368,92,3),(564,372,92,3),(608,399,92,3),(660,432,92,3),(696,458,92,2),(785,547,92,2),(169,110,93,3),(200,131,93,3),(417,277,93,3),(533,352,93,3),(781,543,93,2),(190,124,94,3),(683,447,94,3),(377,251,95,3),(786,548,95,2),(12,8,96,3),(67,42,96,3),(587,386,96,3),(718,480,96,2),(737,499,96,2),(801,563,96,2),(361,241,97,3),(765,527,97,2),(440,291,98,3),(463,307,98,3),(72,45,100,3),(84,52,100,3),(651,427,100,3),(655,429,100,3),(729,491,100,2),(759,521,100,2),(805,567,100,2),(308,200,101,3),(709,471,101,2),(748,510,101,2),(809,571,104,2),(1,1,107,2),(3,2,107,2),(4,3,107,2),(5,4,107,2),(6,5,107,2),(8,6,107,2),(10,7,107,2),(11,8,107,2),(13,9,107,2),(15,10,107,2),(16,11,107,2),(18,12,107,2),(20,13,107,2),(22,14,107,2),(24,15,107,2),(25,16,107,2),(26,17,107,2),(27,18,107,2),(28,19,107,2),(29,20,107,2),(30,21,107,2),(31,22,107,2),(33,23,107,2),(34,24,107,2),(35,25,107,2),(37,26,107,2),(39,27,107,2),(41,28,107,2),(43,29,107,2),(44,30,107,2),(46,31,107,2),(48,32,107,2),(50,33,107,2),(52,34,107,2),(53,35,107,2),(55,36,107,2),(57,37,107,2),(59,38,107,2),(61,39,107,2),(63,40,107,2),(64,41,107,2),(66,42,107,2),(68,43,107,2),(69,44,107,2),(71,45,107,2),(73,46,107,2),(75,47,107,2),(76,48,107,2),(78,49,107,2),(79,50,107,2),(81,51,107,2),(83,52,107,2),(85,53,107,2),(86,54,107,2),(87,55,107,2),(88,56,107,2),(89,57,107,2),(90,58,107,2),(92,59,107,2),(93,60,107,2),(94,61,107,2),(95,62,107,2),(96,63,107,2),(98,64,107,2),(100,65,107,2),(102,66,107,2),(103,67,107,2),(105,68,107,2),(106,69,107,2),(107,70,107,2),(109,71,107,2),(110,72,107,2),(111,73,107,2),(113,74,107,2),(114,75,107,2),(116,76,107,2),(117,77,107,2),(119,78,107,2),(121,79,107,2),(123,80,107,2),(125,81,107,2),(127,82,107,2),(129,83,107,2),(130,84,107,2),(132,85,107,2),(133,86,107,2),(135,87,107,2),(136,88,107,2),(137,89,107,2),(138,90,107,2),(139,91,107,2),(141,92,107,2),(142,93,107,2),(144,94,107,2),(145,95,107,2),(147,96,107,2),(149,97,107,2),(150,98,107,2),(152,99,107,2),(153,100,107,2),(155,101,107,2),(157,102,107,2),(159,103,107,2),(160,104,107,2),(161,105,107,2),(163,106,107,2),(164,107,107,2),(165,108,107,2),(166,109,107,2),(168,110,107,2),(170,111,107,2),(171,112,107,2),(172,113,107,2),(174,114,107,2),(176,115,107,2),(177,116,107,2),(179,117,107,2),(180,118,107,2),(182,119,107,2),(183,120,107,2),(185,121,107,2),(187,122,107,2),(188,123,107,2),(189,124,107,2),(191,125,107,2),(192,126,107,2),(193,127,107,2),(195,128,107,2),(196,129,107,2),(198,130,107,2),(199,131,107,2),(201,132,107,2),(202,133,107,2),(203,134,107,2),(204,135,107,2),(206,136,107,2),(208,137,107,2),(210,138,107,2),(211,139,107,2),(212,140,107,2),(213,141,107,2),(215,142,107,2),(217,143,107,2),(219,144,107,2),(221,145,107,2),(223,146,107,2),(225,147,107,2),(227,148,107,2),(229,149,107,2),(230,150,107,2),(777,539,112,2),(702,464,113,2),(732,494,113,2),(790,552,114,2),(774,536,115,2),(791,553,120,2),(764,526,133,2),(725,487,134,2),(756,518,134,2),(769,531,136,2),(704,466,137,2),(733,495,137,2),(773,535,137,2),(720,482,141,2),(738,500,141,2),(770,532,141,2),(782,544,142,2),(807,569,143,2),(726,488,144,2),(757,519,144,2),(772,534,151,2),(710,472,164,2),(735,497,164,2),(779,541,166,2),(727,489,168,2),(758,520,168,2),(721,483,172,2),(755,517,172,2),(803,565,175,2),(811,573,176,2),(797,559,177,2),(804,566,179,2),(778,540,180,2),(806,568,182,2),(767,529,187,2),(812,574,190,2),(707,469,191,2),(747,509,191,2),(231,151,195,2),(232,152,195,2),(234,153,195,2),(235,154,195,2),(236,155,195,2),(237,156,195,2),(239,157,195,2),(241,158,195,2),(242,159,195,2),(243,160,195,2),(245,161,195,2),(246,162,195,2),(248,163,195,2),(250,164,195,2),(252,165,195,2),(254,166,195,2),(255,167,195,2),(257,168,195,2),(258,169,195,2),(259,170,195,2),(261,171,195,2),(262,172,195,2),(264,173,195,2),(266,174,195,2),(267,175,195,2),(268,176,195,2),(270,177,195,2),(272,178,195,2),(274,179,195,2),(275,180,195,2),(277,181,195,2),(278,182,195,2),(280,183,195,2),(282,184,195,2),(283,185,195,2),(285,186,195,2),(286,187,195,2),(288,188,195,2),(290,189,195,2),(292,190,195,2),(294,191,195,2),(296,192,195,2),(297,193,195,2),(299,194,195,2),(300,195,195,2),(302,196,195,2),(303,197,195,2),(304,198,195,2),(306,199,195,2),(307,200,195,2),(309,201,195,2),(311,202,195,2),(313,203,195,2),(314,204,195,2),(315,205,195,2),(316,206,195,2),(317,207,195,2),(319,208,195,2),(320,209,195,2),(322,210,195,2),(323,211,195,2),(324,212,195,2),(325,213,195,2),(326,214,195,2),(328,215,195,2),(329,216,195,2),(330,217,195,2),(331,218,195,2),(333,219,195,2),(334,220,195,2),(335,221,195,2),(336,222,195,2),(337,223,195,2),(338,224,195,2),(339,225,195,2),(341,226,195,2),(342,227,195,2),(344,228,195,2),(346,229,195,2),(347,230,195,2),(348,231,195,2),(350,232,195,2),(351,233,195,2),(352,234,195,2),(353,235,195,2),(355,236,195,2),(356,237,195,2),(357,238,195,2),(358,239,195,2),(359,240,195,2),(360,241,195,2),(362,242,195,2),(363,243,195,2),(365,244,195,2),(367,245,195,2),(368,246,195,2),(370,247,195,2),(372,248,195,2),(373,249,195,2),(374,250,195,2),(376,251,195,2),(378,252,195,2),(379,253,195,2),(381,254,195,2),(382,255,195,2),(384,256,195,2),(385,257,195,2),(386,258,195,2),(387,259,195,2),(388,260,195,2),(390,261,195,2),(392,262,195,2),(393,263,195,2),(394,264,195,2),(396,265,195,2),(397,266,195,2),(399,267,195,2),(401,268,195,2),(402,269,195,2),(404,270,195,2),(406,271,195,2),(408,272,195,2),(410,273,195,2),(411,274,195,2),(412,275,195,2),(414,276,195,2),(416,277,195,2),(418,278,195,2),(419,279,195,2),(420,280,195,2),(421,281,195,2),(423,282,195,2),(425,283,195,2),(427,284,195,2),(429,285,195,2),(430,286,195,2),(431,287,195,2),(433,288,195,2),(435,289,195,2),(437,290,195,2),(439,291,195,2),(441,292,195,2),(442,293,195,2),(444,294,195,2),(445,295,195,2),(446,296,195,2),(447,297,195,2),(449,298,195,2),(451,299,195,2),(452,300,195,2),(453,301,199,2),(455,302,199,2),(457,303,199,2),(459,304,199,2),(460,305,199,2),(461,306,199,2),(462,307,199,2),(464,308,199,2),(466,309,199,2),(467,310,199,2),(469,311,199,2),(471,312,199,2),(473,313,199,2),(474,314,199,2),(475,315,199,2),(477,316,199,2),(478,317,199,2),(479,318,199,2),(481,319,199,2),(483,320,199,2),(484,321,199,2),(486,322,199,2),(487,323,199,2),(488,324,199,2),(489,325,199,2),(491,326,199,2),(492,327,199,2),(493,328,199,2),(494,329,199,2),(495,330,199,2),(496,331,199,2),(498,332,199,2),(499,333,199,2),(500,334,199,2),(501,335,199,2),(502,336,199,2),(504,337,199,2),(506,338,199,2),(508,339,199,2),(510,340,199,2),(512,341,199,2),(513,342,199,2),(515,343,199,2),(517,344,199,2),(519,345,199,2),(521,346,199,2),(523,347,199,2),(525,348,199,2),(527,349,199,2),(529,350,199,2),(530,351,199,2),(532,352,199,2),(534,353,199,2),(535,354,199,2),(536,355,199,2),(538,356,199,2),(540,357,199,2),(542,358,199,2),(544,359,199,2),(545,360,199,2),(547,361,199,2),(549,362,199,2),(551,363,199,2),(553,364,199,2),(554,365,199,2),(555,366,199,2),(556,367,199,2),(558,368,199,2),(560,369,199,2),(561,370,199,2),(562,371,199,2),(563,372,199,2),(565,373,199,2),(567,374,199,2),(569,375,199,2),(571,376,199,2),(572,377,199,2),(574,378,199,2),(575,379,199,2),(576,380,199,2),(578,381,199,2),(580,382,199,2),(582,383,199,2),(584,384,199,2),(585,385,199,2),(586,386,199,2),(588,387,199,2),(589,388,199,2),(591,389,199,2),(593,390,199,2),(595,391,199,2),(596,392,199,2),(598,393,199,2),(600,394,199,2),(602,395,199,2),(603,396,199,2),(604,397,199,2),(606,398,199,2),(607,399,199,2),(609,400,199,2),(610,401,199,2),(611,402,199,2),(613,403,199,2),(615,404,199,2),(616,405,199,2),(617,406,199,2),(618,407,199,2),(620,408,199,2),(622,409,199,2),(623,410,199,2),(624,411,199,2),(626,412,199,2),(628,413,199,2),(629,414,199,2),(630,415,199,2),(632,416,199,2),(633,417,199,2),(635,418,199,2),(637,419,199,2),(639,420,199,2),(640,421,199,2),(642,422,199,2),(644,423,199,2),(645,424,199,2),(647,425,199,2),(648,426,199,2),(650,427,199,2),(652,428,199,2),(654,429,199,2),(656,430,199,2),(658,431,199,2),(659,432,199,2),(661,433,199,2),(662,434,199,2),(663,435,199,2),(664,436,199,2),(666,437,199,2),(667,438,199,2),(669,439,199,2),(670,440,199,2),(672,441,199,2),(674,442,199,2),(676,443,199,2),(678,444,199,2),(680,445,199,2),(681,446,199,2),(682,447,199,2),(684,448,199,2),(686,449,199,2),(688,450,199,2),(724,486,199,2),(740,502,199,2),(715,477,201,2),(751,513,201,2);
+INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES (135,85,1,3),(327,211,1,3),(457,298,1,3),(279,181,2,3),(398,263,2,3),(682,451,2,2),(158,102,3,3),(569,375,3,3),(435,285,4,3),(476,312,4,3),(544,359,4,3),(683,452,4,2),(772,541,4,2),(534,353,5,3),(666,439,5,3),(719,488,5,2),(749,518,5,2),(784,553,5,2),(95,60,6,3),(185,120,6,3),(192,124,6,3),(342,222,6,3),(354,230,6,3),(684,453,6,2),(708,477,6,2),(738,507,6,2),(25,15,7,3),(117,74,7,3),(382,253,7,3),(38,23,8,3),(333,215,8,3),(417,274,8,3),(490,321,8,3),(685,454,8,2),(802,571,8,2),(128,81,9,3),(584,383,9,3),(588,385,9,3),(718,487,10,2),(748,517,10,2),(303,197,11,3),(113,72,12,3),(206,132,12,3),(121,76,13,3),(131,83,13,3),(227,146,13,3),(560,369,13,3),(13,7,14,3),(109,69,15,3),(232,149,15,3),(430,282,15,3),(532,352,15,3),(785,554,15,2),(686,455,16,2),(773,542,16,2),(18,10,17,3),(323,209,17,3),(4,2,18,3),(9,5,18,3),(782,551,18,2),(405,267,19,3),(687,456,19,2),(760,529,19,2),(80,49,20,3),(199,128,20,3),(709,478,21,2),(739,508,21,2),(16,9,22,3),(571,376,22,3),(50,30,23,3),(171,110,23,3),(255,166,23,3),(309,200,23,3),(361,234,23,3),(712,481,23,2),(742,511,23,2),(83,51,24,3),(330,213,24,3),(335,216,24,3),(384,254,24,3),(445,291,24,3),(35,21,25,3),(201,129,25,3),(346,224,25,3),(455,297,25,3),(468,306,25,3),(7,4,26,3),(538,355,26,3),(313,203,27,3),(720,489,27,2),(750,519,27,2),(757,526,27,2),(678,447,28,3),(55,33,29,3),(704,473,30,2),(734,503,30,2),(138,87,31,3),(257,167,31,3),(721,490,31,2),(751,520,31,2),(791,560,31,2),(512,337,32,3),(631,416,32,3),(693,462,32,2),(694,463,32,2),(706,475,32,2),(736,505,32,2),(780,549,32,2),(189,122,33,3),(359,233,33,3),(466,305,33,3),(508,334,33,3),(779,548,33,2),(413,272,34,3),(419,275,34,3),(690,459,34,2),(715,484,34,2),(745,514,34,2),(29,17,35,3),(107,68,35,3),(119,75,35,3),(141,89,35,3),(261,169,36,3),(300,195,36,3),(396,262,36,3),(64,39,37,3),(307,199,37,3),(771,540,37,2),(553,365,38,3),(183,119,39,3),(259,168,39,3),(390,258,39,3),(797,566,39,2),(251,163,40,3),(53,32,41,3),(315,204,41,3),(350,227,41,3),(481,315,41,3),(722,491,41,2),(752,521,41,2),(357,232,42,3),(374,246,42,3),(593,388,43,3),(692,461,43,2),(695,464,43,2),(725,494,43,2),(787,556,43,2),(41,25,44,3),(800,569,44,2),(46,28,45,3),(234,151,45,2),(235,152,45,2),(237,153,45,2),(239,154,45,2),(240,155,45,2),(241,156,45,2),(242,157,45,2),(243,158,45,2),(244,159,45,2),(245,160,45,2),(246,161,45,2),(248,162,45,2),(250,163,45,2),(252,164,45,2),(253,165,45,2),(254,166,45,2),(256,167,45,2),(258,168,45,2),(260,169,45,2),(262,170,45,2),(264,171,45,2),(265,172,45,2),(267,173,45,2),(268,174,45,2),(269,175,45,2),(271,176,45,2),(272,177,45,2),(274,178,45,2),(275,179,45,2),(276,180,45,2),(278,181,45,2),(280,182,45,2),(282,183,45,2),(284,184,45,2),(285,185,45,2),(286,186,45,2),(288,187,45,2),(289,188,45,2),(290,189,45,2),(291,190,45,2),(292,191,45,2),(294,192,45,2),(295,193,45,2),(297,194,45,2),(299,195,45,2),(301,196,45,2),(302,197,45,2),(304,198,45,2),(306,199,45,2),(308,200,45,2),(310,201,45,2),(311,202,45,2),(312,203,45,2),(314,204,45,2),(316,205,45,2),(318,206,45,2),(320,207,45,2),(321,208,45,2),(322,209,45,2),(324,210,45,2),(326,211,45,2),(328,212,45,2),(329,213,45,2),(331,214,45,2),(332,215,45,2),(334,216,45,2),(336,217,45,2),(337,218,45,2),(338,219,45,2),(339,220,45,2),(340,221,45,2),(341,222,45,2),(343,223,45,2),(345,224,45,2),(347,225,45,2),(348,226,45,2),(349,227,45,2),(351,228,45,2),(352,229,45,2),(353,230,45,2),(355,231,45,2),(356,232,45,2),(358,233,45,2),(360,234,45,2),(362,235,45,2),(363,236,45,2),(364,237,45,2),(365,238,45,2),(366,239,45,2),(367,240,45,2),(368,241,45,2),(369,242,45,2),(370,243,45,2),(371,244,45,2),(372,245,45,2),(373,246,45,2),(375,247,45,2),(376,248,45,2),(377,249,45,2),(378,250,45,2),(379,251,45,2),(380,252,45,2),(381,253,45,2),(383,254,45,2),(385,255,45,2),(386,256,45,2),(387,257,45,2),(389,258,45,2),(391,259,45,2),(392,260,45,2),(394,261,45,2),(395,262,45,2),(397,263,45,2),(399,264,45,2),(401,265,45,2),(402,266,45,2),(404,267,45,2),(406,268,45,2),(407,269,45,2),(409,270,45,2),(410,271,45,2),(412,272,45,2),(414,273,45,2),(416,274,45,2),(418,275,45,2),(420,276,45,2),(421,277,45,2),(423,278,45,2),(424,279,45,2),(426,280,45,2),(427,281,45,2),(429,282,45,2),(431,283,45,2),(432,284,45,2),(434,285,45,2),(436,286,45,2),(437,287,45,2),(439,288,45,2),(441,289,45,2),(443,290,45,2),(444,291,45,2),(446,292,45,2),(447,293,45,2),(449,294,45,2),(450,295,45,2),(452,296,45,2),(454,297,45,2),(456,298,45,2),(458,299,45,2),(460,300,45,2),(586,384,45,3),(60,37,46,3),(89,55,46,3),(230,148,46,3),(273,177,47,3),(317,205,47,3),(575,378,47,3),(175,112,48,3),(277,180,48,3),(344,223,48,3),(641,423,48,3),(236,152,49,3),(281,182,50,3),(293,191,50,3),(518,341,50,3),(23,14,51,3),(525,346,51,3),(536,354,51,3),(549,362,51,3),(633,417,51,3),(762,531,51,2),(608,398,53,3),(501,330,54,3),(783,552,54,2),(27,16,55,3),(628,414,55,3),(698,467,55,2),(728,497,55,2),(415,273,56,3),(86,53,57,3),(403,266,57,3),(555,366,57,3),(606,397,57,3),(283,183,59,3),(459,299,60,3),(647,427,60,3),(75,46,61,3),(147,93,61,3),(453,296,61,3),(98,62,62,3),(472,309,62,3),(516,340,62,3),(657,434,62,3),(696,465,62,2),(726,495,62,2),(2,1,63,3),(143,90,63,3),(422,277,63,3),(433,284,63,3),(649,428,63,3),(173,111,64,3),(196,126,64,3),(210,134,64,3),(723,492,64,2),(753,522,64,2),(756,525,64,2),(238,153,66,3),(601,393,66,3),(520,342,67,3),(598,391,67,3),(187,121,68,3),(612,400,68,3),(778,547,68,2),(115,73,69,3),(298,194,69,3),(163,105,70,3),(165,106,71,3),(219,140,71,3),(541,357,71,3),(579,380,71,3),(691,460,71,2),(794,563,71,2),(305,198,72,3),(400,264,72,3),(213,136,73,3),(266,172,73,3),(504,332,73,3),(662,437,73,3),(653,431,74,3),(796,565,74,2),(194,125,75,3),(408,269,75,3),(702,471,75,2),(732,501,75,2),(133,84,76,3),(156,101,76,3),(325,210,76,3),(777,546,76,2),(62,38,77,3),(67,41,77,3),(101,64,77,3),(287,186,77,3),(717,486,77,2),(747,516,77,2),(761,530,78,2),(573,377,79,3),(72,44,80,3),(563,371,80,3),(204,131,81,3),(596,390,81,3),(672,443,82,3),(688,457,82,2),(69,42,83,3),(78,48,83,3),(388,257,83,3),(442,289,83,3),(801,570,83,2),(247,161,84,3),(492,322,84,3),(11,6,86,3),(451,295,86,3),(506,333,86,3),(786,555,86,2),(48,29,87,3),(425,279,87,3),(546,360,87,3),(676,446,87,3),(169,109,88,3),(440,288,88,3),(479,314,88,3),(770,539,88,2),(44,27,89,3),(124,78,89,3),(393,260,89,3),(581,381,89,3),(428,281,90,3),(558,368,90,3),(567,374,90,3),(664,438,90,3),(767,536,90,2),(208,133,91,3),(319,206,91,3),(488,320,91,3),(577,379,91,3),(668,440,91,3),(774,543,91,2),(448,293,92,3),(484,317,92,3),(689,458,92,2),(31,18,93,3),(217,139,93,3),(296,193,93,3),(223,143,94,3),(160,103,95,3),(438,287,95,3),(660,436,95,3),(105,67,96,3),(270,175,96,3),(411,271,96,3),(703,472,98,2),(733,502,98,2),(249,162,100,3),(263,170,100,3),(590,386,100,3),(610,399,100,3),(619,406,100,3),(645,426,100,3),(759,528,100,2),(638,421,101,3),(792,561,104,2),(793,562,105,2),(1,1,109,2),(3,2,109,2),(5,3,109,2),(6,4,109,2),(8,5,109,2),(10,6,109,2),(12,7,109,2),(14,8,109,2),(15,9,109,2),(17,10,109,2),(19,11,109,2),(20,12,109,2),(21,13,109,2),(22,14,109,2),(24,15,109,2),(26,16,109,2),(28,17,109,2),(30,18,109,2),(32,19,109,2),(33,20,109,2),(34,21,109,2),(36,22,109,2),(37,23,109,2),(39,24,109,2),(40,25,109,2),(42,26,109,2),(43,27,109,2),(45,28,109,2),(47,29,109,2),(49,30,109,2),(51,31,109,2),(52,32,109,2),(54,33,109,2),(56,34,109,2),(57,35,109,2),(58,36,109,2),(59,37,109,2),(61,38,109,2),(63,39,109,2),(65,40,109,2),(66,41,109,2),(68,42,109,2),(70,43,109,2),(71,44,109,2),(73,45,109,2),(74,46,109,2),(76,47,109,2),(77,48,109,2),(79,49,109,2),(81,50,109,2),(82,51,109,2),(84,52,109,2),(85,53,109,2),(87,54,109,2),(88,55,109,2),(90,56,109,2),(91,57,109,2),(92,58,109,2),(93,59,109,2),(94,60,109,2),(96,61,109,2),(97,62,109,2),(99,63,109,2),(100,64,109,2),(102,65,109,2),(103,66,109,2),(104,67,109,2),(106,68,109,2),(108,69,109,2),(110,70,109,2),(111,71,109,2),(112,72,109,2),(114,73,109,2),(116,74,109,2),(118,75,109,2),(120,76,109,2),(122,77,109,2),(123,78,109,2),(125,79,109,2),(126,80,109,2),(127,81,109,2),(129,82,109,2),(130,83,109,2),(132,84,109,2),(134,85,109,2),(136,86,109,2),(137,87,109,2),(139,88,109,2),(140,89,109,2),(142,90,109,2),(144,91,109,2),(145,92,109,2),(146,93,109,2),(148,94,109,2),(149,95,109,2),(150,96,109,2),(151,97,109,2),(152,98,109,2),(153,99,109,2),(154,100,109,2),(155,101,109,2),(157,102,109,2),(159,103,109,2),(161,104,109,2),(162,105,109,2),(164,106,109,2),(166,107,109,2),(167,108,109,2),(168,109,109,2),(170,110,109,2),(172,111,109,2),(174,112,109,2),(176,113,109,2),(177,114,109,2),(178,115,109,2),(179,116,109,2),(180,117,109,2),(181,118,109,2),(182,119,109,2),(184,120,109,2),(186,121,109,2),(188,122,109,2),(190,123,109,2),(191,124,109,2),(193,125,109,2),(195,126,109,2),(197,127,109,2),(198,128,109,2),(200,129,109,2),(202,130,109,2),(203,131,109,2),(205,132,109,2),(207,133,109,2),(209,134,109,2),(211,135,109,2),(212,136,109,2),(214,137,109,2),(215,138,109,2),(216,139,109,2),(218,140,109,2),(220,141,109,2),(221,142,109,2),(222,143,109,2),(224,144,109,2),(225,145,109,2),(226,146,109,2),(228,147,109,2),(229,148,109,2),(231,149,109,2),(233,150,109,2),(461,301,112,2),(462,302,112,2),(463,303,112,2),(464,304,112,2),(465,305,112,2),(467,306,112,2),(469,307,112,2),(470,308,112,2),(471,309,112,2),(473,310,112,2),(474,311,112,2),(475,312,112,2),(477,313,112,2),(478,314,112,2),(480,315,112,2),(482,316,112,2),(483,317,112,2),(485,318,112,2),(486,319,112,2),(487,320,112,2),(489,321,112,2),(491,322,112,2),(493,323,112,2),(494,324,112,2),(495,325,112,2),(496,326,112,2),(497,327,112,2),(498,328,112,2),(499,329,112,2),(500,330,112,2),(502,331,112,2),(503,332,112,2),(505,333,112,2),(507,334,112,2),(509,335,112,2),(510,336,112,2),(511,337,112,2),(513,338,112,2),(514,339,112,2),(515,340,112,2),(517,341,112,2),(519,342,112,2),(521,343,112,2),(522,344,112,2),(523,345,112,2),(524,346,112,2),(526,347,112,2),(527,348,112,2),(528,349,112,2),(529,350,112,2),(530,351,112,2),(531,352,112,2),(533,353,112,2),(535,354,112,2),(537,355,112,2),(539,356,112,2),(540,357,112,2),(542,358,112,2),(543,359,112,2),(545,360,112,2),(547,361,112,2),(548,362,112,2),(550,363,112,2),(551,364,112,2),(552,365,112,2),(554,366,112,2),(556,367,112,2),(557,368,112,2),(559,369,112,2),(561,370,112,2),(562,371,112,2),(564,372,112,2),(565,373,112,2),(566,374,112,2),(568,375,112,2),(570,376,112,2),(572,377,112,2),(574,378,112,2),(576,379,112,2),(578,380,112,2),(580,381,112,2),(582,382,112,2),(583,383,112,2),(585,384,112,2),(587,385,112,2),(589,386,112,2),(591,387,112,2),(592,388,112,2),(594,389,112,2),(595,390,112,2),(597,391,112,2),(599,392,112,2),(600,393,112,2),(602,394,112,2),(603,395,112,2),(604,396,112,2),(605,397,112,2),(607,398,112,2),(609,399,112,2),(611,400,112,2),(613,401,112,2),(614,402,112,2),(615,403,112,2),(616,404,112,2),(617,405,112,2),(618,406,112,2),(620,407,112,2),(621,408,112,2),(622,409,112,2),(623,410,112,2),(624,411,112,2),(625,412,112,2),(626,413,112,2),(627,414,112,2),(629,415,112,2),(630,416,112,2),(632,417,112,2),(634,418,112,2),(635,419,112,2),(636,420,112,2),(637,421,112,2),(639,422,112,2),(640,423,112,2),(642,424,112,2),(643,425,112,2),(644,426,112,2),(646,427,112,2),(648,428,112,2),(650,429,112,2),(651,430,112,2),(652,431,112,2),(654,432,112,2),(655,433,112,2),(656,434,112,2),(658,435,112,2),(659,436,112,2),(661,437,112,2),(663,438,112,2),(665,439,112,2),(667,440,112,2),(669,441,112,2),(670,442,112,2),(671,443,112,2),(673,444,112,2),(674,445,112,2),(675,446,112,2),(677,447,112,2),(679,448,112,2),(680,449,112,2),(681,450,112,2),(697,466,112,2),(727,496,112,2),(764,533,114,2),(775,544,115,2),(724,493,118,2),(754,523,118,2),(803,572,119,2),(700,469,121,2),(730,499,121,2),(795,564,123,2),(789,558,126,2),(701,470,127,2),(731,500,127,2),(790,559,133,2),(769,538,136,2),(804,573,137,2),(766,535,138,2),(799,568,140,2),(716,485,144,2),(746,515,144,2),(768,537,144,2),(781,550,149,2),(705,474,153,2),(735,504,153,2),(714,483,154,2),(744,513,154,2),(758,527,154,2),(699,468,155,2),(729,498,155,2),(710,479,157,2),(740,509,157,2),(788,557,161,2),(805,574,171,2),(707,476,175,2),(737,506,175,2),(798,567,175,2),(711,480,184,2),(741,510,184,2),(763,532,191,2),(713,482,195,2),(743,512,195,2),(765,534,198,2),(776,545,200,2);
 /*!40000 ALTER TABLE `civicrm_activity_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -107,7 +106,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_address` WRITE;
 /*!40000 ALTER TABLE `civicrm_address` DISABLE KEYS */;
-INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES (1,109,1,1,0,'532Y Second Pl E',532,'Y',NULL,'Second','Pl','E',NULL,NULL,NULL,NULL,'Windsor',1,1006,NULL,'06006',NULL,1228,41.879637,-72.734271,0,NULL,NULL,NULL),(2,69,1,1,0,'9M Cadell Path N',9,'M',NULL,'Cadell','Path','N',NULL,NULL,NULL,NULL,'Charleston',1,1047,NULL,'25365',NULL,1228,38.296818,-81.554655,0,NULL,NULL,NULL),(3,111,1,1,0,'923R College Path SE',923,'R',NULL,'College','Path','SE',NULL,NULL,NULL,NULL,'Mount Hope',1,1034,NULL,'44660',NULL,1228,40.622284,-81.782532,0,NULL,NULL,NULL),(4,26,1,1,0,'198P Van Ness Ln S',198,'P',NULL,'Van Ness','Ln','S',NULL,NULL,NULL,NULL,'Fairfield',1,1034,NULL,'45018',NULL,1228,39.440956,-84.575746,0,NULL,NULL,NULL),(5,84,1,1,0,'125G Lincoln Ave NE',125,'G',NULL,'Lincoln','Ave','NE',NULL,NULL,NULL,NULL,'Irving',1,1042,NULL,'75017',NULL,1228,32.767268,-96.777626,0,NULL,NULL,NULL),(6,122,1,1,0,'353Z Cadell Way S',353,'Z',NULL,'Cadell','Way','S',NULL,NULL,NULL,NULL,'Keswick',1,1045,NULL,'22947',NULL,1228,38.025346,-78.32925,0,NULL,NULL,NULL),(7,146,1,1,0,'591Z Van Ness Rd NW',591,'Z',NULL,'Van Ness','Rd','NW',NULL,NULL,NULL,NULL,'Owls Head',1,1018,NULL,'04842',NULL,1228,44.086989,-69.104234,0,NULL,NULL,NULL),(8,94,1,1,0,'791Y Beech St S',791,'Y',NULL,'Beech','St','S',NULL,NULL,NULL,NULL,'Riverdale',1,1021,NULL,'48877',NULL,1228,43.403224,-84.84062,0,NULL,NULL,NULL),(9,163,1,1,0,'738F Bay Way SE',738,'F',NULL,'Bay','Way','SE',NULL,NULL,NULL,NULL,'Spring Mount',1,1037,NULL,'19743',NULL,1228,40.276386,-75.462796,0,NULL,NULL,NULL),(10,63,1,1,0,'270J Green Dr SW',270,'J',NULL,'Green','Dr','SW',NULL,NULL,NULL,NULL,'Arcadia',1,1048,NULL,'54612',NULL,1228,44.253423,-91.48885,0,NULL,NULL,NULL),(11,165,1,1,0,'861N Dowlen Dr S',861,'N',NULL,'Dowlen','Dr','S',NULL,NULL,NULL,NULL,'Richmond',1,1045,NULL,'23222',NULL,1228,37.573595,-77.42504,0,NULL,NULL,NULL),(12,103,1,1,0,'184D Northpoint Pl NE',184,'D',NULL,'Northpoint','Pl','NE',NULL,NULL,NULL,NULL,'Oakridge',1,1036,NULL,'97463',NULL,1228,43.747181,-122.44717,0,NULL,NULL,NULL),(13,124,1,1,0,'113B Main Ln W',113,'B',NULL,'Main','Ln','W',NULL,NULL,NULL,NULL,'Purcellville',1,1045,NULL,'20134',NULL,1228,39.152187,-77.702576,0,NULL,NULL,NULL),(14,98,1,1,0,'9V Martin Luther King Blvd W',9,'V',NULL,'Martin Luther King','Blvd','W',NULL,NULL,NULL,NULL,'Decker',1,1021,NULL,'48426',NULL,1228,43.50461,-83.06289,0,NULL,NULL,NULL),(15,76,1,1,0,'283B Jackson Ln E',283,'B',NULL,'Jackson','Ln','E',NULL,NULL,NULL,NULL,'Centerville',1,1042,NULL,'75833',NULL,1228,31.27575,-95.90131,0,NULL,NULL,NULL),(16,112,1,1,0,'839B El Camino Ln N',839,'B',NULL,'El Camino','Ln','N',NULL,NULL,NULL,NULL,'Fort Lauderdale',1,1008,NULL,'33315',NULL,1228,26.094385,-80.15422,0,NULL,NULL,NULL),(17,99,1,1,0,'177Z Main Rd NE',177,'Z',NULL,'Main','Rd','NE',NULL,NULL,NULL,NULL,'Deerfield',1,1024,NULL,'64741',NULL,1228,37.825966,-94.55673,0,NULL,NULL,NULL),(18,60,1,1,0,'122A Bay Path NE',122,'A',NULL,'Bay','Path','NE',NULL,NULL,NULL,NULL,'Lake Worth',1,1008,NULL,'33464',NULL,1228,26.645895,-80.430269,0,NULL,NULL,NULL),(19,191,1,1,0,'575F Northpoint Pl E',575,'F',NULL,'Northpoint','Pl','E',NULL,NULL,NULL,NULL,'Lacombe',1,1017,NULL,'70445',NULL,1228,30.327126,-89.93118,0,NULL,NULL,NULL),(20,189,1,1,0,'647S Northpoint Ave N',647,'S',NULL,'Northpoint','Ave','N',NULL,NULL,NULL,NULL,'Ruthven',1,1014,NULL,'51358',NULL,1228,43.133294,-94.90006,0,NULL,NULL,NULL),(21,155,1,1,0,'526B Second Way W',526,'B',NULL,'Second','Way','W',NULL,NULL,NULL,NULL,'Richmond',1,1045,NULL,'23224',NULL,1228,37.505147,-77.46101,0,NULL,NULL,NULL),(22,178,1,1,0,'882Q Lincoln Pl SW',882,'Q',NULL,'Lincoln','Pl','SW',NULL,NULL,NULL,NULL,'South Dennis',1,1020,NULL,'02660',NULL,1228,41.712338,-70.16165,0,NULL,NULL,NULL),(23,56,1,1,0,'974Y College Dr NE',974,'Y',NULL,'College','Dr','NE',NULL,NULL,NULL,NULL,'Modena',1,1043,NULL,'84753',NULL,1228,37.873645,-113.88673,0,NULL,NULL,NULL),(24,119,1,1,0,'602J Caulder Blvd S',602,'J',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Moberly',1,1024,NULL,'65270',NULL,1228,39.420353,-92.4344,0,NULL,NULL,NULL),(25,48,1,1,0,'778Y Dowlen Dr E',778,'Y',NULL,'Dowlen','Dr','E',NULL,NULL,NULL,NULL,'Sheffield',1,1014,NULL,'50475',NULL,1228,42.88516,-93.22082,0,NULL,NULL,NULL),(26,79,1,1,0,'977L Main Dr NW',977,'L',NULL,'Main','Dr','NW',NULL,NULL,NULL,NULL,'Coon Rapids',1,1014,NULL,'50058',NULL,1228,41.87131,-94.6884,0,NULL,NULL,NULL),(27,89,1,1,0,'783Z Northpoint Rd N',783,'Z',NULL,'Northpoint','Rd','N',NULL,NULL,NULL,NULL,'Guilderland',1,1031,NULL,'12084',NULL,1228,42.698231,-73.89906,0,NULL,NULL,NULL),(28,172,1,1,0,'405X Northpoint Blvd NE',405,'X',NULL,'Northpoint','Blvd','NE',NULL,NULL,NULL,NULL,'Baldwin',1,1031,NULL,'11510',NULL,1228,40.654112,-73.6095,0,NULL,NULL,NULL),(29,164,1,1,0,'941L Northpoint Dr W',941,'L',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Easton',1,1037,NULL,'18040',NULL,1228,40.730182,-75.22349,0,NULL,NULL,NULL),(30,67,1,1,0,'613X Dowlen Way N',613,'X',NULL,'Dowlen','Way','N',NULL,NULL,NULL,NULL,'Lilbourn',1,1024,NULL,'63862',NULL,1228,36.588424,-89.63377,0,NULL,NULL,NULL),(31,14,1,1,0,'442D Northpoint Ave W',442,'D',NULL,'Northpoint','Ave','W',NULL,NULL,NULL,NULL,'Salem',1,1036,NULL,'97312',NULL,1228,44.936357,-123.038116,0,NULL,NULL,NULL),(32,176,1,1,0,'741G Dowlen Dr SE',741,'G',NULL,'Dowlen','Dr','SE',NULL,NULL,NULL,NULL,'Fairfield',1,1006,NULL,'06431',NULL,1228,41.219093,-73.252696,0,NULL,NULL,NULL),(33,113,1,1,0,'596O Pine Pl SE',596,'O',NULL,'Pine','Pl','SE',NULL,NULL,NULL,NULL,'Exchange',1,1047,NULL,'26619',NULL,1228,38.788013,-80.73291,0,NULL,NULL,NULL),(34,149,1,1,0,'754A Main St W',754,'A',NULL,'Main','St','W',NULL,NULL,NULL,NULL,'Kansas City',1,1024,NULL,'64105',NULL,1228,39.104204,-94.58868,0,NULL,NULL,NULL),(35,161,1,1,0,'199H Maple Path NE',199,'H',NULL,'Maple','Path','NE',NULL,NULL,NULL,NULL,'Baisden',1,1047,NULL,'25608',NULL,1228,37.55612,-81.92315,0,NULL,NULL,NULL),(36,188,1,1,0,'774Y Bay Ave S',774,'Y',NULL,'Bay','Ave','S',NULL,NULL,NULL,NULL,'University Of Richmond',1,1045,NULL,'23173',NULL,1228,37.524246,-77.493157,0,NULL,NULL,NULL),(37,87,1,1,0,'246C Main Way W',246,'C',NULL,'Main','Way','W',NULL,NULL,NULL,NULL,'Orange',1,1042,NULL,'77631',NULL,1228,30.054793,-93.903108,0,NULL,NULL,NULL),(38,168,1,1,0,'836Q Pine Rd N',836,'Q',NULL,'Pine','Rd','N',NULL,NULL,NULL,NULL,'Campton',1,1016,NULL,'41301',NULL,1228,37.716311,-83.51835,0,NULL,NULL,NULL),(39,25,1,1,0,'604G Main Ln N',604,'G',NULL,'Main','Ln','N',NULL,NULL,NULL,NULL,'Seffner',1,1008,NULL,'33583',NULL,1228,27.871964,-82.438841,0,NULL,NULL,NULL),(40,51,1,1,0,'821V Northpoint Ave E',821,'V',NULL,'Northpoint','Ave','E',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34982',NULL,1228,27.393097,-80.3279,0,NULL,NULL,NULL),(41,96,1,1,0,'944U Green Path NE',944,'U',NULL,'Green','Path','NE',NULL,NULL,NULL,NULL,'Missouri Valley',1,1014,NULL,'51555',NULL,1228,41.557887,-95.90651,0,NULL,NULL,NULL),(42,126,1,1,0,'104L States Blvd NW',104,'L',NULL,'States','Blvd','NW',NULL,NULL,NULL,NULL,'Uniontown',1,1003,NULL,'72955',NULL,1228,35.594579,-94.44989,0,NULL,NULL,NULL),(43,120,1,1,0,'111L El Camino Way N',111,'L',NULL,'El Camino','Way','N',NULL,NULL,NULL,NULL,'Madison',1,1013,NULL,'47250',NULL,1228,38.787175,-85.38031,0,NULL,NULL,NULL),(44,66,1,1,0,'195P Bay Path SW',195,'P',NULL,'Bay','Path','SW',NULL,NULL,NULL,NULL,'Denver',1,1005,NULL,'80235',NULL,1228,39.648328,-105.08431,0,NULL,NULL,NULL),(45,133,1,1,0,'799Y Northpoint Dr SW',799,'Y',NULL,'Northpoint','Dr','SW',NULL,NULL,NULL,NULL,'Belle Haven',1,1045,NULL,'23306',NULL,1228,37.560093,-75.86182,0,NULL,NULL,NULL),(46,185,1,1,0,'214M Pine Pl S',214,'M',NULL,'Pine','Pl','S',NULL,NULL,NULL,NULL,'Seminole',1,1008,NULL,'33776',NULL,1228,27.853151,-82.82712,0,NULL,NULL,NULL),(47,162,1,1,0,'881A Beech Ave N',881,'A',NULL,'Beech','Ave','N',NULL,NULL,NULL,NULL,'New Baden',1,1012,NULL,'62265',NULL,1228,38.520285,-89.6807,0,NULL,NULL,NULL),(48,127,1,1,0,'221P Jackson Rd SE',221,'P',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Farmington',1,1014,NULL,'52626',NULL,1228,40.655336,-91.72385,0,NULL,NULL,NULL),(49,74,1,1,0,'504Z Main Way SE',504,'Z',NULL,'Main','Way','SE',NULL,NULL,NULL,NULL,'Needles',1,1004,NULL,'92363',NULL,1228,34.808718,-114.62664,0,NULL,NULL,NULL),(50,18,1,1,0,'123B Lincoln Blvd E',123,'B',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Colonial Heights',1,1045,NULL,'23834',NULL,1228,37.265403,-77.40438,0,NULL,NULL,NULL),(51,123,1,1,0,'140O Caulder Pl SE',140,'O',NULL,'Caulder','Pl','SE',NULL,NULL,NULL,NULL,'Mongaup Valley',1,1031,NULL,'12762',NULL,1228,41.676676,-74.80674,0,NULL,NULL,NULL),(52,135,1,1,0,'358F Bay Ln E',358,'F',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Asheboro',1,1032,NULL,'27203',NULL,1228,35.686122,-79.82919,0,NULL,NULL,NULL),(53,75,1,1,0,'34R Dowlen Pl SW',34,'R',NULL,'Dowlen','Pl','SW',NULL,NULL,NULL,NULL,'Beverly',1,1034,NULL,'45715',NULL,1228,39.58849,-81.62932,0,NULL,NULL,NULL),(54,177,1,1,0,'485T Van Ness Dr E',485,'T',NULL,'Van Ness','Dr','E',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73165',NULL,1228,35.338689,-97.36747,0,NULL,NULL,NULL),(55,183,1,1,0,'639W Northpoint Pl SW',639,'W',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Plummer',1,1011,NULL,'83851',NULL,1228,47.322203,-116.88379,0,NULL,NULL,NULL),(56,108,1,1,0,'237F Green Pl S',237,'F',NULL,'Green','Pl','S',NULL,NULL,NULL,NULL,'Pennington',1,1022,NULL,'56663',NULL,1228,47.464399,-94.44806,0,NULL,NULL,NULL),(57,5,1,1,0,'936G Pine Rd W',936,'G',NULL,'Pine','Rd','W',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60613',NULL,1228,41.953256,-87.6629,0,NULL,NULL,NULL),(58,16,1,1,0,'397W Woodbridge Ave S',397,'W',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Tacoma',1,1046,NULL,'98447',NULL,1228,47.066193,-122.113223,0,NULL,NULL,NULL),(59,187,1,1,0,'224H College Path S',224,'H',NULL,'College','Path','S',NULL,NULL,NULL,NULL,'Finley',1,1033,NULL,'58230',NULL,1228,47.475797,-97.80427,0,NULL,NULL,NULL),(60,83,1,1,0,'54J Northpoint Ln W',54,'J',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Miltonvale',1,1015,NULL,'67466',NULL,1228,39.342965,-97.47176,0,NULL,NULL,NULL),(61,154,1,1,0,'143V Northpoint St E',143,'V',NULL,'Northpoint','St','E',NULL,NULL,NULL,NULL,'Meldrim',1,1009,NULL,'31318',NULL,1228,32.141974,-81.37892,0,NULL,NULL,NULL),(62,173,1,1,0,'791J Pine Ln NE',791,'J',NULL,'Pine','Ln','NE',NULL,NULL,NULL,NULL,'South Carrollton',1,1016,NULL,'42374',NULL,1228,37.33976,-87.14514,0,NULL,NULL,NULL),(63,13,1,1,0,'809K Green Way E',809,'K',NULL,'Green','Way','E',NULL,NULL,NULL,NULL,'Concord',1,1020,NULL,'01742',NULL,1228,42.457201,-71.37478,0,NULL,NULL,NULL),(64,121,1,1,0,'787F El Camino St NE',787,'F',NULL,'El Camino','St','NE',NULL,NULL,NULL,NULL,'Superior',1,1002,NULL,'85273',NULL,1228,33.28591,-111.11015,0,NULL,NULL,NULL),(65,40,1,1,0,'283Y Dowlen St S',283,'Y',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Pleasant Hill',1,1024,NULL,'64080',NULL,1228,38.776782,-94.26207,0,NULL,NULL,NULL),(66,57,1,1,0,'888C El Camino Path NE',888,'C',NULL,'El Camino','Path','NE',NULL,NULL,NULL,NULL,'Richwood',1,1022,NULL,'56577',NULL,1228,46.933961,-95.678375,0,NULL,NULL,NULL),(67,93,1,1,0,'71U El Camino Rd SW',71,'U',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Chicopee',1,1020,NULL,'01014',NULL,1228,42.170731,-72.604842,0,NULL,NULL,NULL),(68,11,1,1,0,'772I Maple St NE',772,'I',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Rohnert Park',1,1004,NULL,'94928',NULL,1228,38.347174,-122.69537,0,NULL,NULL,NULL),(69,55,3,1,0,'745D Beech Path E',745,'D',NULL,'Beech','Path','E',NULL,'Donor Relations',NULL,NULL,'New York',1,1029,NULL,'10004',NULL,1228,40.699226,-74.04118,0,NULL,NULL,NULL),(70,184,3,1,0,'648O States Path E',648,'O',NULL,'States','Path','E',NULL,'Payables Dept.',NULL,NULL,'Rodman',1,1031,NULL,'13610',NULL,1228,43.818705,-75.480342,0,NULL,NULL,NULL),(71,160,2,1,0,'648O States Path E',648,'O',NULL,'States','Path','E',NULL,'Payables Dept.',NULL,NULL,'Rodman',1,1031,NULL,'13610',NULL,1228,43.818705,-75.480342,0,NULL,NULL,70),(72,39,3,1,0,'531J Maple Path W',531,'J',NULL,'Maple','Path','W',NULL,'Payables Dept.',NULL,NULL,'Munden',1,1015,NULL,'66959',NULL,1228,39.933522,-97.53242,0,NULL,NULL,NULL),(73,200,2,1,0,'531J Maple Path W',531,'J',NULL,'Maple','Path','W',NULL,'Payables Dept.',NULL,NULL,'Munden',1,1015,NULL,'66959',NULL,1228,39.933522,-97.53242,0,NULL,NULL,72),(74,65,3,1,0,'457Z Van Ness Pl SE',457,'Z',NULL,'Van Ness','Pl','SE',NULL,'Community Relations',NULL,NULL,'Johnston',1,1014,NULL,'50131',NULL,1228,41.674757,-93.71865,0,NULL,NULL,NULL),(75,52,2,1,0,'457Z Van Ness Pl SE',457,'Z',NULL,'Van Ness','Pl','SE',NULL,'Community Relations',NULL,NULL,'Johnston',1,1014,NULL,'50131',NULL,1228,41.674757,-93.71865,0,NULL,NULL,74),(76,156,3,1,0,'492P Martin Luther King Ln N',492,'P',NULL,'Martin Luther King','Ln','N',NULL,'Donor Relations',NULL,NULL,'Evansville',1,1013,NULL,'47711',NULL,1228,38.000442,-87.54178,0,NULL,NULL,NULL),(77,10,3,1,0,'818E Bay Ln N',818,'E',NULL,'Bay','Ln','N',NULL,'Disbursements',NULL,NULL,'Cochise',1,1002,NULL,'85606',NULL,1228,32.054694,-109.81342,0,NULL,NULL,NULL),(78,82,3,1,0,'53I Second Way E',53,'I',NULL,'Second','Way','E',NULL,'Churchgate',NULL,NULL,'Cherokee',1,1014,NULL,'51012',NULL,1228,42.754004,-95.54919,0,NULL,NULL,NULL),(79,90,2,1,0,'53I Second Way E',53,'I',NULL,'Second','Way','E',NULL,'Churchgate',NULL,NULL,'Cherokee',1,1014,NULL,'51012',NULL,1228,42.754004,-95.54919,0,NULL,NULL,78),(80,22,3,1,0,'664B Northpoint St NW',664,'B',NULL,'Northpoint','St','NW',NULL,'Urgent',NULL,NULL,'Perry',1,1037,NULL,'15493',NULL,1228,40.091655,-79.718512,0,NULL,NULL,NULL),(81,30,3,1,0,'746M Pine Dr SE',746,'M',NULL,'Pine','Dr','SE',NULL,'Receiving',NULL,NULL,'Collinsville',1,1045,NULL,'24078',NULL,1228,36.720217,-79.91425,0,NULL,NULL,NULL),(82,34,3,1,0,'730L College Ave NE',730,'L',NULL,'College','Ave','NE',NULL,'Mailstop 101',NULL,NULL,'Albuquerque',1,1030,NULL,'87198',NULL,1228,35.044339,-106.672872,0,NULL,NULL,NULL),(83,194,2,1,0,'730L College Ave NE',730,'L',NULL,'College','Ave','NE',NULL,'Mailstop 101',NULL,NULL,'Albuquerque',1,1030,NULL,'87198',NULL,1228,35.044339,-106.672872,0,NULL,NULL,82),(84,4,3,1,0,'968L Green Blvd W',968,'L',NULL,'Green','Blvd','W',NULL,'c/o PO Plus',NULL,NULL,'Bagwell',1,1042,NULL,'75412',NULL,1228,33.815996,-95.14402,0,NULL,NULL,NULL),(85,23,3,1,0,'191F States Path W',191,'F',NULL,'States','Path','W',NULL,'Community Relations',NULL,NULL,'Flora',1,1012,NULL,'62839',NULL,1228,38.667752,-88.48855,0,NULL,NULL,NULL),(86,134,2,1,0,'191F States Path W',191,'F',NULL,'States','Path','W',NULL,'Community Relations',NULL,NULL,'Flora',1,1012,NULL,'62839',NULL,1228,38.667752,-88.48855,0,NULL,NULL,85),(87,29,3,1,0,'215U Bay Blvd SE',215,'U',NULL,'Bay','Blvd','SE',NULL,'c/o PO Plus',NULL,NULL,'Toledo',1,1034,NULL,'43661',NULL,1228,41.678167,-83.497155,0,NULL,NULL,NULL),(88,140,2,1,0,'215U Bay Blvd SE',215,'U',NULL,'Bay','Blvd','SE',NULL,'c/o PO Plus',NULL,NULL,'Toledo',1,1034,NULL,'43661',NULL,1228,41.678167,-83.497155,0,NULL,NULL,87),(89,136,3,1,0,'263P Lincoln St NW',263,'P',NULL,'Lincoln','St','NW',NULL,'Payables Dept.',NULL,NULL,'Wayside',1,1023,NULL,'38780',NULL,1228,33.272695,-90.995399,0,NULL,NULL,NULL),(90,32,2,1,0,'263P Lincoln St NW',263,'P',NULL,'Lincoln','St','NW',NULL,'Payables Dept.',NULL,NULL,'Wayside',1,1023,NULL,'38780',NULL,1228,33.272695,-90.995399,0,NULL,NULL,89),(91,147,3,1,0,'710L Martin Luther King Path NE',710,'L',NULL,'Martin Luther King','Path','NE',NULL,'Payables Dept.',NULL,NULL,'West Millbury',1,1020,NULL,'01586',NULL,1228,42.364807,-71.896868,0,NULL,NULL,NULL),(92,43,3,1,0,'753J Caulder Ln SW',753,'J',NULL,'Caulder','Ln','SW',NULL,'Editorial Dept',NULL,NULL,'Northborough',1,1020,NULL,'01532',NULL,1228,42.321917,-71.64692,0,NULL,NULL,NULL),(93,7,2,1,0,'753J Caulder Ln SW',753,'J',NULL,'Caulder','Ln','SW',NULL,'Editorial Dept',NULL,NULL,'Northborough',1,1020,NULL,'01532',NULL,1228,42.321917,-71.64692,0,NULL,NULL,92),(94,92,3,1,0,'205W Woodbridge Dr W',205,'W',NULL,'Woodbridge','Dr','W',NULL,'c/o OPDC',NULL,NULL,'Walton',1,1013,NULL,'46994',NULL,1228,40.668348,-86.24943,0,NULL,NULL,NULL),(95,19,2,1,0,'205W Woodbridge Dr W',205,'W',NULL,'Woodbridge','Dr','W',NULL,'c/o OPDC',NULL,NULL,'Walton',1,1013,NULL,'46994',NULL,1228,40.668348,-86.24943,0,NULL,NULL,94),(96,85,3,1,0,'425B Woodbridge Blvd NE',425,'B',NULL,'Woodbridge','Blvd','NE',NULL,'Editorial Dept',NULL,NULL,'Sacramento',1,1004,NULL,'95814',NULL,1228,38.580255,-121.49125,0,NULL,NULL,NULL),(97,81,2,1,0,'425B Woodbridge Blvd NE',425,'B',NULL,'Woodbridge','Blvd','NE',NULL,'Editorial Dept',NULL,NULL,'Sacramento',1,1004,NULL,'95814',NULL,1228,38.580255,-121.49125,0,NULL,NULL,96),(98,151,3,1,0,'971Q Jackson Dr W',971,'Q',NULL,'Jackson','Dr','W',NULL,'Attn: Development',NULL,NULL,'Allouez',1,1021,NULL,'49805',NULL,1228,47.322703,-88.40806,0,NULL,NULL,NULL),(99,129,2,1,0,'971Q Jackson Dr W',971,'Q',NULL,'Jackson','Dr','W',NULL,'Attn: Development',NULL,NULL,'Allouez',1,1021,NULL,'49805',NULL,1228,47.322703,-88.40806,0,NULL,NULL,98),(100,197,3,1,0,'282J Caulder Blvd SE',282,'J',NULL,'Caulder','Blvd','SE',NULL,'Donor Relations',NULL,NULL,'Gloversville',1,1031,NULL,'12078',NULL,1228,43.069562,-74.3436,0,NULL,NULL,NULL),(101,36,1,1,0,'504Z Main Way SE',504,'Z',NULL,'Main','Way','SE',NULL,NULL,NULL,NULL,'Needles',1,1004,NULL,'92363',NULL,1228,34.808718,-114.62664,0,NULL,NULL,49),(102,62,1,1,0,'504Z Main Way SE',504,'Z',NULL,'Main','Way','SE',NULL,NULL,NULL,NULL,'Needles',1,1004,NULL,'92363',NULL,1228,34.808718,-114.62664,0,NULL,NULL,49),(103,73,1,1,0,'504Z Main Way SE',504,'Z',NULL,'Main','Way','SE',NULL,NULL,NULL,NULL,'Needles',1,1004,NULL,'92363',NULL,1228,34.808718,-114.62664,0,NULL,NULL,49),(104,70,1,1,0,'46T Maple Ave SW',46,'T',NULL,'Maple','Ave','SW',NULL,NULL,NULL,NULL,'Beaverdam',1,1045,NULL,'23015',NULL,1228,37.931011,-77.64296,0,NULL,NULL,NULL),(105,116,1,1,0,'123B Lincoln Blvd E',123,'B',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Colonial Heights',1,1045,NULL,'23834',NULL,1228,37.265403,-77.40438,0,NULL,NULL,50),(106,139,1,1,0,'123B Lincoln Blvd E',123,'B',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Colonial Heights',1,1045,NULL,'23834',NULL,1228,37.265403,-77.40438,0,NULL,NULL,50),(107,131,1,1,0,'123B Lincoln Blvd E',123,'B',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Colonial Heights',1,1045,NULL,'23834',NULL,1228,37.265403,-77.40438,0,NULL,NULL,50),(108,78,1,1,0,'517F States St NE',517,'F',NULL,'States','St','NE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48503',NULL,1228,43.011227,-83.69291,0,NULL,NULL,NULL),(109,7,1,0,0,'140O Caulder Pl SE',140,'O',NULL,'Caulder','Pl','SE',NULL,NULL,NULL,NULL,'Mongaup Valley',1,1031,NULL,'12762',NULL,1228,41.676676,-74.80674,0,NULL,NULL,51),(110,167,1,1,0,'140O Caulder Pl SE',140,'O',NULL,'Caulder','Pl','SE',NULL,NULL,NULL,NULL,'Mongaup Valley',1,1031,NULL,'12762',NULL,1228,41.676676,-74.80674,0,NULL,NULL,51),(111,71,1,1,0,'140O Caulder Pl SE',140,'O',NULL,'Caulder','Pl','SE',NULL,NULL,NULL,NULL,'Mongaup Valley',1,1031,NULL,'12762',NULL,1228,41.676676,-74.80674,0,NULL,NULL,51),(112,95,1,1,0,'763V Cadell Dr S',763,'V',NULL,'Cadell','Dr','S',NULL,NULL,NULL,NULL,'Harrisburg',1,1037,NULL,'17106',NULL,1228,40.292664,-76.850061,0,NULL,NULL,NULL),(113,12,1,1,0,'358F Bay Ln E',358,'F',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Asheboro',1,1032,NULL,'27203',NULL,1228,35.686122,-79.82919,0,NULL,NULL,52),(114,31,1,1,0,'358F Bay Ln E',358,'F',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Asheboro',1,1032,NULL,'27203',NULL,1228,35.686122,-79.82919,0,NULL,NULL,52),(115,35,1,1,0,'358F Bay Ln E',358,'F',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Asheboro',1,1032,NULL,'27203',NULL,1228,35.686122,-79.82919,0,NULL,NULL,52),(116,38,1,1,0,'358F Bay Ln E',358,'F',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Asheboro',1,1032,NULL,'27203',NULL,1228,35.686122,-79.82919,0,NULL,NULL,52),(117,142,1,1,0,'34R Dowlen Pl SW',34,'R',NULL,'Dowlen','Pl','SW',NULL,NULL,NULL,NULL,'Beverly',1,1034,NULL,'45715',NULL,1228,39.58849,-81.62932,0,NULL,NULL,53),(118,19,1,0,0,'34R Dowlen Pl SW',34,'R',NULL,'Dowlen','Pl','SW',NULL,NULL,NULL,NULL,'Beverly',1,1034,NULL,'45715',NULL,1228,39.58849,-81.62932,0,NULL,NULL,53),(119,115,1,1,0,'34R Dowlen Pl SW',34,'R',NULL,'Dowlen','Pl','SW',NULL,NULL,NULL,NULL,'Beverly',1,1034,NULL,'45715',NULL,1228,39.58849,-81.62932,0,NULL,NULL,53),(120,86,1,1,0,'978X Main Ave E',978,'X',NULL,'Main','Ave','E',NULL,NULL,NULL,NULL,'Mullin',1,1042,NULL,'76864',NULL,1228,31.561427,-98.73632,0,NULL,NULL,NULL),(121,190,1,1,0,'485T Van Ness Dr E',485,'T',NULL,'Van Ness','Dr','E',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73165',NULL,1228,35.338689,-97.36747,0,NULL,NULL,54),(122,58,1,1,0,'485T Van Ness Dr E',485,'T',NULL,'Van Ness','Dr','E',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73165',NULL,1228,35.338689,-97.36747,0,NULL,NULL,54),(123,140,1,0,0,'485T Van Ness Dr E',485,'T',NULL,'Van Ness','Dr','E',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73165',NULL,1228,35.338689,-97.36747,0,NULL,NULL,54),(124,46,1,1,0,'618T Caulder Ave SE',618,'T',NULL,'Caulder','Ave','SE',NULL,NULL,NULL,NULL,'Port Gibson',1,1031,NULL,'14537',NULL,1228,43.033002,-77.157465,0,NULL,NULL,NULL),(125,6,1,1,0,'639W Northpoint Pl SW',639,'W',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Plummer',1,1011,NULL,'83851',NULL,1228,47.322203,-116.88379,0,NULL,NULL,55),(126,15,1,1,0,'639W Northpoint Pl SW',639,'W',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Plummer',1,1011,NULL,'83851',NULL,1228,47.322203,-116.88379,0,NULL,NULL,55),(127,106,1,1,0,'639W Northpoint Pl SW',639,'W',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Plummer',1,1011,NULL,'83851',NULL,1228,47.322203,-116.88379,0,NULL,NULL,55),(128,134,1,0,0,'639W Northpoint Pl SW',639,'W',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Plummer',1,1011,NULL,'83851',NULL,1228,47.322203,-116.88379,0,NULL,NULL,55),(129,102,1,1,0,'237F Green Pl S',237,'F',NULL,'Green','Pl','S',NULL,NULL,NULL,NULL,'Pennington',1,1022,NULL,'56663',NULL,1228,47.464399,-94.44806,0,NULL,NULL,56),(130,64,1,1,0,'237F Green Pl S',237,'F',NULL,'Green','Pl','S',NULL,NULL,NULL,NULL,'Pennington',1,1022,NULL,'56663',NULL,1228,47.464399,-94.44806,0,NULL,NULL,56),(131,175,1,1,0,'237F Green Pl S',237,'F',NULL,'Green','Pl','S',NULL,NULL,NULL,NULL,'Pennington',1,1022,NULL,'56663',NULL,1228,47.464399,-94.44806,0,NULL,NULL,56),(132,186,1,1,0,'291Y Van Ness Rd E',291,'Y',NULL,'Van Ness','Rd','E',NULL,NULL,NULL,NULL,'Mission Ridge',1,1040,NULL,'57557',NULL,1228,44.475844,-100.529517,0,NULL,NULL,NULL),(133,44,1,1,0,'936G Pine Rd W',936,'G',NULL,'Pine','Rd','W',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60613',NULL,1228,41.953256,-87.6629,0,NULL,NULL,57),(134,153,1,1,0,'936G Pine Rd W',936,'G',NULL,'Pine','Rd','W',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60613',NULL,1228,41.953256,-87.6629,0,NULL,NULL,57),(135,90,1,0,0,'936G Pine Rd W',936,'G',NULL,'Pine','Rd','W',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60613',NULL,1228,41.953256,-87.6629,0,NULL,NULL,57),(136,200,1,0,0,'936G Pine Rd W',936,'G',NULL,'Pine','Rd','W',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60613',NULL,1228,41.953256,-87.6629,0,NULL,NULL,57),(137,196,1,1,0,'397W Woodbridge Ave S',397,'W',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Tacoma',1,1046,NULL,'98447',NULL,1228,47.066193,-122.113223,0,NULL,NULL,58),(138,166,1,1,0,'397W Woodbridge Ave S',397,'W',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Tacoma',1,1046,NULL,'98447',NULL,1228,47.066193,-122.113223,0,NULL,NULL,58),(139,45,1,1,0,'397W Woodbridge Ave S',397,'W',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Tacoma',1,1046,NULL,'98447',NULL,1228,47.066193,-122.113223,0,NULL,NULL,58),(140,137,1,1,0,'397W Woodbridge Ave S',397,'W',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Tacoma',1,1046,NULL,'98447',NULL,1228,47.066193,-122.113223,0,NULL,NULL,58),(141,114,1,1,0,'224H College Path S',224,'H',NULL,'College','Path','S',NULL,NULL,NULL,NULL,'Finley',1,1033,NULL,'58230',NULL,1228,47.475797,-97.80427,0,NULL,NULL,59),(142,144,1,1,0,'224H College Path S',224,'H',NULL,'College','Path','S',NULL,NULL,NULL,NULL,'Finley',1,1033,NULL,'58230',NULL,1228,47.475797,-97.80427,0,NULL,NULL,59),(143,129,1,0,0,'224H College Path S',224,'H',NULL,'College','Path','S',NULL,NULL,NULL,NULL,'Finley',1,1033,NULL,'58230',NULL,1228,47.475797,-97.80427,0,NULL,NULL,59),(144,42,1,1,0,'224H College Path S',224,'H',NULL,'College','Path','S',NULL,NULL,NULL,NULL,'Finley',1,1033,NULL,'58230',NULL,1228,47.475797,-97.80427,0,NULL,NULL,59),(145,110,1,1,0,'54J Northpoint Ln W',54,'J',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Miltonvale',1,1015,NULL,'67466',NULL,1228,39.342965,-97.47176,0,NULL,NULL,60),(146,37,1,1,0,'54J Northpoint Ln W',54,'J',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Miltonvale',1,1015,NULL,'67466',NULL,1228,39.342965,-97.47176,0,NULL,NULL,60),(147,132,1,1,0,'54J Northpoint Ln W',54,'J',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Miltonvale',1,1015,NULL,'67466',NULL,1228,39.342965,-97.47176,0,NULL,NULL,60),(148,105,1,1,0,'54J Northpoint Ln W',54,'J',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Miltonvale',1,1015,NULL,'67466',NULL,1228,39.342965,-97.47176,0,NULL,NULL,60),(149,2,1,1,0,'143V Northpoint St E',143,'V',NULL,'Northpoint','St','E',NULL,NULL,NULL,NULL,'Meldrim',1,1009,NULL,'31318',NULL,1228,32.141974,-81.37892,0,NULL,NULL,61),(150,169,1,1,0,'143V Northpoint St E',143,'V',NULL,'Northpoint','St','E',NULL,NULL,NULL,NULL,'Meldrim',1,1009,NULL,'31318',NULL,1228,32.141974,-81.37892,0,NULL,NULL,61),(151,54,1,1,0,'143V Northpoint St E',143,'V',NULL,'Northpoint','St','E',NULL,NULL,NULL,NULL,'Meldrim',1,1009,NULL,'31318',NULL,1228,32.141974,-81.37892,0,NULL,NULL,61),(152,118,1,1,0,'143V Northpoint St E',143,'V',NULL,'Northpoint','St','E',NULL,NULL,NULL,NULL,'Meldrim',1,1009,NULL,'31318',NULL,1228,32.141974,-81.37892,0,NULL,NULL,61),(153,100,1,1,0,'791J Pine Ln NE',791,'J',NULL,'Pine','Ln','NE',NULL,NULL,NULL,NULL,'South Carrollton',1,1016,NULL,'42374',NULL,1228,37.33976,-87.14514,0,NULL,NULL,62),(154,159,1,1,0,'791J Pine Ln NE',791,'J',NULL,'Pine','Ln','NE',NULL,NULL,NULL,NULL,'South Carrollton',1,1016,NULL,'42374',NULL,1228,37.33976,-87.14514,0,NULL,NULL,62),(155,141,1,1,0,'791J Pine Ln NE',791,'J',NULL,'Pine','Ln','NE',NULL,NULL,NULL,NULL,'South Carrollton',1,1016,NULL,'42374',NULL,1228,37.33976,-87.14514,0,NULL,NULL,62),(156,32,1,0,0,'791J Pine Ln NE',791,'J',NULL,'Pine','Ln','NE',NULL,NULL,NULL,NULL,'South Carrollton',1,1016,NULL,'42374',NULL,1228,37.33976,-87.14514,0,NULL,NULL,62),(157,41,1,1,0,'809K Green Way E',809,'K',NULL,'Green','Way','E',NULL,NULL,NULL,NULL,'Concord',1,1020,NULL,'01742',NULL,1228,42.457201,-71.37478,0,NULL,NULL,63),(158,130,1,1,0,'809K Green Way E',809,'K',NULL,'Green','Way','E',NULL,NULL,NULL,NULL,'Concord',1,1020,NULL,'01742',NULL,1228,42.457201,-71.37478,0,NULL,NULL,63),(159,157,1,1,0,'809K Green Way E',809,'K',NULL,'Green','Way','E',NULL,NULL,NULL,NULL,'Concord',1,1020,NULL,'01742',NULL,1228,42.457201,-71.37478,0,NULL,NULL,63),(160,53,1,1,0,'332L Northpoint Blvd W',332,'L',NULL,'Northpoint','Blvd','W',NULL,NULL,NULL,NULL,'Bluff City',1,1015,NULL,'67018',NULL,1228,37.076529,-97.87011,0,NULL,NULL,NULL),(161,194,1,0,0,'787F El Camino St NE',787,'F',NULL,'El Camino','St','NE',NULL,NULL,NULL,NULL,'Superior',1,1002,NULL,'85273',NULL,1228,33.28591,-111.11015,0,NULL,NULL,64),(162,180,1,1,0,'787F El Camino St NE',787,'F',NULL,'El Camino','St','NE',NULL,NULL,NULL,NULL,'Superior',1,1002,NULL,'85273',NULL,1228,33.28591,-111.11015,0,NULL,NULL,64),(163,81,1,0,0,'787F El Camino St NE',787,'F',NULL,'El Camino','St','NE',NULL,NULL,NULL,NULL,'Superior',1,1002,NULL,'85273',NULL,1228,33.28591,-111.11015,0,NULL,NULL,64),(164,198,1,1,0,'546I Lincoln Rd E',546,'I',NULL,'Lincoln','Rd','E',NULL,NULL,NULL,NULL,'Fort Lauderdale',1,1008,NULL,'33305',NULL,1228,26.153728,-80.12606,0,NULL,NULL,NULL),(165,195,1,1,0,'283Y Dowlen St S',283,'Y',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Pleasant Hill',1,1024,NULL,'64080',NULL,1228,38.776782,-94.26207,0,NULL,NULL,65),(166,193,1,1,0,'283Y Dowlen St S',283,'Y',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Pleasant Hill',1,1024,NULL,'64080',NULL,1228,38.776782,-94.26207,0,NULL,NULL,65),(167,128,1,1,0,'283Y Dowlen St S',283,'Y',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Pleasant Hill',1,1024,NULL,'64080',NULL,1228,38.776782,-94.26207,0,NULL,NULL,65),(168,182,1,1,0,'283Y Dowlen St S',283,'Y',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Pleasant Hill',1,1024,NULL,'64080',NULL,1228,38.776782,-94.26207,0,NULL,NULL,65),(169,160,1,0,0,'888C El Camino Path NE',888,'C',NULL,'El Camino','Path','NE',NULL,NULL,NULL,NULL,'Richwood',1,1022,NULL,'56577',NULL,1228,46.933961,-95.678375,0,NULL,NULL,66),(170,24,1,1,0,'888C El Camino Path NE',888,'C',NULL,'El Camino','Path','NE',NULL,NULL,NULL,NULL,'Richwood',1,1022,NULL,'56577',NULL,1228,46.933961,-95.678375,0,NULL,NULL,66),(171,77,1,1,0,'888C El Camino Path NE',888,'C',NULL,'El Camino','Path','NE',NULL,NULL,NULL,NULL,'Richwood',1,1022,NULL,'56577',NULL,1228,46.933961,-95.678375,0,NULL,NULL,66),(172,117,1,1,0,'888C El Camino Path NE',888,'C',NULL,'El Camino','Path','NE',NULL,NULL,NULL,NULL,'Richwood',1,1022,NULL,'56577',NULL,1228,46.933961,-95.678375,0,NULL,NULL,66),(173,104,1,1,0,'71U El Camino Rd SW',71,'U',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Chicopee',1,1020,NULL,'01014',NULL,1228,42.170731,-72.604842,0,NULL,NULL,67),(174,27,1,1,0,'71U El Camino Rd SW',71,'U',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Chicopee',1,1020,NULL,'01014',NULL,1228,42.170731,-72.604842,0,NULL,NULL,67),(175,9,1,1,0,'71U El Camino Rd SW',71,'U',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Chicopee',1,1020,NULL,'01014',NULL,1228,42.170731,-72.604842,0,NULL,NULL,67),(176,138,1,1,0,'71C Lincoln St SE',71,'C',NULL,'Lincoln','St','SE',NULL,NULL,NULL,NULL,'Vass',1,1032,NULL,'28894',NULL,1228,35.267373,-79.280088,0,NULL,NULL,NULL),(177,152,1,1,0,'772I Maple St NE',772,'I',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Rohnert Park',1,1004,NULL,'94928',NULL,1228,38.347174,-122.69537,0,NULL,NULL,68),(178,97,1,1,0,'772I Maple St NE',772,'I',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Rohnert Park',1,1004,NULL,'94928',NULL,1228,38.347174,-122.69537,0,NULL,NULL,68),(179,125,1,1,0,'772I Maple St NE',772,'I',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Rohnert Park',1,1004,NULL,'94928',NULL,1228,38.347174,-122.69537,0,NULL,NULL,68),(180,21,1,1,0,'772I Maple St NE',772,'I',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Rohnert Park',1,1004,NULL,'94928',NULL,1228,38.347174,-122.69537,0,NULL,NULL,68),(181,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),(182,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),(183,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
+INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES (1,78,1,1,0,'325I Cadell St N',325,'I',NULL,'Cadell','St','N',NULL,NULL,NULL,NULL,'Lompoc',1,1004,NULL,'93438',NULL,1228,34.262834,-119.848555,0,NULL,NULL,NULL),(2,57,1,1,0,'695Q Pine Path E',695,'Q',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Soper',1,1035,NULL,'74759',NULL,1228,34.038263,-95.70851,0,NULL,NULL,NULL),(3,181,1,1,0,'483T Pine St SE',483,'T',NULL,'Pine','St','SE',NULL,NULL,NULL,NULL,'Eureka',1,1024,NULL,'63025',NULL,1228,38.494203,-90.61304,0,NULL,NULL,NULL),(4,53,1,1,0,'681L Main Blvd NW',681,'L',NULL,'Main','Blvd','NW',NULL,NULL,NULL,NULL,'Foster',1,1016,NULL,'41043',NULL,1228,38.765448,-84.16998,0,NULL,NULL,NULL),(5,173,1,1,0,'11T Cadell Ln E',11,'T',NULL,'Cadell','Ln','E',NULL,NULL,NULL,NULL,'Lomax',1,1012,NULL,'61454',NULL,1228,40.685436,-91.05207,0,NULL,NULL,NULL),(6,133,1,1,0,'309R Dowlen Blvd E',309,'R',NULL,'Dowlen','Blvd','E',NULL,NULL,NULL,NULL,'Miami',1,1008,NULL,'33163',NULL,1228,25.94497,-80.21452,0,NULL,NULL,NULL),(7,46,1,1,0,'574V Dowlen Dr W',574,'V',NULL,'Dowlen','Dr','W',NULL,NULL,NULL,NULL,'Neilton',1,1046,NULL,'98566',NULL,1228,47.387674,-123.890317,0,NULL,NULL,NULL),(8,73,1,1,0,'968X Main Dr SW',968,'X',NULL,'Main','Dr','SW',NULL,NULL,NULL,NULL,'Great Neck',1,1031,NULL,'11027',NULL,1228,40.754757,-73.601772,0,NULL,NULL,NULL),(9,15,1,1,0,'486I Green Blvd W',486,'I',NULL,'Green','Blvd','W',NULL,NULL,NULL,NULL,'Petrified Forest Natl Pk',1,1002,NULL,'86028',NULL,1228,35.237487,-109.52295,0,NULL,NULL,NULL),(10,155,1,1,0,'657Y Van Ness Pl S',657,'Y',NULL,'Van Ness','Pl','S',NULL,NULL,NULL,NULL,'Bradfordsville',1,1016,NULL,'40009',NULL,1228,37.477192,-85.10175,0,NULL,NULL,NULL),(11,159,1,1,0,'877H Jackson St N',877,'H',NULL,'Jackson','St','N',NULL,NULL,NULL,NULL,'Pittsview',1,1000,NULL,'36871',NULL,1228,32.16827,-85.11621,0,NULL,NULL,NULL),(12,28,1,1,0,'187K Caulder Dr NE',187,'K',NULL,'Caulder','Dr','NE',NULL,NULL,NULL,NULL,'Lampasas',1,1042,NULL,'76550',NULL,1228,31.06639,-98.19192,0,NULL,NULL,NULL),(13,197,1,1,0,'301C Bay Ave W',301,'C',NULL,'Bay','Ave','W',NULL,NULL,NULL,NULL,'Angela',1,1025,NULL,'59312',NULL,1228,46.017965,-106.99199,0,NULL,NULL,NULL),(14,170,1,1,0,'962B Dowlen Pl W',962,'B',NULL,'Dowlen','Pl','W',NULL,NULL,NULL,NULL,'Huntington',1,1047,NULL,'25721',NULL,1228,38.413384,-82.277401,0,NULL,NULL,NULL),(15,198,1,1,0,'536A College Way N',536,'A',NULL,'College','Way','N',NULL,NULL,NULL,NULL,'Vine Grove',1,1016,NULL,'40175',NULL,1228,37.826822,-86.00692,0,NULL,NULL,NULL),(16,143,1,1,0,'363U Bay Pl SE',363,'U',NULL,'Bay','Pl','SE',NULL,NULL,NULL,NULL,'Elberon',1,1045,NULL,'23846',NULL,1228,37.064244,-76.82637,0,NULL,NULL,NULL),(17,63,1,1,0,'496T El Camino Ln W',496,'T',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Gillsville',1,1009,NULL,'30543',NULL,1228,34.299459,-83.65226,0,NULL,NULL,NULL),(18,101,1,1,0,'820P Dowlen Ave E',820,'P',NULL,'Dowlen','Ave','E',NULL,NULL,NULL,NULL,'Beals',1,1018,NULL,'04611',NULL,1228,44.507801,-67.6025,0,NULL,NULL,NULL),(19,87,1,1,0,'617S Lincoln Ave NW',617,'S',NULL,'Lincoln','Ave','NW',NULL,NULL,NULL,NULL,'Richmond',1,1045,NULL,'23220',NULL,1228,37.549396,-77.45739,0,NULL,NULL,NULL),(20,54,1,1,0,'512V Green St S',512,'V',NULL,'Green','St','S',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73147',NULL,1228,35.551409,-97.407537,0,NULL,NULL,NULL),(21,31,1,1,0,'78M Van Ness Pl S',78,'M',NULL,'Van Ness','Pl','S',NULL,NULL,NULL,NULL,'Norristown',1,1037,NULL,'19403',NULL,1228,40.146069,-75.38378,0,NULL,NULL,NULL),(22,114,1,1,0,'277X Second Path NW',277,'X',NULL,'Second','Path','NW',NULL,NULL,NULL,NULL,'Saluda',1,1045,NULL,'23149',NULL,1228,37.5787,-76.60916,0,NULL,NULL,NULL),(23,185,1,1,0,'628B Martin Luther King Pl SW',628,'B',NULL,'Martin Luther King','Pl','SW',NULL,NULL,NULL,NULL,'Gracemont',1,1035,NULL,'73042',NULL,1228,35.218293,-98.2484,0,NULL,NULL,NULL),(24,183,1,1,0,'721L Main Path N',721,'L',NULL,'Main','Path','N',NULL,NULL,NULL,NULL,'Sioux Rapids',1,1014,NULL,'50585',NULL,1228,42.907223,-95.14315,0,NULL,NULL,NULL),(25,187,1,1,0,'943D Cadell Way W',943,'D',NULL,'Cadell','Way','W',NULL,NULL,NULL,NULL,'Catawba',1,1034,NULL,'43010',NULL,1228,40.000364,-83.62142,0,NULL,NULL,NULL),(26,178,1,1,0,'618I Bay Pl SW',618,'I',NULL,'Bay','Pl','SW',NULL,NULL,NULL,NULL,'Silver',1,1042,NULL,'76949',NULL,1228,32.047723,-100.69452,0,NULL,NULL,NULL),(27,10,1,1,0,'163Z Beech Path NW',163,'Z',NULL,'Beech','Path','NW',NULL,NULL,NULL,NULL,'Oceanside',1,1031,NULL,'11572',NULL,1228,40.636286,-73.6374,0,NULL,NULL,NULL),(28,189,1,1,0,'617U Green Rd N',617,'U',NULL,'Green','Rd','N',NULL,NULL,NULL,NULL,'Dallas',1,1037,NULL,'18612',NULL,1228,41.345579,-75.97596,0,NULL,NULL,NULL),(29,184,1,1,0,'913P Maple Pl N',913,'P',NULL,'Maple','Pl','N',NULL,NULL,NULL,NULL,'Freeport',1,1008,NULL,'32439',NULL,1228,30.482838,-86.1675,0,NULL,NULL,NULL),(30,41,1,1,0,'647Z Pine Way SW',647,'Z',NULL,'Pine','Way','SW',NULL,NULL,NULL,NULL,'Tatums',1,1035,NULL,'73487',NULL,1228,34.481151,-97.46209,0,NULL,NULL,NULL),(31,93,1,1,0,'798V Jackson Blvd W',798,'V',NULL,'Jackson','Blvd','W',NULL,NULL,NULL,NULL,'New Hyde Park',1,1031,NULL,'11043',NULL,1228,40.754757,-73.601772,0,NULL,NULL,NULL),(32,139,1,1,0,'755P Main Ln S',755,'P',NULL,'Main','Ln','S',NULL,NULL,NULL,NULL,'Kildare',1,1042,NULL,'75562',NULL,1228,32.941359,-94.25152,0,NULL,NULL,NULL),(33,13,1,1,0,'748R Maple Pl E',748,'R',NULL,'Maple','Pl','E',NULL,NULL,NULL,NULL,'Fort Defiance',1,1002,NULL,'86504',NULL,1228,35.771067,-109.17878,0,NULL,NULL,NULL),(34,55,1,1,0,'260U Maple Ave E',260,'U',NULL,'Maple','Ave','E',NULL,NULL,NULL,NULL,'Edinburg',1,1045,NULL,'22824',NULL,1228,38.828628,-78.60964,0,NULL,NULL,NULL),(35,32,1,1,0,'274W Main Rd SW',274,'W',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Lees Summit',1,1024,NULL,'64063',NULL,1228,38.913857,-94.36397,0,NULL,NULL,NULL),(36,149,1,1,0,'728I Bay Rd S',728,'I',NULL,'Bay','Rd','S',NULL,NULL,NULL,NULL,'Punxsutawney',1,1037,NULL,'15767',NULL,1228,40.954059,-78.97017,0,NULL,NULL,NULL),(37,127,1,1,0,'854T Van Ness St E',854,'T',NULL,'Van Ness','St','E',NULL,NULL,NULL,NULL,'McKeesport',1,1037,NULL,'15132',NULL,1228,40.341919,-79.84791,0,NULL,NULL,NULL),(38,65,1,1,0,'394M Bay St NW',394,'M',NULL,'Bay','St','NW',NULL,NULL,NULL,NULL,'Ludlow',1,1012,NULL,'60949',NULL,1228,40.375602,-88.11524,0,NULL,NULL,NULL),(39,35,1,1,0,'569N Caulder Ave N',569,'N',NULL,'Caulder','Ave','N',NULL,NULL,NULL,NULL,'Keota',1,1014,NULL,'52248',NULL,1228,41.341027,-91.94174,0,NULL,NULL,NULL),(40,77,1,1,0,'426K Main St W',426,'K',NULL,'Main','St','W',NULL,NULL,NULL,NULL,'Mount Alto',1,1047,NULL,'25264',NULL,1228,38.853643,-81.8985,0,NULL,NULL,NULL),(41,192,1,1,0,'790O Second Rd NE',790,'O',NULL,'Second','Rd','NE',NULL,NULL,NULL,NULL,'Gold Camp',1,1002,NULL,'85218',NULL,1228,33.349996,-111.418233,0,NULL,NULL,NULL),(42,86,1,1,0,'60J Green Ln NE',60,'J',NULL,'Green','Ln','NE',NULL,NULL,NULL,NULL,'West Rutland',1,1044,NULL,'05777',NULL,1228,43.574326,-73.04215,0,NULL,NULL,NULL),(43,89,1,1,0,'548O Bay Blvd NW',548,'O',NULL,'Bay','Blvd','NW',NULL,NULL,NULL,NULL,'Wynnewood',1,1035,NULL,'73098',NULL,1228,34.634693,-97.16322,0,NULL,NULL,NULL),(44,95,1,1,0,'754E Jackson Way E',754,'E',NULL,'Jackson','Way','E',NULL,NULL,NULL,NULL,'Opheim',1,1025,NULL,'59250',NULL,1228,48.860359,-106.47675,0,NULL,NULL,NULL),(45,43,1,1,0,'619G Northpoint Way SE',619,'G',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Sandy',1,1036,NULL,'97055',NULL,1228,45.375143,-122.21021,0,NULL,NULL,NULL),(46,24,1,1,0,'229H Martin Luther King Pl W',229,'H',NULL,'Martin Luther King','Pl','W',NULL,NULL,NULL,NULL,'Lorena',1,1042,NULL,'76655',NULL,1228,31.393062,-97.16178,0,NULL,NULL,NULL),(47,121,1,1,0,'88L Dowlen Pl N',88,'L',NULL,'Dowlen','Pl','N',NULL,NULL,NULL,NULL,'Sandston',1,1045,NULL,'23150',NULL,1228,37.517804,-77.28678,0,NULL,NULL,NULL),(48,112,1,1,0,'251L Maple Ln S',251,'L',NULL,'Maple','Ln','S',NULL,NULL,NULL,NULL,'Kinney',1,1022,NULL,'55758',NULL,1228,47.511214,-92.74026,0,NULL,NULL,NULL),(49,188,1,1,0,'287P Cadell Pl E',287,'P',NULL,'Cadell','Pl','E',NULL,NULL,NULL,NULL,'Jackson',1,1023,NULL,'39203',NULL,1228,32.308695,-90.19915,0,NULL,NULL,NULL),(50,66,1,1,0,'602L Woodbridge Dr SE',602,'L',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'Chesapeake City',1,1019,NULL,'21915',NULL,1228,39.523096,-75.84155,0,NULL,NULL,NULL),(51,50,1,1,0,'772G Beech St NE',772,'G',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Rising City',1,1026,NULL,'68658',NULL,1228,41.192785,-97.29532,0,NULL,NULL,NULL),(52,193,1,1,0,'82T Green Dr SW',82,'T',NULL,'Green','Dr','SW',NULL,NULL,NULL,NULL,'Fort Collins',1,1005,NULL,'80528',NULL,1228,40.502779,-105.01123,0,NULL,NULL,NULL),(53,124,1,1,0,'795S Maple Way E',795,'S',NULL,'Maple','Way','E',NULL,NULL,NULL,NULL,'Hematite',1,1024,NULL,'63047',NULL,1228,38.194104,-90.472495,0,NULL,NULL,NULL),(54,119,1,1,0,'803K Martin Luther King Way N',803,'K',NULL,'Martin Luther King','Way','N',NULL,NULL,NULL,NULL,'Ocala',1,1008,NULL,'34471',NULL,1228,29.171187,-82.10394,0,NULL,NULL,NULL),(55,90,1,1,0,'741A Van Ness Ln N',741,'A',NULL,'Van Ness','Ln','N',NULL,NULL,NULL,NULL,'Moreno Valley',1,1004,NULL,'92551',NULL,1228,33.889035,-117.22046,0,NULL,NULL,NULL),(56,180,1,1,0,'890F Green Rd SW',890,'F',NULL,'Green','Rd','SW',NULL,NULL,NULL,NULL,'Martin',1,1021,NULL,'49070',NULL,1228,42.540492,-85.63686,0,NULL,NULL,NULL),(57,69,1,1,0,'202L Bay Pl E',202,'L',NULL,'Bay','Pl','E',NULL,NULL,NULL,NULL,'Story',1,1003,NULL,'71970',NULL,1228,34.669401,-93.4857,0,NULL,NULL,NULL),(58,200,1,1,0,'604C Northpoint Ln SE',604,'C',NULL,'Northpoint','Ln','SE',NULL,NULL,NULL,NULL,'Paint Rock',1,1042,NULL,'76866',NULL,1228,31.472654,-99.92215,0,NULL,NULL,NULL),(59,40,1,1,0,'242N Woodbridge Pl N',242,'N',NULL,'Woodbridge','Pl','N',NULL,NULL,NULL,NULL,'Livingston',1,1025,NULL,'59047',NULL,1228,45.674463,-110.53834,0,NULL,NULL,NULL),(60,105,1,1,0,'218B Northpoint Ln NE',218,'B',NULL,'Northpoint','Ln','NE',NULL,NULL,NULL,NULL,'Pawling',1,1031,NULL,'12564',NULL,1228,41.570328,-73.59825,0,NULL,NULL,NULL),(61,85,1,1,0,'906Y Cadell St E',906,'Y',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Robbins',1,1012,NULL,'60472',NULL,1228,41.642933,-87.70814,0,NULL,NULL,NULL),(62,172,1,1,0,'934F Jackson St NW',934,'F',NULL,'Jackson','St','NW',NULL,NULL,NULL,NULL,'Dora',1,1000,NULL,'35062',NULL,1228,33.731278,-87.0361,0,NULL,NULL,NULL),(63,42,1,1,0,'823I Pine Pl E',823,'I',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Gueydan',1,1017,NULL,'70542',NULL,1228,30.005408,-92.54417,0,NULL,NULL,NULL),(64,37,1,1,0,'973N El Camino Rd S',973,'N',NULL,'El Camino','Rd','S',NULL,NULL,NULL,NULL,'Horse Shoe',1,1032,NULL,'28742',NULL,1228,35.362016,-82.60353,0,NULL,NULL,NULL),(65,44,1,1,0,'523I Maple Dr E',523,'I',NULL,'Maple','Dr','E',NULL,NULL,NULL,NULL,'Hagan',1,1009,NULL,'30429',NULL,1228,32.159458,-81.93724,0,NULL,NULL,NULL),(66,9,1,1,0,'759V Jackson Pl NW',759,'V',NULL,'Jackson','Pl','NW',NULL,NULL,NULL,NULL,'Sherwood',1,1034,NULL,'43556',NULL,1228,41.298409,-84.55885,0,NULL,NULL,NULL),(67,194,1,1,0,'590U Woodbridge Way SE',590,'U',NULL,'Woodbridge','Way','SE',NULL,NULL,NULL,NULL,'Pennville',1,1013,NULL,'47369',NULL,1228,40.495879,-85.14637,0,NULL,NULL,NULL),(68,72,1,1,0,'856V Caulder Pl W',856,'V',NULL,'Caulder','Pl','W',NULL,NULL,NULL,NULL,'Cumberland',1,1019,NULL,'21504',NULL,1228,39.580691,-78.690593,0,NULL,NULL,NULL),(69,4,1,1,0,'393O Woodbridge Ave W',393,'O',NULL,'Woodbridge','Ave','W',NULL,NULL,NULL,NULL,'Conroe',1,1042,NULL,'77303',NULL,1228,30.368543,-95.40217,0,NULL,NULL,NULL),(70,138,1,1,0,'842M Second Dr S',842,'M',NULL,'Second','Dr','S',NULL,NULL,NULL,NULL,'Gladstone',1,1021,NULL,'49837',NULL,1228,45.847136,-87.04529,0,NULL,NULL,NULL),(71,196,1,1,0,'81C Woodbridge Pl NW',81,'C',NULL,'Woodbridge','Pl','NW',NULL,NULL,NULL,NULL,'Bettsville',1,1034,NULL,'44815',NULL,1228,41.244095,-83.23348,0,NULL,NULL,NULL),(72,132,1,1,0,'992H College Dr SE',992,'H',NULL,'College','Dr','SE',NULL,NULL,NULL,NULL,'Luxora',1,1003,NULL,'72358',NULL,1228,35.777085,-89.89214,0,NULL,NULL,NULL),(73,162,3,1,0,'940D Woodbridge Rd E',940,'D',NULL,'Woodbridge','Rd','E',NULL,'Payables Dept.',NULL,NULL,'Montgomery',1,1042,NULL,'77356',NULL,1228,30.412229,-95.6529,0,NULL,NULL,NULL),(74,137,2,1,0,'940D Woodbridge Rd E',940,'D',NULL,'Woodbridge','Rd','E',NULL,'Payables Dept.',NULL,NULL,'Montgomery',1,1042,NULL,'77356',NULL,1228,30.412229,-95.6529,0,NULL,NULL,73),(75,22,3,1,0,'70O Northpoint Way SW',70,'O',NULL,'Northpoint','Way','SW',NULL,'c/o OPDC',NULL,NULL,'Newtonia',1,1024,NULL,'64853',NULL,1228,36.828416,-94.152072,0,NULL,NULL,NULL),(76,82,3,1,0,'507D Main Rd E',507,'D',NULL,'Main','Rd','E',NULL,'Donor Relations',NULL,NULL,'Eagle River',1,1001,NULL,'99577',NULL,1228,61.310222,-149.51689,0,NULL,NULL,NULL),(77,123,3,1,0,'182J El Camino Dr SW',182,'J',NULL,'El Camino','Dr','SW',NULL,'Attn: Development',NULL,NULL,'Lubbock',1,1042,NULL,'79491',NULL,1228,33.610018,-101.821292,0,NULL,NULL,NULL),(78,112,2,0,0,'182J El Camino Dr SW',182,'J',NULL,'El Camino','Dr','SW',NULL,'Attn: Development',NULL,NULL,'Lubbock',1,1042,NULL,'79491',NULL,1228,33.610018,-101.821292,0,NULL,NULL,77),(79,135,3,1,0,'585U Northpoint Path SW',585,'U',NULL,'Northpoint','Path','SW',NULL,'Subscriptions Dept',NULL,NULL,'Bartlett',1,1028,NULL,'03812',NULL,1228,44.081906,-71.29729,0,NULL,NULL,NULL),(80,83,3,1,0,'3O Maple Blvd N',3,'O',NULL,'Maple','Blvd','N',NULL,'c/o OPDC',NULL,NULL,'Arlington',1,1042,NULL,'76014',NULL,1228,32.694666,-97.08748,0,NULL,NULL,NULL),(81,158,2,1,0,'3O Maple Blvd N',3,'O',NULL,'Maple','Blvd','N',NULL,'c/o OPDC',NULL,NULL,'Arlington',1,1042,NULL,'76014',NULL,1228,32.694666,-97.08748,0,NULL,NULL,80),(82,146,3,1,0,'275Z Main Way NW',275,'Z',NULL,'Main','Way','NW',NULL,'Churchgate',NULL,NULL,'Hobbs',1,1030,NULL,'88240',NULL,1228,32.70778,-103.16616,0,NULL,NULL,NULL),(83,14,2,1,0,'275Z Main Way NW',275,'Z',NULL,'Main','Way','NW',NULL,'Churchgate',NULL,NULL,'Hobbs',1,1030,NULL,'88240',NULL,1228,32.70778,-103.16616,0,NULL,NULL,82),(84,19,3,1,0,'385W Cadell Path S',385,'W',NULL,'Cadell','Path','S',NULL,'Community Relations',NULL,NULL,'Sawmill',1,1002,NULL,'86549',NULL,1228,35.958014,-109.17551,0,NULL,NULL,NULL),(85,25,3,1,0,'310Z Dowlen Rd SE',310,'Z',NULL,'Dowlen','Rd','SE',NULL,'Disbursements',NULL,NULL,'Kelayres',1,1037,NULL,'18231',NULL,1228,40.900995,-76.00488,0,NULL,NULL,NULL),(86,163,2,1,0,'310Z Dowlen Rd SE',310,'Z',NULL,'Dowlen','Rd','SE',NULL,'Disbursements',NULL,NULL,'Kelayres',1,1037,NULL,'18231',NULL,1228,40.900995,-76.00488,0,NULL,NULL,85),(87,29,3,1,0,'412N Northpoint Blvd SE',412,'N',NULL,'Northpoint','Blvd','SE',NULL,'c/o OPDC',NULL,NULL,'Fresno',1,1004,NULL,'93792',NULL,1228,36.746375,-119.639658,0,NULL,NULL,NULL),(88,46,2,0,0,'412N Northpoint Blvd SE',412,'N',NULL,'Northpoint','Blvd','SE',NULL,'c/o OPDC',NULL,NULL,'Fresno',1,1004,NULL,'93792',NULL,1228,36.746375,-119.639658,0,NULL,NULL,87),(89,59,3,1,0,'414K Bay Rd S',414,'K',NULL,'Bay','Rd','S',NULL,'Attn: Development',NULL,NULL,'Mahanoy City',1,1037,NULL,'17948',NULL,1228,40.813869,-76.13737,0,NULL,NULL,NULL),(90,30,2,1,0,'414K Bay Rd S',414,'K',NULL,'Bay','Rd','S',NULL,'Attn: Development',NULL,NULL,'Mahanoy City',1,1037,NULL,'17948',NULL,1228,40.813869,-76.13737,0,NULL,NULL,89),(91,3,3,1,0,'260S Cadell St NW',260,'S',NULL,'Cadell','St','NW',NULL,'Attn: Development',NULL,NULL,'Mission Ridge',1,1040,NULL,'57557',NULL,1228,44.475844,-100.529517,0,NULL,NULL,NULL),(92,49,2,1,0,'260S Cadell St NW',260,'S',NULL,'Cadell','St','NW',NULL,'Attn: Development',NULL,NULL,'Mission Ridge',1,1040,NULL,'57557',NULL,1228,44.475844,-100.529517,0,NULL,NULL,91),(93,164,3,1,0,'784B Bay Way N',784,'B',NULL,'Bay','Way','N',NULL,'Editorial Dept',NULL,NULL,'Harrisburg',1,1037,NULL,'17113',NULL,1228,40.23299,-76.82579,0,NULL,NULL,NULL),(94,51,2,1,0,'784B Bay Way N',784,'B',NULL,'Bay','Way','N',NULL,'Editorial Dept',NULL,NULL,'Harrisburg',1,1037,NULL,'17113',NULL,1228,40.23299,-76.82579,0,NULL,NULL,93),(95,126,3,1,0,'132X Northpoint Ln N',132,'X',NULL,'Northpoint','Ln','N',NULL,'Community Relations',NULL,NULL,'Greenville',1,1012,NULL,'62246',NULL,1228,38.889355,-89.40987,0,NULL,NULL,NULL),(96,80,2,1,0,'132X Northpoint Ln N',132,'X',NULL,'Northpoint','Ln','N',NULL,'Community Relations',NULL,NULL,'Greenville',1,1012,NULL,'62246',NULL,1228,38.889355,-89.40987,0,NULL,NULL,95),(97,156,3,1,0,'942R States Way W',942,'R',NULL,'States','Way','W',NULL,'Payables Dept.',NULL,NULL,'Black Canyon City',1,1002,NULL,'85324',NULL,1228,34.10865,-112.10088,0,NULL,NULL,NULL),(98,60,3,1,0,'587A Northpoint Ave SW',587,'A',NULL,'Northpoint','Ave','SW',NULL,'Churchgate',NULL,NULL,'Wichita Falls',1,1042,NULL,'76306',NULL,1228,33.942496,-98.51923,0,NULL,NULL,NULL),(99,68,2,1,0,'587A Northpoint Ave SW',587,'A',NULL,'Northpoint','Ave','SW',NULL,'Churchgate',NULL,NULL,'Wichita Falls',1,1042,NULL,'76306',NULL,1228,33.942496,-98.51923,0,NULL,NULL,98),(100,169,3,1,0,'314D Maple St E',314,'D',NULL,'Maple','St','E',NULL,'c/o PO Plus',NULL,NULL,'Conway',1,1046,NULL,'98238',NULL,1228,48.337796,-122.34517,0,NULL,NULL,NULL),(101,107,2,1,0,'314D Maple St E',314,'D',NULL,'Maple','St','E',NULL,'c/o PO Plus',NULL,NULL,'Conway',1,1046,NULL,'98238',NULL,1228,48.337796,-122.34517,0,NULL,NULL,100),(102,177,3,1,0,'804O El Camino Path SE',804,'O',NULL,'El Camino','Path','SE',NULL,'Disbursements',NULL,NULL,'Myrtle Point',1,1036,NULL,'97458',NULL,1228,43.075356,-124.05682,0,NULL,NULL,NULL),(103,157,2,1,0,'804O El Camino Path SE',804,'O',NULL,'El Camino','Path','SE',NULL,'Disbursements',NULL,NULL,'Myrtle Point',1,1036,NULL,'97458',NULL,1228,43.075356,-124.05682,0,NULL,NULL,102),(104,142,3,1,0,'553V Jackson Way W',553,'V',NULL,'Jackson','Way','W',NULL,'Mailstop 101',NULL,NULL,'Lexington',1,1016,NULL,'40580',NULL,1228,38.028269,-84.471505,0,NULL,NULL,NULL),(105,118,2,1,0,'553V Jackson Way W',553,'V',NULL,'Jackson','Way','W',NULL,'Mailstop 101',NULL,NULL,'Lexington',1,1016,NULL,'40580',NULL,1228,38.028269,-84.471505,0,NULL,NULL,104),(106,199,3,1,0,'861X Main St NE',861,'X',NULL,'Main','St','NE',NULL,'Donor Relations',NULL,NULL,'Portales',1,1030,NULL,'88130',NULL,1228,34.166231,-103.34255,0,NULL,NULL,NULL),(107,98,2,1,0,'861X Main St NE',861,'X',NULL,'Main','St','NE',NULL,'Donor Relations',NULL,NULL,'Portales',1,1030,NULL,'88130',NULL,1228,34.166231,-103.34255,0,NULL,NULL,106),(108,161,1,1,0,'795S Maple Way E',795,'S',NULL,'Maple','Way','E',NULL,NULL,NULL,NULL,'Hematite',1,1024,NULL,'63047',NULL,1228,38.194104,-90.472495,0,NULL,NULL,53),(109,167,1,1,0,'795S Maple Way E',795,'S',NULL,'Maple','Way','E',NULL,NULL,NULL,NULL,'Hematite',1,1024,NULL,'63047',NULL,1228,38.194104,-90.472495,0,NULL,NULL,53),(110,58,1,1,0,'795S Maple Way E',795,'S',NULL,'Maple','Way','E',NULL,NULL,NULL,NULL,'Hematite',1,1024,NULL,'63047',NULL,1228,38.194104,-90.472495,0,NULL,NULL,53),(111,140,1,1,0,'795S Maple Way E',795,'S',NULL,'Maple','Way','E',NULL,NULL,NULL,NULL,'Hematite',1,1024,NULL,'63047',NULL,1228,38.194104,-90.472495,0,NULL,NULL,53),(112,62,1,1,0,'803K Martin Luther King Way N',803,'K',NULL,'Martin Luther King','Way','N',NULL,NULL,NULL,NULL,'Ocala',1,1008,NULL,'34471',NULL,1228,29.171187,-82.10394,0,NULL,NULL,54),(113,23,1,1,0,'803K Martin Luther King Way N',803,'K',NULL,'Martin Luther King','Way','N',NULL,NULL,NULL,NULL,'Ocala',1,1008,NULL,'34471',NULL,1228,29.171187,-82.10394,0,NULL,NULL,54),(114,129,1,1,0,'803K Martin Luther King Way N',803,'K',NULL,'Martin Luther King','Way','N',NULL,NULL,NULL,NULL,'Ocala',1,1008,NULL,'34471',NULL,1228,29.171187,-82.10394,0,NULL,NULL,54),(115,100,1,1,0,'803K Martin Luther King Way N',803,'K',NULL,'Martin Luther King','Way','N',NULL,NULL,NULL,NULL,'Ocala',1,1008,NULL,'34471',NULL,1228,29.171187,-82.10394,0,NULL,NULL,54),(116,148,1,1,0,'741A Van Ness Ln N',741,'A',NULL,'Van Ness','Ln','N',NULL,NULL,NULL,NULL,'Moreno Valley',1,1004,NULL,'92551',NULL,1228,33.889035,-117.22046,0,NULL,NULL,55),(117,76,1,1,0,'741A Van Ness Ln N',741,'A',NULL,'Van Ness','Ln','N',NULL,NULL,NULL,NULL,'Moreno Valley',1,1004,NULL,'92551',NULL,1228,33.889035,-117.22046,0,NULL,NULL,55),(118,80,1,0,0,'741A Van Ness Ln N',741,'A',NULL,'Van Ness','Ln','N',NULL,NULL,NULL,NULL,'Moreno Valley',1,1004,NULL,'92551',NULL,1228,33.889035,-117.22046,0,NULL,NULL,55),(119,141,1,1,0,'16N Caulder Ave E',16,'N',NULL,'Caulder','Ave','E',NULL,NULL,NULL,NULL,'Meadow Bridge',1,1047,NULL,'25976',NULL,1228,37.854735,-80.84199,0,NULL,NULL,NULL),(120,48,1,1,0,'890F Green Rd SW',890,'F',NULL,'Green','Rd','SW',NULL,NULL,NULL,NULL,'Martin',1,1021,NULL,'49070',NULL,1228,42.540492,-85.63686,0,NULL,NULL,56),(121,145,1,1,0,'890F Green Rd SW',890,'F',NULL,'Green','Rd','SW',NULL,NULL,NULL,NULL,'Martin',1,1021,NULL,'49070',NULL,1228,42.540492,-85.63686,0,NULL,NULL,56),(122,160,1,1,0,'890F Green Rd SW',890,'F',NULL,'Green','Rd','SW',NULL,NULL,NULL,NULL,'Martin',1,1021,NULL,'49070',NULL,1228,42.540492,-85.63686,0,NULL,NULL,56),(123,99,1,1,0,'294I Van Ness Pl N',294,'I',NULL,'Van Ness','Pl','N',NULL,NULL,NULL,NULL,'Lady Lake',1,1008,NULL,'32158',NULL,1228,28.811078,-81.653642,0,NULL,NULL,NULL),(124,175,1,1,0,'202L Bay Pl E',202,'L',NULL,'Bay','Pl','E',NULL,NULL,NULL,NULL,'Story',1,1003,NULL,'71970',NULL,1228,34.669401,-93.4857,0,NULL,NULL,57),(125,186,1,1,0,'202L Bay Pl E',202,'L',NULL,'Bay','Pl','E',NULL,NULL,NULL,NULL,'Story',1,1003,NULL,'71970',NULL,1228,34.669401,-93.4857,0,NULL,NULL,57),(126,75,1,1,0,'202L Bay Pl E',202,'L',NULL,'Bay','Pl','E',NULL,NULL,NULL,NULL,'Story',1,1003,NULL,'71970',NULL,1228,34.669401,-93.4857,0,NULL,NULL,57),(127,18,1,1,0,'202L Bay Pl E',202,'L',NULL,'Bay','Pl','E',NULL,NULL,NULL,NULL,'Story',1,1003,NULL,'71970',NULL,1228,34.669401,-93.4857,0,NULL,NULL,57),(128,144,1,1,0,'604C Northpoint Ln SE',604,'C',NULL,'Northpoint','Ln','SE',NULL,NULL,NULL,NULL,'Paint Rock',1,1042,NULL,'76866',NULL,1228,31.472654,-99.92215,0,NULL,NULL,58),(129,97,1,1,0,'604C Northpoint Ln SE',604,'C',NULL,'Northpoint','Ln','SE',NULL,NULL,NULL,NULL,'Paint Rock',1,1042,NULL,'76866',NULL,1228,31.472654,-99.92215,0,NULL,NULL,58),(130,109,1,1,0,'604C Northpoint Ln SE',604,'C',NULL,'Northpoint','Ln','SE',NULL,NULL,NULL,NULL,'Paint Rock',1,1042,NULL,'76866',NULL,1228,31.472654,-99.92215,0,NULL,NULL,58),(131,45,1,1,0,'604C Northpoint Ln SE',604,'C',NULL,'Northpoint','Ln','SE',NULL,NULL,NULL,NULL,'Paint Rock',1,1042,NULL,'76866',NULL,1228,31.472654,-99.92215,0,NULL,NULL,58),(132,7,1,1,0,'242N Woodbridge Pl N',242,'N',NULL,'Woodbridge','Pl','N',NULL,NULL,NULL,NULL,'Livingston',1,1025,NULL,'59047',NULL,1228,45.674463,-110.53834,0,NULL,NULL,59),(133,163,1,0,0,'242N Woodbridge Pl N',242,'N',NULL,'Woodbridge','Pl','N',NULL,NULL,NULL,NULL,'Livingston',1,1025,NULL,'59047',NULL,1228,45.674463,-110.53834,0,NULL,NULL,59),(134,122,1,1,0,'242N Woodbridge Pl N',242,'N',NULL,'Woodbridge','Pl','N',NULL,NULL,NULL,NULL,'Livingston',1,1025,NULL,'59047',NULL,1228,45.674463,-110.53834,0,NULL,NULL,59),(135,158,1,0,0,'242N Woodbridge Pl N',242,'N',NULL,'Woodbridge','Pl','N',NULL,NULL,NULL,NULL,'Livingston',1,1025,NULL,'59047',NULL,1228,45.674463,-110.53834,0,NULL,NULL,59),(136,98,1,0,0,'218B Northpoint Ln NE',218,'B',NULL,'Northpoint','Ln','NE',NULL,NULL,NULL,NULL,'Pawling',1,1031,NULL,'12564',NULL,1228,41.570328,-73.59825,0,NULL,NULL,60),(137,5,1,1,0,'218B Northpoint Ln NE',218,'B',NULL,'Northpoint','Ln','NE',NULL,NULL,NULL,NULL,'Pawling',1,1031,NULL,'12564',NULL,1228,41.570328,-73.59825,0,NULL,NULL,60),(138,27,1,1,0,'218B Northpoint Ln NE',218,'B',NULL,'Northpoint','Ln','NE',NULL,NULL,NULL,NULL,'Pawling',1,1031,NULL,'12564',NULL,1228,41.570328,-73.59825,0,NULL,NULL,60),(139,96,1,1,0,'768K Woodbridge Blvd N',768,'K',NULL,'Woodbridge','Blvd','N',NULL,NULL,NULL,NULL,'Holmes',1,1031,NULL,'12531',NULL,1228,41.519085,-73.67241,0,NULL,NULL,NULL),(140,92,1,1,0,'906Y Cadell St E',906,'Y',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Robbins',1,1012,NULL,'60472',NULL,1228,41.642933,-87.70814,0,NULL,NULL,61),(141,108,1,1,0,'906Y Cadell St E',906,'Y',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Robbins',1,1012,NULL,'60472',NULL,1228,41.642933,-87.70814,0,NULL,NULL,61),(142,154,1,1,0,'906Y Cadell St E',906,'Y',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Robbins',1,1012,NULL,'60472',NULL,1228,41.642933,-87.70814,0,NULL,NULL,61),(143,6,1,1,0,'906Y Cadell St E',906,'Y',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Robbins',1,1012,NULL,'60472',NULL,1228,41.642933,-87.70814,0,NULL,NULL,61),(144,111,1,1,0,'934F Jackson St NW',934,'F',NULL,'Jackson','St','NW',NULL,NULL,NULL,NULL,'Dora',1,1000,NULL,'35062',NULL,1228,33.731278,-87.0361,0,NULL,NULL,62),(145,137,1,0,0,'934F Jackson St NW',934,'F',NULL,'Jackson','St','NW',NULL,NULL,NULL,NULL,'Dora',1,1000,NULL,'35062',NULL,1228,33.731278,-87.0361,0,NULL,NULL,62),(146,2,1,1,0,'934F Jackson St NW',934,'F',NULL,'Jackson','St','NW',NULL,NULL,NULL,NULL,'Dora',1,1000,NULL,'35062',NULL,1228,33.731278,-87.0361,0,NULL,NULL,62),(147,36,1,1,0,'934F Jackson St NW',934,'F',NULL,'Jackson','St','NW',NULL,NULL,NULL,NULL,'Dora',1,1000,NULL,'35062',NULL,1228,33.731278,-87.0361,0,NULL,NULL,62),(148,182,1,1,0,'823I Pine Pl E',823,'I',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Gueydan',1,1017,NULL,'70542',NULL,1228,30.005408,-92.54417,0,NULL,NULL,63),(149,16,1,1,0,'823I Pine Pl E',823,'I',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Gueydan',1,1017,NULL,'70542',NULL,1228,30.005408,-92.54417,0,NULL,NULL,63),(150,21,1,1,0,'823I Pine Pl E',823,'I',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Gueydan',1,1017,NULL,'70542',NULL,1228,30.005408,-92.54417,0,NULL,NULL,63),(151,150,1,1,0,'823I Pine Pl E',823,'I',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Gueydan',1,1017,NULL,'70542',NULL,1228,30.005408,-92.54417,0,NULL,NULL,63),(152,179,1,1,0,'973N El Camino Rd S',973,'N',NULL,'El Camino','Rd','S',NULL,NULL,NULL,NULL,'Horse Shoe',1,1032,NULL,'28742',NULL,1228,35.362016,-82.60353,0,NULL,NULL,64),(153,81,1,1,0,'973N El Camino Rd S',973,'N',NULL,'El Camino','Rd','S',NULL,NULL,NULL,NULL,'Horse Shoe',1,1032,NULL,'28742',NULL,1228,35.362016,-82.60353,0,NULL,NULL,64),(154,12,1,1,0,'973N El Camino Rd S',973,'N',NULL,'El Camino','Rd','S',NULL,NULL,NULL,NULL,'Horse Shoe',1,1032,NULL,'28742',NULL,1228,35.362016,-82.60353,0,NULL,NULL,64),(155,74,1,1,0,'973N El Camino Rd S',973,'N',NULL,'El Camino','Rd','S',NULL,NULL,NULL,NULL,'Horse Shoe',1,1032,NULL,'28742',NULL,1228,35.362016,-82.60353,0,NULL,NULL,64),(156,79,1,1,0,'523I Maple Dr E',523,'I',NULL,'Maple','Dr','E',NULL,NULL,NULL,NULL,'Hagan',1,1009,NULL,'30429',NULL,1228,32.159458,-81.93724,0,NULL,NULL,65),(157,153,1,1,0,'523I Maple Dr E',523,'I',NULL,'Maple','Dr','E',NULL,NULL,NULL,NULL,'Hagan',1,1009,NULL,'30429',NULL,1228,32.159458,-81.93724,0,NULL,NULL,65),(158,116,1,1,0,'523I Maple Dr E',523,'I',NULL,'Maple','Dr','E',NULL,NULL,NULL,NULL,'Hagan',1,1009,NULL,'30429',NULL,1228,32.159458,-81.93724,0,NULL,NULL,65),(159,128,1,1,0,'523I Maple Dr E',523,'I',NULL,'Maple','Dr','E',NULL,NULL,NULL,NULL,'Hagan',1,1009,NULL,'30429',NULL,1228,32.159458,-81.93724,0,NULL,NULL,65),(160,104,1,1,0,'759V Jackson Pl NW',759,'V',NULL,'Jackson','Pl','NW',NULL,NULL,NULL,NULL,'Sherwood',1,1034,NULL,'43556',NULL,1228,41.298409,-84.55885,0,NULL,NULL,66),(161,118,1,0,0,'759V Jackson Pl NW',759,'V',NULL,'Jackson','Pl','NW',NULL,NULL,NULL,NULL,'Sherwood',1,1034,NULL,'43556',NULL,1228,41.298409,-84.55885,0,NULL,NULL,66),(162,117,1,1,0,'759V Jackson Pl NW',759,'V',NULL,'Jackson','Pl','NW',NULL,NULL,NULL,NULL,'Sherwood',1,1034,NULL,'43556',NULL,1228,41.298409,-84.55885,0,NULL,NULL,66),(163,157,1,0,0,'759V Jackson Pl NW',759,'V',NULL,'Jackson','Pl','NW',NULL,NULL,NULL,NULL,'Sherwood',1,1034,NULL,'43556',NULL,1228,41.298409,-84.55885,0,NULL,NULL,66),(164,107,1,0,0,'590U Woodbridge Way SE',590,'U',NULL,'Woodbridge','Way','SE',NULL,NULL,NULL,NULL,'Pennville',1,1013,NULL,'47369',NULL,1228,40.495879,-85.14637,0,NULL,NULL,67),(165,165,1,1,0,'590U Woodbridge Way SE',590,'U',NULL,'Woodbridge','Way','SE',NULL,NULL,NULL,NULL,'Pennville',1,1013,NULL,'47369',NULL,1228,40.495879,-85.14637,0,NULL,NULL,67),(166,84,1,1,0,'590U Woodbridge Way SE',590,'U',NULL,'Woodbridge','Way','SE',NULL,NULL,NULL,NULL,'Pennville',1,1013,NULL,'47369',NULL,1228,40.495879,-85.14637,0,NULL,NULL,67),(167,34,1,1,0,'590U Woodbridge Way SE',590,'U',NULL,'Woodbridge','Way','SE',NULL,NULL,NULL,NULL,'Pennville',1,1013,NULL,'47369',NULL,1228,40.495879,-85.14637,0,NULL,NULL,67),(168,125,1,1,0,'856V Caulder Pl W',856,'V',NULL,'Caulder','Pl','W',NULL,NULL,NULL,NULL,'Cumberland',1,1019,NULL,'21504',NULL,1228,39.580691,-78.690593,0,NULL,NULL,68),(169,39,1,1,0,'856V Caulder Pl W',856,'V',NULL,'Caulder','Pl','W',NULL,NULL,NULL,NULL,'Cumberland',1,1019,NULL,'21504',NULL,1228,39.580691,-78.690593,0,NULL,NULL,68),(170,151,1,1,0,'856V Caulder Pl W',856,'V',NULL,'Caulder','Pl','W',NULL,NULL,NULL,NULL,'Cumberland',1,1019,NULL,'21504',NULL,1228,39.580691,-78.690593,0,NULL,NULL,68),(171,174,1,1,0,'72Q Beech Ave E',72,'Q',NULL,'Beech','Ave','E',NULL,NULL,NULL,NULL,'Faith',1,1032,NULL,'28041',NULL,1228,35.58167,-80.45806,0,NULL,NULL,NULL),(172,30,1,0,0,'393O Woodbridge Ave W',393,'O',NULL,'Woodbridge','Ave','W',NULL,NULL,NULL,NULL,'Conroe',1,1042,NULL,'77303',NULL,1228,30.368543,-95.40217,0,NULL,NULL,69),(173,190,1,1,0,'393O Woodbridge Ave W',393,'O',NULL,'Woodbridge','Ave','W',NULL,NULL,NULL,NULL,'Conroe',1,1042,NULL,'77303',NULL,1228,30.368543,-95.40217,0,NULL,NULL,69),(174,38,1,1,0,'393O Woodbridge Ave W',393,'O',NULL,'Woodbridge','Ave','W',NULL,NULL,NULL,NULL,'Conroe',1,1042,NULL,'77303',NULL,1228,30.368543,-95.40217,0,NULL,NULL,69),(175,61,1,1,0,'641A Van Ness Path W',641,'A',NULL,'Van Ness','Path','W',NULL,NULL,NULL,NULL,'Birmingham',1,1000,NULL,'35234',NULL,1228,33.538504,-86.80602,0,NULL,NULL,NULL),(176,201,1,1,0,'842M Second Dr S',842,'M',NULL,'Second','Dr','S',NULL,NULL,NULL,NULL,'Gladstone',1,1021,NULL,'49837',NULL,1228,45.847136,-87.04529,0,NULL,NULL,70),(177,47,1,1,0,'842M Second Dr S',842,'M',NULL,'Second','Dr','S',NULL,NULL,NULL,NULL,'Gladstone',1,1021,NULL,'49837',NULL,1228,45.847136,-87.04529,0,NULL,NULL,70),(178,14,1,0,0,'842M Second Dr S',842,'M',NULL,'Second','Dr','S',NULL,NULL,NULL,NULL,'Gladstone',1,1021,NULL,'49837',NULL,1228,45.847136,-87.04529,0,NULL,NULL,70),(179,147,1,1,0,'820Z Van Ness Ave E',820,'Z',NULL,'Van Ness','Ave','E',NULL,NULL,NULL,NULL,'Naples',1,1008,NULL,'34108',NULL,1228,26.252711,-81.80825,0,NULL,NULL,NULL),(180,56,1,1,0,'81C Woodbridge Pl NW',81,'C',NULL,'Woodbridge','Pl','NW',NULL,NULL,NULL,NULL,'Bettsville',1,1034,NULL,'44815',NULL,1228,41.244095,-83.23348,0,NULL,NULL,71),(181,52,1,1,0,'81C Woodbridge Pl NW',81,'C',NULL,'Woodbridge','Pl','NW',NULL,NULL,NULL,NULL,'Bettsville',1,1034,NULL,'44815',NULL,1228,41.244095,-83.23348,0,NULL,NULL,71),(182,168,1,1,0,'81C Woodbridge Pl NW',81,'C',NULL,'Woodbridge','Pl','NW',NULL,NULL,NULL,NULL,'Bettsville',1,1034,NULL,'44815',NULL,1228,41.244095,-83.23348,0,NULL,NULL,71),(183,70,1,1,0,'81C Woodbridge Pl NW',81,'C',NULL,'Woodbridge','Pl','NW',NULL,NULL,NULL,NULL,'Bettsville',1,1034,NULL,'44815',NULL,1228,41.244095,-83.23348,0,NULL,NULL,71),(184,68,1,0,0,'992H College Dr SE',992,'H',NULL,'College','Dr','SE',NULL,NULL,NULL,NULL,'Luxora',1,1003,NULL,'72358',NULL,1228,35.777085,-89.89214,0,NULL,NULL,72),(185,110,1,1,0,'992H College Dr SE',992,'H',NULL,'College','Dr','SE',NULL,NULL,NULL,NULL,'Luxora',1,1003,NULL,'72358',NULL,1228,35.777085,-89.89214,0,NULL,NULL,72),(186,33,1,1,0,'992H College Dr SE',992,'H',NULL,'College','Dr','SE',NULL,NULL,NULL,NULL,'Luxora',1,1003,NULL,'72358',NULL,1228,35.777085,-89.89214,0,NULL,NULL,72),(187,171,1,1,0,'181M Caulder Blvd S',181,'M',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Mahnomen',1,1022,NULL,'56557',NULL,1228,47.330624,-95.87672,0,NULL,NULL,NULL),(188,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),(189,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),(190,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_address` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -208,7 +207,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2017-11-01 23:21:35'),(2,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts-Dimitrov, Laree','Laree Roberts-Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3384943898',NULL,'Sample Data','Laree','R','Roberts-Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Roberts-Dimitrov',NULL,NULL,'1989-07-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:45'),(3,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Damaris','Damaris Wilson',NULL,NULL,NULL,NULL,NULL,'Both','226365314',NULL,'Sample Data','Damaris','P','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Wilson',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:35'),(4,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Texas Technology Alliance','Texas Technology Alliance',NULL,NULL,NULL,NULL,NULL,'Both','3209329557',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Technology Alliance',NULL,NULL,NULL,0,NULL,NULL,66,'Texas Technology Alliance',NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:42'),(5,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:41'),(6,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Heidi','Ms. Heidi Nielsen',NULL,NULL,NULL,'2',NULL,'Both','4011366793',NULL,'Sample Data','Heidi','D','Nielsen',2,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Ms. Heidi Nielsen',NULL,1,'1986-12-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:44'),(7,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wattson-González, Heidi','Mrs. Heidi Wattson-González',NULL,NULL,NULL,NULL,NULL,'Both','3164311521',NULL,'Sample Data','Heidi','G','Wattson-González',1,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Mrs. Heidi Wattson-González',NULL,1,NULL,0,NULL,NULL,NULL,'Northborough Software Systems',NULL,NULL,43,0,'2017-11-01 23:27:32','2017-11-01 23:27:43'),(8,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Omar','Dr. Omar Grant',NULL,NULL,NULL,NULL,NULL,'Both','2919380',NULL,'Sample Data','Omar','V','Grant',4,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Dr. Omar Grant',NULL,2,'1979-10-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:36'),(9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest-Patel, Jerome','Dr. Jerome Deforest-Patel III',NULL,NULL,NULL,NULL,NULL,'Both','2420312985',NULL,'Sample Data','Jerome','E','Deforest-Patel',4,4,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Deforest-Patel III',NULL,2,'1980-11-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:32','2017-11-01 23:27:45'),(10,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Creative Culture Center','Creative Culture Center',NULL,NULL,NULL,NULL,NULL,'Both','1881020926',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Creative Culture Center',NULL,NULL,NULL,0,NULL,NULL,33,'Creative Culture Center',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(11,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,'1',NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(12,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Herminia','Herminia Barkley',NULL,NULL,NULL,NULL,NULL,'Both','1117243640',NULL,'Sample Data','Herminia','R','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(13,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts family','Roberts family',NULL,NULL,NULL,'4',NULL,'Both','2097305882',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Roberts family',5,NULL,'Dear Roberts family',2,NULL,'Roberts family',NULL,NULL,NULL,0,NULL,'Roberts family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(14,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Nielsen, Alexia','Mrs. Alexia Nielsen',NULL,NULL,NULL,'2',NULL,'Both','164186955',NULL,'Sample Data','Alexia','','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Mrs. Alexia Nielsen',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(15,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Kathlyn','Dr. Kathlyn Nielsen',NULL,NULL,NULL,'2',NULL,'Both','145231118',NULL,'Sample Data','Kathlyn','L','Nielsen',4,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Dr. Kathlyn Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(16,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson-Terrell family','Wilson-Terrell family',NULL,NULL,NULL,NULL,NULL,'Both','2728065461',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson-Terrell family',5,NULL,'Dear Wilson-Terrell family',2,NULL,'Wilson-Terrell family',NULL,NULL,NULL,0,NULL,'Wilson-Terrell family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(17,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope, Allen','Allen Zope III',NULL,NULL,NULL,NULL,NULL,'Both','1364035806',NULL,'Sample Data','Allen','','Zope',NULL,4,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Zope III',NULL,NULL,'1952-08-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(18,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-Yadav family','Zope-Yadav family',NULL,NULL,NULL,'3',NULL,'Both','3996455240',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope-Yadav family',5,NULL,'Dear Zope-Yadav family',2,NULL,'Zope-Yadav family',NULL,NULL,NULL,0,NULL,'Zope-Yadav family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(19,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Olsen, Brzęczysław','Brzęczysław Olsen',NULL,NULL,NULL,'5',NULL,'Both','4211887373',NULL,'Sample Data','Brzęczysław','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Olsen',NULL,2,'2002-07-04',0,NULL,NULL,NULL,'Indiana Agriculture Fellowship',NULL,NULL,92,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Troy','Troy Blackwell Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1289798221',NULL,'Sample Data','Troy','M','Blackwell',NULL,1,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Blackwell Jr.',NULL,2,'1957-08-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(21,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'omarm8@infomail.co.in','omarm8@infomail.co.in',NULL,NULL,NULL,'4',NULL,'Both','1022203708',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear omarm8@infomail.co.in',1,NULL,'Dear omarm8@infomail.co.in',1,NULL,'omarm8@infomail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(22,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Pennsylvania Music Academy','Pennsylvania Music Academy',NULL,NULL,NULL,'2',NULL,'Both','772906323',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Pennsylvania Music Academy',NULL,NULL,NULL,0,NULL,NULL,NULL,'Pennsylvania Music Academy',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(23,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'States Advocacy Trust','States Advocacy Trust',NULL,NULL,NULL,NULL,NULL,'Both','3305945817',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'States Advocacy Trust',NULL,NULL,NULL,0,NULL,NULL,134,'States Advocacy Trust',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(24,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest, Megan','Dr. Megan Deforest',NULL,NULL,NULL,'4',NULL,'Both','588269616',NULL,'Sample Data','Megan','Z','Deforest',4,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Dr. Megan Deforest',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(25,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell, Jacob','Jacob Blackwell III',NULL,NULL,NULL,'4',NULL,'Both','4049710903',NULL,'Sample Data','Jacob','','Blackwell',NULL,4,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob Blackwell III',NULL,NULL,'1968-07-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(26,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Parker, Carylon','Carylon Parker',NULL,NULL,NULL,'1',NULL,'Both','2947551916',NULL,'Sample Data','Carylon','R','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Parker',NULL,1,NULL,1,'2017-09-17',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:34'),(27,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest-Patel, Felisha','Ms. Felisha Deforest-Patel',NULL,NULL,NULL,NULL,NULL,'Both','4294523604',NULL,'Sample Data','Felisha','','Deforest-Patel',2,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Ms. Felisha Deforest-Patel',NULL,1,'1978-02-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(28,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Grant, Iris','Dr. Iris Grant',NULL,NULL,NULL,NULL,NULL,'Both','2380499675',NULL,'Sample Data','Iris','S','Grant',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Grant',NULL,1,'1948-06-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(29,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Progressive Peace Collective','Progressive Peace Collective',NULL,NULL,NULL,NULL,NULL,'Both','1694581548',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Progressive Peace Collective',NULL,NULL,NULL,0,NULL,NULL,140,'Progressive Peace Collective',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(30,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Friends Poetry Trust','Friends Poetry Trust',NULL,NULL,NULL,'1',NULL,'Both','639417338',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Friends Poetry Trust',NULL,NULL,NULL,0,NULL,NULL,158,'Friends Poetry Trust',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(31,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson-Barkley, Magan','Mrs. Magan Wilson-Barkley',NULL,NULL,NULL,NULL,NULL,'Both','564171857',NULL,'Sample Data','Magan','I','Wilson-Barkley',1,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Mrs. Magan Wilson-Barkley',NULL,1,'1990-12-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(32,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson, Russell','Dr. Russell Jameson',NULL,NULL,NULL,'4',NULL,'Both','3424708861',NULL,'Sample Data','Russell','Y','Jameson',4,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Jameson',NULL,2,NULL,0,NULL,NULL,NULL,'Progressive Action Initiative',NULL,NULL,136,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(33,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Ashley','Ashley Prentice',NULL,NULL,NULL,'4',NULL,'Both','3283878025',NULL,'Sample Data','Ashley','V','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Prentice',NULL,1,'1934-01-28',1,'2016-11-23',NULL,NULL,'Creative Culture Center',NULL,NULL,10,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(34,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'College Empowerment School','College Empowerment School',NULL,NULL,NULL,'4',NULL,'Both','132450553',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'College Empowerment School',NULL,NULL,NULL,0,NULL,NULL,194,'College Empowerment School',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(35,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson-Barkley, Laree','Laree Wilson-Barkley',NULL,NULL,NULL,'4',NULL,'Both','4120101110',NULL,'Sample Data','Laree','S','Wilson-Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Wilson-Barkley',NULL,1,'1982-02-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(36,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Princess','Princess Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','3511098981',NULL,'Sample Data','Princess','C','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Blackwell',NULL,1,'1956-05-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(37,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Toby','Toby Cooper',NULL,NULL,NULL,'2',NULL,'Both','82709624',NULL,'Sample Data','Toby','N','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Cooper',NULL,NULL,'1994-07-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(38,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson, Irvin','Dr. Irvin Wilson',NULL,NULL,NULL,'5',NULL,'Both','441477896',NULL,'Sample Data','Irvin','','Wilson',4,NULL,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Dr. Irvin Wilson',NULL,2,'1967-08-22',1,'2017-09-21',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(39,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Sports Services','Urban Sports Services',NULL,NULL,NULL,'2',NULL,'Both','3994741391',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Sports Services',NULL,NULL,NULL,0,NULL,NULL,200,'Urban Sports Services',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(40,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Adams family','Adams family',NULL,NULL,NULL,NULL,NULL,'Both','1515323104',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams family',5,NULL,'Dear Adams family',2,NULL,'Adams family',NULL,NULL,NULL,0,NULL,'Adams family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(41,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Roberts, Irvin','Mr. Irvin Roberts III',NULL,NULL,NULL,'5',NULL,'Both','1941335260',NULL,'Sample Data','Irvin','Y','Roberts',3,4,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Mr. Irvin Roberts III',NULL,NULL,'1992-12-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(42,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'samson.jed99@testing.biz','samson.jed99@testing.biz',NULL,NULL,NULL,NULL,NULL,'Both','606406463',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear samson.jed99@testing.biz',1,NULL,'Dear samson.jed99@testing.biz',1,NULL,'samson.jed99@testing.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(43,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Northborough Software Systems','Northborough Software Systems',NULL,NULL,NULL,NULL,NULL,'Both','4143051813',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Northborough Software Systems',NULL,NULL,NULL,0,NULL,NULL,7,'Northborough Software Systems',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(44,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Brigette','Ms. Brigette Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1336788682',NULL,'Sample Data','Brigette','','Dimitrov',2,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Ms. Brigette Dimitrov',NULL,1,'1969-12-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson-Terrell, Sherman','Sherman Wilson-Terrell III',NULL,NULL,NULL,NULL,NULL,'Both','3255332142',NULL,'Sample Data','Sherman','A','Wilson-Terrell',NULL,4,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Wilson-Terrell III',NULL,2,'1993-07-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(46,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Daren','Daren Dimitrov II',NULL,NULL,NULL,NULL,NULL,'Both','3639899181',NULL,'Sample Data','Daren','','Dimitrov',NULL,3,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Dimitrov II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(47,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Valene','Valene Díaz',NULL,NULL,NULL,'4',NULL,'Both','3532656393',NULL,'Sample Data','Valene','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene Díaz',NULL,NULL,'1996-10-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:34'),(48,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Robertson, Kacey','Dr. Kacey Robertson',NULL,NULL,NULL,'2',NULL,'Both','3458101883',NULL,'Sample Data','Kacey','','Robertson',4,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Dr. Kacey Robertson',NULL,NULL,'1934-01-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ro.chowski@example.biz','ro.chowski@example.biz',NULL,NULL,NULL,NULL,NULL,'Both','2317942340',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ro.chowski@example.biz',1,NULL,'Dear ro.chowski@example.biz',1,NULL,'ro.chowski@example.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:38'),(50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Allen','Allen Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','3162448518',NULL,'Sample Data','Allen','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Łąchowski',NULL,2,'1929-01-21',1,'2017-03-07',NULL,NULL,'Caulder Music Center',NULL,NULL,197,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Shauna','Mrs. Shauna Díaz',NULL,NULL,NULL,'4',NULL,'Both','1718371199',NULL,'Sample Data','Shauna','','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Mrs. Shauna Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Sharyn','Sharyn Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3551005381',NULL,'Sample Data','Sharyn','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Jacobs',NULL,NULL,'2003-10-07',0,NULL,NULL,NULL,'Iowa Culture Center',NULL,NULL,65,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(53,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Roberts, Brittney','Ms. Brittney Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3955023783',NULL,'Sample Data','Brittney','Y','Roberts',2,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Ms. Brittney Roberts',NULL,1,'1961-05-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(54,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Junko','Junko Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1141329288',NULL,'Sample Data','Junko','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Junko Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(55,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'New Jersey Legal Center','New Jersey Legal Center',NULL,NULL,NULL,NULL,NULL,'Both','3922564202',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'New Jersey Legal Center',NULL,NULL,NULL,0,NULL,NULL,NULL,'New Jersey Legal Center',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(56,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Angelika','Dr. Angelika Terry',NULL,NULL,NULL,NULL,NULL,'Both','1807339903',NULL,'Sample Data','Angelika','','Terry',4,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Dr. Angelika Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(57,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest family','Deforest family',NULL,NULL,NULL,NULL,NULL,'Both','3235379039',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Deforest family',5,NULL,'Dear Deforest family',2,NULL,'Deforest family',NULL,NULL,NULL,0,NULL,'Deforest family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(58,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Beula','Mrs. Beula Dimitrov',NULL,NULL,NULL,'3',NULL,'Both','2632230535',NULL,'Sample Data','Beula','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Mrs. Beula Dimitrov',NULL,1,'1975-10-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(59,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Łąchowski, Claudio','Mr. Claudio Łąchowski II',NULL,NULL,NULL,'4',NULL,'Both','2731768671',NULL,'Sample Data','Claudio','','Łąchowski',3,3,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Łąchowski II',NULL,2,'1964-07-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(60,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Roberts, Rolando','Dr. Rolando Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3250154238',NULL,'Sample Data','Rolando','','Roberts',4,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Dr. Rolando Roberts',NULL,NULL,NULL,1,'2017-03-30',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(61,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Betty','Ms. Betty Díaz',NULL,NULL,NULL,'1',NULL,'Both','1256027759',NULL,'Sample Data','Betty','L','Díaz',2,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Ms. Betty Díaz',NULL,1,'1991-07-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:38'),(62,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell, Lawerence','Lawerence Blackwell Jr.',NULL,NULL,NULL,'1',NULL,'Both','881435694',NULL,'Sample Data','Lawerence','','Blackwell',NULL,1,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Blackwell Jr.',NULL,2,'1987-08-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(63,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Zope, Eleonor','Dr. Eleonor Zope',NULL,NULL,NULL,NULL,NULL,'Both','2005754191',NULL,'Sample Data','Eleonor','N','Zope',4,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Dr. Eleonor Zope',NULL,1,NULL,1,'2017-01-15',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(64,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jameson-Terry, Carylon','Dr. Carylon Jameson-Terry',NULL,NULL,NULL,'1',NULL,'Both','3224563609',NULL,'Sample Data','Carylon','M','Jameson-Terry',4,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Dr. Carylon Jameson-Terry',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(65,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Iowa Culture Center','Iowa Culture Center',NULL,NULL,NULL,'5',NULL,'Both','2508203050',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Iowa Culture Center',NULL,NULL,NULL,0,NULL,NULL,52,'Iowa Culture Center',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(66,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Kathleen','Ms. Kathleen Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2670436723',NULL,'Sample Data','Kathleen','I','Dimitrov',2,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Ms. Kathleen Dimitrov',NULL,1,'1977-02-21',0,NULL,NULL,NULL,'Texas Technology Alliance',NULL,NULL,4,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Damaris','Dr. Damaris Parker',NULL,NULL,NULL,NULL,NULL,'Both','1055790628',NULL,'Sample Data','Damaris','Y','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Dr. Damaris Parker',NULL,1,NULL,1,'2017-01-07',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(68,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'wilsonb@sample.com','wilsonb@sample.com',NULL,NULL,NULL,NULL,NULL,'Both','3962524857',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear wilsonb@sample.com',1,NULL,'Dear wilsonb@sample.com',1,NULL,'wilsonb@sample.com',NULL,NULL,NULL,0,NULL,NULL,NULL,'Global Empowerment Solutions',NULL,NULL,147,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(69,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Herminia','Herminia Terry',NULL,NULL,NULL,NULL,NULL,'Both','356369010',NULL,'Sample Data','Herminia','E','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Terry',NULL,1,'1951-06-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:34'),(70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Josefa','Josefa Wattson',NULL,NULL,NULL,NULL,NULL,'Both','3075737461',NULL,'Sample Data','Josefa','M','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Wattson',NULL,1,'2004-07-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(71,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'gonzlez.k.princess@mymail.co.pl','gonzlez.k.princess@mymail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2844499102',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear gonzlez.k.princess@mymail.co.pl',1,NULL,'Dear gonzlez.k.princess@mymail.co.pl',1,NULL,'gonzlez.k.princess@mymail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(72,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Alexia','Dr. Alexia Wattson',NULL,NULL,NULL,NULL,NULL,'Both','2082974153',NULL,'Sample Data','Alexia','','Wattson',4,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Dr. Alexia Wattson',NULL,1,'1959-11-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(73,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell, Angelika','Angelika Blackwell',NULL,NULL,NULL,'3',NULL,'Both','2888403240',NULL,'Sample Data','Angelika','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Blackwell',NULL,1,'1977-09-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(74,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell family','Blackwell family',NULL,NULL,NULL,'2',NULL,'Both','3218641510',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Blackwell family',5,NULL,'Dear Blackwell family',2,NULL,'Blackwell family',NULL,NULL,NULL,0,NULL,'Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(75,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,'3',NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(76,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jones, Alexia','Alexia Jones',NULL,NULL,NULL,NULL,NULL,'Both','252738965',NULL,'Sample Data','Alexia','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Jones',NULL,NULL,'1950-03-14',1,'2017-06-23',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'deforestn@mymail.co.uk','deforestn@mymail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','4118739980',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear deforestn@mymail.co.uk',1,NULL,'Dear deforestn@mymail.co.uk',1,NULL,'deforestn@mymail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(78,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Zope, Shad','Dr. Shad Zope',NULL,NULL,NULL,'5',NULL,'Both','2740120938',NULL,'Sample Data','Shad','','Zope',4,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Dr. Shad Zope',NULL,2,'1975-10-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(79,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Princess','Princess McReynolds',NULL,NULL,NULL,'2',NULL,'Both','2818218342',NULL,'Sample Data','Princess','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess McReynolds',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(80,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Andrew','Dr. Andrew Samson',NULL,NULL,NULL,NULL,NULL,'Both','2323395058',NULL,'Sample Data','Andrew','W','Samson',4,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Dr. Andrew Samson',NULL,2,NULL,1,'2017-07-20',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(81,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Terry-Lee, Kathleen','Dr. Kathleen Terry-Lee',NULL,NULL,NULL,'2',NULL,'Both','10200869',NULL,'Sample Data','Kathleen','','Terry-Lee',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen Terry-Lee',NULL,1,'1987-06-23',0,NULL,NULL,NULL,'Urban Action Initiative',NULL,NULL,85,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(82,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Second Sustainability Trust','Second Sustainability Trust',NULL,NULL,NULL,'4',NULL,'Both','86325376',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Second Sustainability Trust',NULL,NULL,NULL,0,NULL,NULL,90,'Second Sustainability Trust',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:42'),(83,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,'2',NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(84,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Dimitrov, Josefa','Ms. Josefa Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1492067390',NULL,'Sample Data','Josefa','G','Dimitrov',2,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Ms. Josefa Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(85,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Action Initiative','Urban Action Initiative',NULL,NULL,NULL,NULL,NULL,'Both','296633',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Action Initiative',NULL,NULL,NULL,0,NULL,NULL,81,'Urban Action Initiative',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(86,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Lashawnda','Lashawnda Olsen',NULL,NULL,NULL,'2',NULL,'Both','4204372159',NULL,'Sample Data','Lashawnda','E','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Olsen',NULL,1,'1948-03-02',1,'2017-07-08',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(87,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Terry, Sherman','Mr. Sherman Terry Sr.',NULL,NULL,NULL,NULL,NULL,'Both','4119706907',NULL,'Sample Data','Sherman','','Terry',3,2,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Mr. Sherman Terry Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(88,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Norris','Norris Roberts II',NULL,NULL,NULL,'4',NULL,'Both','3242051858',NULL,'Sample Data','Norris','','Roberts',NULL,3,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Roberts II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(89,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson, Ivey','Ivey Wilson',NULL,NULL,NULL,NULL,NULL,'Both','4270128246',NULL,'Sample Data','Ivey','W','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Wilson',NULL,NULL,'2000-02-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(90,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Tanya','Dr. Tanya Dimitrov',NULL,NULL,NULL,'3',NULL,'Both','3688954231',NULL,'Sample Data','Tanya','O','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Dr. Tanya Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,'Second Sustainability Trust',NULL,NULL,82,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(91,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Merrie','Merrie Yadav',NULL,NULL,NULL,NULL,NULL,'Both','4091106765',NULL,'Sample Data','Merrie','X','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Merrie Yadav',NULL,1,'1960-09-02',1,'2017-08-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(92,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Indiana Agriculture Fellowship','Indiana Agriculture Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','2587317428',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Indiana Agriculture Fellowship',NULL,NULL,NULL,0,NULL,NULL,19,'Indiana Agriculture Fellowship',NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(93,'Household',NULL,1,0,0,0,1,0,NULL,NULL,'Deforest-Patel family','Deforest-Patel family',NULL,NULL,NULL,'2',NULL,'Both','3220965020',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Deforest-Patel family',5,NULL,'Dear Deforest-Patel family',2,NULL,'Deforest-Patel family',NULL,NULL,NULL,0,NULL,'Deforest-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(94,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Barkley, Teresa','Teresa Barkley',NULL,NULL,NULL,'2',NULL,'Both','3210918',NULL,'Sample Data','Teresa','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Barkley',NULL,1,'1973-01-15',1,'2017-03-15',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Maxwell','Dr. Maxwell González Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3943391638',NULL,'Sample Data','Maxwell','Z','González',4,2,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Dr. Maxwell González Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(96,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Miguel','Miguel Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1550560736',NULL,'Sample Data','Miguel','O','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Dimitrov',NULL,2,'1969-06-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(97,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Truman','Truman Díaz',NULL,NULL,NULL,'4',NULL,'Both','2337329082',NULL,'Sample Data','Truman','T','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Díaz',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Kandace','Kandace Wagner',NULL,NULL,NULL,NULL,NULL,'Both','34193694',NULL,'Sample Data','Kandace','Z','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Wagner',NULL,1,'1939-08-11',1,'2016-12-03',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Carlos','Dr. Carlos Barkley Jr.',NULL,NULL,NULL,'5',NULL,'Both','4051467743',NULL,'Sample Data','Carlos','','Barkley',4,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Dr. Carlos Barkley Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(100,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'olsen-jamesonb50@infomail.biz','olsen-jamesonb50@infomail.biz',NULL,NULL,NULL,'4',NULL,'Both','2009408617',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear olsen-jamesonb50@infomail.biz',1,NULL,'Dear olsen-jamesonb50@infomail.biz',1,NULL,'olsen-jamesonb50@infomail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(101,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Magan','Mrs. Magan Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3991472147',NULL,'Sample Data','Magan','W','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Mrs. Magan Díaz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(102,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'terry.nicole81@notmail.co.uk','terry.nicole81@notmail.co.uk',NULL,NULL,NULL,'2',NULL,'Both','4284458801',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear terry.nicole81@notmail.co.uk',1,NULL,'Dear terry.nicole81@notmail.co.uk',1,NULL,'terry.nicole81@notmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Maxwell','Mr. Maxwell Wagner',NULL,NULL,NULL,NULL,NULL,'Both','899179200',NULL,'Sample Data','Maxwell','','Wagner',3,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Mr. Maxwell Wagner',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Megan','Megan Patel',NULL,NULL,NULL,'5',NULL,'Both','2159576941',NULL,'Sample Data','Megan','L','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Patel',NULL,1,'1953-08-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(105,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Rodrigo','Rodrigo Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3313653264',NULL,'Sample Data','Rodrigo','L','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Cooper Jr.',NULL,2,'1951-06-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(106,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Allen','Allen Nielsen Jr.',NULL,NULL,NULL,NULL,NULL,'Both','515166843',NULL,'Sample Data','Allen','C','Nielsen',NULL,1,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Nielsen Jr.',NULL,2,'2006-07-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(107,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Brent','Dr. Brent Adams III',NULL,NULL,NULL,'3',NULL,'Both','2406910115',NULL,'Sample Data','Brent','','Adams',4,4,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Dr. Brent Adams III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(108,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson-Terry family','Jameson-Terry family',NULL,NULL,NULL,'4',NULL,'Both','1273011055',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson-Terry family',5,NULL,'Dear Jameson-Terry family',2,NULL,'Jameson-Terry family',NULL,NULL,NULL,0,NULL,'Jameson-Terry family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(109,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Mei','Mei Wilson',NULL,NULL,NULL,NULL,NULL,'Both','819844514',NULL,'Sample Data','Mei','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mei Wilson',NULL,1,NULL,1,'2017-07-17',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:34'),(110,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker-Cooper, Juliann','Juliann Parker-Cooper',NULL,NULL,NULL,'3',NULL,'Both','2773169865',NULL,'Sample Data','Juliann','Q','Parker-Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Parker-Cooper',NULL,NULL,'1979-09-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(111,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Rodrigo','Dr. Rodrigo Barkley III',NULL,NULL,NULL,'1',NULL,'Both','2540977951',NULL,'Sample Data','Rodrigo','','Barkley',4,4,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Dr. Rodrigo Barkley III',NULL,2,'1957-09-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:34'),(112,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samuels, Lashawnda','Lashawnda Samuels',NULL,NULL,NULL,NULL,NULL,'Both','3524202222',NULL,'Sample Data','Lashawnda','G','Samuels',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Samuels',NULL,NULL,'1939-11-05',1,'2016-11-23',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(113,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Billy','Billy Smith',NULL,NULL,NULL,'2',NULL,'Both','3795036616',NULL,'Sample Data','Billy','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Smith',NULL,2,'1980-02-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(114,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'González, Princess','Dr. Princess González',NULL,NULL,NULL,'5',NULL,'Both','4053474994',NULL,'Sample Data','Princess','S','González',4,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Dr. Princess González',NULL,1,'1955-01-08',1,'2017-09-02',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(115,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Olsen, Allan','Allan Olsen',NULL,NULL,NULL,'3',NULL,'Both','569698697',NULL,'Sample Data','Allan','T','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(116,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Esta','Dr. Esta Yadav',NULL,NULL,NULL,NULL,NULL,'Both','4262711788',NULL,'Sample Data','Esta','','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Dr. Esta Yadav',NULL,1,'1954-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:43'),(117,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Deforest, Barry','Mr. Barry Deforest',NULL,NULL,NULL,'5',NULL,'Both','3606310264',NULL,'Sample Data','Barry','','Deforest',3,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Mr. Barry Deforest',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(118,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Landon','Dr. Landon Dimitrov',NULL,NULL,NULL,'2',NULL,'Both','3544857327',NULL,'Sample Data','Landon','Q','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Dimitrov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(119,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Yadav, Kiara','Kiara Yadav',NULL,NULL,NULL,'2',NULL,'Both','3127061074',NULL,'Sample Data','Kiara','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Yadav',NULL,1,'1954-05-14',1,'2017-04-09',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:36'),(120,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Ray','Ray Samson Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3926508474',NULL,'Sample Data','Ray','F','Samson',NULL,2,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Samson Sr.',NULL,2,'2003-10-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:38'),(121,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry-Lee family','Terry-Lee family',NULL,NULL,NULL,'3',NULL,'Both','1976092466',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry-Lee family',5,NULL,'Dear Terry-Lee family',2,NULL,'Terry-Lee family',NULL,NULL,NULL,0,NULL,'Terry-Lee family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Lincoln','Lincoln Blackwell',NULL,NULL,NULL,'2',NULL,'Both','3253258794',NULL,'Sample Data','Lincoln','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Lincoln Blackwell',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(123,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'González family','González family',NULL,NULL,NULL,'3',NULL,'Both','3263723758',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear González family',5,NULL,'Dear González family',2,NULL,'González family',NULL,NULL,NULL,0,NULL,'González family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:41'),(124,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Jed','Mr. Jed Zope',NULL,NULL,NULL,'4',NULL,'Both','934575133',NULL,'Sample Data','Jed','','Zope',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Zope',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:35'),(125,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Sanford','Mr. Sanford Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3755958255',NULL,'Sample Data','Sanford','','Díaz',3,NULL,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Mr. Sanford Díaz',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(126,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Díaz, Elizabeth','Ms. Elizabeth Díaz',NULL,NULL,NULL,'4',NULL,'Both','1884711539',NULL,'Sample Data','Elizabeth','T','Díaz',2,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Ms. Elizabeth Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:37'),(127,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Rebekah','Rebekah Deforest',NULL,NULL,NULL,NULL,NULL,'Both','164121561',NULL,'Sample Data','Rebekah','M','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Deforest',NULL,1,'1945-04-28',1,'2017-07-30',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:38'),(128,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Roland','Roland Adams II',NULL,NULL,NULL,'4',NULL,'Both','2320657874',NULL,'Sample Data','Roland','T','Adams',NULL,3,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Adams II',NULL,NULL,'1993-08-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:33','2017-11-01 23:27:45'),(129,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Samson-González, Angelika','Angelika Samson-González',NULL,NULL,NULL,'4',NULL,'Both','3688536193',NULL,'Sample Data','Angelika','','Samson-González',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Samson-González',NULL,1,'1987-07-04',0,NULL,NULL,NULL,'Urban Culture Fellowship',NULL,NULL,151,0,'2017-11-01 23:27:33','2017-11-01 23:27:44'),(130,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Norris','Norris Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3242051858',NULL,'Sample Data','Norris','Q','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Roberts',NULL,2,'1998-05-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(131,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Zope-Yadav, Kacey','Kacey Zope-Yadav',NULL,NULL,NULL,NULL,NULL,'Both','3982894287',NULL,'Sample Data','Kacey','P','Zope-Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Zope-Yadav',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(132,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Cooper, Arlyne','Ms. Arlyne Cooper',NULL,NULL,NULL,'1',NULL,'Both','1117506834',NULL,'Sample Data','Arlyne','','Cooper',2,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Ms. Arlyne Cooper',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(133,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Elizabeth','Elizabeth Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2520947662',NULL,'Sample Data','Elizabeth','N','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Dimitrov',NULL,1,'2005-03-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:38'),(134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Rodrigo','Mr. Rodrigo Nielsen',NULL,NULL,NULL,'2',NULL,'Both','976050360',NULL,'Sample Data','Rodrigo','','Nielsen',3,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo Nielsen',NULL,NULL,NULL,0,NULL,NULL,NULL,'States Advocacy Trust',NULL,NULL,23,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(135,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson-Barkley family','Wilson-Barkley family',NULL,NULL,NULL,NULL,NULL,'Both','1292221545',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson-Barkley family',5,NULL,'Dear Wilson-Barkley family',2,NULL,'Wilson-Barkley family',NULL,NULL,NULL,0,NULL,'Wilson-Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(136,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Progressive Action Initiative','Progressive Action Initiative',NULL,NULL,NULL,'2',NULL,'Both','2842293896',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Progressive Action Initiative',NULL,NULL,NULL,0,NULL,NULL,32,'Progressive Action Initiative',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(137,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'tanyaw45@fishmail.net','tanyaw45@fishmail.net',NULL,NULL,NULL,'5',NULL,'Both','3008726583',NULL,'Sample Data',NULL,NULL,NULL,2,NULL,NULL,NULL,1,NULL,'Dear tanyaw45@fishmail.net',1,NULL,'Dear tanyaw45@fishmail.net',1,NULL,'tanyaw45@fishmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(138,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest, Shad','Dr. Shad Deforest Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1483415369',NULL,'Sample Data','Shad','X','Deforest',4,2,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Dr. Shad Deforest Sr.',NULL,2,NULL,1,'2017-08-12',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(139,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope-Yadav, Daren','Dr. Daren Zope-Yadav',NULL,NULL,NULL,NULL,NULL,'Both','4043440030',NULL,'Sample Data','Daren','N','Zope-Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Dr. Daren Zope-Yadav',NULL,2,'1980-05-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Rolando','Rolando Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2226225563',NULL,'Sample Data','Rolando','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Rolando Dimitrov',NULL,NULL,NULL,0,NULL,NULL,NULL,'Progressive Peace Collective',NULL,NULL,29,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(141,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Margaret','Margaret Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1719938872',NULL,'Sample Data','Margaret','J','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Jameson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(142,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'el.olsen96@testmail.info','el.olsen96@testmail.info',NULL,NULL,NULL,'5',NULL,'Both','2071563666',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear el.olsen96@testmail.info',1,NULL,'Dear el.olsen96@testmail.info',1,NULL,'el.olsen96@testmail.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Jackson','Jackson Cruz',NULL,NULL,NULL,NULL,NULL,'Both','995179236',NULL,'Sample Data','Jackson','E','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Cruz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:34'),(144,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Samson-González, Jina','Jina Samson-González',NULL,NULL,NULL,NULL,NULL,'Both','391350325',NULL,'Sample Data','Jina','I','Samson-González',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Samson-González',NULL,NULL,'1999-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Bob','Mr. Bob Samuels',NULL,NULL,NULL,NULL,NULL,'Both','4029201049',NULL,'Sample Data','Bob','','Samuels',3,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Mr. Bob Samuels',NULL,2,'1957-08-09',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Juliann','Mrs. Juliann González',NULL,NULL,NULL,'5',NULL,'Both','1216128265',NULL,'Sample Data','Juliann','','González',1,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Mrs. Juliann González',NULL,1,'1947-11-08',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(147,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Global Empowerment Solutions','Global Empowerment Solutions',NULL,NULL,NULL,NULL,NULL,'Both','2032854985',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Empowerment Solutions',NULL,NULL,NULL,0,NULL,NULL,68,'Global Empowerment Solutions',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(148,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'González, Russell','Mr. Russell González II',NULL,NULL,NULL,'2',NULL,'Both','443050874',NULL,'Sample Data','Russell','','González',3,3,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Mr. Russell González II',NULL,NULL,'1965-03-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(149,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jacob','Dr. Jacob Samson',NULL,NULL,NULL,'3',NULL,'Both','1567006775',NULL,'Sample Data','Jacob','V','Samson',4,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Dr. Jacob Samson',NULL,2,'1974-12-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(150,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Jackson','Jackson Zope',NULL,NULL,NULL,'2',NULL,'Both','1032195299',NULL,'Sample Data','Jackson','W','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Zope',NULL,2,'1930-08-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(151,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Culture Fellowship','Urban Culture Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','250204628',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Culture Fellowship',NULL,NULL,NULL,0,NULL,NULL,129,'Urban Culture Fellowship',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(152,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts-Díaz, Kiara','Kiara Roberts-Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3268236723',NULL,'Sample Data','Kiara','','Roberts-Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Roberts-Díaz',NULL,1,'1961-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(153,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Josefa','Josefa Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1492067390',NULL,'Sample Data','Josefa','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Dimitrov',NULL,NULL,'2000-11-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(154,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'3',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(155,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Sanford','Mr. Sanford Barkley',NULL,NULL,NULL,'1',NULL,'Both','975752860',NULL,'Sample Data','Sanford','K','Barkley',3,NULL,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Mr. Sanford Barkley',NULL,2,'1978-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(156,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Community Culture Partners','Community Culture Partners',NULL,NULL,NULL,NULL,NULL,'Both','1964287310',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Community Culture Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Community Culture Partners',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:42'),(157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Lashawnda','Mrs. Lashawnda Roberts',NULL,NULL,NULL,'4',NULL,'Both','1535794167',NULL,'Sample Data','Lashawnda','','Roberts',1,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Mrs. Lashawnda Roberts',NULL,1,NULL,1,'2016-11-07',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(158,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Roland','Dr. Roland Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2218895349',NULL,'Sample Data','Roland','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Dr. Roland Ivanov',NULL,NULL,'1969-05-21',0,NULL,NULL,NULL,'Friends Poetry Trust',NULL,NULL,30,0,'2017-11-01 23:27:34','2017-11-01 23:27:42'),(159,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Esta','Esta Jameson',NULL,NULL,NULL,NULL,NULL,'Both','3062335151',NULL,'Sample Data','Esta','Y','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Jameson',NULL,1,'2005-11-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(160,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson-Deforest, Lashawnda','Ms. Lashawnda Wilson-Deforest',NULL,NULL,NULL,'3',NULL,'Both','3182169289',NULL,'Sample Data','Lashawnda','I','Wilson-Deforest',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Wilson-Deforest',NULL,NULL,'1976-05-09',0,NULL,NULL,NULL,'Global Education Initiative',NULL,NULL,184,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(161,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cruz, Justina','Ms. Justina Cruz',NULL,NULL,NULL,NULL,NULL,'Both','1402576980',NULL,'Sample Data','Justina','N','Cruz',2,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Ms. Justina Cruz',NULL,1,'1940-07-15',1,'2017-03-26',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(162,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Errol','Mr. Errol Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3017354314',NULL,'Sample Data','Errol','','Dimitrov',3,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Mr. Errol Dimitrov',NULL,NULL,'1932-05-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:38'),(163,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Laree','Laree Lee',NULL,NULL,NULL,NULL,NULL,'Both','2331779223',NULL,'Sample Data','Laree','X','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Lee',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(164,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Delana','Mrs. Delana Dimitrov',NULL,NULL,NULL,'4',NULL,'Both','4026480882',NULL,'Sample Data','Delana','H','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Mrs. Delana Dimitrov',NULL,NULL,'1938-08-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(165,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Winford','Winford Díaz',NULL,NULL,NULL,'2',NULL,'Both','3351509393',NULL,'Sample Data','Winford','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Díaz',NULL,2,'1948-11-14',1,'2017-06-27',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(166,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson-Terrell, Kandace','Kandace Wilson-Terrell',NULL,NULL,NULL,'3',NULL,'Both','527078771',NULL,'Sample Data','Kandace','','Wilson-Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Wilson-Terrell',NULL,1,'1999-09-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(167,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'González, Ray','Ray González',NULL,NULL,NULL,NULL,NULL,'Both','193085819',NULL,'Sample Data','Ray','','González',NULL,NULL,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray González',NULL,2,'1986-11-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(168,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Wagner, Alida','Alida Wagner',NULL,NULL,NULL,NULL,NULL,'Both','3788165868',NULL,'Sample Data','Alida','','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Wagner',NULL,1,'1964-03-09',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(169,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Margaret','Margaret Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','455886954',NULL,'Sample Data','Margaret','L','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Dimitrov',NULL,1,'1983-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(170,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Beula','Dr. Beula Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2632230535',NULL,'Sample Data','Beula','','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Dr. Beula Dimitrov',NULL,NULL,'1954-04-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(171,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Errol','Dr. Errol Díaz',NULL,NULL,NULL,NULL,NULL,'Both','4116027034',NULL,'Sample Data','Errol','','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Dr. Errol Díaz',NULL,NULL,'1945-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:35'),(172,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Arlyne','Ms. Arlyne Cruz',NULL,NULL,NULL,'2',NULL,'Both','630170547',NULL,'Sample Data','Arlyne','I','Cruz',2,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Ms. Arlyne Cruz',NULL,1,'1938-08-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(173,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'5',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(174,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jacobs, Mei','Ms. Mei Jacobs',NULL,NULL,NULL,'3',NULL,'Both','1817872298',NULL,'Sample Data','Mei','Y','Jacobs',2,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Ms. Mei Jacobs',NULL,1,'1946-06-26',1,'2017-07-01',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(175,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson-Terry, Damaris','Damaris Jameson-Terry',NULL,NULL,NULL,'1',NULL,'Both','1366092561',NULL,'Sample Data','Damaris','','Jameson-Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Jameson-Terry',NULL,NULL,'1999-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(176,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Scarlet','Scarlet Zope',NULL,NULL,NULL,'1',NULL,'Both','3308177981',NULL,'Sample Data','Scarlet','K','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Zope',NULL,1,'1996-07-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(177,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(178,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Łąchowski, Lawerence','Dr. Lawerence Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','804598386',NULL,'Sample Data','Lawerence','P','Łąchowski',4,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Dr. Lawerence Łąchowski',NULL,2,'1965-12-12',1,'2017-01-28',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(179,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'reynolds.arlyne52@sample.org','reynolds.arlyne52@sample.org',NULL,NULL,NULL,'4',NULL,'Both','2860210155',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear reynolds.arlyne52@sample.org',1,NULL,'Dear reynolds.arlyne52@sample.org',1,NULL,'reynolds.arlyne52@sample.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(180,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Terry-Lee, Craig','Mr. Craig Terry-Lee III',NULL,NULL,NULL,'2',NULL,'Both','1366943492',NULL,'Sample Data','Craig','','Terry-Lee',3,4,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Mr. Craig Terry-Lee III',NULL,2,'1981-04-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(181,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Sherman','Sherman Adams',NULL,NULL,NULL,NULL,NULL,'Both','2610997591',NULL,'Sample Data','Sherman','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Adams',NULL,2,'1969-11-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:38'),(182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Rodrigo','Mr. Rodrigo Adams',NULL,NULL,NULL,NULL,NULL,'Both','1004962855',NULL,'Sample Data','Rodrigo','O','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(183,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,'5',NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(184,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Global Education Initiative','Global Education Initiative',NULL,NULL,NULL,NULL,NULL,'Both','2436315194',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Education Initiative',NULL,NULL,NULL,0,NULL,NULL,160,'Global Education Initiative',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:42'),(185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Iris','Iris Deforest',NULL,NULL,NULL,NULL,NULL,'Both','1031045595',NULL,'Sample Data','Iris','P','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Deforest',NULL,1,'1966-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:38'),(186,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Craig','Dr. Craig Jameson III',NULL,NULL,NULL,NULL,NULL,'Both','2730712031',NULL,'Sample Data','Craig','L','Jameson',4,4,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Dr. Craig Jameson III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(187,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Samson-González family','Samson-González family',NULL,NULL,NULL,'5',NULL,'Both','978113329',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson-González family',5,NULL,'Dear Samson-González family',2,NULL,'Samson-González family',NULL,NULL,NULL,0,NULL,'Samson-González family',NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:41'),(188,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Terry, Rolando','Mr. Rolando Terry',NULL,NULL,NULL,'1',NULL,'Both','158688925',NULL,'Sample Data','Rolando','','Terry',3,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Mr. Rolando Terry',NULL,NULL,'1932-07-18',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Kandace','Mrs. Kandace González',NULL,NULL,NULL,'1',NULL,'Both','3701129800',NULL,'Sample Data','Kandace','','González',1,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Mrs. Kandace González',NULL,NULL,'1943-01-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(190,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Iris','Iris Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','1205681375',NULL,'Sample Data','Iris','O','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Dimitrov',NULL,1,'1975-10-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(191,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Russell','Mr. Russell Adams',NULL,NULL,NULL,'1',NULL,'Both','2150692920',NULL,'Sample Data','Russell','','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Mr. Russell Adams',NULL,NULL,'1955-01-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36'),(192,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Elizabeth','Mrs. Elizabeth Prentice',NULL,NULL,NULL,NULL,NULL,'Both','1816376525',NULL,'Sample Data','Elizabeth','Y','Prentice',1,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Mrs. Elizabeth Prentice',NULL,NULL,NULL,1,'2017-04-09',NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(193,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Teresa','Teresa Adams',NULL,NULL,NULL,'5',NULL,'Both','779257485',NULL,'Sample Data','Teresa','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Adams',NULL,1,'2001-07-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(194,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Josefa','Josefa Lee',NULL,NULL,NULL,NULL,NULL,'Both','2091789662',NULL,'Sample Data','Josefa','X','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Lee',NULL,1,'1978-05-07',0,NULL,NULL,NULL,'College Empowerment School',NULL,NULL,34,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(195,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Carlos','Dr. Carlos Adams',NULL,NULL,NULL,'3',NULL,'Both','3745383924',NULL,'Sample Data','Carlos','','Adams',4,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Dr. Carlos Adams',NULL,2,'1982-05-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Sharyn','Sharyn Terrell',NULL,NULL,NULL,NULL,NULL,'Both','1538962314',NULL,'Sample Data','Sharyn','','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Terrell',NULL,1,'1980-12-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(197,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Caulder Music Center','Caulder Music Center',NULL,NULL,NULL,'4',NULL,'Both','1836265486',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Caulder Music Center',NULL,NULL,NULL,0,NULL,NULL,50,'Caulder Music Center',NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:43'),(198,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'rterry@testing.net','rterry@testing.net',NULL,NULL,NULL,NULL,NULL,'Both','2237596284',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear rterry@testing.net',1,NULL,'Dear rterry@testing.net',1,NULL,'rterry@testing.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:45'),(199,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Lou','Lou Adams',NULL,NULL,NULL,'3',NULL,'Both','4150447467',NULL,'Sample Data','Lou','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Adams',NULL,2,'1935-09-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:37'),(200,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Rodrigo','Mr. Rodrigo Dimitrov II',NULL,NULL,NULL,'5',NULL,'Both','3624892269',NULL,'Sample Data','Rodrigo','X','Dimitrov',3,3,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo Dimitrov II',NULL,NULL,'1951-01-26',1,'2017-06-22',NULL,NULL,'Urban Sports Services',NULL,NULL,39,0,'2017-11-01 23:27:34','2017-11-01 23:27:44'),(201,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Ivey','Ivey Wagner',NULL,NULL,NULL,'4',NULL,'Both','3499534736',NULL,'Sample Data','Ivey','E','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Wagner',NULL,1,'1964-06-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2017-11-01 23:27:34','2017-11-01 23:27:36');
+INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2018-01-11 22:45:58'),(2,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Elizabeth','Elizabeth Yadav',NULL,NULL,NULL,'2',NULL,'Both','2557068242',NULL,'Sample Data','Elizabeth','K','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Yadav',NULL,1,'1978-07-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(3,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Cadell Technology Partners','Cadell Technology Partners',NULL,NULL,NULL,NULL,NULL,'Both','339762407',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cadell Technology Partners',NULL,NULL,NULL,0,NULL,NULL,49,'Cadell Technology Partners',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(4,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Adams family','Adams family',NULL,NULL,NULL,'4',NULL,'Both','1515323104',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams family',5,NULL,'Dear Adams family',2,NULL,'Adams family',NULL,NULL,NULL,0,NULL,'Adams family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(5,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Jed','Jed Müller Sr.',NULL,NULL,NULL,'1',NULL,'Both','1353975541',NULL,'Sample Data','Jed','I','Müller',NULL,2,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Müller Sr.',NULL,2,'1990-11-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Jay','Dr. Jay Jensen Sr.',NULL,NULL,NULL,'2',NULL,'Both','3113289933',NULL,'Sample Data','Jay','K','Jensen',4,2,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Dr. Jay Jensen Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(7,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Kiara','Ms. Kiara Lee',NULL,NULL,NULL,'2',NULL,'Both','3789982158',NULL,'Sample Data','Kiara','','Lee',2,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Ms. Kiara Lee',NULL,1,'1991-01-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(8,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'cyadav78@airmail.org','cyadav78@airmail.org',NULL,NULL,NULL,'4',NULL,'Both','2338218276',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear cyadav78@airmail.org',1,NULL,'Dear cyadav78@airmail.org',1,NULL,'cyadav78@airmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(9,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen family','Jensen family',NULL,NULL,NULL,'5',NULL,'Both','797435572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen family',5,NULL,'Dear Jensen family',2,NULL,'Jensen family',NULL,NULL,NULL,0,NULL,'Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(10,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Omar','Mr. Omar Samuels III',NULL,NULL,NULL,NULL,NULL,'Both','1072276407',NULL,'Sample Data','Omar','','Samuels',3,4,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Mr. Omar Samuels III',NULL,NULL,'1957-02-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(11,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Ivey','Dr. Ivey Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','4026790678',NULL,'Sample Data','Ivey','D','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Dr. Ivey Jacobs',NULL,1,'1994-03-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(12,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Zope-González, Kathleen','Dr. Kathleen Zope-González',NULL,NULL,NULL,'2',NULL,'Both','1651466904',NULL,'Sample Data','Kathleen','','Zope-González',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen Zope-González',NULL,1,'1976-06-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Troy','Mr. Troy Deforest Sr.',NULL,NULL,NULL,'2',NULL,'Both','696795137',NULL,'Sample Data','Troy','D','Deforest',3,2,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Mr. Troy Deforest Sr.',NULL,2,'1981-09-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(14,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts-Samson, Kiara','Kiara Roberts-Samson',NULL,NULL,NULL,'5',NULL,'Both','1276131827',NULL,'Sample Data','Kiara','T','Roberts-Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Roberts-Samson',NULL,NULL,'2003-07-01',0,NULL,NULL,NULL,'Main Culture Collective',NULL,NULL,146,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(15,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Sharyn','Ms. Sharyn Olsen',NULL,NULL,NULL,NULL,NULL,'Both','3193579661',NULL,'Sample Data','Sharyn','B','Olsen',2,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Ms. Sharyn Olsen',NULL,1,'1983-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(16,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds-Wilson, Kathleen','Dr. Kathleen McReynolds-Wilson',NULL,NULL,NULL,'3',NULL,'Both','401844565',NULL,'Sample Data','Kathleen','','McReynolds-Wilson',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen McReynolds-Wilson',NULL,1,'1975-04-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(17,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'barkleyc@spamalot.biz','barkleyc@spamalot.biz',NULL,NULL,NULL,NULL,NULL,'Both','2518620376',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear barkleyc@spamalot.biz',1,NULL,'Dear barkleyc@spamalot.biz',1,NULL,'barkleyc@spamalot.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(18,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'wattson.h.elbert@lol.net','wattson.h.elbert@lol.net',NULL,NULL,NULL,'1',NULL,'Both','2032733019',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear wattson.h.elbert@lol.net',1,NULL,'Dear wattson.h.elbert@lol.net',1,NULL,'wattson.h.elbert@lol.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(19,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Cadell Action Services','Cadell Action Services',NULL,NULL,NULL,'1',NULL,'Both','3027038030',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cadell Action Services',NULL,NULL,NULL,0,NULL,NULL,NULL,'Cadell Action Services',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(20,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'González, Justina','Justina González',NULL,NULL,NULL,NULL,NULL,'Both','2517853745',NULL,'Sample Data','Justina','','González',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina González',NULL,NULL,'1959-04-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(21,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'kennym43@mymail.co.uk','kennym43@mymail.co.uk',NULL,NULL,NULL,'4',NULL,'Both','2233186289',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kennym43@mymail.co.uk',1,NULL,'Dear kennym43@mymail.co.uk',1,NULL,'kennym43@mymail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(22,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Newtonia Peace Systems','Newtonia Peace Systems',NULL,NULL,NULL,NULL,NULL,'Both','3340678385',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Newtonia Peace Systems',NULL,NULL,NULL,0,NULL,NULL,184,'Newtonia Peace Systems',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(23,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'zope.damaris@mymail.net','zope.damaris@mymail.net',NULL,NULL,NULL,'4',NULL,'Both','1837060958',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear zope.damaris@mymail.net',1,NULL,'Dear zope.damaris@mymail.net',1,NULL,'zope.damaris@mymail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(24,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper, Alexia','Dr. Alexia Cooper',NULL,NULL,NULL,NULL,NULL,'Both','2846725010',NULL,'Sample Data','Alexia','','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Dr. Alexia Cooper',NULL,1,NULL,1,'2017-12-29',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(25,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Pennsylvania Technology Association','Pennsylvania Technology Association',NULL,NULL,NULL,'4',NULL,'Both','2403607667',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Pennsylvania Technology Association',NULL,NULL,NULL,0,NULL,NULL,163,'Pennsylvania Technology Association',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(26,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Santina','Santina Smith',NULL,NULL,NULL,NULL,NULL,'Both','4069145430',NULL,'Sample Data','Santina','F','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Smith',NULL,NULL,'1982-05-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(27,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Müller, Jina','Jina Müller',NULL,NULL,NULL,'3',NULL,'Both','3603242296',NULL,'Sample Data','Jina','Q','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Müller',NULL,NULL,'1997-03-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(28,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Grant, Lincoln','Dr. Lincoln Grant',NULL,NULL,NULL,'1',NULL,'Both','2133553876',NULL,'Sample Data','Lincoln','X','Grant',4,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Dr. Lincoln Grant',NULL,NULL,'1961-07-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(29,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Urban Environmental School','Urban Environmental School',NULL,NULL,NULL,NULL,NULL,'Both','966011523',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Environmental School',NULL,NULL,NULL,0,NULL,NULL,46,'Urban Environmental School',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(30,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Jina','Jina Adams',NULL,NULL,NULL,'2',NULL,'Both','3136326826',NULL,'Sample Data','Jina','Z','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Adams',NULL,1,NULL,0,NULL,NULL,NULL,'Mahanoy City Arts School',NULL,NULL,59,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(31,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jensen, Sherman','Sherman Jensen III',NULL,NULL,NULL,'3',NULL,'Both','1444666503',NULL,'Sample Data','Sherman','Q','Jensen',NULL,4,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Jensen III',NULL,2,'2007-08-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(32,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Carlos','Carlos Samuels',NULL,NULL,NULL,NULL,NULL,'Both','1758325668',NULL,'Sample Data','Carlos','','Samuels',NULL,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Samuels',NULL,2,'1964-11-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(33,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Lincoln','Dr. Lincoln Smith',NULL,NULL,NULL,'1',NULL,'Both','3833936283',NULL,'Sample Data','Lincoln','C','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Dr. Lincoln Smith',NULL,2,'1986-11-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(34,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Carlos','Carlos Smith II',NULL,NULL,NULL,'5',NULL,'Both','3642866495',NULL,'Sample Data','Carlos','','Smith',NULL,3,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Smith II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(35,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'lee.jed@airmail.net','lee.jed@airmail.net',NULL,NULL,NULL,NULL,NULL,'Both','188853578',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear lee.jed@airmail.net',1,NULL,'Dear lee.jed@airmail.net',1,NULL,'lee.jed@airmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(36,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Yadav, Jackson','Dr. Jackson Yadav',NULL,NULL,NULL,NULL,NULL,'Both','1490538521',NULL,'Sample Data','Jackson','T','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Yadav',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(37,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-González family','Zope-González family',NULL,NULL,NULL,NULL,NULL,'Both','92125299',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope-González family',5,NULL,'Dear Zope-González family',2,NULL,'Zope-González family',NULL,NULL,NULL,0,NULL,'Zope-González family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(38,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Maxwell','Maxwell Adams Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1901327060',NULL,'Sample Data','Maxwell','Q','Adams',NULL,1,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Adams Jr.',NULL,2,'1980-07-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(39,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Robertson-Łąchowski, Kathleen','Kathleen Robertson-Łąchowski',NULL,NULL,NULL,'3',NULL,'Both','3446906996',NULL,'Sample Data','Kathleen','Q','Robertson-Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Robertson-Łąchowski',NULL,1,'2001-04-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(40,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Lee family','Lee family',NULL,NULL,NULL,'1',NULL,'Both','845831176',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Lee family',5,NULL,'Dear Lee family',2,NULL,'Lee family',NULL,NULL,NULL,0,NULL,'Lee family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(41,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'ivanov.lawerence@notmail.net','ivanov.lawerence@notmail.net',NULL,NULL,NULL,NULL,NULL,'Both','799444653',NULL,'Sample Data',NULL,NULL,NULL,4,1,NULL,NULL,1,NULL,'Dear ivanov.lawerence@notmail.net',1,NULL,'Dear ivanov.lawerence@notmail.net',1,NULL,'ivanov.lawerence@notmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(42,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds-Wilson family','McReynolds-Wilson family',NULL,NULL,NULL,NULL,NULL,'Both','3380845783',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear McReynolds-Wilson family',5,NULL,'Dear McReynolds-Wilson family',2,NULL,'McReynolds-Wilson family',NULL,NULL,NULL,0,NULL,'McReynolds-Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(43,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Kathleen','Ms. Kathleen Müller',NULL,NULL,NULL,'3',NULL,'Both','74249251',NULL,'Sample Data','Kathleen','','Müller',2,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Ms. Kathleen Müller',NULL,NULL,'1967-02-14',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(44,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'1',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(45,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Barry','Dr. Barry Adams II',NULL,NULL,NULL,NULL,NULL,'Both','1282794695',NULL,'Sample Data','Barry','G','Adams',4,3,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Adams II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Scarlet','Scarlet Parker',NULL,NULL,NULL,NULL,NULL,'Both','1919571146',NULL,'Sample Data','Scarlet','D','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Parker',NULL,1,'1974-11-20',0,NULL,NULL,NULL,'Urban Environmental School',NULL,NULL,29,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(47,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts-Samson, Shad','Shad Roberts-Samson Sr.',NULL,NULL,NULL,'1',NULL,'Both','385383792',NULL,'Sample Data','Shad','A','Roberts-Samson',NULL,2,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Roberts-Samson Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(48,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Junko','Junko Zope',NULL,NULL,NULL,'2',NULL,'Both','3784075436',NULL,'Sample Data','Junko','Z','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Junko Zope',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Magan','Magan Bachman',NULL,NULL,NULL,NULL,NULL,'Both','177125687',NULL,'Sample Data','Magan','B','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Magan Bachman',NULL,NULL,'1953-03-09',1,'2017-06-30',NULL,NULL,'Cadell Technology Partners',NULL,NULL,3,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(50,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'se.smith@fakemail.biz','se.smith@fakemail.biz',NULL,NULL,NULL,NULL,NULL,'Both','4287102511',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear se.smith@fakemail.biz',1,NULL,'Dear se.smith@fakemail.biz',1,NULL,'se.smith@fakemail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Toby','Toby Cruz III',NULL,NULL,NULL,NULL,NULL,'Both','748884235',NULL,'Sample Data','Toby','','Cruz',NULL,4,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Cruz III',NULL,2,'1945-03-09',1,'2017-10-23',NULL,NULL,'Bay Health Partnership',NULL,NULL,164,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Heidi','Heidi Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1155008282',NULL,'Sample Data','Heidi','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Heidi Jameson',NULL,NULL,'1975-01-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(53,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'wattson.s.troy62@fakemail.co.pl','wattson.s.troy62@fakemail.co.pl',NULL,NULL,NULL,'3',NULL,'Both','1839934838',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear wattson.s.troy62@fakemail.co.pl',1,NULL,'Dear wattson.s.troy62@fakemail.co.pl',1,NULL,'wattson.s.troy62@fakemail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(54,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Deforest, Jay','Mr. Jay Deforest II',NULL,NULL,NULL,NULL,NULL,'Both','3714093983',NULL,'Sample Data','Jay','V','Deforest',3,3,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Mr. Jay Deforest II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(55,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Sonny','Sonny Nielsen II',NULL,NULL,NULL,NULL,NULL,'Both','1971466517',NULL,'Sample Data','Sonny','A','Nielsen',NULL,3,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Sonny Nielsen II',NULL,2,'1960-09-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(56,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jameson, Lashawnda','Lashawnda Jameson',NULL,NULL,NULL,'3',NULL,'Both','4055900754',NULL,'Sample Data','Lashawnda','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Jameson',NULL,1,'1956-02-09',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(57,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Toby','Toby Parker',NULL,NULL,NULL,'4',NULL,'Both','3520843398',NULL,'Sample Data','Toby','','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Parker',NULL,2,'1983-09-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(58,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Betty','Dr. Betty Prentice',NULL,NULL,NULL,NULL,NULL,'Both','235975731',NULL,'Sample Data','Betty','','Prentice',4,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Dr. Betty Prentice',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(59,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Mahanoy City Arts School','Mahanoy City Arts School',NULL,NULL,NULL,NULL,NULL,'Both','719793303',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Mahanoy City Arts School',NULL,NULL,NULL,0,NULL,NULL,30,'Mahanoy City Arts School',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(60,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Local Agriculture Association','Local Agriculture Association',NULL,NULL,NULL,'5',NULL,'Both','2060811572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Agriculture Association',NULL,NULL,NULL,0,NULL,NULL,68,'Local Agriculture Association',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(61,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Maxwell','Mr. Maxwell Adams II',NULL,NULL,NULL,'3',NULL,'Both','1901327060',NULL,'Sample Data','Maxwell','O','Adams',3,3,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Mr. Maxwell Adams II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(62,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz-Zope, Josefa','Dr. Josefa Díaz-Zope',NULL,NULL,NULL,NULL,NULL,'Both','146086040',NULL,'Sample Data','Josefa','C','Díaz-Zope',4,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Dr. Josefa Díaz-Zope',NULL,1,'1963-01-12',1,'2017-11-03',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(63,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Brzęczysław','Brzęczysław Cooper III',NULL,NULL,NULL,'3',NULL,'Both','671824527',NULL,'Sample Data','Brzęczysław','U','Cooper',NULL,4,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Cooper III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Mei','Mrs. Mei Bachman',NULL,NULL,NULL,NULL,NULL,'Both','1338545040',NULL,'Sample Data','Mei','F','Bachman',1,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mrs. Mei Bachman',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(65,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Elizabeth','Dr. Elizabeth Wattson',NULL,NULL,NULL,'3',NULL,'Both','144172133',NULL,'Sample Data','Elizabeth','','Wattson',4,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Dr. Elizabeth Wattson',NULL,1,'1948-02-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(66,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wagner, Roland','Mr. Roland Wagner II',NULL,NULL,NULL,NULL,NULL,'Both','1173293758',NULL,'Sample Data','Roland','N','Wagner',3,3,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Mr. Roland Wagner II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(67,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'anielsen@spamalot.biz','anielsen@spamalot.biz',NULL,NULL,NULL,NULL,NULL,'Both','853363007',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear anielsen@spamalot.biz',1,NULL,'Dear anielsen@spamalot.biz',1,NULL,'anielsen@spamalot.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:26'),(68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Arlyne','Ms. Arlyne Smith',NULL,NULL,NULL,'5',NULL,'Both','4098699841',NULL,'Sample Data','Arlyne','','Smith',2,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Ms. Arlyne Smith',NULL,1,'1973-12-06',0,NULL,NULL,NULL,'Local Agriculture Association',NULL,NULL,60,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(69,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wattson-Ivanov family','Wattson-Ivanov family',NULL,NULL,NULL,'5',NULL,'Both','1188216634',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wattson-Ivanov family',5,NULL,'Dear Wattson-Ivanov family',2,NULL,'Wattson-Ivanov family',NULL,NULL,NULL,0,NULL,'Wattson-Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Delana','Delana Jameson',NULL,NULL,NULL,NULL,NULL,'Both','470285147',NULL,'Sample Data','Delana','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Jameson',NULL,1,'1976-07-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:36'),(71,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kathlyn','Kathlyn Jensen',NULL,NULL,NULL,'5',NULL,'Both','3302532161',NULL,'Sample Data','Kathlyn','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Jensen',NULL,1,'1988-10-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:25'),(72,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson-Łąchowski family','Robertson-Łąchowski family',NULL,NULL,NULL,NULL,NULL,'Both','3126744782',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Robertson-Łąchowski family',5,NULL,'Dear Robertson-Łąchowski family',2,NULL,'Robertson-Łąchowski family',NULL,NULL,NULL,0,NULL,'Robertson-Łąchowski family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:31'),(73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Winford','Mr. Winford Müller',NULL,NULL,NULL,'3',NULL,'Both','1322827856',NULL,'Sample Data','Winford','','Müller',3,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Mr. Winford Müller',NULL,NULL,'1929-06-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(74,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Miguel','Dr. Miguel Zope',NULL,NULL,NULL,'5',NULL,'Both','1624097300',NULL,'Sample Data','Miguel','','Zope',4,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Dr. Miguel Zope',NULL,2,'1990-10-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson-Ivanov, Sharyn','Sharyn Wattson-Ivanov',NULL,NULL,NULL,'5',NULL,'Both','2624090768',NULL,'Sample Data','Sharyn','','Wattson-Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Wattson-Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:34'),(76,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jf.patel21@infomail.org','jf.patel21@infomail.org',NULL,NULL,NULL,'5',NULL,'Both','2607021222',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jf.patel21@infomail.org',1,NULL,'Dear jf.patel21@infomail.org',1,NULL,'jf.patel21@infomail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(77,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs, Carylon','Carylon Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','548653672',NULL,'Sample Data','Carylon','I','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Jacobs',NULL,1,'1970-05-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:27'),(78,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Parker, Esta','Esta Parker',NULL,NULL,NULL,NULL,NULL,'Both','599165417',NULL,'Sample Data','Esta','','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Parker',NULL,NULL,'1976-03-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:24'),(79,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jameson, Kacey','Ms. Kacey Jameson',NULL,NULL,NULL,'3',NULL,'Both','2233552494',NULL,'Sample Data','Kacey','','Jameson',2,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Ms. Kacey Jameson',NULL,1,'1957-04-08',1,'2017-02-04',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(80,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Teresa','Teresa Patel',NULL,NULL,NULL,NULL,NULL,'Both','1615801119',NULL,'Sample Data','Teresa','G','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Patel',NULL,1,NULL,0,NULL,NULL,NULL,'Local Health School',NULL,NULL,126,0,'2018-01-11 22:52:22','2018-01-11 22:52:33'),(81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-González, Elbert','Elbert Zope-González III',NULL,NULL,NULL,'2',NULL,'Both','2792249679',NULL,'Sample Data','Elbert','Y','Zope-González',NULL,4,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Zope-González III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:35'),(82,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Eagle River Action Fund','Eagle River Action Fund',NULL,NULL,NULL,'4',NULL,'Both','1334337273',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Eagle River Action Fund',NULL,NULL,NULL,0,NULL,NULL,122,'Eagle River Action Fund',NULL,NULL,NULL,0,'2018-01-11 22:52:22','2018-01-11 22:52:32'),(83,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Friends Technology Partnership','Friends Technology Partnership',NULL,NULL,NULL,NULL,NULL,'Both','1276423311',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Friends Technology Partnership',NULL,NULL,NULL,0,NULL,NULL,158,'Friends Technology Partnership',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(84,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith-Wattson, Sherman','Sherman Smith-Wattson',NULL,NULL,NULL,NULL,NULL,'Both','3332040614',NULL,'Sample Data','Sherman','F','Smith-Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Smith-Wattson',NULL,2,'1997-11-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(85,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen family','Jensen family',NULL,NULL,NULL,NULL,NULL,'Both','797435572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen family',5,NULL,'Dear Jensen family',2,NULL,'Jensen family',NULL,NULL,NULL,0,NULL,'Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(86,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wagner, Bryon','Bryon Wagner III',NULL,NULL,NULL,'3',NULL,'Both','2042752954',NULL,'Sample Data','Bryon','','Wagner',NULL,4,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Bryon Wagner III',NULL,2,'1930-09-30',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(87,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson, Esta','Esta Jameson',NULL,NULL,NULL,'5',NULL,'Both','3062335151',NULL,'Sample Data','Esta','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Jameson',NULL,1,'1978-09-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(88,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Elizabeth','Elizabeth Parker',NULL,NULL,NULL,'2',NULL,'Both','3038072630',NULL,'Sample Data','Elizabeth','D','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Parker',NULL,1,'1950-04-28',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(89,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs, Damaris','Mrs. Damaris Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2985152224',NULL,'Sample Data','Damaris','D','Jacobs',1,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Mrs. Damaris Jacobs',NULL,NULL,'1952-08-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(90,'Household',NULL,1,0,0,0,1,0,NULL,NULL,'Patel family','Patel family',NULL,NULL,NULL,'4',NULL,'Both','1669281794',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Patel family',5,NULL,'Dear Patel family',2,NULL,'Patel family',NULL,NULL,NULL,0,NULL,'Patel family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(91,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Jackson','Jackson Yadav',NULL,NULL,NULL,NULL,NULL,'Both','1490538521',NULL,'Sample Data','Jackson','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Yadav',NULL,2,'1942-06-21',1,'2017-03-03',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(92,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jones-Jensen, Juliann','Juliann Jones-Jensen',NULL,NULL,NULL,NULL,NULL,'Both','983550463',NULL,'Sample Data','Juliann','','Jones-Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Jones-Jensen',NULL,NULL,'1957-01-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(93,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Adams, Landon','Landon Adams III',NULL,NULL,NULL,'1',NULL,'Both','1504862823',NULL,'Sample Data','Landon','','Adams',NULL,4,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Adams III',NULL,NULL,'1943-02-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(94,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Juliann','Juliann Parker',NULL,NULL,NULL,NULL,NULL,'Both','1013304220',NULL,'Sample Data','Juliann','Z','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Parker',NULL,1,'1935-03-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Iris','Iris Jensen',NULL,NULL,NULL,NULL,NULL,'Both','3094691992',NULL,'Sample Data','Iris','H','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(96,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Müller, Ray','Ray Müller',NULL,NULL,NULL,'5',NULL,'Both','1173052896',NULL,'Sample Data','Ray','E','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Müller',NULL,NULL,'1949-06-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(97,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Russell','Russell Adams',NULL,NULL,NULL,NULL,NULL,'Both','2150692920',NULL,'Sample Data','Russell','R','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Russell Adams',NULL,NULL,'1975-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(98,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Müller, Laree','Laree Müller',NULL,NULL,NULL,'4',NULL,'Both','4239017350',NULL,'Sample Data','Laree','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Müller',NULL,1,NULL,0,NULL,NULL,NULL,'Community Technology Fellowship',NULL,NULL,199,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Sanford','Sanford Zope',NULL,NULL,NULL,NULL,NULL,'Both','3485406852',NULL,'Sample Data','Sanford','Q','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Sanford Zope',NULL,2,'1952-05-29',1,'2017-04-27',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(100,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope, Rodrigo','Dr. Rodrigo Zope',NULL,NULL,NULL,'4',NULL,'Both','1659102983',NULL,'Sample Data','Rodrigo','K','Zope',4,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Dr. Rodrigo Zope',NULL,2,'1975-01-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(101,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Betty','Betty Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3063091038',NULL,'Sample Data','Betty','N','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Betty Roberts',NULL,1,'1982-08-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(102,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Shauna','Shauna Lee',NULL,NULL,NULL,NULL,NULL,'Both','3300398193',NULL,'Sample Data','Shauna','T','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Lee',NULL,NULL,'2004-02-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Bernadette','Ms. Bernadette Jones',NULL,NULL,NULL,'1',NULL,'Both','357713234',NULL,'Sample Data','Bernadette','','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Ms. Bernadette Jones',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(104,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'julianngrant-jensen@mymail.com','julianngrant-jensen@mymail.com',NULL,NULL,NULL,'2',NULL,'Both','3683215028',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear julianngrant-jensen@mymail.com',1,NULL,'Dear julianngrant-jensen@mymail.com',1,NULL,'julianngrant-jensen@mymail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(105,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Müller family','Müller family',NULL,NULL,NULL,NULL,NULL,'Both','1144797465',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Müller family',5,NULL,'Dear Müller family',2,NULL,'Müller family',NULL,NULL,NULL,0,NULL,'Müller family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(106,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'wattsonj@fakemail.net','wattsonj@fakemail.net',NULL,NULL,NULL,'4',NULL,'Both','3826410091',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear wattsonj@fakemail.net',1,NULL,'Dear wattsonj@fakemail.net',1,NULL,'wattsonj@fakemail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(107,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wattson, Princess','Princess Wattson',NULL,NULL,NULL,'3',NULL,'Both','1322463207',NULL,'Sample Data','Princess','G','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Wattson',NULL,1,'1979-09-10',0,NULL,NULL,NULL,'Washington Action Initiative',NULL,NULL,169,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(108,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Sanford','Sanford Jensen',NULL,NULL,NULL,'1',NULL,'Both','1526792308',NULL,'Sample Data','Sanford','X','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Sanford Jensen',NULL,2,'2008-03-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(109,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Adams, Arlyne','Arlyne Adams',NULL,NULL,NULL,NULL,NULL,'Both','4065496202',NULL,'Sample Data','Arlyne','I','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Adams',NULL,1,'1986-11-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(110,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Kacey','Ms. Kacey Smith',NULL,NULL,NULL,'2',NULL,'Both','4027129634',NULL,'Sample Data','Kacey','O','Smith',2,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Ms. Kacey Smith',NULL,1,'1979-03-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:36'),(111,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Yadav, Herminia','Mrs. Herminia Yadav',NULL,NULL,NULL,NULL,NULL,'Both','201559464',NULL,'Sample Data','Herminia','K','Yadav',1,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Mrs. Herminia Yadav',NULL,NULL,'1971-05-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(112,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Carlos','Carlos Adams',NULL,NULL,NULL,NULL,NULL,'Both','3745383924',NULL,'Sample Data','Carlos','R','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Adams',NULL,NULL,'1968-09-09',0,NULL,NULL,NULL,'Lubbock Sports Alliance',NULL,NULL,123,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(113,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Clint','Clint Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2437706084',NULL,'Sample Data','Clint','','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Deforest',NULL,NULL,'1957-10-08',1,'2017-08-02',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:24'),(114,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Scott','Mr. Scott Ivanov III',NULL,NULL,NULL,'2',NULL,'Both','1336634478',NULL,'Sample Data','Scott','','Ivanov',3,4,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Mr. Scott Ivanov III',NULL,2,'1957-01-12',1,'2017-01-29',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(115,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Allan','Dr. Allan Blackwell',NULL,NULL,NULL,'5',NULL,'Both','3904004195',NULL,'Sample Data','Allan','M','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Dr. Allan Blackwell',NULL,2,NULL,1,'2017-10-04',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(116,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'jameson.herminia@testing.net','jameson.herminia@testing.net',NULL,NULL,NULL,'3',NULL,'Both','1918708841',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jameson.herminia@testing.net',1,NULL,'Dear jameson.herminia@testing.net',1,NULL,'jameson.herminia@testing.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(117,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Juliann','Mrs. Juliann Jensen',NULL,NULL,NULL,NULL,NULL,'Both','530531227',NULL,'Sample Data','Juliann','','Jensen',1,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Mrs. Juliann Jensen',NULL,1,'1989-10-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(118,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Esta','Dr. Esta Jensen',NULL,NULL,NULL,'5',NULL,'Both','4290021443',NULL,'Sample Data','Esta','B','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Dr. Esta Jensen',NULL,1,'1975-07-13',0,NULL,NULL,NULL,'Global Sports Fellowship',NULL,NULL,142,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(119,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,NULL,NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(120,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Rolando','Mr. Rolando Samson',NULL,NULL,NULL,NULL,NULL,'Both','3728356464',NULL,'Sample Data','Rolando','','Samson',3,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Mr. Rolando Samson',NULL,2,'1962-06-25',1,'2017-02-10',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(121,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jay','Jay Samson',NULL,NULL,NULL,NULL,NULL,'Both','4164694386',NULL,'Sample Data','Jay','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Samson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Erik','Erik Lee III',NULL,NULL,NULL,NULL,NULL,'Both','3144007526',NULL,'Sample Data','Erik','','Lee',NULL,4,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Lee III',NULL,NULL,'1977-10-05',0,NULL,NULL,NULL,'Eagle River Action Fund',NULL,NULL,82,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(123,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lubbock Sports Alliance','Lubbock Sports Alliance',NULL,NULL,NULL,'3',NULL,'Both','4108994671',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lubbock Sports Alliance',NULL,NULL,NULL,0,NULL,NULL,112,'Lubbock Sports Alliance',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(124,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice family','Prentice family',NULL,NULL,NULL,NULL,NULL,'Both','3313623671',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Prentice family',5,NULL,'Dear Prentice family',2,NULL,'Prentice family',NULL,NULL,NULL,0,NULL,'Prentice family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(125,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Łąchowski, Santina','Mrs. Santina Łąchowski',NULL,NULL,NULL,'1',NULL,'Both','3814599784',NULL,'Sample Data','Santina','S','Łąchowski',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Łąchowski',NULL,1,'1962-06-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(126,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Local Health School','Local Health School',NULL,NULL,NULL,'1',NULL,'Both','947275750',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Health School',NULL,NULL,NULL,0,NULL,NULL,80,'Local Health School',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(127,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'jamesonr73@airmail.com','jamesonr73@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','2229369965',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jamesonr73@airmail.com',1,NULL,'Dear jamesonr73@airmail.com',1,NULL,'jamesonr73@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(128,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jameson, Roland','Roland Jameson',NULL,NULL,NULL,NULL,NULL,'Both','4082300659',NULL,'Sample Data','Roland','G','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Jameson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(129,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Bernadette','Bernadette Zope',NULL,NULL,NULL,'1',NULL,'Both','2602904844',NULL,'Sample Data','Bernadette','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette Zope',NULL,NULL,'2001-04-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(130,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Esta','Esta Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3595290803',NULL,'Sample Data','Esta','G','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Ivanov',NULL,1,'1950-07-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:24'),(131,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'valenedeforest@example.com','valenedeforest@example.com',NULL,NULL,NULL,NULL,NULL,'Both','127060476',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear valenedeforest@example.com',1,NULL,'Dear valenedeforest@example.com',1,NULL,'valenedeforest@example.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(132,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Smith family','Smith family',NULL,NULL,NULL,NULL,NULL,'Both','4082772645',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Smith family',5,NULL,'Dear Smith family',2,NULL,'Smith family',NULL,NULL,NULL,0,NULL,'Smith family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(133,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Sanford','Dr. Sanford Barkley III',NULL,NULL,NULL,NULL,NULL,'Both','975752860',NULL,'Sample Data','Sanford','Z','Barkley',4,4,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Dr. Sanford Barkley III',NULL,NULL,'1941-03-12',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:24'),(134,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Lee, Betty','Betty Lee',NULL,NULL,NULL,'4',NULL,'Both','4193978956',NULL,'Sample Data','Betty','S','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Betty Lee',NULL,NULL,'1928-10-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(135,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'New Hampshire Wellness Partnership','New Hampshire Wellness Partnership',NULL,NULL,NULL,'2',NULL,'Both','2216865210',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'New Hampshire Wellness Partnership',NULL,NULL,NULL,0,NULL,NULL,159,'New Hampshire Wellness Partnership',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(136,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov, Jackson','Jackson Ivanov Jr.',NULL,NULL,NULL,'4',NULL,'Both','3246901602',NULL,'Sample Data','Jackson','','Ivanov',NULL,1,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Ivanov Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(137,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav, Maxwell','Dr. Maxwell Yadav',NULL,NULL,NULL,'4',NULL,'Both','1292324110',NULL,'Sample Data','Maxwell','','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Dr. Maxwell Yadav',NULL,2,'1987-08-08',0,NULL,NULL,NULL,'Woodbridge Software Partnership',NULL,NULL,162,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(138,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Roberts-Samson family','Roberts-Samson family',NULL,NULL,NULL,'1',NULL,'Both','2677861429',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Roberts-Samson family',5,NULL,'Dear Roberts-Samson family',2,NULL,'Roberts-Samson family',NULL,NULL,NULL,0,NULL,'Roberts-Samson family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(139,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'kathleenb73@example.net','kathleenb73@example.net',NULL,NULL,NULL,NULL,NULL,'Both','762258939',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear kathleenb73@example.net',1,NULL,'Dear kathleenb73@example.net',1,NULL,'kathleenb73@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,'Black Canyon City Wellness Services',NULL,NULL,156,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Russell','Dr. Russell Nielsen',NULL,NULL,NULL,'2',NULL,'Both','2180719783',NULL,'Sample Data','Russell','','Nielsen',4,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Nielsen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(141,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Patel, Truman','Mr. Truman Patel',NULL,NULL,NULL,NULL,NULL,'Both','3372246222',NULL,'Sample Data','Truman','','Patel',3,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Mr. Truman Patel',NULL,2,'1967-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(142,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Global Sports Fellowship','Global Sports Fellowship',NULL,NULL,NULL,'5',NULL,'Both','1702261661',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Sports Fellowship',NULL,NULL,NULL,0,NULL,NULL,118,'Global Sports Fellowship',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Eleonor','Ms. Eleonor Cooper',NULL,NULL,NULL,'3',NULL,'Both','3505180760',NULL,'Sample Data','Eleonor','K','Cooper',2,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Ms. Eleonor Cooper',NULL,1,'1932-09-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(144,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Elina','Mrs. Elina Adams',NULL,NULL,NULL,NULL,NULL,'Both','3914819984',NULL,'Sample Data','Elina','S','Adams',1,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Mrs. Elina Adams',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Betty','Betty Zope',NULL,NULL,NULL,NULL,NULL,'Both','2849696155',NULL,'Sample Data','Betty','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Betty Zope',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(146,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Main Culture Collective','Main Culture Collective',NULL,NULL,NULL,'1',NULL,'Both','2087673647',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Culture Collective',NULL,NULL,NULL,0,NULL,NULL,14,'Main Culture Collective',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Carlos','Carlos Roberts',NULL,NULL,NULL,NULL,NULL,'Both','2188463441',NULL,'Sample Data','Carlos','','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Roberts',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:36'),(148,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Samuels-Patel, Allen','Allen Samuels-Patel III',NULL,NULL,NULL,'4',NULL,'Both','1081420475',NULL,'Sample Data','Allen','Q','Samuels-Patel',NULL,4,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Samuels-Patel III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(149,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Elina','Mrs. Elina Terry',NULL,NULL,NULL,NULL,NULL,'Both','2453833535',NULL,'Sample Data','Elina','','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Mrs. Elina Terry',NULL,1,'1951-09-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(150,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'ashleym95@fakemail.co.uk','ashleym95@fakemail.co.uk',NULL,NULL,NULL,'4',NULL,'Both','2205894248',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ashleym95@fakemail.co.uk',1,NULL,'Dear ashleym95@fakemail.co.uk',1,NULL,'ashleym95@fakemail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(151,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Robertson-Łąchowski, Carlos','Carlos Robertson-Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','50857875',NULL,'Sample Data','Carlos','','Robertson-Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Robertson-Łąchowski',NULL,2,'2002-12-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(152,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Rosario','Rosario Blackwell',NULL,NULL,NULL,'4',NULL,'Both','212312556',NULL,'Sample Data','Rosario','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Rosario Blackwell',NULL,NULL,'1941-08-23',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(153,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Lincoln','Mr. Lincoln Jameson',NULL,NULL,NULL,'5',NULL,'Both','2753899992',NULL,'Sample Data','Lincoln','','Jameson',3,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Mr. Lincoln Jameson',NULL,NULL,'1990-11-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Arlyne','Arlyne Jensen',NULL,NULL,NULL,'2',NULL,'Both','2653015935',NULL,'Sample Data','Arlyne','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Jensen',NULL,1,'2000-06-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(155,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman, Landon','Landon Bachman',NULL,NULL,NULL,NULL,NULL,'Both','1765533665',NULL,'Sample Data','Landon','','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Bachman',NULL,2,'1977-01-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(156,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Black Canyon City Wellness Services','Black Canyon City Wellness Services',NULL,NULL,NULL,NULL,NULL,'Both','4251495249',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Black Canyon City Wellness Services',NULL,NULL,NULL,0,NULL,NULL,139,'Black Canyon City Wellness Services',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jensen.r.sherman83@spamalot.org','jensen.r.sherman83@spamalot.org',NULL,NULL,NULL,NULL,NULL,'Both','3994249482',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear jensen.r.sherman83@spamalot.org',1,NULL,'Dear jensen.r.sherman83@spamalot.org',1,NULL,'jensen.r.sherman83@spamalot.org',NULL,NULL,NULL,0,NULL,NULL,NULL,'Friends Sustainability Fund',NULL,NULL,177,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(158,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Lee, Elbert','Elbert Lee II',NULL,NULL,NULL,'2',NULL,'Both','1636754975',NULL,'Sample Data','Elbert','','Lee',NULL,3,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Lee II',NULL,2,NULL,0,NULL,NULL,NULL,'Friends Technology Partnership',NULL,NULL,83,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(159,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Carlos','Carlos Müller II',NULL,NULL,NULL,'2',NULL,'Both','457253515',NULL,'Sample Data','Carlos','D','Müller',NULL,3,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Müller II',NULL,2,'1975-07-27',0,NULL,NULL,NULL,'New Hampshire Wellness Partnership',NULL,NULL,135,0,'2018-01-11 22:52:23','2018-01-11 22:52:32'),(160,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope, Kandace','Kandace Zope',NULL,NULL,NULL,NULL,NULL,'Both','533148202',NULL,'Sample Data','Kandace','W','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Zope',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(161,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Carylon','Carylon Prentice',NULL,NULL,NULL,NULL,NULL,'Both','1810903097',NULL,'Sample Data','Carylon','S','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Prentice',NULL,1,'1945-05-21',1,'2017-09-21',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(162,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Woodbridge Software Partnership','Woodbridge Software Partnership',NULL,NULL,NULL,'1',NULL,'Both','2157888853',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Software Partnership',NULL,NULL,NULL,0,NULL,NULL,137,'Woodbridge Software Partnership',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(163,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Elizabeth','Elizabeth Lee',NULL,NULL,NULL,NULL,NULL,'Both','244095621',NULL,'Sample Data','Elizabeth','','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Lee',NULL,1,'1993-11-04',0,NULL,NULL,NULL,'Pennsylvania Technology Association',NULL,NULL,25,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(164,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Bay Health Partnership','Bay Health Partnership',NULL,NULL,NULL,NULL,NULL,'Both','3477857079',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Health Partnership',NULL,NULL,NULL,0,NULL,NULL,51,'Bay Health Partnership',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(165,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Smith-Wattson, Lashawnda','Lashawnda Smith-Wattson',NULL,NULL,NULL,NULL,NULL,'Both','3325672572',NULL,'Sample Data','Lashawnda','','Smith-Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Smith-Wattson',NULL,NULL,'1994-11-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(166,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Kenny','Kenny Patel',NULL,NULL,NULL,'2',NULL,'Both','73584714',NULL,'Sample Data','Kenny','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Kenny Patel',NULL,2,'1940-05-06',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:28'),(167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Kiara','Kiara Prentice',NULL,NULL,NULL,'5',NULL,'Both','369964977',NULL,'Sample Data','Kiara','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Prentice',NULL,1,'2006-09-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(168,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Brent','Mr. Brent Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1398082986',NULL,'Sample Data','Brent','','Jameson',3,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Mr. Brent Jameson',NULL,NULL,'1986-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:36'),(169,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Washington Action Initiative','Washington Action Initiative',NULL,NULL,NULL,'1',NULL,'Both','2089762300',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Washington Action Initiative',NULL,NULL,NULL,0,NULL,NULL,107,'Washington Action Initiative',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(170,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Landon','Landon Zope',NULL,NULL,NULL,'2',NULL,'Both','4025242907',NULL,'Sample Data','Landon','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Zope',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:25'),(171,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Smith, Landon','Dr. Landon Smith Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1605229740',NULL,'Sample Data','Landon','','Smith',4,2,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Smith Sr.',NULL,NULL,'1968-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:36'),(172,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav family','Yadav family',NULL,NULL,NULL,'2',NULL,'Both','1777336212',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Yadav family',5,NULL,'Dear Yadav family',2,NULL,'Yadav family',NULL,NULL,NULL,0,NULL,'Yadav family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(173,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman, Margaret','Margaret Bachman',NULL,NULL,NULL,NULL,NULL,'Both','2110616060',NULL,'Sample Data','Margaret','M','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Bachman',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:24'),(174,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Robertson, Jed','Mr. Jed Robertson',NULL,NULL,NULL,NULL,NULL,'Both','1656810966',NULL,'Sample Data','Jed','H','Robertson',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Robertson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ashliei@mymail.com','ashliei@mymail.com',NULL,NULL,NULL,NULL,NULL,'Both','4056188868',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ashliei@mymail.com',1,NULL,'Dear ashliei@mymail.com',1,NULL,'ashliei@mymail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:34'),(176,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Billy','Mr. Billy Roberts II',NULL,NULL,NULL,'1',NULL,'Both','1819007607',NULL,'Sample Data','Billy','','Roberts',3,3,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Mr. Billy Roberts II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:27'),(177,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Friends Sustainability Fund','Friends Sustainability Fund',NULL,NULL,NULL,NULL,NULL,'Both','1978872528',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Friends Sustainability Fund',NULL,NULL,NULL,0,NULL,NULL,157,'Friends Sustainability Fund',NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:33'),(178,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Patel, Omar','Omar Patel',NULL,NULL,NULL,'5',NULL,'Both','2759109046',NULL,'Sample Data','Omar','J','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Patel',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(179,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Carlos','Carlos González II',NULL,NULL,NULL,'3',NULL,'Both','941551989',NULL,'Sample Data','Carlos','','González',NULL,3,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos González II',NULL,2,'1994-04-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(180,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'4',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:31'),(181,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Jackson','Dr. Jackson Parker Jr.',NULL,NULL,NULL,'2',NULL,'Both','2328007188',NULL,'Sample Data','Jackson','Q','Parker',4,1,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Parker Jr.',NULL,2,'1942-03-31',1,'2017-03-01',NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:24'),(182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Roland','Roland Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1456133565',NULL,'Sample Data','Roland','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Wilson',NULL,2,'1972-05-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:35'),(183,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Norris','Norris Yadav',NULL,NULL,NULL,'1',NULL,'Both','3408497299',NULL,'Sample Data','Norris','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Yadav',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:23','2018-01-11 22:52:26'),(184,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Lou','Lou Jameson III',NULL,NULL,NULL,NULL,NULL,'Both','1885385788',NULL,'Sample Data','Lou','','Jameson',NULL,4,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Jameson III',NULL,NULL,'1958-11-28',0,NULL,NULL,NULL,'Newtonia Peace Systems',NULL,NULL,22,0,'2018-01-11 22:52:24','2018-01-11 22:52:32'),(185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Billy','Mr. Billy Roberts Sr.',NULL,NULL,NULL,'4',NULL,'Both','1819007607',NULL,'Sample Data','Billy','','Roberts',3,2,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Mr. Billy Roberts Sr.',NULL,NULL,'1968-02-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:26'),(186,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Wattson-Ivanov, Nicole','Dr. Nicole Wattson-Ivanov',NULL,NULL,NULL,'3',NULL,'Both','13667665',NULL,'Sample Data','Nicole','Y','Wattson-Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Dr. Nicole Wattson-Ivanov',NULL,1,'1984-12-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:34'),(187,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Andrew','Mr. Andrew Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2805225818',NULL,'Sample Data','Andrew','','Jacobs',3,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Mr. Andrew Jacobs',NULL,2,'1974-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:26'),(188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Esta','Esta Bachman',NULL,NULL,NULL,'2',NULL,'Both','981761701',NULL,'Sample Data','Esta','F','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Bachman',NULL,1,'1954-08-13',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:27'),(189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Billy','Billy Wattson Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3097131221',NULL,'Sample Data','Billy','','Wattson',NULL,2,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Wattson Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:26'),(190,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Sherman','Mr. Sherman Adams',NULL,NULL,NULL,NULL,NULL,'Both','2610997591',NULL,'Sample Data','Sherman','I','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Mr. Sherman Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:36'),(191,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Teddy','Teddy Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2986504728',NULL,'Sample Data','Teddy','M','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Deforest',NULL,2,'1947-08-08',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:25'),(192,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Princess','Dr. Princess Smith',NULL,NULL,NULL,'3',NULL,'Both','1829040268',NULL,'Sample Data','Princess','','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Dr. Princess Smith',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:27'),(193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Tanya','Dr. Tanya Lee',NULL,NULL,NULL,NULL,NULL,'Both','776617860',NULL,'Sample Data','Tanya','H','Lee',4,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Dr. Tanya Lee',NULL,1,'1947-07-12',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:28'),(194,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Smith-Wattson family','Smith-Wattson family',NULL,NULL,NULL,'4',NULL,'Both','1732260435',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Smith-Wattson family',5,NULL,'Dear Smith-Wattson family',2,NULL,'Smith-Wattson family',NULL,NULL,NULL,0,NULL,'Smith-Wattson family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:31'),(195,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Billy','Billy Wagner',NULL,NULL,NULL,'3',NULL,'Both','1288341691',NULL,'Sample Data','Billy','N','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Wagner',NULL,NULL,'1976-01-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:27'),(196,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'3',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:31'),(197,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Samuels, Kacey','Kacey Samuels',NULL,NULL,NULL,NULL,NULL,'Both','397451289',NULL,'Sample Data','Kacey','','Samuels',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Samuels',NULL,NULL,'1967-10-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:25'),(198,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Clint','Clint Cruz Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3677859642',NULL,'Sample Data','Clint','D','Cruz',NULL,2,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Cruz Sr.',NULL,2,'1977-01-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:25'),(199,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Community Technology Fellowship','Community Technology Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','4286167407',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Community Technology Fellowship',NULL,NULL,NULL,0,NULL,NULL,98,'Community Technology Fellowship',NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:33'),(200,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Adams family','Adams family',NULL,NULL,NULL,NULL,NULL,'Both','1515323104',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams family',5,NULL,'Dear Adams family',2,NULL,'Adams family',NULL,NULL,NULL,0,NULL,'Adams family',NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:31'),(201,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson, Santina','Mrs. Santina Samson',NULL,NULL,NULL,'2',NULL,'Both','1196980593',NULL,'Sample Data','Santina','','Samson',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Samson',NULL,1,'1961-08-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2018-01-11 22:52:24','2018-01-11 22:52:36');
 /*!40000 ALTER TABLE `civicrm_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -228,7 +227,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contribution` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution` DISABLE KEYS */;
-INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`) VALUES (1,2,1,NULL,4,'2010-04-11 00:00:00',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL),(2,4,1,NULL,1,'2010-03-21 00:00:00',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(3,6,1,NULL,4,'2010-04-29 00:00:00',0.00,25.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL),(4,8,1,NULL,4,'2010-04-11 00:00:00',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL),(5,16,1,NULL,4,'2010-04-15 00:00:00',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL),(6,19,1,NULL,4,'2010-04-11 00:00:00',0.00,175.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL),(7,82,1,NULL,1,'2010-03-27 00:00:00',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(8,92,1,NULL,1,'2010-03-08 00:00:00',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(9,34,1,NULL,1,'2010-04-22 00:00:00',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(10,71,1,NULL,1,'2009-07-01 11:53:50',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(11,43,1,NULL,1,'2009-07-01 12:55:41',0.00,200.00,NULL,NULL,'PL43II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(12,32,1,NULL,1,'2009-10-01 11:53:50',0.00,200.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(13,32,1,NULL,1,'2009-12-01 12:55:41',0.00,200.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(14,113,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(15,137,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(16,81,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(17,164,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(18,66,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(19,96,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(20,141,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(21,28,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(22,199,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(23,73,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(24,80,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(25,70,2,NULL,1,'2017-11-02 10:27:58',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(26,61,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(27,52,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(28,44,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(29,191,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(30,101,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(31,69,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(32,53,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(33,201,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(34,26,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(35,47,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(36,46,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(37,172,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(38,134,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(39,144,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(40,168,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(41,100,2,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(42,64,2,NULL,1,'2017-11-02 10:27:58',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(43,67,2,NULL,1,'2017-11-02 10:27:58',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(45,2,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(46,4,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(47,6,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(48,12,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(49,15,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(50,18,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(51,23,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(52,26,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(53,27,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(54,32,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(55,35,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(56,44,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(57,45,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(58,52,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(59,54,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(60,55,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(61,58,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(62,61,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(63,73,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(64,78,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(65,80,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(66,82,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(67,87,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(68,92,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(69,93,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(70,95,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(71,96,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(72,97,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(73,100,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(74,104,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(75,112,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(76,114,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(77,115,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(78,120,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(79,133,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(80,136,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(81,137,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(82,141,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(83,142,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(84,143,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(85,151,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(86,166,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(87,175,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(88,176,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(89,177,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(90,179,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(91,180,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(92,182,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(93,187,4,NULL,1,'2017-11-02 10:27:58',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(94,190,4,NULL,1,'2017-11-02 10:27:58',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2017-11-02 10:27:58',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`) VALUES (1,2,1,NULL,4,'2010-04-11 00:00:00',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL),(2,4,1,NULL,1,'2010-03-21 00:00:00',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(3,6,1,NULL,4,'2010-04-29 00:00:00',0.00,25.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL),(4,8,1,NULL,4,'2010-04-11 00:00:00',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL),(5,16,1,NULL,4,'2010-04-15 00:00:00',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL),(6,19,1,NULL,4,'2010-04-11 00:00:00',0.00,175.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL),(7,82,1,NULL,1,'2010-03-27 00:00:00',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(8,92,1,NULL,1,'2010-03-08 00:00:00',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(9,34,1,NULL,1,'2010-04-22 00:00:00',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(10,71,1,NULL,1,'2009-07-01 11:53:50',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(11,43,1,NULL,1,'2009-07-01 12:55:41',0.00,200.00,NULL,NULL,'PL43II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(12,32,1,NULL,1,'2009-10-01 11:53:50',0.00,200.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(13,32,1,NULL,1,'2009-12-01 12:55:41',0.00,200.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(14,43,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(15,62,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(16,112,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(17,55,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(18,155,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(19,121,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(20,127,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(21,75,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(22,98,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(23,30,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(24,153,2,NULL,1,'2018-01-12 09:52:49',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(25,32,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(26,175,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(27,6,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(28,21,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(29,157,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(30,184,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(31,23,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(32,195,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(33,154,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(34,34,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(35,144,2,NULL,1,'2018-01-12 09:52:49',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(36,77,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(37,10,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(38,5,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(39,27,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(40,31,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(41,41,2,NULL,1,'2018-01-12 09:52:49',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(42,64,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(43,118,2,NULL,1,'2018-01-12 09:52:49',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(45,4,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(46,5,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(47,8,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(48,15,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(49,16,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(50,18,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(51,19,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(52,27,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(53,31,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(54,32,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(55,33,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(56,37,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(57,39,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(58,43,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(59,44,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(60,51,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(61,54,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(62,64,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(63,68,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(64,71,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(65,74,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(66,76,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(67,78,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(68,83,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(69,86,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(70,88,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(71,90,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(72,91,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(73,100,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(74,104,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(75,105,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(76,114,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(77,115,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(78,119,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(79,123,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(80,126,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(81,133,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(82,136,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(83,137,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(84,138,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(85,140,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(86,144,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(87,149,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(88,154,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(89,161,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(90,171,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(91,175,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(92,191,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(93,198,4,NULL,1,'2018-01-12 09:52:50',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(94,200,4,NULL,1,'2018-01-12 09:52:50',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2018-01-12 09:52:50',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_contribution` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -266,7 +265,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contribution_soft` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_soft` DISABLE KEYS */;
-INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES (1,8,111,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,111,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
+INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES (1,8,57,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,57,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
 /*!40000 ALTER TABLE `civicrm_contribution_soft` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -399,7 +398,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
-INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'4.7.30',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'4.7.31',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -409,7 +408,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_email` WRITE;
 /*!40000 ALTER TABLE `civicrm_email` DISABLE KEYS */;
-INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES (1,1,1,'fixme.domainemail@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(2,109,1,'meiwilson@infomail.com',1,0,0,0,NULL,NULL,NULL,NULL),(3,69,1,'herminiat@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(4,69,1,'herminiat84@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(5,111,1,'rbarkley@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(6,111,1,'barkley.rodrigo39@fakemail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(7,143,1,'jacksonc@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(8,143,1,'cruz.jackson26@fakemail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(9,26,1,'parkerc66@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(10,171,1,'errold96@lol.org',1,0,0,0,NULL,NULL,NULL,NULL),(11,171,1,'errold@airmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(12,52,1,'jacobs.sharyn@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(13,122,1,'lincolnb@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(14,146,1,'jgonzlez@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(15,163,1,'lee.laree@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(16,163,1,'lx.lee@mymail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(17,63,1,'eleonorzope53@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(18,165,1,'daz.winford@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(19,165,1,'dazw@airmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(20,103,1,'wagner.maxwell18@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(21,124,1,'zope.jed@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(22,170,1,'dimitrovb78@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(23,28,1,'irisgrant60@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(24,28,1,'is.grant@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),(25,76,1,'jones.alexia@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(26,101,1,'daz.w.magan91@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(27,3,1,'wilson.p.damaris@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(28,112,1,'samuels.g.lashawnda@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(29,112,1,'samuelsl9@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(30,99,1,'barkley.carlos@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(31,99,1,'carlosbarkley68@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(32,72,1,'alexiawattson99@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(33,72,1,'alexiaw@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),(34,60,1,'rolandor@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(35,191,1,'adams.russell@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(36,189,1,'kandacegonzlez@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(37,178,1,'lawerencechowski@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(38,178,1,'chowski.lawerence6@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),(39,56,1,'aterry@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(40,119,1,'kyadav@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(41,119,1,'kiaray@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(42,48,1,'robertsonk@lol.info',1,0,0,0,NULL,NULL,NULL,NULL),(43,158,1,'ivanov.roland@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(44,158,1,'ivanov.roland5@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),(45,89,1,'wilson.ivey@notmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(46,89,1,'iveywilson@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(47,172,1,'cruza96@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(48,176,1,'scarletz@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(49,176,1,'scarletz@testmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(50,113,1,'bsmith38@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(51,113,1,'smith.billy87@fakemail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(52,107,1,'badams11@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(53,107,1,'brentadams@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(54,149,1,'jv.samson@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(55,161,1,'cruz.n.justina25@fakemail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(56,188,1,'rolandot@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(57,188,1,'rterry@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(58,80,1,'aw.samson@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),(59,80,1,'aw.samson8@sample.com',0,0,0,0,NULL,NULL,NULL,NULL),(60,87,1,'shermant@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(61,88,1,'norrisr62@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(62,179,1,'ax.reynolds@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(63,179,1,'reynolds.arlyne52@sample.org',0,0,0,0,NULL,NULL,NULL,NULL),(64,68,1,'wilsonb@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),(65,25,1,'blackwellj@testing.org',1,0,0,0,NULL,NULL,NULL,NULL),(66,25,1,'jacobblackwell@fishmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(67,126,1,'et.daz46@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(68,126,1,'daz.t.elizabeth@testmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(69,120,1,'rf.samson@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(70,162,1,'dimitrov.errol@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),(71,61,1,'bl.daz@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(72,49,1,'chowskir@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(73,49,1,'ro.chowski@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),(74,127,1,'deforestr@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(75,62,1,'lawerenceblackwell@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),(76,62,1,'lawerenceb11@notmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(77,73,1,'blackwell.angelika51@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(78,73,1,'angelikablackwell@spamalot.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(79,131,1,'kaceyzope-yadav80@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(80,95,1,'gonzlez.z.maxwell68@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(81,7,1,'wattson-gonzlez.heidi19@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(82,167,1,'gonzlezr@sample.org',1,0,0,0,NULL,NULL,NULL,NULL),(83,71,1,'gonzlez.princess@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(84,71,1,'gonzlez.k.princess@mymail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(85,12,1,'barkley.r.herminia@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(86,35,1,'wilson-barkley.laree14@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(87,35,1,'lareew@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),(88,86,1,'olsenl@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(89,142,1,'el.olsen@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(90,142,1,'el.olsen96@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(91,115,1,'allanolsen@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(92,115,1,'olsen.allan@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(93,190,1,'irisdimitrov@airmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(94,190,1,'dimitrov.iris@mymail.net',0,0,0,0,NULL,NULL,NULL,NULL),(95,140,1,'dimitrovr@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(96,140,1,'rolandodimitrov@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(97,134,1,'rodrigonielsen@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(98,134,1,'rnielsen98@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(99,15,1,'kl.nielsen@infomail.com',1,0,0,0,NULL,NULL,NULL,NULL),(100,106,1,'nielsen.c.allen66@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(101,102,1,'nicoleterry@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(102,102,1,'terry.nicole81@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(103,175,1,'damarisj@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(104,175,1,'jameson-terry.damaris@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),(105,200,1,'dimitrov.rodrigo@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(106,200,1,'rodrigod@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(107,44,1,'dimitrovb69@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(108,153,1,'dimitrovj@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(109,137,1,'tanyawilson48@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(110,137,1,'tanyaw45@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(111,196,1,'sharynt@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(112,196,1,'sharynterrell19@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),(113,166,1,'kandacew85@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(114,42,1,'jeds68@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(115,42,1,'samson.jed99@testing.biz',0,0,0,0,NULL,NULL,NULL,NULL),(116,144,1,'jinasamson-gonzlez@sample.org',1,0,0,0,NULL,NULL,NULL,NULL),(117,129,1,'asamson-gonzlez@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),(118,129,1,'angelikasamson-gonzlez@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(119,105,1,'cooper.rodrigo70@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(120,105,1,'cooper.l.rodrigo@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(121,110,1,'jq.parker-cooper@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(122,110,1,'juliannp@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),(123,132,1,'acooper@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(124,54,1,'dimitrov.junko@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(125,32,1,'jamesonr@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(126,32,1,'jameson.russell@airmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(127,100,1,'olsen-jameson.y.betty53@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(128,100,1,'olsen-jamesonb50@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(129,159,1,'ey.jameson79@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(130,141,1,'jameson.margaret@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(131,141,1,'jameson.margaret82@fishmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(132,41,1,'roberts.irvin@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(133,41,1,'robertsi@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(134,130,1,'roberts.norris11@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(135,130,1,'norrisroberts37@fishmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(136,157,1,'lashawndaroberts88@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(137,198,1,'terry.rolando@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(138,198,1,'rterry@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),(139,180,1,'craigterry-lee@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(140,81,1,'kterry-lee@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(141,195,1,'carlosa@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(142,195,1,'cadams@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),(143,193,1,'adamst49@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(144,117,1,'barrydeforest7@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(145,117,1,'deforestb50@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(146,160,1,'lashawndawilson-deforest@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(147,24,1,'deforest.megan@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(148,77,1,'deforestn@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(149,138,1,'sx.deforest@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(150,138,1,'sx.deforest85@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(151,104,1,'meganpatel@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(152,104,1,'ml.patel@notmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(153,9,1,'je.deforest-patel@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(154,9,1,'jeromedeforest-patel@airmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(155,21,1,'omarm89@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(156,21,1,'omarm8@infomail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(157,152,1,'roberts-daz.kiara93@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(158,97,1,'daz.t.truman@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(159,55,3,'contact@njlegalcenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(160,184,3,'info@globaleducationinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),(161,160,2,'lashawndawilson-deforest@globaleducationinitiative.org',0,0,0,0,NULL,NULL,NULL,NULL),(162,39,3,'service@urbansports.org',1,0,0,0,NULL,NULL,NULL,NULL),(163,200,2,'dimitrovr@urbansports.org',0,0,0,0,NULL,NULL,NULL,NULL),(164,65,3,'sales@iowaculturecenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(165,52,2,'sjacobs@iowaculturecenter.org',0,0,0,0,NULL,NULL,NULL,NULL),(166,156,3,'info@communityculture.org',1,0,0,0,NULL,NULL,NULL,NULL),(167,10,3,'info@creativeculturecenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(168,33,2,'prentice.ashley40@creativeculturecenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(169,82,3,'contact@secondtrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(170,90,2,'tanyadimitrov@secondtrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(171,22,3,'info@pennsylvaniamusicacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),(172,30,3,'feedback@friendstrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(173,158,2,'ivanov.roland@friendstrust.org',0,0,0,0,NULL,NULL,NULL,NULL),(174,34,3,'sales@collegeempowerment.org',1,0,0,0,NULL,NULL,NULL,NULL),(175,194,2,'josefalee@collegeempowerment.org',1,0,0,0,NULL,NULL,NULL,NULL),(176,4,3,'contact@texastechnologyalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(177,66,2,'dimitrov.i.kathleen12@texastechnologyalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,23,3,'feedback@statesadvocacytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(179,134,2,'rodrigonielsen72@statesadvocacytrust.org',0,0,0,0,NULL,NULL,NULL,NULL),(180,29,3,'sales@progressivepeacecollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(181,140,2,'rolandod@progressivepeacecollective.org',0,0,0,0,NULL,NULL,NULL,NULL),(182,136,3,'service@progressiveaction.org',1,0,0,0,NULL,NULL,NULL,NULL),(183,32,2,'ry.jameson@progressiveaction.org',0,0,0,0,NULL,NULL,NULL,NULL),(184,43,3,'contact@northboroughsoftwaresystems.org',1,0,0,0,NULL,NULL,NULL,NULL),(185,7,2,'heidiwattson-gonzlez@northboroughsoftwaresystems.org',0,0,0,0,NULL,NULL,NULL,NULL),(186,92,3,'contact@indianaagriculturefellowship.org',1,0,0,0,NULL,NULL,NULL,NULL),(187,19,2,'bolsen@indianaagriculturefellowship.org',1,0,0,0,NULL,NULL,NULL,NULL),(188,85,3,'feedback@urbanactioninitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),(189,81,2,'kathleenterry-lee23@urbanactioninitiative.org',0,0,0,0,NULL,NULL,NULL,NULL),(190,151,3,'info@urbanculture.org',1,0,0,0,NULL,NULL,NULL,NULL),(191,129,2,'asamson-gonzlez@urbanculture.org',0,0,0,0,NULL,NULL,NULL,NULL),(192,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(193,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(194,NULL,1,'celebration@example.org',0,0,0,0,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES (1,1,1,'fixme.domainemail@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(2,26,1,'smith.santina@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(3,78,1,'parkere47@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(4,78,1,'parker.esta@lol.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(5,53,1,'wattson.s.troy62@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(6,173,1,'mm.bachman51@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(7,173,1,'bachmanm50@sample.biz',0,0,0,0,NULL,NULL,NULL,NULL),(8,133,1,'barkley.z.sanford6@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(9,133,1,'sz.barkley@fishmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(10,46,1,'parkers23@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(11,46,1,'parkers@spamalot.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(12,130,1,'eg.ivanov9@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(13,130,1,'eg.ivanov40@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(14,20,1,'justinag@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(15,20,1,'jgonzlez@fishmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(16,159,1,'cd.mller@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(17,28,1,'grantl@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(18,28,1,'lx.grant@fakemail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(19,197,1,'ksamuels79@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(20,64,1,'bachmanm@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(21,64,1,'bachman.mei@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(22,49,1,'mb.bachman@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(23,49,1,'bachman.b.magan@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(24,170,1,'zopel@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(25,198,1,'cruzc92@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(26,143,1,'eleonorcooper57@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(27,71,1,'jensen.kathlyn44@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(28,102,1,'lee.shauna@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(29,102,1,'lee.shauna@airmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(30,103,1,'bernadettejones@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(31,103,1,'jonesb@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(32,63,1,'cooper.u.brzczysaw57@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(33,63,1,'cooperb@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(34,191,1,'teddydeforest@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(35,101,1,'robertsb@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(36,101,1,'roberts.betty@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(37,54,1,'jv.deforest@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),(38,114,1,'ivanovs61@example.org',1,0,0,0,NULL,NULL,NULL,NULL),(39,114,1,'ivanovs@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(40,185,1,'billyroberts@spamalot.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(41,185,1,'roberts.billy@sample.biz',0,0,0,0,NULL,NULL,NULL,NULL),(42,10,1,'samuels.omar@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(43,10,1,'samuelso82@example.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(44,88,1,'parkere@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(45,189,1,'wattson.billy20@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(46,189,1,'wattson.billy40@fishmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(47,106,1,'wattsonj@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(48,115,1,'blackwella70@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(49,152,1,'blackwellr@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(50,67,1,'anielsen@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(51,41,1,'ivanov.lawerence@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(52,8,1,'cyadav78@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(53,139,1,'blackwell.j.kathleen@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(54,139,1,'kathleenb73@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(55,13,1,'deforestt@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(56,17,1,'clintb@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(57,17,1,'barkleyc@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(58,55,1,'sonnynielsen@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(59,55,1,'nielsens8@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(60,149,1,'terrye17@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(61,127,1,'jamesonr73@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(62,35,1,'lee.jed@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(63,176,1,'roberts.billy43@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(64,176,1,'roberts.billy@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(65,136,1,'jivanov@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(66,136,1,'jacksonivanov@lol.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(67,11,1,'id.jacobs90@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(68,11,1,'jacobs.ivey@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),(69,192,1,'smith.princess@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(70,86,1,'bryonwagner@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(71,43,1,'kathleenmller@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(72,24,1,'acooper@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(73,195,1,'billyw@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(74,195,1,'wagnerb@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(75,66,1,'rolandw70@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(76,66,1,'rolandwagner94@testmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(77,50,1,'se.smith@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(78,131,1,'valenedeforest@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(79,193,1,'leet@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(80,193,1,'tanyalee@testing.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(81,166,1,'kennypatel@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(82,140,1,'nielsen.russell1@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(83,140,1,'russelln5@testing.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(84,161,1,'prenticec26@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),(85,167,1,'kiarap@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),(86,58,1,'prentice.betty63@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(87,100,1,'zope.rodrigo16@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),(88,100,1,'zope.rodrigo@testmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(89,23,1,'zope.damaris@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(90,148,1,'aq.samuels-patel@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(91,148,1,'samuels-patel.allen@fakemail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(92,76,1,'jf.patel21@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(93,99,1,'sanfordzope99@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(94,48,1,'jz.zope@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(95,48,1,'zope.z.junko@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(96,145,1,'zopeb40@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(97,160,1,'zope.w.kandace@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(98,160,1,'kandacez@sample.biz',0,0,0,0,NULL,NULL,NULL,NULL),(99,18,1,'eh.wattson@spamalot.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(100,18,1,'wattson.h.elbert@lol.net',0,0,0,0,NULL,NULL,NULL,NULL),(101,175,1,'ivanov.ashlie71@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(102,175,1,'ashliei@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),(103,186,1,'wattson-ivanovn92@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(104,186,1,'ny.wattson-ivanov@testing.org',0,0,0,0,NULL,NULL,NULL,NULL),(105,45,1,'adamsb@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(106,144,1,'elinaadams@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(107,109,1,'arlyneadams19@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(108,109,1,'arlyneadams@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(109,158,1,'elee@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(110,122,1,'leee14@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(111,122,1,'lee.erik@example.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(112,98,1,'lmller@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(113,5,1,'jedm21@sample.org',1,0,0,0,NULL,NULL,NULL,NULL),(114,5,1,'jedmller@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(115,6,1,'jensen.jay@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),(116,92,1,'jones-jensen.juliann@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(117,92,1,'jones-jensen.juliann@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(118,108,1,'jensen.sanford@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(119,154,1,'arlynejensen78@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(120,36,1,'yadavj@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(121,111,1,'yadavh3@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(122,111,1,'yadavh@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(123,150,1,'ashleym@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(124,150,1,'ashleym95@fakemail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(125,16,1,'mcreynolds-wilsonk65@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(126,16,1,'kathleenmcreynolds-wilson72@fishmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(127,21,1,'kennymcreynolds-wilson23@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(128,21,1,'kennym43@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(129,81,1,'elbertz55@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(130,81,1,'zope-gonzleze62@testmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(131,12,1,'kathleenzope-gonzlez@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(132,12,1,'zope-gonzlezk24@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(133,79,1,'jamesonk@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(134,79,1,'jameson.kacey@mymail.info',0,0,0,0,NULL,NULL,NULL,NULL),(135,116,1,'hjameson77@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(136,116,1,'jameson.herminia@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),(137,157,1,'jensen.r.sherman83@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(138,104,1,'julianngrant-jensen@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),(139,118,1,'jensen.b.esta@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),(140,118,1,'eb.jensen@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(141,107,1,'princessw@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(142,107,1,'wattsonp@testmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(143,165,1,'smith-wattson.lashawnda16@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(144,165,1,'smith-wattsonl@lol.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(145,84,1,'sf.smith-wattson95@airmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(146,174,1,'robertson.jed76@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(147,174,1,'jedr@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(148,125,1,'chowski.santina@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(149,61,1,'maxwelladams@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(150,190,1,'shermanadams@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),(151,38,1,'maxwella@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(152,38,1,'adams.maxwell@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(153,147,1,'roberts.carlos54@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(154,47,1,'roberts-samson.a.shad20@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(155,47,1,'shadroberts-samson@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(156,14,1,'roberts-samson.kiara67@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(157,70,1,'djameson@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(158,70,1,'jamesond@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),(159,56,1,'jamesonl@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(160,56,1,'jameson.lashawnda81@testmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(161,52,1,'jameson.heidi56@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(162,110,1,'smithk@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(163,162,3,'info@woodbridgesoftwarepartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(164,137,2,'maxwellyadav@woodbridgesoftwarepartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(165,82,3,'service@eractionfund.org',1,0,0,0,NULL,NULL,NULL,NULL),(166,122,2,'leee10@eractionfund.org',0,0,0,0,NULL,NULL,NULL,NULL),(167,123,3,'info@lubbocksportsalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(168,112,2,'adams.carlos@lubbocksportsalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(169,135,3,'service@nhwellnesspartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(170,159,2,'mller.carlos@nhwellnesspartnership.org',0,0,0,0,NULL,NULL,NULL,NULL),(171,83,3,'info@friendstechnology.org',1,0,0,0,NULL,NULL,NULL,NULL),(172,158,2,'elbertlee@friendstechnology.org',0,0,0,0,NULL,NULL,NULL,NULL),(173,19,3,'contact@cadellactionservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(174,25,3,'sales@pennsylvaniatechnology.org',1,0,0,0,NULL,NULL,NULL,NULL),(175,163,2,'elee@pennsylvaniatechnology.org',1,0,0,0,NULL,NULL,NULL,NULL),(176,59,3,'contact@mcartsschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(177,30,2,'jz.adams9@mcartsschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,3,3,'info@cadellpartners.org',1,0,0,0,NULL,NULL,NULL,NULL),(179,49,2,'mb.bachman31@cadellpartners.org',0,0,0,0,NULL,NULL,NULL,NULL),(180,164,3,'feedback@bayhealth.org',1,0,0,0,NULL,NULL,NULL,NULL),(181,51,2,'tcruz88@bayhealth.org',1,0,0,0,NULL,NULL,NULL,NULL),(182,126,3,'feedback@localschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(183,80,2,'teresap@localschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(184,156,3,'service@bccitywellness.org',1,0,0,0,NULL,NULL,NULL,NULL),(185,139,2,'@bccitywellness.org',0,0,0,0,NULL,NULL,NULL,NULL),(186,169,3,'info@washingtonaction.org',1,0,0,0,NULL,NULL,NULL,NULL),(187,107,2,'wattson.g.princess@washingtonaction.org',0,0,0,0,NULL,NULL,NULL,NULL),(188,177,3,'contact@friendsfund.org',1,0,0,0,NULL,NULL,NULL,NULL),(189,157,2,'.@friendsfund.org',0,0,0,0,NULL,NULL,NULL,NULL),(190,199,3,'service@communitytechnology.org',1,0,0,0,NULL,NULL,NULL,NULL),(191,98,2,'mllerl94@communitytechnology.org',0,0,0,0,NULL,NULL,NULL,NULL),(192,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(193,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(194,NULL,1,'celebration@example.org',0,0,0,0,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_email` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -447,7 +446,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_entity_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` DISABLE KEYS */;
-INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`, `financial_trxn_id`, `amount`) VALUES (1,'civicrm_contribution',1,1,125.00),(2,'civicrm_financial_item',1,1,125.00),(3,'civicrm_contribution',2,2,50.00),(4,'civicrm_financial_item',2,2,50.00),(5,'civicrm_contribution',3,3,25.00),(6,'civicrm_financial_item',3,3,25.00),(7,'civicrm_contribution',4,4,50.00),(8,'civicrm_financial_item',4,4,50.00),(9,'civicrm_contribution',5,5,500.00),(10,'civicrm_financial_item',5,5,500.00),(11,'civicrm_contribution',6,6,175.00),(12,'civicrm_financial_item',6,6,175.00),(13,'civicrm_contribution',7,7,50.00),(14,'civicrm_financial_item',7,7,50.00),(15,'civicrm_contribution',8,8,10.00),(16,'civicrm_financial_item',8,8,10.00),(17,'civicrm_contribution',9,9,250.00),(18,'civicrm_financial_item',9,9,250.00),(19,'civicrm_contribution',10,10,500.00),(20,'civicrm_financial_item',10,10,500.00),(21,'civicrm_contribution',11,11,200.00),(22,'civicrm_financial_item',11,11,200.00),(23,'civicrm_contribution',12,12,200.00),(24,'civicrm_financial_item',12,12,200.00),(25,'civicrm_contribution',13,13,200.00),(26,'civicrm_financial_item',13,13,200.00),(27,'civicrm_contribution',14,14,100.00),(28,'civicrm_financial_item',14,14,100.00),(29,'civicrm_contribution',15,15,100.00),(30,'civicrm_financial_item',15,15,100.00),(31,'civicrm_contribution',16,16,100.00),(32,'civicrm_financial_item',16,16,100.00),(33,'civicrm_contribution',17,17,100.00),(34,'civicrm_financial_item',17,17,100.00),(35,'civicrm_contribution',18,18,100.00),(36,'civicrm_financial_item',18,18,100.00),(37,'civicrm_contribution',19,19,100.00),(38,'civicrm_financial_item',19,19,100.00),(39,'civicrm_contribution',20,20,100.00),(40,'civicrm_financial_item',20,20,100.00),(41,'civicrm_contribution',21,21,100.00),(42,'civicrm_financial_item',21,21,100.00),(43,'civicrm_contribution',22,22,100.00),(44,'civicrm_financial_item',22,22,100.00),(45,'civicrm_contribution',23,23,100.00),(46,'civicrm_financial_item',23,23,100.00),(47,'civicrm_contribution',24,24,100.00),(48,'civicrm_financial_item',24,24,100.00),(49,'civicrm_contribution',25,25,100.00),(50,'civicrm_financial_item',25,25,100.00),(51,'civicrm_contribution',26,26,50.00),(52,'civicrm_financial_item',26,26,50.00),(53,'civicrm_contribution',27,27,50.00),(54,'civicrm_financial_item',27,27,50.00),(55,'civicrm_contribution',28,28,50.00),(56,'civicrm_financial_item',28,28,50.00),(57,'civicrm_contribution',29,29,50.00),(58,'civicrm_financial_item',29,29,50.00),(59,'civicrm_contribution',30,30,50.00),(60,'civicrm_financial_item',30,30,50.00),(61,'civicrm_contribution',31,31,50.00),(62,'civicrm_financial_item',31,31,50.00),(63,'civicrm_contribution',32,32,50.00),(64,'civicrm_financial_item',32,32,50.00),(65,'civicrm_contribution',33,33,50.00),(66,'civicrm_financial_item',33,33,50.00),(67,'civicrm_contribution',34,34,50.00),(68,'civicrm_financial_item',34,34,50.00),(69,'civicrm_contribution',35,35,50.00),(70,'civicrm_financial_item',35,35,50.00),(71,'civicrm_contribution',36,36,50.00),(72,'civicrm_financial_item',36,36,50.00),(73,'civicrm_contribution',37,37,50.00),(74,'civicrm_financial_item',37,37,50.00),(75,'civicrm_contribution',38,38,50.00),(76,'civicrm_financial_item',38,38,50.00),(77,'civicrm_contribution',39,39,50.00),(78,'civicrm_financial_item',39,39,50.00),(79,'civicrm_contribution',40,40,50.00),(80,'civicrm_financial_item',40,40,50.00),(81,'civicrm_contribution',41,41,50.00),(82,'civicrm_financial_item',41,41,50.00),(83,'civicrm_contribution',42,42,1200.00),(84,'civicrm_financial_item',42,42,1200.00),(85,'civicrm_contribution',43,43,1200.00),(86,'civicrm_financial_item',43,43,1200.00),(87,'civicrm_contribution',79,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',93,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',82,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',81,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',54,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',86,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',83,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',68,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',60,52,50.00),(104,'civicrm_financial_item',52,52,50.00),(105,'civicrm_contribution',49,53,50.00),(106,'civicrm_financial_item',53,53,50.00),(107,'civicrm_contribution',59,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',51,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',71,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',90,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',84,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',47,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',72,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',58,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',45,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',77,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',75,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',63,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',64,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',70,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',50,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',76,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',46,70,800.00),(140,'civicrm_financial_item',70,70,800.00),(141,'civicrm_contribution',66,71,800.00),(142,'civicrm_financial_item',71,71,800.00),(143,'civicrm_contribution',55,72,800.00),(144,'civicrm_financial_item',72,72,800.00),(145,'civicrm_contribution',67,73,800.00),(146,'civicrm_financial_item',73,73,800.00),(147,'civicrm_contribution',73,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',52,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',88,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',94,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',48,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',62,79,50.00),(158,'civicrm_financial_item',79,79,50.00),(159,'civicrm_contribution',80,80,50.00),(160,'civicrm_financial_item',80,80,50.00),(161,'civicrm_contribution',85,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',56,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',91,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',69,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',65,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',57,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',78,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',61,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',89,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',53,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',87,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',92,92,50.00),(184,'civicrm_financial_item',92,92,50.00),(185,'civicrm_contribution',74,93,50.00),(186,'civicrm_financial_item',93,93,50.00);
+INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`, `financial_trxn_id`, `amount`) VALUES (1,'civicrm_contribution',1,1,125.00),(2,'civicrm_financial_item',1,1,125.00),(3,'civicrm_contribution',2,2,50.00),(4,'civicrm_financial_item',2,2,50.00),(5,'civicrm_contribution',3,3,25.00),(6,'civicrm_financial_item',3,3,25.00),(7,'civicrm_contribution',4,4,50.00),(8,'civicrm_financial_item',4,4,50.00),(9,'civicrm_contribution',5,5,500.00),(10,'civicrm_financial_item',5,5,500.00),(11,'civicrm_contribution',6,6,175.00),(12,'civicrm_financial_item',6,6,175.00),(13,'civicrm_contribution',7,7,50.00),(14,'civicrm_financial_item',7,7,50.00),(15,'civicrm_contribution',8,8,10.00),(16,'civicrm_financial_item',8,8,10.00),(17,'civicrm_contribution',9,9,250.00),(18,'civicrm_financial_item',9,9,250.00),(19,'civicrm_contribution',10,10,500.00),(20,'civicrm_financial_item',10,10,500.00),(21,'civicrm_contribution',11,11,200.00),(22,'civicrm_financial_item',11,11,200.00),(23,'civicrm_contribution',12,12,200.00),(24,'civicrm_financial_item',12,12,200.00),(25,'civicrm_contribution',13,13,200.00),(26,'civicrm_financial_item',13,13,200.00),(27,'civicrm_contribution',14,14,100.00),(28,'civicrm_financial_item',14,14,100.00),(29,'civicrm_contribution',16,15,100.00),(30,'civicrm_financial_item',15,15,100.00),(31,'civicrm_contribution',18,16,100.00),(32,'civicrm_financial_item',16,16,100.00),(33,'civicrm_contribution',20,17,100.00),(34,'civicrm_financial_item',17,17,100.00),(35,'civicrm_contribution',22,18,100.00),(36,'civicrm_financial_item',18,18,100.00),(37,'civicrm_contribution',26,19,100.00),(38,'civicrm_financial_item',19,19,100.00),(39,'civicrm_contribution',30,20,100.00),(40,'civicrm_financial_item',20,20,100.00),(41,'civicrm_contribution',32,21,100.00),(42,'civicrm_financial_item',21,21,100.00),(43,'civicrm_contribution',34,22,100.00),(44,'civicrm_financial_item',22,22,100.00),(45,'civicrm_contribution',36,23,100.00),(46,'civicrm_financial_item',23,23,100.00),(47,'civicrm_contribution',40,24,100.00),(48,'civicrm_financial_item',24,24,100.00),(49,'civicrm_contribution',42,25,100.00),(50,'civicrm_financial_item',25,25,100.00),(51,'civicrm_contribution',43,26,100.00),(52,'civicrm_financial_item',26,26,100.00),(53,'civicrm_contribution',15,27,50.00),(54,'civicrm_financial_item',27,27,50.00),(55,'civicrm_contribution',17,28,50.00),(56,'civicrm_financial_item',28,28,50.00),(57,'civicrm_contribution',19,29,50.00),(58,'civicrm_financial_item',29,29,50.00),(59,'civicrm_contribution',21,30,50.00),(60,'civicrm_financial_item',30,30,50.00),(61,'civicrm_contribution',23,31,50.00),(62,'civicrm_financial_item',31,31,50.00),(63,'civicrm_contribution',25,32,50.00),(64,'civicrm_financial_item',32,32,50.00),(65,'civicrm_contribution',27,33,50.00),(66,'civicrm_financial_item',33,33,50.00),(67,'civicrm_contribution',28,34,50.00),(68,'civicrm_financial_item',34,34,50.00),(69,'civicrm_contribution',29,35,50.00),(70,'civicrm_financial_item',35,35,50.00),(71,'civicrm_contribution',31,36,50.00),(72,'civicrm_financial_item',36,36,50.00),(73,'civicrm_contribution',33,37,50.00),(74,'civicrm_financial_item',37,37,50.00),(75,'civicrm_contribution',37,38,50.00),(76,'civicrm_financial_item',38,38,50.00),(77,'civicrm_contribution',38,39,50.00),(78,'civicrm_financial_item',39,39,50.00),(79,'civicrm_contribution',39,40,50.00),(80,'civicrm_financial_item',40,40,50.00),(81,'civicrm_contribution',41,41,50.00),(82,'civicrm_financial_item',41,41,50.00),(83,'civicrm_contribution',24,42,1200.00),(84,'civicrm_financial_item',42,42,1200.00),(85,'civicrm_contribution',35,43,1200.00),(86,'civicrm_financial_item',43,43,1200.00),(87,'civicrm_contribution',52,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',51,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',92,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',84,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',82,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',45,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',77,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',63,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',50,52,50.00),(104,'civicrm_financial_item',52,52,50.00),(105,'civicrm_contribution',48,53,50.00),(106,'civicrm_financial_item',53,53,50.00),(107,'civicrm_contribution',89,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',53,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',64,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',57,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',59,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',78,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',88,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',67,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',76,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',71,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',70,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',49,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',94,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',55,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',54,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',61,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',69,70,800.00),(140,'civicrm_financial_item',70,70,800.00),(141,'civicrm_contribution',80,71,800.00),(142,'civicrm_financial_item',71,71,800.00),(143,'civicrm_contribution',74,72,800.00),(144,'civicrm_financial_item',72,72,800.00),(145,'civicrm_contribution',79,73,800.00),(146,'civicrm_financial_item',73,73,800.00),(147,'civicrm_contribution',91,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',68,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',83,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',90,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',62,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',73,79,50.00),(158,'civicrm_financial_item',79,79,50.00),(159,'civicrm_contribution',60,80,50.00),(160,'civicrm_financial_item',80,80,50.00),(161,'civicrm_contribution',93,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',86,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',56,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',72,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',66,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',87,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',46,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',58,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',81,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',75,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',65,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',85,92,50.00),(184,'civicrm_financial_item',92,92,50.00),(185,'civicrm_contribution',47,93,50.00),(186,'civicrm_financial_item',93,93,50.00);
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -457,7 +456,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_entity_tag` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_tag` DISABLE KEYS */;
-INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES (6,'civicrm_contact',4,3),(37,'civicrm_contact',8,4),(77,'civicrm_contact',15,4),(78,'civicrm_contact',15,5),(41,'civicrm_contact',17,4),(73,'civicrm_contact',19,5),(115,'civicrm_contact',21,4),(116,'civicrm_contact',21,5),(109,'civicrm_contact',24,4),(110,'civicrm_contact',24,5),(113,'civicrm_contact',27,4),(114,'civicrm_contact',27,5),(7,'civicrm_contact',29,3),(5,'civicrm_contact',30,2),(71,'civicrm_contact',31,4),(96,'civicrm_contact',32,5),(38,'civicrm_contact',33,4),(39,'civicrm_contact',33,5),(93,'civicrm_contact',37,5),(70,'civicrm_contact',38,4),(2,'civicrm_contact',39,2),(87,'civicrm_contact',42,4),(88,'civicrm_contact',42,5),(74,'civicrm_contact',46,5),(11,'civicrm_contact',47,4),(34,'civicrm_contact',48,4),(35,'civicrm_contact',48,5),(50,'civicrm_contact',50,5),(54,'civicrm_contact',51,4),(55,'civicrm_contact',51,5),(17,'civicrm_contact',52,5),(99,'civicrm_contact',53,4),(1,'civicrm_contact',55,2),(75,'civicrm_contact',58,4),(48,'civicrm_contact',59,4),(61,'civicrm_contact',61,4),(64,'civicrm_contact',62,5),(81,'civicrm_contact',64,5),(58,'civicrm_contact',66,4),(59,'civicrm_contact',66,5),(12,'civicrm_contact',69,4),(13,'civicrm_contact',69,5),(63,'civicrm_contact',70,5),(28,'civicrm_contact',72,4),(29,'civicrm_contact',72,5),(65,'civicrm_contact',78,4),(66,'civicrm_contact',78,5),(4,'civicrm_contact',82,2),(15,'civicrm_contact',84,4),(16,'civicrm_contact',84,5),(72,'civicrm_contact',86,5),(49,'civicrm_contact',91,5),(9,'civicrm_contact',92,1),(68,'civicrm_contact',95,4),(117,'civicrm_contact',97,4),(25,'civicrm_contact',98,4),(26,'civicrm_contact',101,4),(91,'civicrm_contact',105,4),(92,'civicrm_contact',105,5),(43,'civicrm_contact',107,5),(27,'civicrm_contact',112,4),(107,'civicrm_contact',117,4),(108,'civicrm_contact',117,5),(94,'civicrm_contact',118,4),(33,'civicrm_contact',119,5),(22,'civicrm_contact',124,5),(56,'civicrm_contact',126,4),(57,'civicrm_contact',126,5),(100,'civicrm_contact',130,5),(76,'civicrm_contact',134,5),(85,'civicrm_contact',137,5),(111,'civicrm_contact',138,4),(112,'civicrm_contact',138,5),(67,'civicrm_contact',139,4),(14,'civicrm_contact',143,5),(89,'civicrm_contact',144,4),(90,'civicrm_contact',144,5),(53,'civicrm_contact',145,5),(18,'civicrm_contact',146,5),(8,'civicrm_contact',147,3),(23,'civicrm_contact',150,4),(24,'civicrm_contact',150,5),(10,'civicrm_contact',151,2),(83,'civicrm_contact',153,4),(84,'civicrm_contact',153,5),(31,'civicrm_contact',155,4),(3,'civicrm_contact',156,1),(36,'civicrm_contact',158,5),(97,'civicrm_contact',159,4),(98,'civicrm_contact',159,5),(44,'civicrm_contact',161,5),(19,'civicrm_contact',163,4),(40,'civicrm_contact',164,4),(20,'civicrm_contact',165,4),(21,'civicrm_contact',165,5),(86,'civicrm_contact',166,4),(69,'civicrm_contact',167,4),(51,'civicrm_contact',168,4),(52,'civicrm_contact',168,5),(95,'civicrm_contact',169,5),(42,'civicrm_contact',176,5),(32,'civicrm_contact',178,4),(103,'civicrm_contact',180,4),(104,'civicrm_contact',180,5),(62,'civicrm_contact',181,4),(105,'civicrm_contact',182,4),(60,'civicrm_contact',185,4),(79,'civicrm_contact',186,4),(80,'civicrm_contact',186,5),(45,'civicrm_contact',188,5),(30,'civicrm_contact',191,4),(46,'civicrm_contact',192,4),(47,'civicrm_contact',192,5),(106,'civicrm_contact',193,4),(101,'civicrm_contact',198,4),(102,'civicrm_contact',198,5),(82,'civicrm_contact',200,4);
+INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES (80,'civicrm_contact',5,4),(81,'civicrm_contact',6,4),(82,'civicrm_contact',6,5),(41,'civicrm_contact',8,5),(49,'civicrm_contact',11,5),(90,'civicrm_contact',16,4),(43,'civicrm_contact',17,5),(69,'civicrm_contact',18,4),(70,'civicrm_contact',18,5),(62,'civicrm_contact',23,5),(52,'civicrm_contact',24,4),(53,'civicrm_contact',24,5),(5,'civicrm_contact',25,2),(11,'civicrm_contact',26,4),(20,'civicrm_contact',28,4),(99,'civicrm_contact',34,4),(47,'civicrm_contact',35,4),(85,'civicrm_contact',36,4),(86,'civicrm_contact',36,5),(104,'civicrm_contact',39,4),(105,'civicrm_contact',39,5),(40,'civicrm_contact',41,5),(73,'civicrm_contact',45,4),(74,'civicrm_contact',45,5),(16,'civicrm_contact',46,4),(110,'civicrm_contact',47,4),(57,'civicrm_contact',50,5),(112,'civicrm_contact',52,4),(29,'civicrm_contact',54,4),(30,'civicrm_contact',54,5),(44,'civicrm_contact',55,4),(6,'civicrm_contact',59,1),(106,'civicrm_contact',61,5),(26,'civicrm_contact',63,4),(27,'civicrm_contact',63,5),(21,'civicrm_contact',64,4),(111,'civicrm_contact',70,5),(18,'civicrm_contact',73,5),(91,'civicrm_contact',74,5),(65,'civicrm_contact',76,4),(12,'civicrm_contact',78,4),(13,'civicrm_contact',78,5),(92,'civicrm_contact',81,4),(93,'civicrm_contact',81,5),(2,'civicrm_contact',82,1),(50,'civicrm_contact',86,5),(36,'civicrm_contact',88,5),(51,'civicrm_contact',95,4),(78,'civicrm_contact',96,4),(79,'civicrm_contact',96,5),(75,'civicrm_contact',97,4),(66,'civicrm_contact',99,4),(67,'civicrm_contact',99,5),(61,'civicrm_contact',100,4),(28,'civicrm_contact',101,4),(24,'civicrm_contact',102,4),(25,'civicrm_contact',102,5),(37,'civicrm_contact',106,4),(83,'civicrm_contact',108,4),(84,'civicrm_contact',108,5),(115,'civicrm_contact',110,5),(54,'civicrm_contact',112,5),(31,'civicrm_contact',114,4),(32,'civicrm_contact',114,5),(98,'civicrm_contact',118,4),(94,'civicrm_contact',128,4),(17,'civicrm_contact',130,4),(46,'civicrm_contact',134,5),(3,'civicrm_contact',135,1),(87,'civicrm_contact',137,4),(42,'civicrm_contact',139,4),(59,'civicrm_contact',140,4),(63,'civicrm_contact',141,4),(64,'civicrm_contact',141,5),(10,'civicrm_contact',142,2),(23,'civicrm_contact',143,4),(68,'civicrm_contact',145,5),(4,'civicrm_contact',146,2),(108,'civicrm_contact',147,4),(109,'civicrm_contact',147,5),(45,'civicrm_contact',149,5),(88,'civicrm_contact',150,4),(89,'civicrm_contact',150,5),(39,'civicrm_contact',152,4),(95,'civicrm_contact',153,4),(96,'civicrm_contact',153,5),(19,'civicrm_contact',155,4),(8,'civicrm_contact',156,1),(97,'civicrm_contact',157,4),(76,'civicrm_contact',158,4),(1,'civicrm_contact',162,1),(77,'civicrm_contact',163,5),(7,'civicrm_contact',164,2),(100,'civicrm_contact',165,4),(101,'civicrm_contact',165,5),(60,'civicrm_contact',167,4),(9,'civicrm_contact',169,3),(22,'civicrm_contact',170,4),(113,'civicrm_contact',171,4),(114,'civicrm_contact',171,5),(15,'civicrm_contact',173,4),(102,'civicrm_contact',174,4),(103,'civicrm_contact',174,5),(48,'civicrm_contact',176,4),(35,'civicrm_contact',178,5),(14,'civicrm_contact',181,4),(33,'civicrm_contact',183,4),(34,'civicrm_contact',183,5),(38,'civicrm_contact',184,4),(71,'civicrm_contact',186,4),(72,'civicrm_contact',186,5),(107,'civicrm_contact',190,5),(58,'civicrm_contact',193,5),(55,'civicrm_contact',195,4),(56,'civicrm_contact',195,5);
 /*!40000 ALTER TABLE `civicrm_entity_tag` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -467,7 +466,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_event` WRITE;
 /*!40000 ALTER TABLE `civicrm_event` DISABLE KEYS */;
-INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2018-05-02 17:00:00','2018-05-04 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2017-11-01 12:00:00','2017-11-01 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2018-06-02 07:00:00','2018-06-05 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
+INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2018-07-12 17:00:00','2018-07-14 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2018-01-11 12:00:00','2018-01-11 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2018-08-12 07:00:00','2018-08-15 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
 /*!40000 ALTER TABLE `civicrm_event` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -523,7 +522,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_financial_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_item` DISABLE KEYS */;
-INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES (1,'2017-11-01 23:27:58','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2017-11-01 23:27:58','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2017-11-01 23:27:58','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2017-11-01 23:27:58','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2017-11-01 23:27:58','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2017-11-01 23:27:58','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2017-11-01 23:27:58','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2017-11-01 23:27:58','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2017-11-01 23:27:59','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2017-11-01 23:27:59','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2017-11-01 23:27:59','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2017-11-01 23:27:59','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2017-11-01 23:27:59','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2017-11-01 23:27:59','2017-11-02 10:27:58',113,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2017-11-01 23:27:59','2017-11-02 10:27:58',137,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2017-11-01 23:27:59','2017-11-02 10:27:58',81,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2017-11-01 23:27:59','2017-11-02 10:27:58',164,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2017-11-01 23:27:59','2017-11-02 10:27:58',66,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2017-11-01 23:27:59','2017-11-02 10:27:58',96,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2017-11-01 23:27:59','2017-11-02 10:27:58',141,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2017-11-01 23:27:59','2017-11-02 10:27:58',28,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2017-11-01 23:27:59','2017-11-02 10:27:58',199,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2017-11-01 23:27:59','2017-11-02 10:27:58',73,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2017-11-01 23:27:59','2017-11-02 10:27:58',80,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2017-11-01 23:27:59','2017-11-02 10:27:58',70,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2017-11-01 23:27:59','2017-11-02 10:27:58',61,'Student',50.00,'USD',2,1,'civicrm_line_item',28),(27,'2017-11-01 23:27:59','2017-11-02 10:27:58',52,'Student',50.00,'USD',2,1,'civicrm_line_item',29),(28,'2017-11-01 23:27:59','2017-11-02 10:27:58',44,'Student',50.00,'USD',2,1,'civicrm_line_item',30),(29,'2017-11-01 23:27:59','2017-11-02 10:27:58',191,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2017-11-01 23:27:59','2017-11-02 10:27:58',101,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2017-11-01 23:27:59','2017-11-02 10:27:58',69,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2017-11-01 23:27:59','2017-11-02 10:27:58',53,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2017-11-01 23:27:59','2017-11-02 10:27:58',201,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2017-11-01 23:27:59','2017-11-02 10:27:58',26,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2017-11-01 23:27:59','2017-11-02 10:27:58',47,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2017-11-01 23:27:59','2017-11-02 10:27:58',46,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2017-11-01 23:27:59','2017-11-02 10:27:58',172,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2017-11-01 23:27:59','2017-11-02 10:27:58',134,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2017-11-01 23:27:59','2017-11-02 10:27:58',144,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2017-11-01 23:27:59','2017-11-02 10:27:58',168,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2017-11-01 23:27:59','2017-11-02 10:27:58',100,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2017-11-01 23:28:00','2017-11-02 10:27:58',64,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2017-11-01 23:28:00','2017-11-02 10:27:58',67,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2017-11-01 23:28:00','2017-11-02 10:27:58',133,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2017-11-01 23:28:00','2017-11-02 10:27:58',187,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2017-11-01 23:28:00','2017-11-02 10:27:58',141,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2017-11-01 23:28:00','2017-11-02 10:27:58',137,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2017-11-01 23:28:00','2017-11-02 10:27:58',32,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2017-11-01 23:28:00','2017-11-02 10:27:58',166,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2017-11-01 23:28:00','2017-11-02 10:27:58',142,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2017-11-01 23:28:00','2017-11-02 10:27:58',92,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2017-11-01 23:28:00','2017-11-02 10:27:58',55,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2017-11-01 23:28:00','2017-11-02 10:27:58',15,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2017-11-01 23:28:00','2017-11-02 10:27:58',54,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2017-11-01 23:28:00','2017-11-02 10:27:58',23,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2017-11-01 23:28:00','2017-11-02 10:27:58',96,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2017-11-01 23:28:00','2017-11-02 10:27:58',179,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2017-11-01 23:28:00','2017-11-02 10:27:58',143,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2017-11-01 23:28:00','2017-11-02 10:27:58',6,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2017-11-01 23:28:00','2017-11-02 10:27:58',97,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2017-11-01 23:28:00','2017-11-02 10:27:58',52,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2017-11-01 23:28:00','2017-11-02 10:27:58',2,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2017-11-01 23:28:00','2017-11-02 10:27:58',115,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2017-11-01 23:28:00','2017-11-02 10:27:58',112,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2017-11-01 23:28:00','2017-11-02 10:27:58',73,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2017-11-01 23:28:00','2017-11-02 10:27:58',78,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2017-11-01 23:28:00','2017-11-02 10:27:58',95,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2017-11-01 23:28:00','2017-11-02 10:27:58',18,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2017-11-01 23:28:00','2017-11-02 10:27:58',114,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2017-11-01 23:28:00','2017-11-02 10:27:58',4,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2017-11-01 23:28:00','2017-11-02 10:27:58',82,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2017-11-01 23:28:00','2017-11-02 10:27:58',35,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2017-11-01 23:28:00','2017-11-02 10:27:58',87,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2017-11-01 23:28:01','2017-11-02 10:27:58',100,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2017-11-01 23:28:01','2017-11-02 10:27:58',26,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2017-11-01 23:28:01','2017-11-02 10:27:58',176,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2017-11-01 23:28:01','2017-11-02 10:27:58',190,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2017-11-01 23:28:01','2017-11-02 10:27:58',12,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2017-11-01 23:28:01','2017-11-02 10:27:58',61,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2017-11-01 23:28:01','2017-11-02 10:27:58',136,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2017-11-01 23:28:01','2017-11-02 10:27:58',151,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2017-11-01 23:28:01','2017-11-02 10:27:58',44,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2017-11-01 23:28:01','2017-11-02 10:27:58',180,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2017-11-01 23:28:01','2017-11-02 10:27:58',93,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2017-11-01 23:28:01','2017-11-02 10:27:58',80,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2017-11-01 23:28:01','2017-11-02 10:27:58',45,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2017-11-01 23:28:01','2017-11-02 10:27:58',120,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2017-11-01 23:28:01','2017-11-02 10:27:58',58,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2017-11-01 23:28:01','2017-11-02 10:27:58',177,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2017-11-01 23:28:01','2017-11-02 10:27:58',27,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2017-11-01 23:28:01','2017-11-02 10:27:58',175,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2017-11-01 23:28:01','2017-11-02 10:27:58',182,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2017-11-01 23:28:01','2017-11-02 10:27:58',104,'Single',50.00,'USD',4,1,'civicrm_line_item',80);
+INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES (1,'2018-01-11 22:52:50','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2018-01-11 22:52:50','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2018-01-11 22:52:50','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2018-01-11 22:52:50','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2018-01-11 22:52:50','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2018-01-11 22:52:50','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2018-01-11 22:52:50','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2018-01-11 22:52:50','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2018-01-11 22:52:51','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2018-01-11 22:52:51','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2018-01-11 22:52:51','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2018-01-11 22:52:51','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2018-01-11 22:52:51','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2018-01-11 22:52:51','2018-01-12 09:52:49',43,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2018-01-11 22:52:51','2018-01-12 09:52:49',112,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2018-01-11 22:52:51','2018-01-12 09:52:49',155,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2018-01-11 22:52:51','2018-01-12 09:52:49',127,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2018-01-11 22:52:51','2018-01-12 09:52:49',98,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2018-01-11 22:52:51','2018-01-12 09:52:49',175,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2018-01-11 22:52:51','2018-01-12 09:52:49',184,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2018-01-11 22:52:51','2018-01-12 09:52:49',195,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2018-01-11 22:52:51','2018-01-12 09:52:49',34,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2018-01-11 22:52:51','2018-01-12 09:52:49',77,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2018-01-11 22:52:51','2018-01-12 09:52:49',31,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2018-01-11 22:52:51','2018-01-12 09:52:49',64,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2018-01-11 22:52:51','2018-01-12 09:52:49',118,'General',100.00,'USD',2,1,'civicrm_line_item',28),(27,'2018-01-11 22:52:51','2018-01-12 09:52:49',62,'Student',50.00,'USD',2,1,'civicrm_line_item',29),(28,'2018-01-11 22:52:51','2018-01-12 09:52:49',55,'Student',50.00,'USD',2,1,'civicrm_line_item',30),(29,'2018-01-11 22:52:51','2018-01-12 09:52:49',121,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2018-01-11 22:52:51','2018-01-12 09:52:49',75,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2018-01-11 22:52:51','2018-01-12 09:52:49',30,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2018-01-11 22:52:51','2018-01-12 09:52:49',32,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2018-01-11 22:52:51','2018-01-12 09:52:49',6,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2018-01-11 22:52:51','2018-01-12 09:52:49',21,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2018-01-11 22:52:51','2018-01-12 09:52:49',157,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2018-01-11 22:52:52','2018-01-12 09:52:49',23,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2018-01-11 22:52:52','2018-01-12 09:52:49',154,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2018-01-11 22:52:52','2018-01-12 09:52:49',10,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2018-01-11 22:52:52','2018-01-12 09:52:49',5,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2018-01-11 22:52:52','2018-01-12 09:52:49',27,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2018-01-11 22:52:52','2018-01-12 09:52:49',41,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2018-01-11 22:52:52','2018-01-12 09:52:49',153,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2018-01-11 22:52:52','2018-01-12 09:52:49',144,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2018-01-11 22:52:52','2018-01-12 09:52:50',27,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2018-01-11 22:52:52','2018-01-12 09:52:50',19,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2018-01-11 22:52:52','2018-01-12 09:52:50',191,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2018-01-11 22:52:52','2018-01-12 09:52:50',138,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2018-01-11 22:52:52','2018-01-12 09:52:50',136,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2018-01-11 22:52:52','2018-01-12 09:52:50',4,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2018-01-11 22:52:52','2018-01-12 09:52:50',115,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2018-01-11 22:52:52','2018-01-12 09:52:50',68,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2018-01-11 22:52:52','2018-01-12 09:52:50',18,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2018-01-11 22:52:52','2018-01-12 09:52:50',15,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2018-01-11 22:52:52','2018-01-12 09:52:50',161,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2018-01-11 22:52:52','2018-01-12 09:52:50',31,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2018-01-11 22:52:52','2018-01-12 09:52:50',71,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2018-01-11 22:52:52','2018-01-12 09:52:50',39,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2018-01-11 22:52:52','2018-01-12 09:52:50',44,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2018-01-11 22:52:52','2018-01-12 09:52:50',119,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2018-01-11 22:52:52','2018-01-12 09:52:50',154,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2018-01-11 22:52:52','2018-01-12 09:52:50',78,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2018-01-11 22:52:52','2018-01-12 09:52:50',114,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2018-01-11 22:52:52','2018-01-12 09:52:50',90,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2018-01-11 22:52:53','2018-01-12 09:52:50',88,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2018-01-11 22:52:53','2018-01-12 09:52:50',16,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2018-01-11 22:52:53','2018-01-12 09:52:50',200,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2018-01-11 22:52:53','2018-01-12 09:52:50',33,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2018-01-11 22:52:53','2018-01-12 09:52:50',32,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2018-01-11 22:52:53','2018-01-12 09:52:50',54,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2018-01-11 22:52:53','2018-01-12 09:52:50',86,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2018-01-11 22:52:53','2018-01-12 09:52:50',126,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2018-01-11 22:52:53','2018-01-12 09:52:50',104,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2018-01-11 22:52:53','2018-01-12 09:52:50',123,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2018-01-11 22:52:53','2018-01-12 09:52:50',175,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2018-01-11 22:52:53','2018-01-12 09:52:50',83,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2018-01-11 22:52:53','2018-01-12 09:52:50',137,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2018-01-11 22:52:53','2018-01-12 09:52:50',171,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2018-01-11 22:52:53','2018-01-12 09:52:50',64,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2018-01-11 22:52:53','2018-01-12 09:52:50',100,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2018-01-11 22:52:53','2018-01-12 09:52:50',51,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2018-01-11 22:52:53','2018-01-12 09:52:50',198,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2018-01-11 22:52:53','2018-01-12 09:52:50',144,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2018-01-11 22:52:53','2018-01-12 09:52:50',37,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2018-01-11 22:52:53','2018-01-12 09:52:50',91,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2018-01-11 22:52:53','2018-01-12 09:52:50',76,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2018-01-11 22:52:53','2018-01-12 09:52:50',149,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2018-01-11 22:52:53','2018-01-12 09:52:50',5,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2018-01-11 22:52:53','2018-01-12 09:52:50',43,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2018-01-11 22:52:53','2018-01-12 09:52:50',133,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2018-01-11 22:52:53','2018-01-12 09:52:50',105,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2018-01-11 22:52:53','2018-01-12 09:52:50',74,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2018-01-11 22:52:53','2018-01-12 09:52:50',140,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2018-01-11 22:52:53','2018-01-12 09:52:50',8,'Single',50.00,'USD',4,1,'civicrm_line_item',80);
 /*!40000 ALTER TABLE `civicrm_financial_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -533,7 +532,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_trxn` DISABLE KEYS */;
-INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL),(3,NULL,1,'2010-04-29 00:00:00',25.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'2095',NULL),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL),(8,NULL,1,'2010-03-08 00:00:00',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL),(10,NULL,1,'2009-07-01 11:53:50',500.00,NULL,NULL,'USD',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,NULL,NULL,NULL),(12,NULL,1,'2009-10-01 11:53:50',200.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL),(14,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(15,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(16,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(17,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(18,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(19,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(20,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(21,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(22,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(23,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(24,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(25,NULL,1,'2017-11-02 10:27:58',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(26,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(27,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(28,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(29,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(30,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(31,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(32,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(33,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(34,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(35,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(36,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(37,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(38,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(39,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(40,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(41,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(42,NULL,1,'2017-11-02 10:27:58',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(43,NULL,1,'2017-11-02 10:27:58',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(44,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(45,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(46,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(47,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(48,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(49,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(50,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(51,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(52,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(53,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(54,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(55,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(56,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(57,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(58,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(59,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(60,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(61,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(62,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(63,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(64,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(65,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(66,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(67,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(68,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(69,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(70,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(71,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(72,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(73,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(74,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(75,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(76,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(77,NULL,1,'2017-11-02 10:27:58',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(78,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(79,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(80,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(81,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(82,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(83,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(84,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(85,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(86,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(87,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(88,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(89,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(90,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(91,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(92,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(93,NULL,1,'2017-11-02 10:27:58',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL);
+INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL),(3,NULL,1,'2010-04-29 00:00:00',25.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'2095',NULL),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL),(8,NULL,1,'2010-03-08 00:00:00',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL),(10,NULL,1,'2009-07-01 11:53:50',500.00,NULL,NULL,'USD',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,NULL,NULL,NULL),(12,NULL,1,'2009-10-01 11:53:50',200.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL),(14,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(15,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(16,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(17,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(18,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(19,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(20,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(21,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(22,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(23,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(24,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(25,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(26,NULL,1,'2018-01-12 09:52:49',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(27,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(28,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(29,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(30,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(31,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(32,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(33,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(34,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(35,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(36,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(37,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(38,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(39,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(40,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(41,NULL,1,'2018-01-12 09:52:49',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(42,NULL,1,'2018-01-12 09:52:49',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(43,NULL,1,'2018-01-12 09:52:49',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(44,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(45,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(46,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(47,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(48,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(49,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(50,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(51,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(52,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(53,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(54,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(55,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(56,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(57,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(58,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(59,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(60,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(61,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(62,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(63,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(64,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(65,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(66,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(67,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(68,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(69,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(70,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(71,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(72,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(73,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(74,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(75,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(76,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(77,NULL,1,'2018-01-12 09:52:50',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(78,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(79,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(80,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(81,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(82,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(83,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(84,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(85,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(86,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(87,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(88,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(89,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(90,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(91,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(92,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(93,NULL,1,'2018-01-12 09:52:50',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -572,7 +571,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_group_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_group_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES (1,2,47,'Added',NULL,NULL),(2,2,109,'Added',NULL,NULL),(3,2,69,'Added',NULL,NULL),(4,2,111,'Added',NULL,NULL),(5,2,143,'Added',NULL,NULL),(6,2,26,'Added',NULL,NULL),(7,2,84,'Added',NULL,NULL),(8,2,171,'Added',NULL,NULL),(9,2,52,'Added',NULL,NULL),(10,2,122,'Added',NULL,NULL),(11,2,146,'Added',NULL,NULL),(12,2,94,'Added',NULL,NULL),(13,2,163,'Added',NULL,NULL),(14,2,63,'Added',NULL,NULL),(15,2,165,'Added',NULL,NULL),(16,2,103,'Added',NULL,NULL),(17,2,124,'Added',NULL,NULL),(18,2,170,'Added',NULL,NULL),(19,2,150,'Added',NULL,NULL),(20,2,28,'Added',NULL,NULL),(21,2,98,'Added',NULL,NULL),(22,2,76,'Added',NULL,NULL),(23,2,101,'Added',NULL,NULL),(24,2,3,'Added',NULL,NULL),(25,2,112,'Added',NULL,NULL),(26,2,99,'Added',NULL,NULL),(27,2,72,'Added',NULL,NULL),(28,2,60,'Added',NULL,NULL),(29,2,191,'Added',NULL,NULL),(30,2,189,'Added',NULL,NULL),(31,2,155,'Added',NULL,NULL),(32,2,201,'Added',NULL,NULL),(33,2,178,'Added',NULL,NULL),(34,2,56,'Added',NULL,NULL),(35,2,119,'Added',NULL,NULL),(36,2,148,'Added',NULL,NULL),(37,2,48,'Added',NULL,NULL),(38,2,20,'Added',NULL,NULL),(39,2,158,'Added',NULL,NULL),(40,2,79,'Added',NULL,NULL),(41,2,8,'Added',NULL,NULL),(42,2,89,'Added',NULL,NULL),(43,2,33,'Added',NULL,NULL),(44,2,172,'Added',NULL,NULL),(45,2,164,'Added',NULL,NULL),(46,2,67,'Added',NULL,NULL),(47,2,17,'Added',NULL,NULL),(48,2,14,'Added',NULL,NULL),(49,2,176,'Added',NULL,NULL),(50,2,113,'Added',NULL,NULL),(51,2,107,'Added',NULL,NULL),(52,2,149,'Added',NULL,NULL),(53,2,161,'Added',NULL,NULL),(54,2,174,'Added',NULL,NULL),(55,2,188,'Added',NULL,NULL),(56,2,80,'Added',NULL,NULL),(57,2,192,'Added',NULL,NULL),(58,2,199,'Added',NULL,NULL),(59,2,59,'Added',NULL,NULL),(60,2,87,'Added',NULL,NULL),(61,3,91,'Added',NULL,NULL),(62,3,88,'Added',NULL,NULL),(63,3,50,'Added',NULL,NULL),(64,3,179,'Added',NULL,NULL),(65,3,168,'Added',NULL,NULL),(66,3,68,'Added',NULL,NULL),(67,3,145,'Added',NULL,NULL),(68,3,25,'Added',NULL,NULL),(69,3,51,'Added',NULL,NULL),(70,3,96,'Added',NULL,NULL),(71,3,126,'Added',NULL,NULL),(72,3,120,'Added',NULL,NULL),(73,3,66,'Added',NULL,NULL),(74,3,133,'Added',NULL,NULL),(75,3,185,'Added',NULL,NULL),(76,4,47,'Added',NULL,NULL),(77,4,171,'Added',NULL,NULL),(78,4,165,'Added',NULL,NULL),(79,4,76,'Added',NULL,NULL),(80,4,191,'Added',NULL,NULL),(81,4,148,'Added',NULL,NULL),(82,4,33,'Added',NULL,NULL),(83,4,113,'Added',NULL,NULL);
+INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES (1,2,26,'Added',NULL,NULL),(2,2,113,'Added',NULL,NULL),(3,2,78,'Added',NULL,NULL),(4,2,57,'Added',NULL,NULL),(5,2,181,'Added',NULL,NULL),(6,2,53,'Added',NULL,NULL),(7,2,173,'Added',NULL,NULL),(8,2,133,'Added',NULL,NULL),(9,2,46,'Added',NULL,NULL),(10,2,51,'Added',NULL,NULL),(11,2,130,'Added',NULL,NULL),(12,2,20,'Added',NULL,NULL),(13,2,73,'Added',NULL,NULL),(14,2,15,'Added',NULL,NULL),(15,2,155,'Added',NULL,NULL),(16,2,159,'Added',NULL,NULL),(17,2,28,'Added',NULL,NULL),(18,2,197,'Added',NULL,NULL),(19,2,64,'Added',NULL,NULL),(20,2,49,'Added',NULL,NULL),(21,2,170,'Added',NULL,NULL),(22,2,198,'Added',NULL,NULL),(23,2,143,'Added',NULL,NULL),(24,2,71,'Added',NULL,NULL),(25,2,102,'Added',NULL,NULL),(26,2,103,'Added',NULL,NULL),(27,2,63,'Added',NULL,NULL),(28,2,191,'Added',NULL,NULL),(29,2,101,'Added',NULL,NULL),(30,2,87,'Added',NULL,NULL),(31,2,54,'Added',NULL,NULL),(32,2,31,'Added',NULL,NULL),(33,2,114,'Added',NULL,NULL),(34,2,185,'Added',NULL,NULL),(35,2,183,'Added',NULL,NULL),(36,2,187,'Added',NULL,NULL),(37,2,178,'Added',NULL,NULL),(38,2,10,'Added',NULL,NULL),(39,2,88,'Added',NULL,NULL),(40,2,189,'Added',NULL,NULL),(41,2,106,'Added',NULL,NULL),(42,2,91,'Added',NULL,NULL),(43,2,184,'Added',NULL,NULL),(44,2,115,'Added',NULL,NULL),(45,2,152,'Added',NULL,NULL),(46,2,67,'Added',NULL,NULL),(47,2,41,'Added',NULL,NULL),(48,2,120,'Added',NULL,NULL),(49,2,8,'Added',NULL,NULL),(50,2,93,'Added',NULL,NULL),(51,2,139,'Added',NULL,NULL),(52,2,13,'Added',NULL,NULL),(53,2,17,'Added',NULL,NULL),(54,2,94,'Added',NULL,NULL),(55,2,55,'Added',NULL,NULL),(56,2,32,'Added',NULL,NULL),(57,2,149,'Added',NULL,NULL),(58,2,127,'Added',NULL,NULL),(59,2,134,'Added',NULL,NULL),(60,2,65,'Added',NULL,NULL),(61,3,35,'Added',NULL,NULL),(62,3,77,'Added',NULL,NULL),(63,3,176,'Added',NULL,NULL),(64,3,136,'Added',NULL,NULL),(65,3,11,'Added',NULL,NULL),(66,3,192,'Added',NULL,NULL),(67,3,86,'Added',NULL,NULL),(68,3,89,'Added',NULL,NULL),(69,3,95,'Added',NULL,NULL),(70,3,43,'Added',NULL,NULL),(71,3,24,'Added',NULL,NULL),(72,3,121,'Added',NULL,NULL),(73,3,112,'Added',NULL,NULL),(74,3,188,'Added',NULL,NULL),(75,3,195,'Added',NULL,NULL),(76,4,26,'Added',NULL,NULL),(77,4,133,'Added',NULL,NULL),(78,4,155,'Added',NULL,NULL),(79,4,198,'Added',NULL,NULL),(80,4,101,'Added',NULL,NULL),(81,4,187,'Added',NULL,NULL),(82,4,184,'Added',NULL,NULL),(83,4,93,'Added',NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_group_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -637,7 +636,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_line_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_line_item` DISABLE KEYS */;
-INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contribution_id`, `price_field_id`, `label`, `qty`, `unit_price`, `line_total`, `participant_count`, `price_field_value_id`, `financial_type_id`, `non_deductible_amount`, `tax_amount`) VALUES (1,'civicrm_contribution',1,1,1,'Contribution Amount',1.00,125.00,125.00,0,1,1,0.00,NULL),(2,'civicrm_contribution',2,2,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(3,'civicrm_contribution',3,3,1,'Contribution Amount',1.00,25.00,25.00,0,1,1,0.00,NULL),(4,'civicrm_contribution',4,4,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(5,'civicrm_contribution',5,5,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(6,'civicrm_contribution',6,6,1,'Contribution Amount',1.00,175.00,175.00,0,1,1,0.00,NULL),(7,'civicrm_contribution',7,7,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(8,'civicrm_contribution',8,8,1,'Contribution Amount',1.00,10.00,10.00,0,1,1,0.00,NULL),(9,'civicrm_contribution',9,9,1,'Contribution Amount',1.00,250.00,250.00,0,1,1,0.00,NULL),(10,'civicrm_contribution',10,10,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(11,'civicrm_contribution',11,11,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(12,'civicrm_contribution',12,12,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(13,'civicrm_contribution',13,13,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(16,'civicrm_membership',1,14,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(17,'civicrm_membership',3,15,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(18,'civicrm_membership',7,16,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(19,'civicrm_membership',9,17,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(20,'civicrm_membership',13,18,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(21,'civicrm_membership',17,19,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(22,'civicrm_membership',19,20,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(23,'civicrm_membership',21,21,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(24,'civicrm_membership',23,22,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(25,'civicrm_membership',27,23,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(26,'civicrm_membership',29,24,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(27,'civicrm_membership',30,25,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(28,'civicrm_membership',2,26,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(29,'civicrm_membership',4,27,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(30,'civicrm_membership',5,28,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(31,'civicrm_membership',6,29,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(32,'civicrm_membership',8,30,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(33,'civicrm_membership',10,31,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(34,'civicrm_membership',12,32,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(35,'civicrm_membership',14,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(36,'civicrm_membership',15,34,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(37,'civicrm_membership',16,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(38,'civicrm_membership',18,36,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(39,'civicrm_membership',20,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(40,'civicrm_membership',24,38,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(41,'civicrm_membership',25,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(42,'civicrm_membership',26,40,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(43,'civicrm_membership',28,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(44,'civicrm_membership',11,42,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(45,'civicrm_membership',22,43,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(47,'civicrm_participant',3,72,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,58,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,45,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,77,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,75,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,63,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,64,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,70,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,50,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,76,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,46,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(58,'civicrm_participant',34,66,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(59,'civicrm_participant',37,55,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(60,'civicrm_participant',40,67,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(61,'civicrm_participant',43,73,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,52,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,88,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,94,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,48,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,62,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(67,'civicrm_participant',7,80,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(68,'civicrm_participant',10,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,56,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,69,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,65,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,57,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,78,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,61,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,89,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,53,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,87,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,92,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(80,'civicrm_participant',47,74,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(81,'civicrm_participant',2,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,82,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,81,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,54,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,86,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,83,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,68,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,60,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(90,'civicrm_participant',30,49,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(91,'civicrm_participant',33,59,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,51,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,71,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,90,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,84,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,47,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL);
+INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contribution_id`, `price_field_id`, `label`, `qty`, `unit_price`, `line_total`, `participant_count`, `price_field_value_id`, `financial_type_id`, `non_deductible_amount`, `tax_amount`) VALUES (1,'civicrm_contribution',1,1,1,'Contribution Amount',1.00,125.00,125.00,0,1,1,0.00,NULL),(2,'civicrm_contribution',2,2,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(3,'civicrm_contribution',3,3,1,'Contribution Amount',1.00,25.00,25.00,0,1,1,0.00,NULL),(4,'civicrm_contribution',4,4,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(5,'civicrm_contribution',5,5,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(6,'civicrm_contribution',6,6,1,'Contribution Amount',1.00,175.00,175.00,0,1,1,0.00,NULL),(7,'civicrm_contribution',7,7,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(8,'civicrm_contribution',8,8,1,'Contribution Amount',1.00,10.00,10.00,0,1,1,0.00,NULL),(9,'civicrm_contribution',9,9,1,'Contribution Amount',1.00,250.00,250.00,0,1,1,0.00,NULL),(10,'civicrm_contribution',10,10,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(11,'civicrm_contribution',11,11,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(12,'civicrm_contribution',12,12,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(13,'civicrm_contribution',13,13,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(16,'civicrm_membership',1,14,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(17,'civicrm_membership',3,16,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(18,'civicrm_membership',5,18,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(19,'civicrm_membership',7,20,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(20,'civicrm_membership',9,22,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(21,'civicrm_membership',13,26,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(22,'civicrm_membership',17,30,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(23,'civicrm_membership',19,32,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(24,'civicrm_membership',21,34,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(25,'civicrm_membership',23,36,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(26,'civicrm_membership',27,40,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(27,'civicrm_membership',29,42,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(28,'civicrm_membership',30,43,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(29,'civicrm_membership',2,15,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(30,'civicrm_membership',4,17,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(31,'civicrm_membership',6,19,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(32,'civicrm_membership',8,21,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(33,'civicrm_membership',10,23,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(34,'civicrm_membership',12,25,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(35,'civicrm_membership',14,27,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(36,'civicrm_membership',15,28,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(37,'civicrm_membership',16,29,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(38,'civicrm_membership',18,31,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(39,'civicrm_membership',20,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(40,'civicrm_membership',24,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(41,'civicrm_membership',25,38,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(42,'civicrm_membership',26,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(43,'civicrm_membership',28,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(44,'civicrm_membership',11,24,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(45,'civicrm_membership',22,35,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(47,'civicrm_participant',3,88,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,67,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,76,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,70,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,49,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,94,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,55,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,54,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,61,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(58,'civicrm_participant',34,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(59,'civicrm_participant',37,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(60,'civicrm_participant',40,79,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(61,'civicrm_participant',43,91,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,83,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,90,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,62,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,73,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(67,'civicrm_participant',7,60,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(68,'civicrm_participant',10,93,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,86,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,56,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,72,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,66,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,87,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,46,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,58,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,75,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,65,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(80,'civicrm_participant',47,47,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(81,'civicrm_participant',2,52,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,51,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,92,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,84,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,82,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,45,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,77,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,63,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,50,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(90,'civicrm_participant',30,48,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(91,'civicrm_participant',33,89,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,53,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,64,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,57,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,59,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,78,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL);
 /*!40000 ALTER TABLE `civicrm_line_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -647,7 +646,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_loc_block` WRITE;
 /*!40000 ALTER TABLE `civicrm_loc_block` DISABLE KEYS */;
-INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES (1,181,192,167,NULL,NULL,NULL,NULL,NULL),(2,182,193,168,NULL,NULL,NULL,NULL,NULL),(3,183,194,169,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES (1,188,192,162,NULL,NULL,NULL,NULL,NULL),(2,189,193,163,NULL,NULL,NULL,NULL,NULL),(3,190,194,164,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_loc_block` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -896,7 +895,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership` DISABLE KEYS */;
-INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES (1,113,1,'2017-11-02','2017-11-02','2019-11-01','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(2,61,2,'2017-11-01','2017-11-01','2018-10-31','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(3,137,1,'2017-10-31','2017-10-31','2019-10-30','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(4,52,2,'2017-10-30','2017-10-30','2018-10-29','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(5,44,2,'2016-10-29','2016-10-29','2017-10-28','Payment',4,NULL,NULL,NULL,0,0,NULL,NULL),(6,191,2,'2017-10-28','2017-10-28','2018-10-27','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(7,81,1,'2017-10-27','2017-10-27','2019-10-26','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(8,101,2,'2017-10-26','2017-10-26','2018-10-25','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(9,164,1,'2017-10-25','2017-10-25','2019-10-24','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(10,69,2,'2016-10-24','2016-10-24','2017-10-23','Payment',4,NULL,NULL,NULL,0,0,NULL,NULL),(11,64,3,'2017-10-23','2017-10-23',NULL,'Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(12,53,2,'2017-10-22','2017-10-22','2018-10-21','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(13,66,1,'2017-10-21','2017-10-21','2019-10-20','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(14,201,2,'2017-10-20','2017-10-20','2018-10-19','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(15,26,2,'2016-10-19','2016-10-19','2017-10-18','Payment',4,NULL,NULL,NULL,0,0,NULL,NULL),(16,47,2,'2017-10-18','2017-10-18','2018-10-17','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(17,96,1,'2017-10-17','2017-10-17','2019-10-16','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(18,46,2,'2017-10-16','2017-10-16','2018-10-15','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(19,141,1,'2017-10-15','2017-10-15','2019-10-14','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(20,172,2,'2016-10-14','2016-10-14','2017-10-13','Check',4,NULL,NULL,NULL,0,0,NULL,NULL),(21,28,1,'2017-10-13','2017-10-13','2019-10-12','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(22,67,3,'2017-10-12','2017-10-12',NULL,'Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(23,199,1,'2017-10-11','2017-10-11','2019-10-10','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(24,134,2,'2017-10-10','2017-10-10','2018-10-09','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(25,144,2,'2016-10-09','2016-10-09','2017-10-08','Donation',4,NULL,NULL,NULL,0,0,NULL,NULL),(26,168,2,'2017-10-08','2017-10-08','2018-10-07','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(27,73,1,'2017-10-07','2017-10-07','2019-10-06','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(28,100,2,'2017-10-06','2017-10-06','2018-10-05','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(29,80,1,'2017-10-05','2017-10-05','2019-10-04','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(30,70,1,'2015-03-15','2015-03-15','2017-03-14','Check',3,NULL,NULL,NULL,0,0,NULL,NULL);
+INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES (1,43,1,'2018-01-12','2018-01-12','2020-01-11','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(2,62,2,'2018-01-11','2018-01-11','2019-01-10','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(3,112,1,'2018-01-10','2018-01-10','2020-01-09','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(4,55,2,'2018-01-09','2018-01-09','2019-01-08','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(5,155,1,'2015-12-11','2015-12-11','2017-12-10','Payment',3,NULL,NULL,NULL,0,0,NULL,NULL),(6,121,2,'2018-01-07','2018-01-07','2019-01-06','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(7,127,1,'2018-01-06','2018-01-06','2020-01-05','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(8,75,2,'2018-01-05','2018-01-05','2019-01-04','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(9,98,1,'2018-01-04','2018-01-04','2020-01-03','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(10,30,2,'2017-01-03','2017-01-03','2018-01-02','Check',4,NULL,NULL,NULL,0,0,NULL,NULL),(11,153,3,'2018-01-02','2018-01-02',NULL,'Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(12,32,2,'2018-01-01','2018-01-01','2018-12-31','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(13,175,1,'2017-12-31','2017-12-31','2019-12-30','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(14,6,2,'2017-12-30','2017-12-30','2018-12-29','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(15,21,2,'2016-12-29','2016-12-29','2017-12-28','Payment',4,NULL,NULL,NULL,0,0,NULL,NULL),(16,157,2,'2017-12-28','2017-12-28','2018-12-27','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(17,184,1,'2017-12-27','2017-12-27','2019-12-26','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(18,23,2,'2017-12-26','2017-12-26','2018-12-25','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(19,195,1,'2017-12-25','2017-12-25','2019-12-24','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(20,154,2,'2016-12-24','2016-12-24','2017-12-23','Check',4,NULL,NULL,NULL,0,0,NULL,NULL),(21,34,1,'2017-12-23','2017-12-23','2019-12-22','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(22,144,3,'2017-12-22','2017-12-22',NULL,'Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(23,77,1,'2017-12-21','2017-12-21','2019-12-20','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(24,10,2,'2017-12-20','2017-12-20','2018-12-19','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(25,5,2,'2016-12-19','2016-12-19','2017-12-18','Check',4,NULL,NULL,NULL,0,0,NULL,NULL),(26,27,2,'2017-12-18','2017-12-18','2018-12-17','Check',1,NULL,NULL,NULL,0,0,NULL,NULL),(27,31,1,'2017-12-17','2017-12-17','2019-12-16','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(28,41,2,'2017-12-16','2017-12-16','2018-12-15','Donation',1,NULL,NULL,NULL,0,0,NULL,NULL),(29,64,1,'2017-12-15','2017-12-15','2019-12-14','Payment',1,NULL,NULL,NULL,0,0,NULL,NULL),(30,118,1,'2015-05-25','2015-05-25','2017-05-24','Check',3,NULL,NULL,NULL,0,0,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_membership` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -916,7 +915,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_log` DISABLE KEYS */;
-INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES (1,15,4,'2016-10-19','2017-10-18',26,'2017-11-02',2,NULL),(2,21,1,'2017-10-13','2019-10-12',28,'2017-11-02',1,NULL),(3,5,4,'2016-10-29','2017-10-28',44,'2017-11-02',2,NULL),(4,18,1,'2017-10-16','2018-10-15',46,'2017-11-02',2,NULL),(5,16,1,'2017-10-18','2018-10-17',47,'2017-11-02',2,NULL),(6,4,1,'2017-10-30','2018-10-29',52,'2017-11-02',2,NULL),(7,12,1,'2017-10-22','2018-10-21',53,'2017-11-02',2,NULL),(8,2,1,'2017-11-01','2018-10-31',61,'2017-11-02',2,NULL),(9,11,1,'2017-10-23',NULL,64,'2017-11-02',3,NULL),(10,13,1,'2017-10-21','2019-10-20',66,'2017-11-02',1,NULL),(11,22,1,'2017-10-12',NULL,67,'2017-11-02',3,NULL),(12,10,4,'2016-10-24','2017-10-23',69,'2017-11-02',2,NULL),(13,30,3,'2015-03-15','2017-03-14',70,'2017-11-02',1,NULL),(14,27,1,'2017-10-07','2019-10-06',73,'2017-11-02',1,NULL),(15,29,1,'2017-10-05','2019-10-04',80,'2017-11-02',1,NULL),(16,7,1,'2017-10-27','2019-10-26',81,'2017-11-02',1,NULL),(17,17,1,'2017-10-17','2019-10-16',96,'2017-11-02',1,NULL),(18,28,1,'2017-10-06','2018-10-05',100,'2017-11-02',2,NULL),(19,8,1,'2017-10-26','2018-10-25',101,'2017-11-02',2,NULL),(20,1,1,'2017-11-02','2019-11-01',113,'2017-11-02',1,NULL),(21,24,1,'2017-10-10','2018-10-09',134,'2017-11-02',2,NULL),(22,3,1,'2017-10-31','2019-10-30',137,'2017-11-02',1,NULL),(23,19,1,'2017-10-15','2019-10-14',141,'2017-11-02',1,NULL),(24,25,4,'2016-10-09','2017-10-08',144,'2017-11-02',2,NULL),(25,9,1,'2017-10-25','2019-10-24',164,'2017-11-02',1,NULL),(26,26,1,'2017-10-08','2018-10-07',168,'2017-11-02',2,NULL),(27,20,4,'2016-10-14','2017-10-13',172,'2017-11-02',2,NULL),(28,6,1,'2017-10-28','2018-10-27',191,'2017-11-02',2,NULL),(29,23,1,'2017-10-11','2019-10-10',199,'2017-11-02',1,NULL),(30,14,1,'2017-10-20','2018-10-19',201,'2017-11-02',2,NULL);
+INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES (1,25,4,'2016-12-19','2017-12-18',5,'2018-01-12',2,NULL),(2,14,1,'2017-12-30','2018-12-29',6,'2018-01-12',2,NULL),(3,24,1,'2017-12-20','2018-12-19',10,'2018-01-12',2,NULL),(4,15,4,'2016-12-29','2017-12-28',21,'2018-01-12',2,NULL),(5,18,1,'2017-12-26','2018-12-25',23,'2018-01-12',2,NULL),(6,26,1,'2017-12-18','2018-12-17',27,'2018-01-12',2,NULL),(7,10,4,'2017-01-03','2018-01-02',30,'2018-01-12',2,NULL),(8,27,1,'2017-12-17','2019-12-16',31,'2018-01-12',1,NULL),(9,12,1,'2018-01-01','2018-12-31',32,'2018-01-12',2,NULL),(10,21,1,'2017-12-23','2019-12-22',34,'2018-01-12',1,NULL),(11,28,1,'2017-12-16','2018-12-15',41,'2018-01-12',2,NULL),(12,1,1,'2018-01-12','2020-01-11',43,'2018-01-12',1,NULL),(13,4,1,'2018-01-09','2019-01-08',55,'2018-01-12',2,NULL),(14,2,1,'2018-01-11','2019-01-10',62,'2018-01-12',2,NULL),(15,29,1,'2017-12-15','2019-12-14',64,'2018-01-12',1,NULL),(16,8,1,'2018-01-05','2019-01-04',75,'2018-01-12',2,NULL),(17,23,1,'2017-12-21','2019-12-20',77,'2018-01-12',1,NULL),(18,9,1,'2018-01-04','2020-01-03',98,'2018-01-12',1,NULL),(19,3,1,'2018-01-10','2020-01-09',112,'2018-01-12',1,NULL),(20,30,3,'2015-05-25','2017-05-24',118,'2018-01-12',1,NULL),(21,6,1,'2018-01-07','2019-01-06',121,'2018-01-12',2,NULL),(22,7,1,'2018-01-06','2020-01-05',127,'2018-01-12',1,NULL),(23,22,1,'2017-12-22',NULL,144,'2018-01-12',3,NULL),(24,11,1,'2018-01-02',NULL,153,'2018-01-12',3,NULL),(25,20,4,'2016-12-24','2017-12-23',154,'2018-01-12',2,NULL),(26,5,3,'2015-12-11','2017-12-10',155,'2018-01-12',1,NULL),(27,16,1,'2017-12-28','2018-12-27',157,'2018-01-12',2,NULL),(28,13,1,'2017-12-31','2019-12-30',175,'2018-01-12',1,NULL),(29,17,1,'2017-12-27','2019-12-26',184,'2018-01-12',1,NULL),(30,19,1,'2017-12-25','2019-12-24',195,'2018-01-12',1,NULL);
 /*!40000 ALTER TABLE `civicrm_membership_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -926,7 +925,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_payment` DISABLE KEYS */;
-INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES (1,1,14),(2,3,15),(3,7,16),(4,9,17),(5,13,18),(6,17,19),(7,19,20),(8,21,21),(9,23,22),(10,27,23),(11,29,24),(12,30,25),(13,2,26),(14,4,27),(15,5,28),(16,6,29),(17,8,30),(18,10,31),(19,12,32),(20,14,33),(21,15,34),(22,16,35),(23,18,36),(24,20,37),(25,24,38),(26,25,39),(27,26,40),(28,28,41),(29,11,42),(30,22,43);
+INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES (1,1,14),(2,2,15),(3,3,16),(4,4,17),(5,5,18),(6,6,19),(7,7,20),(8,8,21),(9,9,22),(10,10,23),(11,11,24),(12,12,25),(13,13,26),(14,14,27),(15,15,28),(16,16,29),(17,17,30),(18,18,31),(19,19,32),(20,20,33),(21,21,34),(22,22,35),(23,23,36),(24,24,37),(25,25,38),(26,26,39),(27,27,40),(28,28,41),(29,29,42),(30,30,43);
 /*!40000 ALTER TABLE `civicrm_membership_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -956,7 +955,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_menu` WRITE;
 /*!40000 ALTER TABLE `civicrm_menu` DISABLE KEYS */;
-INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`, `access_callback`, `access_arguments`, `page_callback`, `page_arguments`, `breadcrumb`, `return_url`, `return_url_args`, `component_id`, `is_active`, `is_public`, `is_exposed`, `is_ssl`, `weight`, `type`, `page_type`, `skipBreadcrumb`, `module_data`) VALUES (1,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),(2,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),(3,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(4,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(5,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(6,1,'civicrm/tag',NULL,'Tags (Categories)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:3:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/11.png\";}'),(7,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(8,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(9,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(10,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";}'),(11,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),(12,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(13,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(14,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(15,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(16,1,'civicrm/admin/custom/group/field/changetype',NULL,'Custom Field - Change Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Custom_Form_ChangeFieldType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(17,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(18,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),(19,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),(20,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),(21,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),(22,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),(23,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),(24,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/05.png\";}'),(25,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:3:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";}'),(26,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/09.png\";}'),(27,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(28,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(29,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:3:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/10.png\";}'),(30,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:3:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(31,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(32,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(33,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:3:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/08.png\";}'),(34,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:7:\"tel.gif\";}'),(35,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(36,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(37,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(38,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(39,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(40,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:3:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(41,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:22:\"admin/small/domain.png\";}'),(42,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(43,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:22:\"edit message templates\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(44,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:22:\"edit message templates\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),(45,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:3:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(46,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(47,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:29:\"admin/small/communication.png\";}'),(48,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:3:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(49,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:3:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(50,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:3:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(51,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(52,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:3:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(53,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(54,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(55,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(56,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(57,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:3:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(58,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:18:\"admin/small/03.png\";}'),(59,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),(60,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";}'),(61,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:9:\"check.gif\";}'),(62,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(63,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:3:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(64,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(65,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(66,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(67,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(68,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(69,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(70,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(71,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";}'),(72,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(73,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(74,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:3:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(75,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:3:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";}'),(76,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(77,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Preferences_Multisite\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(78,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Preferences_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(79,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Preferences_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(80,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(81,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(82,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),(83,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:3:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(84,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:3:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(85,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:3:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";}'),(86,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),(87,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),(88,1,'civicrm/ajax/menujs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:17:\"getNavigationMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(89,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(90,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(91,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(92,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),(93,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),(94,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(95,1,'civicrm/admin/tplstrings/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Persistent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(96,1,'civicrm/admin/tplstrings',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Persistent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(97,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(98,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(99,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:3:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(100,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(101,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(102,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(103,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(104,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(105,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(106,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),(107,1,'civicrm/dashlet',NULL,'CiviCRM Dashlets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Page_Dashlet\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,1,NULL,'a:0:{}'),(108,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),(109,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(110,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(111,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(112,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),(113,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),(114,1,'civicrm/contact/search/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(115,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),(116,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(117,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(118,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(119,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(120,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(121,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(122,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(123,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(124,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(125,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(126,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(127,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(128,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(129,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(130,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(131,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(132,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(133,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(134,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(135,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(136,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(137,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(138,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(139,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(140,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(141,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(142,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(143,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(144,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(145,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(146,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(147,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(148,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(149,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(150,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(151,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(152,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(153,1,'civicrm/ajax/dashboard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"dashboard\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(154,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(155,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(156,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(157,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(158,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(159,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(160,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(161,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:3:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";}'),(162,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(163,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(164,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(165,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),(166,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(167,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(168,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(169,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(170,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(171,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(172,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(173,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(174,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(175,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(176,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(177,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(178,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(179,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(180,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(181,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(182,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(183,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(184,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(185,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(186,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(187,1,'civicrm/standalone/register',NULL,'Registration Page','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Standalone_Form_Register\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(188,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(189,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(190,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(191,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),(192,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(193,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(194,1,'civicrm/api',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(195,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(196,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(197,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(198,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:14:\"CiviCRM API v3\";s:3:\"url\";s:20:\"/civicrm/api?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(199,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(200,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(201,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(202,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(203,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(204,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(205,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(206,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(207,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(208,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(209,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(210,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(211,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(212,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(213,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(214,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(215,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(216,1,'civicrm/ajax/l10n-js',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Resources\";i:1;s:20:\"outputLocalizationJS\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(217,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(218,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(219,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(220,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(221,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(222,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(223,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(224,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(225,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(226,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(227,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(228,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(229,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(230,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(231,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(232,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:3:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(233,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(234,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(235,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(236,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(237,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(238,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(239,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(240,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(241,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(242,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(243,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(244,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(245,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(246,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(247,1,'civicrm/group',NULL,'Manage Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Page_Group\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,30,1,1,NULL,'a:0:{}'),(248,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),(249,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(250,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(251,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),(252,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(253,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(254,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(255,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(256,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(257,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(258,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(259,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_ICalendar\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(260,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(261,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";}'),(262,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:3:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(263,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:3:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";}'),(264,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:3:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";}'),(265,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:3:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";}'),(266,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(267,1,'civicrm/admin/conference_slots','group=conference_slot','Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(268,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),(269,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),(270,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(271,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),(272,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(273,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),(274,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(275,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),(276,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(277,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),(278,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(279,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),(280,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),(281,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),(282,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),(283,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),(284,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),(285,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(286,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(287,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(288,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(289,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(290,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(291,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(292,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(293,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(294,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),(295,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(296,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(297,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(298,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(299,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),(300,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:3:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(301,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),(302,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),(303,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),(304,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(305,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(306,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),(307,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),(308,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),(309,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),(310,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(311,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:3:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";}'),(312,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(313,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(314,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(315,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";}'),(316,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:3:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";}'),(317,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";}'),(318,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(319,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(320,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(321,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),(322,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),(323,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),(324,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),(325,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(326,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(327,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(328,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(329,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(330,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(331,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(332,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),(333,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),(334,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),(335,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),(336,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),(337,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(338,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(339,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(340,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(341,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(342,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(343,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(344,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";}'),(345,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";}'),(346,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),(347,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),(348,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),(349,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),(350,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(351,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(352,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),(353,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(354,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:3:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(355,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(356,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:3:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(357,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(358,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(359,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(360,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),(361,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),(362,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),(363,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),(364,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),(365,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(366,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(367,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),(368,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),(369,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),(370,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),(371,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),(372,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(373,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),(374,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),(375,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(376,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(377,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(378,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(379,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),(380,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(381,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(382,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(383,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),(384,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(385,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(386,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),(387,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(388,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(389,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(390,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),(391,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(392,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(393,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(394,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(395,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(396,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(397,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(398,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(399,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(400,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:3:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(401,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";}'),(402,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(403,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(404,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(405,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(406,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(407,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(408,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(409,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),(410,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(411,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),(412,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),(413,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),(414,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(415,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";}'),(416,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(417,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";}'),(418,1,'civicrm/report/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','a:2:{i:0;s:15:\"CRM_Report_Form\";i:1;s:16:\"uploadChartImage\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(419,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(420,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(421,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(422,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(423,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"icon\";s:18:\"admin/small/05.png\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(424,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:4:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(425,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:4:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(426,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:4:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(427,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(428,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(430,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(431,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(432,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(433,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(434,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(435,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(436,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(437,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(438,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(439,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:26:\"{weight}.Tags (Categories)\";a:6:{s:5:\"title\";s:17:\"Tags (Categories)\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:15:\"Tags_Categories\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";s:18:\"admin/small/11.png\";s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";s:18:\"admin/small/09.png\";s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";s:18:\"admin/small/10.png\";s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";s:18:\"admin/small/08.png\";s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";s:7:\"tel.gif\";s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:10;}s:14:\"Communications\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";s:22:\"admin/small/domain.png\";s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";s:29:\"admin/small/communication.png\";s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:6;}s:12:\"Localization\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:21:\"Users and Permissions\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";s:18:\"admin/small/03.png\";s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:15:\"System Settings\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:18:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";s:9:\"check.gif\";s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:62:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";a:6:{s:5:\"title\";s:53:\"Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:2:\"id\";s:46:\"Misc_Undelete_PDFs_Limits_Logging_Captcha_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:9;}s:12:\"CiviCampaign\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:9:\"CiviEvent\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:65:\"/civicrm/admin/conference_slots?group=conference_slot&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviMail\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviMember\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:6:\"Manage\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:12:\"Option Lists\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:9:\"Customize\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:14:\"CiviContribute\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviCase\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviReport\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
+INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`, `access_callback`, `access_arguments`, `page_callback`, `page_arguments`, `breadcrumb`, `return_url`, `return_url_args`, `component_id`, `is_active`, `is_public`, `is_exposed`, `is_ssl`, `weight`, `type`, `page_type`, `skipBreadcrumb`, `module_data`) VALUES (1,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),(2,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),(3,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(4,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(5,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(6,1,'civicrm/tag',NULL,'Tags (Categories)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:3:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/11.png\";}'),(7,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(8,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(9,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(10,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";}'),(11,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),(12,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(13,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(14,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(15,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(16,1,'civicrm/admin/custom/group/field/changetype',NULL,'Custom Field - Change Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Custom_Form_ChangeFieldType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(17,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(18,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),(19,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),(20,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),(21,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),(22,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),(23,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),(24,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/05.png\";}'),(25,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:3:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";}'),(26,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/09.png\";}'),(27,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(28,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(29,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:3:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/10.png\";}'),(30,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:3:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(31,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(32,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(33,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:3:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/08.png\";}'),(34,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:7:\"tel.gif\";}'),(35,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(36,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(37,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(38,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(39,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(40,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:3:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(41,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:22:\"admin/small/domain.png\";}'),(42,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(43,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:22:\"edit message templates\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(44,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:22:\"edit message templates\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),(45,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:3:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(46,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(47,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:29:\"admin/small/communication.png\";}'),(48,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:3:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(49,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:3:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(50,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:3:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(51,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(52,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:3:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(53,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(54,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(55,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(56,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(57,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:3:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(58,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:18:\"admin/small/03.png\";}'),(59,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),(60,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:3:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";}'),(61,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:9:\"check.gif\";}'),(62,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(63,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:3:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(64,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(65,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(66,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(67,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(68,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:3:{s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(69,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(70,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(71,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:3:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";}'),(72,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(73,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:3:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(74,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:3:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(75,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:3:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";}'),(76,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(77,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Preferences_Multisite\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(78,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Preferences_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(79,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Preferences_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(80,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(81,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(82,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),(83,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:3:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(84,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:3:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(85,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:3:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";}'),(86,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),(87,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),(88,1,'civicrm/ajax/menujs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:17:\"getNavigationMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(89,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(90,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(91,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(92,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),(93,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),(94,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(95,1,'civicrm/admin/tplstrings/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Persistent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(96,1,'civicrm/admin/tplstrings',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Persistent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(97,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(98,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(99,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:3:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(100,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(101,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(102,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(103,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(104,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(105,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(106,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),(107,1,'civicrm/dashlet',NULL,'CiviCRM Dashlets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Page_Dashlet\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,1,NULL,'a:0:{}'),(108,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),(109,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(110,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(111,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(112,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),(113,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),(114,1,'civicrm/contact/search/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(115,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),(116,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(117,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(118,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(119,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(120,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(121,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(122,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(123,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(124,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(125,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(126,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(127,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(128,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(129,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(130,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(131,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(132,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(133,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(134,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(135,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(136,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(137,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(138,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(139,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(140,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(141,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(142,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(143,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(144,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(145,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(146,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(147,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(148,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(149,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(150,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(151,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(152,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(153,1,'civicrm/ajax/dashboard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"dashboard\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(154,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(155,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(156,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(157,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(158,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(159,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(160,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(161,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:3:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";}'),(162,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(163,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(164,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(165,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),(166,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(167,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(168,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(169,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(170,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(171,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(172,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(173,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(174,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(175,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(176,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(177,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(178,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(179,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(180,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(181,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(182,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(183,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(184,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(185,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(186,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(187,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(188,1,'civicrm/standalone/register',NULL,'Registration Page','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Standalone_Form_Register\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(189,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(190,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(191,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(192,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),(193,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(194,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(195,1,'civicrm/api',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(196,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(197,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(198,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(199,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:14:\"CiviCRM API v3\";s:3:\"url\";s:20:\"/civicrm/api?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(200,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(201,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(202,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(203,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(204,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(205,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(206,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(207,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(208,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(209,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(210,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(211,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(212,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(213,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(214,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(215,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(216,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(217,1,'civicrm/ajax/l10n-js',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Resources\";i:1;s:20:\"outputLocalizationJS\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(218,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(219,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(220,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(221,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(222,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(223,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(224,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(225,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(226,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(227,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(228,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(229,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(230,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(231,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(232,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(233,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:3:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(234,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(235,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(236,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(237,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(238,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(239,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(240,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(241,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(242,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(243,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(244,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(245,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(246,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(247,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(248,1,'civicrm/group',NULL,'Manage Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Page_Group\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,30,1,1,NULL,'a:0:{}'),(249,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),(250,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(251,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(252,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),(253,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(254,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(255,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(256,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(257,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(258,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(259,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(260,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_ICalendar\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(261,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(262,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";}'),(263,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:3:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(264,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:3:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";}'),(265,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:3:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";}'),(266,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:3:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";}'),(267,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(268,1,'civicrm/admin/conference_slots','group=conference_slot','Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(269,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),(270,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),(271,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(272,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),(273,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(274,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),(275,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(276,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),(277,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(278,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),(279,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(280,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),(281,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),(282,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),(283,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),(284,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),(285,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),(286,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(287,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(288,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(289,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(290,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(291,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(292,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(293,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(294,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(295,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),(296,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(297,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(298,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(299,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(300,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),(301,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:3:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(302,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),(303,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),(304,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),(305,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(306,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(307,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),(308,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),(309,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),(310,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),(311,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(312,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:3:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";}'),(313,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(314,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(315,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(316,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";}'),(317,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:3:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";}'),(318,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";}'),(319,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(320,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(321,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(322,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),(323,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),(324,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),(325,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),(326,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(327,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(328,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(329,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(330,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(331,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(332,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(333,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),(334,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),(335,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),(336,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),(337,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),(338,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(339,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(340,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(341,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(342,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(343,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(344,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(345,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:3:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";}'),(346,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:3:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";}'),(347,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),(348,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),(349,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),(350,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),(351,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(352,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(353,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),(354,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(355,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:3:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(356,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(357,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:3:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(358,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(359,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(360,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(361,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),(362,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),(363,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),(364,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),(365,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),(366,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(367,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(368,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),(369,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),(370,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),(371,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),(372,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),(373,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(374,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),(375,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),(376,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(377,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(378,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(379,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(380,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),(381,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(382,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(383,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(384,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),(385,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(386,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(387,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),(388,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(389,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(390,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(391,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),(392,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(393,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(394,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(395,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(396,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(397,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(398,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(399,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(400,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(401,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:3:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(402,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";}'),(403,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(404,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:3:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(405,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(406,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(407,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(408,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(409,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(410,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),(411,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(412,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),(413,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),(414,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),(415,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(416,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";}'),(417,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(418,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";}'),(419,1,'civicrm/report/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','a:2:{i:0;s:15:\"CRM_Report_Form\";i:1;s:16:\"uploadChartImage\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(420,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(421,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(422,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(423,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(424,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:3:{s:4:\"icon\";s:18:\"admin/small/05.png\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(425,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:4:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(426,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:4:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(427,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:4:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(428,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(430,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(431,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(432,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(433,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(434,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(435,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(436,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(437,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(438,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(439,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(440,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:26:\"{weight}.Tags (Categories)\";a:6:{s:5:\"title\";s:17:\"Tags (Categories)\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:15:\"Tags_Categories\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";s:18:\"admin/small/11.png\";s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";s:18:\"admin/small/09.png\";s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";s:18:\"admin/small/10.png\";s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";s:18:\"admin/small/08.png\";s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";s:7:\"tel.gif\";s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:10;}s:14:\"Communications\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";s:22:\"admin/small/domain.png\";s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";s:29:\"admin/small/communication.png\";s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:6;}s:12:\"Localization\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:21:\"Users and Permissions\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";s:18:\"admin/small/03.png\";s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:15:\"System Settings\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:18:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";s:9:\"check.gif\";s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:62:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";a:6:{s:5:\"title\";s:53:\"Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:2:\"id\";s:46:\"Misc_Undelete_PDFs_Limits_Logging_Captcha_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:9;}s:12:\"CiviCampaign\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:9:\"CiviEvent\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:65:\"/civicrm/admin/conference_slots?group=conference_slot&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviMail\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";s:21:\"admin/small/title.png\";s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviMember\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:6:\"Manage\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:12:\"Option Lists\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:9:\"Customize\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:14:\"CiviContribute\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviCase\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviReport\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
 /*!40000 ALTER TABLE `civicrm_menu` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -986,7 +985,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_note` WRITE;
 /*!40000 ALTER TABLE `civicrm_note` DISABLE KEYS */;
-INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `modified_date`, `subject`, `privacy`) VALUES (1,'civicrm_contact',130,'Send newsletter for April 2005',1,'2017-01-28',NULL,'0'),(2,'civicrm_contact',105,'Invite members for the Steve Prefontaine 10k dream run',1,'2017-01-10',NULL,'0'),(3,'civicrm_contact',172,'Send newsletter for April 2005',1,'2017-10-14',NULL,'0'),(4,'civicrm_contact',91,'Send reminder for annual dinner',1,'2017-07-07',NULL,'0'),(5,'civicrm_contact',104,'Organize the Terry Fox run',1,'2017-02-02',NULL,'0'),(6,'civicrm_contact',18,'Send reminder for annual dinner',1,'2017-06-08',NULL,'0'),(7,'civicrm_contact',164,'Get the registration done for NGO status',1,'2017-01-03',NULL,'0'),(8,'civicrm_contact',47,'Organize the Terry Fox run',1,'2017-02-18',NULL,'0'),(9,'civicrm_contact',46,'Send newsletter for April 2005',1,'2017-07-23',NULL,'0'),(10,'civicrm_contact',177,'Get the registration done for NGO status',1,'2017-08-10',NULL,'0'),(11,'civicrm_contact',66,'Organize the Terry Fox run',1,'2017-04-26',NULL,'0'),(12,'civicrm_contact',185,'Organize the Terry Fox run',1,'2017-03-04',NULL,'0'),(13,'civicrm_contact',68,'Invite members for the Steve Prefontaine 10k dream run',1,'2017-03-04',NULL,'0'),(14,'civicrm_contact',139,'Connect for presentation',1,'2017-04-09',NULL,'0'),(15,'civicrm_contact',48,'Connect for presentation',1,'2017-05-05',NULL,'0'),(16,'civicrm_contact',170,'Contact the Commissioner of Charities',1,'2017-04-25',NULL,'0'),(17,'civicrm_contact',23,'Connect for presentation',1,'2017-05-16',NULL,'0'),(18,'civicrm_contact',123,'Reminder screening of \"Black\" on next Friday',1,'2017-10-14',NULL,'0'),(19,'civicrm_contact',20,'Arrange collection of funds from members',1,'2017-06-12',NULL,'0'),(20,'civicrm_contact',117,'Send reminder for annual dinner',1,'2017-10-10',NULL,'0');
+INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `modified_date`, `subject`, `privacy`) VALUES (1,'civicrm_contact',5,'Invite members for the Steve Prefontaine 10k dream run',1,'2017-12-18',NULL,'0'),(2,'civicrm_contact',3,'Arrange for cricket match with Sunil Gavaskar',1,'2017-01-26',NULL,'0'),(3,'civicrm_contact',117,'Chart out route map for next 10k run',1,'2017-10-09',NULL,'0'),(4,'civicrm_contact',170,'Arrange for cricket match with Sunil Gavaskar',1,'2017-06-11',NULL,'0'),(5,'civicrm_contact',167,'Reminder screening of \"Black\" on next Friday',1,'2017-10-18',NULL,'0'),(6,'civicrm_contact',118,'Invite members for the Steve Prefontaine 10k dream run',1,'2017-08-27',NULL,'0'),(7,'civicrm_contact',139,'Send reminder for annual dinner',1,'2017-12-25',NULL,'0'),(8,'civicrm_contact',120,'Arrange for cricket match with Sunil Gavaskar',1,'2017-08-22',NULL,'0'),(9,'civicrm_contact',181,'Send reminder for annual dinner',1,'2017-10-09',NULL,'0'),(10,'civicrm_contact',93,'Send newsletter for April 2005',1,'2017-10-24',NULL,'0'),(11,'civicrm_contact',29,'Connect for presentation',1,'2017-10-19',NULL,'0'),(12,'civicrm_contact',173,'Organize the Terry Fox run',1,'2017-02-03',NULL,'0'),(13,'civicrm_contact',51,'Arrange for cricket match with Sunil Gavaskar',1,'2017-10-16',NULL,'0'),(14,'civicrm_contact',179,'Connect for presentation',1,'2017-11-05',NULL,'0'),(15,'civicrm_contact',197,'Send newsletter for April 2005',1,'2017-09-18',NULL,'0'),(16,'civicrm_contact',94,'Chart out route map for next 10k run',1,'2017-06-20',NULL,'0'),(17,'civicrm_contact',150,'Reminder screening of \"Black\" on next Friday',1,'2017-11-26',NULL,'0'),(18,'civicrm_contact',90,'Send newsletter for April 2005',1,'2017-06-06',NULL,'0'),(19,'civicrm_contact',42,'Arrange collection of funds from members',1,'2017-11-14',NULL,'0'),(20,'civicrm_contact',32,'Send reminder for annual dinner',1,'2017-08-01',NULL,'0');
 /*!40000 ALTER TABLE `civicrm_note` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1025,7 +1024,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_participant` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant` DISABLE KEYS */;
-INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES (1,12,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,133,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(3,97,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(4,61,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(5,187,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,52,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(7,136,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(8,141,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(9,2,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(10,151,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(11,137,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(12,115,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(13,44,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(14,32,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(15,112,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(16,180,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(17,166,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(18,73,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(19,93,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(20,142,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(21,78,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(22,80,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(23,92,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(24,95,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(25,18,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(26,45,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,55,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(28,114,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(29,120,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(30,15,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(31,4,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(32,58,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(33,54,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(34,82,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(35,177,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(36,23,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(37,35,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(38,27,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(39,96,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(40,87,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(41,175,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(42,179,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(43,100,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(44,182,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(45,143,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(46,26,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(47,104,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(48,6,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(49,176,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(50,190,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES (1,64,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,27,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(3,154,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(4,100,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(5,19,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,78,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(7,51,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(8,191,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(9,114,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(10,198,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(11,138,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(12,90,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(13,144,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(14,136,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(15,88,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(16,37,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(17,4,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(18,16,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(19,91,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(20,115,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(21,200,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(22,76,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(23,68,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(24,33,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(25,32,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(26,149,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,18,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(28,54,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(29,5,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(30,15,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(31,86,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(32,43,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(33,161,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(34,126,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(35,133,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(36,31,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(37,104,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(38,105,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(39,71,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(40,123,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(41,74,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(42,39,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(43,175,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(44,140,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(45,44,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(46,83,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(47,8,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(48,119,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(49,137,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(50,171,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_participant` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1035,7 +1034,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_participant_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant_payment` DISABLE KEYS */;
-INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES (1,9,45),(2,31,46),(3,48,47),(4,1,48),(5,30,49),(6,25,50),(7,36,51),(8,46,52),(9,38,53),(10,14,54),(11,37,55),(12,13,56),(13,26,57),(14,6,58),(15,33,59),(16,27,60),(17,32,61),(18,4,62),(19,18,63),(20,21,64),(21,22,65),(22,34,66),(23,40,67),(24,23,68),(25,19,69),(26,24,70),(27,39,71),(28,3,72),(29,43,73),(30,47,74),(31,15,75),(32,28,76),(33,12,77),(34,29,78),(35,2,79),(36,7,80),(37,11,81),(38,8,82),(39,20,83),(40,45,84),(41,10,85),(42,17,86),(43,41,87),(44,49,88),(45,35,89),(46,42,90),(47,16,91),(48,44,92),(49,5,93),(50,50,94);
+INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES (1,17,45),(2,29,46),(3,47,47),(4,30,48),(5,18,49),(6,27,50),(7,5,51),(8,2,52),(9,36,53),(10,25,54),(11,24,55),(12,16,56),(13,42,57),(14,32,58),(15,45,59),(16,7,60),(17,28,61),(18,1,62),(19,23,63),(20,39,64),(21,41,65),(22,22,66),(23,6,67),(24,46,68),(25,31,69),(26,15,70),(27,12,71),(28,19,72),(29,4,73),(30,37,74),(31,38,75),(32,9,76),(33,20,77),(34,48,78),(35,40,79),(36,34,80),(37,35,81),(38,14,82),(39,49,83),(40,11,84),(41,44,85),(42,13,86),(43,26,87),(44,3,88),(45,33,89),(46,50,90),(47,43,91),(48,8,92),(49,10,93),(50,21,94);
 /*!40000 ALTER TABLE `civicrm_participant_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1083,7 +1082,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_pcp` WRITE;
 /*!40000 ALTER TABLE `civicrm_pcp` DISABLE KEYS */;
-INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES (1,111,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
+INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES (1,57,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
 /*!40000 ALTER TABLE `civicrm_pcp` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1112,7 +1111,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_phone` WRITE;
 /*!40000 ALTER TABLE `civicrm_phone` DISABLE KEYS */;
-INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES (1,47,1,1,0,NULL,'276-3618',NULL,'2763618',2),(2,47,1,0,0,NULL,'849-7404',NULL,'8497404',1),(3,69,1,1,0,NULL,'503-9266',NULL,'5039266',2),(4,69,1,0,0,NULL,'(803) 788-6054',NULL,'8037886054',1),(5,111,1,1,0,NULL,'737-1952',NULL,'7371952',1),(6,111,1,0,0,NULL,'(895) 521-7599',NULL,'8955217599',2),(7,143,1,1,0,NULL,'(534) 238-5219',NULL,'5342385219',1),(8,26,1,1,0,NULL,'739-8814',NULL,'7398814',2),(9,26,1,0,0,NULL,'(510) 714-2849',NULL,'5107142849',2),(10,171,1,1,0,NULL,'285-2490',NULL,'2852490',1),(11,171,1,0,0,NULL,'(678) 352-1450',NULL,'6783521450',2),(12,52,1,1,0,NULL,'482-9495',NULL,'4829495',1),(13,52,1,0,0,NULL,'456-1724',NULL,'4561724',2),(14,122,1,1,0,NULL,'464-6506',NULL,'4646506',2),(15,122,1,0,0,NULL,'(395) 889-2000',NULL,'3958892000',2),(16,94,1,1,0,NULL,'275-7966',NULL,'2757966',2),(17,94,1,0,0,NULL,'(562) 248-1910',NULL,'5622481910',1),(18,163,1,1,0,NULL,'(615) 797-2945',NULL,'6157972945',2),(19,165,1,1,0,NULL,'(612) 673-6568',NULL,'6126736568',2),(20,103,1,1,0,NULL,'(484) 341-1524',NULL,'4843411524',2),(21,103,1,0,0,NULL,'(396) 795-7655',NULL,'3967957655',1),(22,124,1,1,0,NULL,'252-4902',NULL,'2524902',2),(23,124,1,0,0,NULL,'(524) 840-8832',NULL,'5248408832',1),(24,170,1,1,0,NULL,'(549) 408-7838',NULL,'5494087838',2),(25,150,1,1,0,NULL,'584-1294',NULL,'5841294',2),(26,98,1,1,0,NULL,'732-4754',NULL,'7324754',1),(27,101,1,1,0,NULL,'(873) 299-3292',NULL,'8732993292',1),(28,101,1,0,0,NULL,'(354) 294-7249',NULL,'3542947249',1),(29,3,1,1,0,NULL,'607-9475',NULL,'6079475',1),(30,72,1,1,0,NULL,'(528) 830-3561',NULL,'5288303561',1),(31,72,1,0,0,NULL,'730-2580',NULL,'7302580',2),(32,60,1,1,0,NULL,'(713) 424-3797',NULL,'7134243797',1),(33,189,1,1,0,NULL,'580-6392',NULL,'5806392',1),(34,189,1,0,0,NULL,'888-9704',NULL,'8889704',2),(35,155,1,1,0,NULL,'(225) 811-2621',NULL,'2258112621',2),(36,155,1,0,0,NULL,'338-5014',NULL,'3385014',1),(37,201,1,1,0,NULL,'(452) 203-8495',NULL,'4522038495',1),(38,178,1,1,0,NULL,'473-3357',NULL,'4733357',1),(39,178,1,0,0,NULL,'(502) 232-8847',NULL,'5022328847',2),(40,56,1,1,0,NULL,'(430) 219-4252',NULL,'4302194252',1),(41,119,1,1,0,NULL,'491-1703',NULL,'4911703',1),(42,119,1,0,0,NULL,'(272) 391-1601',NULL,'2723911601',2),(43,48,1,1,0,NULL,'279-9940',NULL,'2799940',2),(44,48,1,0,0,NULL,'888-3075',NULL,'8883075',1),(45,20,1,1,0,NULL,'889-1401',NULL,'8891401',1),(46,20,1,0,0,NULL,'392-1800',NULL,'3921800',2),(47,158,1,1,0,NULL,'201-5729',NULL,'2015729',1),(48,158,1,0,0,NULL,'(438) 285-2920',NULL,'4382852920',2),(49,172,1,1,0,NULL,'289-8544',NULL,'2898544',1),(50,172,1,0,0,NULL,'322-9090',NULL,'3229090',2),(51,164,1,1,0,NULL,'(446) 801-9322',NULL,'4468019322',1),(52,164,1,0,0,NULL,'(696) 330-2945',NULL,'6963302945',1),(53,67,1,1,0,NULL,'751-4469',NULL,'7514469',2),(54,17,1,1,0,NULL,'846-9498',NULL,'8469498',2),(55,14,1,1,0,NULL,'207-8154',NULL,'2078154',1),(56,14,1,0,0,NULL,'(392) 846-3844',NULL,'3928463844',1),(57,176,1,1,0,NULL,'(358) 672-2804',NULL,'3586722804',1),(58,176,1,0,0,NULL,'584-5204',NULL,'5845204',2),(59,161,1,1,0,NULL,'753-3934',NULL,'7533934',1),(60,161,1,0,0,NULL,'853-6907',NULL,'8536907',1),(61,174,1,1,0,NULL,'(269) 303-7727',NULL,'2693037727',1),(62,174,1,0,0,NULL,'(660) 731-9945',NULL,'6607319945',1),(63,192,1,1,0,NULL,'(460) 210-9482',NULL,'4602109482',1),(64,199,1,1,0,NULL,'(379) 353-5267',NULL,'3793535267',2),(65,199,1,0,0,NULL,'(706) 521-5667',NULL,'7065215667',1),(66,59,1,1,0,NULL,'546-4696',NULL,'5464696',1),(67,59,1,0,0,NULL,'(683) 703-8121',NULL,'6837038121',1),(68,88,1,1,0,NULL,'743-7361',NULL,'7437361',2),(69,88,1,0,0,NULL,'711-6050',NULL,'7116050',1),(70,50,1,1,0,NULL,'561-7030',NULL,'5617030',1),(71,50,1,0,0,NULL,'287-9969',NULL,'2879969',2),(72,168,1,1,0,NULL,'842-8549',NULL,'8428549',1),(73,68,1,1,0,NULL,'531-6051',NULL,'5316051',1),(74,51,1,1,0,NULL,'(264) 313-6619',NULL,'2643136619',1),(75,51,1,0,0,NULL,'(537) 251-4125',NULL,'5372514125',1),(76,126,1,1,0,NULL,'(330) 737-8252',NULL,'3307378252',2),(77,120,1,1,0,NULL,'(872) 539-6699',NULL,'8725396699',1),(78,66,1,1,0,NULL,'891-3526',NULL,'8913526',2),(79,66,1,0,0,NULL,'(825) 477-7287',NULL,'8254777287',1),(80,133,1,1,0,NULL,'750-5625',NULL,'7505625',1),(81,162,1,1,0,NULL,'383-2556',NULL,'3832556',2),(82,49,1,1,0,NULL,'849-3662',NULL,'8493662',2),(83,49,1,0,0,NULL,'633-8582',NULL,'6338582',2),(84,181,1,1,0,NULL,'(201) 522-7500',NULL,'2015227500',1),(85,127,1,1,0,NULL,'740-9922',NULL,'7409922',2),(86,70,1,1,0,NULL,'287-3011',NULL,'2873011',2),(87,70,1,0,0,NULL,'753-9558',NULL,'7539558',2),(88,36,1,1,0,NULL,'576-9300',NULL,'5769300',1),(89,36,1,0,0,NULL,'(388) 500-2232',NULL,'3885002232',2),(90,62,1,1,0,NULL,'(584) 664-6403',NULL,'5846646403',2),(91,116,1,1,0,NULL,'497-2870',NULL,'4972870',1),(92,139,1,1,0,NULL,'(281) 756-7954',NULL,'2817567954',1),(93,167,1,1,0,NULL,'(410) 500-5011',NULL,'4105005011',1),(94,167,1,0,0,NULL,'(804) 822-7473',NULL,'8048227473',2),(95,31,1,1,0,NULL,'(845) 702-4716',NULL,'8457024716',2),(96,31,1,0,0,NULL,'(441) 874-5912',NULL,'4418745912',2),(97,86,1,1,0,NULL,'770-6158',NULL,'7706158',2),(98,86,1,0,0,NULL,'759-4144',NULL,'7594144',1),(99,142,1,1,0,NULL,'617-3453',NULL,'6173453',2),(100,19,1,1,0,NULL,'681-5326',NULL,'6815326',2),(101,19,1,0,0,NULL,'637-4672',NULL,'6374672',2),(102,115,1,1,0,NULL,'(351) 270-4623',NULL,'3512704623',1),(103,46,1,1,0,NULL,'210-3768',NULL,'2103768',1),(104,190,1,1,0,NULL,'(709) 729-9630',NULL,'7097299630',2),(105,140,1,1,0,NULL,'(441) 898-7830',NULL,'4418987830',1),(106,140,1,0,0,NULL,'(373) 400-2129',NULL,'3734002129',1),(107,134,1,1,0,NULL,'884-6361',NULL,'8846361',1),(108,6,1,1,0,NULL,'(359) 401-2331',NULL,'3594012331',1),(109,15,1,1,0,NULL,'719-9298',NULL,'7199298',1),(110,15,1,0,0,NULL,'(604) 875-8979',NULL,'6048758979',2),(111,106,1,1,0,NULL,'(820) 474-9751',NULL,'8204749751',2),(112,106,1,0,0,NULL,'(591) 346-9309',NULL,'5913469309',1),(113,102,1,1,0,NULL,'430-3147',NULL,'4303147',2),(114,102,1,0,0,NULL,'(225) 438-4153',NULL,'2254384153',1),(115,64,1,1,0,NULL,'727-9653',NULL,'7279653',2),(116,64,1,0,0,NULL,'(795) 280-9097',NULL,'7952809097',2),(117,200,1,1,0,NULL,'(892) 246-2867',NULL,'8922462867',2),(118,200,1,0,0,NULL,'868-3427',NULL,'8683427',2),(119,44,1,1,0,NULL,'(410) 800-4405',NULL,'4108004405',1),(120,44,1,0,0,NULL,'(680) 742-4232',NULL,'6807424232',2),(121,153,1,1,0,NULL,'(561) 483-5661',NULL,'5614835661',1),(122,153,1,0,0,NULL,'(492) 761-9960',NULL,'4927619960',2),(123,90,1,1,0,NULL,'(215) 358-9807',NULL,'2153589807',1),(124,90,1,0,0,NULL,'(390) 834-1115',NULL,'3908341115',2),(125,137,1,1,0,NULL,'(689) 748-8071',NULL,'6897488071',2),(126,137,1,0,0,NULL,'(539) 288-1889',NULL,'5392881889',2),(127,196,1,1,0,NULL,'894-9383',NULL,'8949383',1),(128,196,1,0,0,NULL,'(606) 739-3460',NULL,'6067393460',1),(129,166,1,1,0,NULL,'(764) 542-6806',NULL,'7645426806',1),(130,45,1,1,0,NULL,'(499) 341-5006',NULL,'4993415006',1),(131,45,1,0,0,NULL,'(286) 320-3598',NULL,'2863203598',2),(132,114,1,1,0,NULL,'884-9706',NULL,'8849706',2),(133,114,1,0,0,NULL,'208-8913',NULL,'2088913',1),(134,144,1,1,0,NULL,'(314) 337-1394',NULL,'3143371394',1),(135,144,1,0,0,NULL,'(486) 789-8825',NULL,'4867898825',2),(136,105,1,1,0,NULL,'(812) 339-7623',NULL,'8123397623',1),(137,110,1,1,0,NULL,'(892) 583-8150',NULL,'8925838150',1),(138,110,1,0,0,NULL,'(380) 370-9417',NULL,'3803709417',2),(139,118,1,1,0,NULL,'(471) 439-7924',NULL,'4714397924',2),(140,118,1,0,0,NULL,'665-3020',NULL,'6653020',2),(141,2,1,1,0,NULL,'490-4791',NULL,'4904791',1),(142,169,1,1,0,NULL,'223-7326',NULL,'2237326',2),(143,159,1,1,0,NULL,'(489) 227-8080',NULL,'4892278080',2),(144,53,1,1,0,NULL,'(888) 394-9016',NULL,'8883949016',1),(145,53,1,0,0,NULL,'707-7017',NULL,'7077017',1),(146,41,1,1,0,NULL,'442-3990',NULL,'4423990',1),(147,41,1,0,0,NULL,'394-1381',NULL,'3941381',1),(148,198,1,1,0,NULL,'(884) 222-5402',NULL,'8842225402',2),(149,81,1,1,0,NULL,'(812) 597-2540',NULL,'8125972540',2),(150,81,1,0,0,NULL,'(599) 458-5578',NULL,'5994585578',1),(151,182,1,1,0,NULL,'(687) 521-6676',NULL,'6875216676',1),(152,182,1,0,0,NULL,'(238) 276-2634',NULL,'2382762634',2),(153,193,1,1,0,NULL,'508-7146',NULL,'5087146',1),(154,160,1,1,0,NULL,'(723) 857-1186',NULL,'7238571186',2),(155,77,1,1,0,NULL,'403-5497',NULL,'4035497',2),(156,138,1,1,0,NULL,'(741) 742-8955',NULL,'7417428955',2),(157,104,1,1,0,NULL,'847-2462',NULL,'8472462',1),(158,9,1,1,0,NULL,'(538) 611-7571',NULL,'5386117571',1),(159,9,1,0,0,NULL,'(679) 630-2509',NULL,'6796302509',2),(160,21,1,1,0,NULL,'(600) 618-1248',NULL,'6006181248',1),(161,21,1,0,0,NULL,'621-7898',NULL,'6217898',2),(162,152,1,1,0,NULL,'768-5977',NULL,'7685977',2),(163,152,1,0,0,NULL,'(369) 706-1261',NULL,'3697061261',2),(164,97,1,1,0,NULL,'(210) 235-4961',NULL,'2102354961',1),(165,125,1,1,0,NULL,'460-6642',NULL,'4606642',1),(166,125,1,0,0,NULL,'(804) 287-8829',NULL,'8042878829',1),(167,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(168,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(169,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
+INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES (1,113,1,1,0,NULL,'407-4030',NULL,'4074030',2),(2,113,1,0,0,NULL,'(796) 272-5588',NULL,'7962725588',2),(3,78,1,1,0,NULL,'(264) 454-8970',NULL,'2644548970',1),(4,78,1,0,0,NULL,'740-3286',NULL,'7403286',1),(5,57,1,1,0,NULL,'620-4765',NULL,'6204765',1),(6,53,1,1,0,NULL,'(736) 764-8578',NULL,'7367648578',2),(7,133,1,1,0,NULL,'(597) 640-6995',NULL,'5976406995',2),(8,133,1,0,0,NULL,'583-5168',NULL,'5835168',2),(9,51,1,1,0,NULL,'897-9009',NULL,'8979009',2),(10,51,1,0,0,NULL,'(774) 355-1054',NULL,'7743551054',2),(11,130,1,1,0,NULL,'640-5923',NULL,'6405923',1),(12,130,1,0,0,NULL,'851-9436',NULL,'8519436',2),(13,20,1,1,0,NULL,'341-8770',NULL,'3418770',2),(14,20,1,0,0,NULL,'(209) 839-2856',NULL,'2098392856',1),(15,73,1,1,0,NULL,'(385) 569-4654',NULL,'3855694654',2),(16,73,1,0,0,NULL,'(833) 350-2021',NULL,'8333502021',2),(17,15,1,1,0,NULL,'267-4785',NULL,'2674785',1),(18,159,1,1,0,NULL,'885-9165',NULL,'8859165',1),(19,159,1,0,0,NULL,'(786) 264-8205',NULL,'7862648205',2),(20,28,1,1,0,NULL,'(269) 207-8480',NULL,'2692078480',1),(21,28,1,0,0,NULL,'461-3336',NULL,'4613336',1),(22,197,1,1,0,NULL,'(886) 732-1456',NULL,'8867321456',2),(23,49,1,1,0,NULL,'(512) 292-5127',NULL,'5122925127',2),(24,170,1,1,0,NULL,'576-4821',NULL,'5764821',2),(25,198,1,1,0,NULL,'429-7883',NULL,'4297883',1),(26,198,1,0,0,NULL,'414-8221',NULL,'4148221',1),(27,143,1,1,0,NULL,'(627) 731-7218',NULL,'6277317218',1),(28,143,1,0,0,NULL,'698-7752',NULL,'6987752',2),(29,71,1,1,0,NULL,'334-3187',NULL,'3343187',2),(30,71,1,0,0,NULL,'(296) 250-8582',NULL,'2962508582',2),(31,102,1,1,0,NULL,'(545) 861-2334',NULL,'5458612334',2),(32,102,1,0,0,NULL,'523-8142',NULL,'5238142',2),(33,103,1,1,0,NULL,'(750) 611-9362',NULL,'7506119362',1),(34,63,1,1,0,NULL,'(519) 593-1360',NULL,'5195931360',1),(35,63,1,0,0,NULL,'(799) 781-7964',NULL,'7997817964',2),(36,101,1,1,0,NULL,'(881) 766-9039',NULL,'8817669039',1),(37,31,1,1,0,NULL,'448-1461',NULL,'4481461',1),(38,31,1,0,0,NULL,'(855) 579-7572',NULL,'8555797572',1),(39,114,1,1,0,NULL,'637-1977',NULL,'6371977',2),(40,114,1,0,0,NULL,'714-3306',NULL,'7143306',1),(41,185,1,1,0,NULL,'(571) 509-2421',NULL,'5715092421',1),(42,185,1,0,0,NULL,'582-2639',NULL,'5822639',2),(43,178,1,1,0,NULL,'833-1306',NULL,'8331306',2),(44,178,1,0,0,NULL,'873-1068',NULL,'8731068',1),(45,10,1,1,0,NULL,'(553) 301-8141',NULL,'5533018141',1),(46,189,1,1,0,NULL,'(475) 674-7722',NULL,'4756747722',1),(47,91,1,1,0,NULL,'(389) 293-3854',NULL,'3892933854',2),(48,184,1,1,0,NULL,'831-7500',NULL,'8317500',2),(49,184,1,0,0,NULL,'696-1461',NULL,'6961461',1),(50,115,1,1,0,NULL,'(697) 899-7198',NULL,'6978997198',2),(51,152,1,1,0,NULL,'417-5333',NULL,'4175333',2),(52,67,1,1,0,NULL,'424-3188',NULL,'4243188',2),(53,120,1,1,0,NULL,'677-6745',NULL,'6776745',2),(54,120,1,0,0,NULL,'270-1247',NULL,'2701247',2),(55,8,1,1,0,NULL,'692-7367',NULL,'6927367',2),(56,93,1,1,0,NULL,'(215) 241-8580',NULL,'2152418580',1),(57,93,1,0,0,NULL,'(223) 314-7344',NULL,'2233147344',2),(58,32,1,1,0,NULL,'813-2947',NULL,'8132947',1),(59,32,1,0,0,NULL,'(309) 277-2887',NULL,'3092772887',2),(60,149,1,1,0,NULL,'435-6700',NULL,'4356700',1),(61,149,1,0,0,NULL,'815-9898',NULL,'8159898',1),(62,127,1,1,0,NULL,'829-6337',NULL,'8296337',2),(63,35,1,1,0,NULL,'725-7273',NULL,'7257273',2),(64,77,1,1,0,NULL,'(237) 379-6115',NULL,'2373796115',2),(65,77,1,0,0,NULL,'494-9308',NULL,'4949308',1),(66,176,1,1,0,NULL,'(544) 894-9911',NULL,'5448949911',1),(67,136,1,1,0,NULL,'(566) 758-5477',NULL,'5667585477',1),(68,136,1,0,0,NULL,'805-5611',NULL,'8055611',1),(69,192,1,1,0,NULL,'516-3068',NULL,'5163068',2),(70,192,1,0,0,NULL,'787-1402',NULL,'7871402',1),(71,86,1,1,0,NULL,'(715) 732-2410',NULL,'7157322410',2),(72,112,1,1,0,NULL,'(273) 452-8009',NULL,'2734528009',2),(73,188,1,1,0,NULL,'(625) 293-4527',NULL,'6252934527',2),(74,193,1,1,0,NULL,'666-8146',NULL,'6668146',1),(75,193,1,0,0,NULL,'(396) 640-4719',NULL,'3966404719',2),(76,161,1,1,0,NULL,'851-5179',NULL,'8515179',1),(77,167,1,1,0,NULL,'(592) 826-6975',NULL,'5928266975',1),(78,167,1,0,0,NULL,'806-5462',NULL,'8065462',2),(79,58,1,1,0,NULL,'(867) 600-4466',NULL,'8676004466',2),(80,58,1,0,0,NULL,'390-5394',NULL,'3905394',1),(81,100,1,1,0,NULL,'(304) 332-1826',NULL,'3043321826',1),(82,100,1,0,0,NULL,'(574) 589-7012',NULL,'5745897012',2),(83,62,1,1,0,NULL,'(299) 248-5093',NULL,'2992485093',1),(84,62,1,0,0,NULL,'397-1118',NULL,'3971118',1),(85,129,1,1,0,NULL,'(647) 778-9483',NULL,'6477789483',1),(86,129,1,0,0,NULL,'(595) 771-9327',NULL,'5957719327',2),(87,141,1,1,0,NULL,'(383) 411-9219',NULL,'3834119219',2),(88,76,1,1,0,NULL,'(856) 691-8301',NULL,'8566918301',1),(89,76,1,0,0,NULL,'(209) 550-6312',NULL,'2095506312',1),(90,80,1,1,0,NULL,'(605) 253-8164',NULL,'6052538164',2),(91,48,1,1,0,NULL,'758-8563',NULL,'7588563',1),(92,48,1,0,0,NULL,'354-7316',NULL,'3547316',2),(93,160,1,1,0,NULL,'405-5499',NULL,'4055499',1),(94,18,1,1,0,NULL,'795-4910',NULL,'7954910',1),(95,175,1,1,0,NULL,'(411) 503-9780',NULL,'4115039780',2),(96,186,1,1,0,NULL,'(370) 305-9634',NULL,'3703059634',2),(97,75,1,1,0,NULL,'268-3936',NULL,'2683936',1),(98,144,1,1,0,NULL,'(707) 778-1687',NULL,'7077781687',2),(99,144,1,0,0,NULL,'(522) 307-4342',NULL,'5223074342',1),(100,97,1,1,0,NULL,'270-2925',NULL,'2702925',2),(101,109,1,1,0,NULL,'(691) 788-8052',NULL,'6917888052',1),(102,109,1,0,0,NULL,'(479) 677-9071',NULL,'4796779071',2),(103,163,1,1,0,NULL,'403-4811',NULL,'4034811',1),(104,163,1,0,0,NULL,'467-5616',NULL,'4675616',2),(105,96,1,1,0,NULL,'(791) 643-3529',NULL,'7916433529',2),(106,98,1,1,0,NULL,'(755) 236-9270',NULL,'7552369270',2),(107,5,1,1,0,NULL,'840-8897',NULL,'8408897',2),(108,27,1,1,0,NULL,'(301) 832-2314',NULL,'3018322314',2),(109,92,1,1,0,NULL,'797-9920',NULL,'7979920',2),(110,92,1,0,0,NULL,'(743) 716-3419',NULL,'7437163419',2),(111,36,1,1,0,NULL,'878-8653',NULL,'8788653',1),(112,2,1,1,0,NULL,'(573) 464-5601',NULL,'5734645601',2),(113,150,1,1,0,NULL,'236-9060',NULL,'2369060',1),(114,150,1,0,0,NULL,'883-3542',NULL,'8833542',2),(115,182,1,1,0,NULL,'615-8497',NULL,'6158497',2),(116,21,1,1,0,NULL,'(558) 852-6206',NULL,'5588526206',2),(117,21,1,0,0,NULL,'560-4957',NULL,'5604957',2),(118,74,1,1,0,NULL,'(470) 600-9858',NULL,'4706009858',2),(119,74,1,0,0,NULL,'428-3539',NULL,'4283539',1),(120,12,1,1,0,NULL,'676-1945',NULL,'6761945',2),(121,12,1,0,0,NULL,'645-7827',NULL,'6457827',2),(122,128,1,1,0,NULL,'(550) 210-2523',NULL,'5502102523',1),(123,128,1,0,0,NULL,'(546) 435-5482',NULL,'5464355482',1),(124,79,1,1,0,NULL,'799-3233',NULL,'7993233',2),(125,153,1,1,0,NULL,'(884) 597-7883',NULL,'8845977883',2),(126,153,1,0,0,NULL,'(328) 633-7155',NULL,'3286337155',1),(127,116,1,1,0,NULL,'736-7443',NULL,'7367443',1),(128,116,1,0,0,NULL,'529-9374',NULL,'5299374',2),(129,157,1,1,0,NULL,'264-8563',NULL,'2648563',1),(130,117,1,1,0,NULL,'299-1568',NULL,'2991568',2),(131,117,1,0,0,NULL,'524-4984',NULL,'5244984',2),(132,34,1,1,0,NULL,'(522) 369-4212',NULL,'5223694212',2),(133,34,1,0,0,NULL,'(235) 415-6086',NULL,'2354156086',1),(134,107,1,1,0,NULL,'552-2607',NULL,'5522607',1),(135,107,1,0,0,NULL,'(369) 880-8961',NULL,'3698808961',2),(136,165,1,1,0,NULL,'223-1711',NULL,'2231711',2),(137,165,1,0,0,NULL,'759-2637',NULL,'7592637',1),(138,84,1,1,0,NULL,'(788) 731-6316',NULL,'7887316316',2),(139,84,1,0,0,NULL,'868-8433',NULL,'8688433',1),(140,125,1,1,0,NULL,'(575) 725-1621',NULL,'5757251621',2),(141,125,1,0,0,NULL,'(487) 468-9915',NULL,'4874689915',1),(142,39,1,1,0,NULL,'(837) 597-6884',NULL,'8375976884',1),(143,39,1,0,0,NULL,'(308) 254-3207',NULL,'3082543207',2),(144,30,1,1,0,NULL,'(230) 606-9698',NULL,'2306069698',1),(145,30,1,0,0,NULL,'(651) 210-8059',NULL,'6512108059',1),(146,190,1,1,0,NULL,'782-1134',NULL,'7821134',2),(147,147,1,1,0,NULL,'(258) 807-9375',NULL,'2588079375',2),(148,201,1,1,0,NULL,'(263) 833-1687',NULL,'2638331687',2),(149,47,1,1,0,NULL,'(594) 655-1714',NULL,'5946551714',2),(150,47,1,0,0,NULL,'(714) 655-5392',NULL,'7146555392',1),(151,56,1,1,0,NULL,'847-8835',NULL,'8478835',1),(152,52,1,1,0,NULL,'(465) 796-6195',NULL,'4657966195',1),(153,168,1,1,0,NULL,'653-2558',NULL,'6532558',1),(154,168,1,0,0,NULL,'(750) 370-2941',NULL,'7503702941',2),(155,171,1,1,0,NULL,'337-4093',NULL,'3374093',1),(156,171,1,0,0,NULL,'(641) 613-4257',NULL,'6416134257',1),(157,68,1,1,0,NULL,'581-7591',NULL,'5817591',2),(158,110,1,1,0,NULL,'(798) 618-1987',NULL,'7986181987',2),(159,110,1,0,0,NULL,'(468) 309-5289',NULL,'4683095289',2),(160,33,1,1,0,NULL,'(288) 454-6588',NULL,'2884546588',2),(161,33,1,0,0,NULL,'(703) 413-6415',NULL,'7034136415',1),(162,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(163,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(164,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
 /*!40000 ALTER TABLE `civicrm_phone` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1269,7 +1268,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_relationship` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship` DISABLE KEYS */;
-INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES (1,62,70,1,NULL,NULL,1,NULL,0,0,NULL),(2,73,70,1,NULL,NULL,1,NULL,0,0,NULL),(3,62,36,1,NULL,NULL,1,NULL,0,0,NULL),(4,73,36,1,NULL,NULL,1,NULL,0,0,NULL),(5,73,62,4,NULL,NULL,1,NULL,0,0,NULL),(6,36,74,8,NULL,NULL,1,NULL,0,0,NULL),(7,62,74,8,NULL,NULL,1,NULL,0,0,NULL),(8,73,74,8,NULL,NULL,1,NULL,0,0,NULL),(9,70,74,7,NULL,NULL,0,NULL,0,0,NULL),(10,36,70,2,NULL,NULL,0,NULL,0,0,NULL),(11,139,78,1,NULL,NULL,1,NULL,0,0,NULL),(12,131,78,1,NULL,NULL,1,NULL,0,0,NULL),(13,139,116,1,NULL,NULL,1,NULL,0,0,NULL),(14,131,116,1,NULL,NULL,1,NULL,0,0,NULL),(15,131,139,4,NULL,NULL,1,NULL,0,0,NULL),(16,116,18,8,NULL,NULL,1,NULL,0,0,NULL),(17,139,18,8,NULL,NULL,1,NULL,0,0,NULL),(18,131,18,8,NULL,NULL,1,NULL,0,0,NULL),(19,78,18,7,NULL,NULL,0,NULL,0,0,NULL),(20,116,78,2,NULL,NULL,0,NULL,0,0,NULL),(21,167,95,1,NULL,NULL,1,NULL,0,0,NULL),(22,71,95,1,NULL,NULL,1,NULL,0,0,NULL),(23,167,7,1,NULL,NULL,1,NULL,0,0,NULL),(24,71,7,1,NULL,NULL,1,NULL,0,0,NULL),(25,71,167,4,NULL,NULL,1,NULL,0,0,NULL),(26,7,123,8,NULL,NULL,1,NULL,0,0,NULL),(27,167,123,8,NULL,NULL,1,NULL,0,0,NULL),(28,71,123,8,NULL,NULL,1,NULL,0,0,NULL),(29,95,123,7,NULL,NULL,0,NULL,0,0,NULL),(30,7,95,2,NULL,NULL,0,NULL,0,0,NULL),(31,31,38,1,NULL,NULL,1,NULL,0,0,NULL),(32,35,38,1,NULL,NULL,1,NULL,0,0,NULL),(33,31,12,1,NULL,NULL,1,NULL,0,0,NULL),(34,35,12,1,NULL,NULL,1,NULL,0,0,NULL),(35,35,31,4,NULL,NULL,1,NULL,0,0,NULL),(36,12,135,8,NULL,NULL,1,NULL,0,0,NULL),(37,31,135,8,NULL,NULL,1,NULL,0,0,NULL),(38,35,135,8,NULL,NULL,1,NULL,0,0,NULL),(39,38,135,7,NULL,NULL,1,NULL,0,0,NULL),(40,12,38,2,NULL,NULL,1,NULL,0,0,NULL),(41,19,86,1,NULL,NULL,1,NULL,0,0,NULL),(42,115,86,1,NULL,NULL,1,NULL,0,0,NULL),(43,19,142,1,NULL,NULL,1,NULL,0,0,NULL),(44,115,142,1,NULL,NULL,1,NULL,0,0,NULL),(45,115,19,4,NULL,NULL,1,NULL,0,0,NULL),(46,142,75,8,NULL,NULL,1,NULL,0,0,NULL),(47,19,75,8,NULL,NULL,1,NULL,0,0,NULL),(48,115,75,8,NULL,NULL,1,NULL,0,0,NULL),(49,86,75,7,NULL,NULL,0,NULL,0,0,NULL),(50,142,86,2,NULL,NULL,0,NULL,0,0,NULL),(51,58,46,1,NULL,NULL,1,NULL,0,0,NULL),(52,140,46,1,NULL,NULL,1,NULL,0,0,NULL),(53,58,190,1,NULL,NULL,1,NULL,0,0,NULL),(54,140,190,1,NULL,NULL,1,NULL,0,0,NULL),(55,140,58,4,NULL,NULL,1,NULL,0,0,NULL),(56,190,177,8,NULL,NULL,1,NULL,0,0,NULL),(57,58,177,8,NULL,NULL,1,NULL,0,0,NULL),(58,140,177,8,NULL,NULL,1,NULL,0,0,NULL),(59,46,177,7,NULL,NULL,0,NULL,0,0,NULL),(60,190,46,2,NULL,NULL,0,NULL,0,0,NULL),(61,15,134,1,NULL,NULL,1,NULL,0,0,NULL),(62,106,134,1,NULL,NULL,1,NULL,0,0,NULL),(63,15,6,1,NULL,NULL,1,NULL,0,0,NULL),(64,106,6,1,NULL,NULL,1,NULL,0,0,NULL),(65,106,15,4,NULL,NULL,1,NULL,0,0,NULL),(66,6,183,8,NULL,NULL,1,NULL,0,0,NULL),(67,15,183,8,NULL,NULL,1,NULL,0,0,NULL),(68,106,183,8,NULL,NULL,1,NULL,0,0,NULL),(69,134,183,7,NULL,NULL,1,NULL,0,0,NULL),(70,6,134,2,NULL,NULL,1,NULL,0,0,NULL),(71,64,186,1,NULL,NULL,1,NULL,0,0,NULL),(72,175,186,1,NULL,NULL,1,NULL,0,0,NULL),(73,64,102,1,NULL,NULL,1,NULL,0,0,NULL),(74,175,102,1,NULL,NULL,1,NULL,0,0,NULL),(75,175,64,4,NULL,NULL,1,NULL,0,0,NULL),(76,102,108,8,NULL,NULL,1,NULL,0,0,NULL),(77,64,108,8,NULL,NULL,1,NULL,0,0,NULL),(78,175,108,8,NULL,NULL,1,NULL,0,0,NULL),(79,186,108,7,NULL,NULL,0,NULL,0,0,NULL),(80,102,186,2,NULL,NULL,0,NULL,0,0,NULL),(81,153,200,1,NULL,NULL,1,NULL,0,0,NULL),(82,90,200,1,NULL,NULL,1,NULL,0,0,NULL),(83,153,44,1,NULL,NULL,1,NULL,0,0,NULL),(84,90,44,1,NULL,NULL,1,NULL,0,0,NULL),(85,90,153,4,NULL,NULL,1,NULL,0,0,NULL),(86,44,5,8,NULL,NULL,1,NULL,0,0,NULL),(87,153,5,8,NULL,NULL,1,NULL,0,0,NULL),(88,90,5,8,NULL,NULL,1,NULL,0,0,NULL),(89,200,5,7,NULL,NULL,1,NULL,0,0,NULL),(90,44,200,2,NULL,NULL,1,NULL,0,0,NULL),(91,166,137,1,NULL,NULL,1,NULL,0,0,NULL),(92,45,137,1,NULL,NULL,1,NULL,0,0,NULL),(93,166,196,1,NULL,NULL,1,NULL,0,0,NULL),(94,45,196,1,NULL,NULL,1,NULL,0,0,NULL),(95,45,166,4,NULL,NULL,1,NULL,0,0,NULL),(96,196,16,8,NULL,NULL,1,NULL,0,0,NULL),(97,166,16,8,NULL,NULL,1,NULL,0,0,NULL),(98,45,16,8,NULL,NULL,1,NULL,0,0,NULL),(99,137,16,7,NULL,NULL,1,NULL,0,0,NULL),(100,196,137,2,NULL,NULL,1,NULL,0,0,NULL),(101,144,42,1,NULL,NULL,1,NULL,0,0,NULL),(102,129,42,1,NULL,NULL,1,NULL,0,0,NULL),(103,144,114,1,NULL,NULL,1,NULL,0,0,NULL),(104,129,114,1,NULL,NULL,1,NULL,0,0,NULL),(105,129,144,4,NULL,NULL,1,NULL,0,0,NULL),(106,114,187,8,NULL,NULL,1,NULL,0,0,NULL),(107,144,187,8,NULL,NULL,1,NULL,0,0,NULL),(108,129,187,8,NULL,NULL,1,NULL,0,0,NULL),(109,42,187,7,NULL,NULL,1,NULL,0,0,NULL),(110,114,42,2,NULL,NULL,1,NULL,0,0,NULL),(111,37,105,1,NULL,NULL,1,NULL,0,0,NULL),(112,132,105,1,NULL,NULL,1,NULL,0,0,NULL),(113,37,110,1,NULL,NULL,1,NULL,0,0,NULL),(114,132,110,1,NULL,NULL,1,NULL,0,0,NULL),(115,132,37,4,NULL,NULL,1,NULL,0,0,NULL),(116,110,83,8,NULL,NULL,1,NULL,0,0,NULL),(117,37,83,8,NULL,NULL,1,NULL,0,0,NULL),(118,132,83,8,NULL,NULL,1,NULL,0,0,NULL),(119,105,83,7,NULL,NULL,1,NULL,0,0,NULL),(120,110,105,2,NULL,NULL,1,NULL,0,0,NULL),(121,169,118,1,NULL,NULL,1,NULL,0,0,NULL),(122,54,118,1,NULL,NULL,1,NULL,0,0,NULL),(123,169,2,1,NULL,NULL,1,NULL,0,0,NULL),(124,54,2,1,NULL,NULL,1,NULL,0,0,NULL),(125,54,169,4,NULL,NULL,1,NULL,0,0,NULL),(126,2,154,8,NULL,NULL,1,NULL,0,0,NULL),(127,169,154,8,NULL,NULL,1,NULL,0,0,NULL),(128,54,154,8,NULL,NULL,1,NULL,0,0,NULL),(129,118,154,7,NULL,NULL,1,NULL,0,0,NULL),(130,2,118,2,NULL,NULL,1,NULL,0,0,NULL),(131,159,32,1,NULL,NULL,1,NULL,0,0,NULL),(132,141,32,1,NULL,NULL,1,NULL,0,0,NULL),(133,159,100,1,NULL,NULL,1,NULL,0,0,NULL),(134,141,100,1,NULL,NULL,1,NULL,0,0,NULL),(135,141,159,4,NULL,NULL,1,NULL,0,0,NULL),(136,100,173,8,NULL,NULL,1,NULL,0,0,NULL),(137,159,173,8,NULL,NULL,1,NULL,0,0,NULL),(138,141,173,8,NULL,NULL,1,NULL,0,0,NULL),(139,32,173,7,NULL,NULL,1,NULL,0,0,NULL),(140,100,32,2,NULL,NULL,1,NULL,0,0,NULL),(141,130,53,1,NULL,NULL,1,NULL,0,0,NULL),(142,157,53,1,NULL,NULL,1,NULL,0,0,NULL),(143,130,41,1,NULL,NULL,1,NULL,0,0,NULL),(144,157,41,1,NULL,NULL,1,NULL,0,0,NULL),(145,157,130,4,NULL,NULL,1,NULL,0,0,NULL),(146,41,13,8,NULL,NULL,1,NULL,0,0,NULL),(147,130,13,8,NULL,NULL,1,NULL,0,0,NULL),(148,157,13,8,NULL,NULL,1,NULL,0,0,NULL),(149,53,13,7,NULL,NULL,0,NULL,0,0,NULL),(150,41,53,2,NULL,NULL,0,NULL,0,0,NULL),(151,180,198,1,NULL,NULL,1,NULL,0,0,NULL),(152,81,198,1,NULL,NULL,1,NULL,0,0,NULL),(153,180,194,1,NULL,NULL,1,NULL,0,0,NULL),(154,81,194,1,NULL,NULL,1,NULL,0,0,NULL),(155,81,180,4,NULL,NULL,1,NULL,0,0,NULL),(156,194,121,8,NULL,NULL,1,NULL,0,0,NULL),(157,180,121,8,NULL,NULL,1,NULL,0,0,NULL),(158,81,121,8,NULL,NULL,1,NULL,0,0,NULL),(159,198,121,7,NULL,NULL,0,NULL,0,0,NULL),(160,194,198,2,NULL,NULL,0,NULL,0,0,NULL),(161,193,182,1,NULL,NULL,1,NULL,0,0,NULL),(162,128,182,1,NULL,NULL,1,NULL,0,0,NULL),(163,193,195,1,NULL,NULL,1,NULL,0,0,NULL),(164,128,195,1,NULL,NULL,1,NULL,0,0,NULL),(165,128,193,4,NULL,NULL,1,NULL,0,0,NULL),(166,195,40,8,NULL,NULL,1,NULL,0,0,NULL),(167,193,40,8,NULL,NULL,1,NULL,0,0,NULL),(168,128,40,8,NULL,NULL,1,NULL,0,0,NULL),(169,182,40,7,NULL,NULL,1,NULL,0,0,NULL),(170,195,182,2,NULL,NULL,1,NULL,0,0,NULL),(171,24,117,1,NULL,NULL,1,NULL,0,0,NULL),(172,77,117,1,NULL,NULL,1,NULL,0,0,NULL),(173,24,160,1,NULL,NULL,1,NULL,0,0,NULL),(174,77,160,1,NULL,NULL,1,NULL,0,0,NULL),(175,77,24,4,NULL,NULL,1,NULL,0,0,NULL),(176,160,57,8,NULL,NULL,1,NULL,0,0,NULL),(177,24,57,8,NULL,NULL,1,NULL,0,0,NULL),(178,77,57,8,NULL,NULL,1,NULL,0,0,NULL),(179,117,57,7,NULL,NULL,1,NULL,0,0,NULL),(180,160,117,2,NULL,NULL,1,NULL,0,0,NULL),(181,27,138,1,NULL,NULL,1,NULL,0,0,NULL),(182,9,138,1,NULL,NULL,1,NULL,0,0,NULL),(183,27,104,1,NULL,NULL,1,NULL,0,0,NULL),(184,9,104,1,NULL,NULL,1,NULL,0,0,NULL),(185,9,27,4,NULL,NULL,1,NULL,0,0,NULL),(186,104,93,8,NULL,NULL,1,NULL,0,0,NULL),(187,27,93,8,NULL,NULL,1,NULL,0,0,NULL),(188,9,93,8,NULL,NULL,1,NULL,0,0,NULL),(189,138,93,7,NULL,NULL,0,NULL,0,0,NULL),(190,104,138,2,NULL,NULL,0,NULL,0,0,NULL),(191,97,21,1,NULL,NULL,1,NULL,0,0,NULL),(192,125,21,1,NULL,NULL,1,NULL,0,0,NULL),(193,97,152,1,NULL,NULL,1,NULL,0,0,NULL),(194,125,152,1,NULL,NULL,1,NULL,0,0,NULL),(195,125,97,4,NULL,NULL,1,NULL,0,0,NULL),(196,152,11,8,NULL,NULL,1,NULL,0,0,NULL),(197,97,11,8,NULL,NULL,1,NULL,0,0,NULL),(198,125,11,8,NULL,NULL,1,NULL,0,0,NULL),(199,21,11,7,NULL,NULL,1,NULL,0,0,NULL),(200,152,21,2,NULL,NULL,1,NULL,0,0,NULL),(201,66,4,5,NULL,NULL,1,NULL,0,0,NULL),(202,33,10,5,NULL,NULL,1,NULL,0,0,NULL),(203,134,23,5,NULL,NULL,1,NULL,0,0,NULL),(204,140,29,5,NULL,NULL,1,NULL,0,0,NULL),(205,158,30,5,NULL,NULL,1,NULL,0,0,NULL),(206,194,34,5,NULL,NULL,1,NULL,0,0,NULL),(207,200,39,5,NULL,NULL,1,NULL,0,0,NULL),(208,7,43,5,NULL,NULL,1,NULL,0,0,NULL),(209,52,65,5,NULL,NULL,1,NULL,0,0,NULL),(210,90,82,5,NULL,NULL,1,NULL,0,0,NULL),(211,81,85,5,NULL,NULL,1,NULL,0,0,NULL),(212,19,92,5,NULL,NULL,1,NULL,0,0,NULL),(213,32,136,5,NULL,NULL,1,NULL,0,0,NULL),(214,68,147,5,NULL,NULL,1,NULL,0,0,NULL),(215,129,151,5,NULL,NULL,1,NULL,0,0,NULL),(216,160,184,5,NULL,NULL,1,NULL,0,0,NULL),(217,50,197,5,NULL,NULL,1,NULL,0,0,NULL);
+INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES (1,167,140,1,NULL,NULL,1,NULL,0,0,NULL),(2,58,140,1,NULL,NULL,1,NULL,0,0,NULL),(3,167,161,1,NULL,NULL,1,NULL,0,0,NULL),(4,58,161,1,NULL,NULL,1,NULL,0,0,NULL),(5,58,167,4,NULL,NULL,1,NULL,0,0,NULL),(6,161,124,8,NULL,NULL,1,NULL,0,0,NULL),(7,167,124,8,NULL,NULL,1,NULL,0,0,NULL),(8,58,124,8,NULL,NULL,1,NULL,0,0,NULL),(9,140,124,7,NULL,NULL,1,NULL,0,0,NULL),(10,161,140,2,NULL,NULL,1,NULL,0,0,NULL),(11,23,100,1,NULL,NULL,1,NULL,0,0,NULL),(12,129,100,1,NULL,NULL,1,NULL,0,0,NULL),(13,23,62,1,NULL,NULL,1,NULL,0,0,NULL),(14,129,62,1,NULL,NULL,1,NULL,0,0,NULL),(15,129,23,4,NULL,NULL,1,NULL,0,0,NULL),(16,62,119,8,NULL,NULL,1,NULL,0,0,NULL),(17,23,119,8,NULL,NULL,1,NULL,0,0,NULL),(18,129,119,8,NULL,NULL,1,NULL,0,0,NULL),(19,100,119,7,NULL,NULL,1,NULL,0,0,NULL),(20,62,100,2,NULL,NULL,1,NULL,0,0,NULL),(21,76,141,1,NULL,NULL,1,NULL,0,0,NULL),(22,80,141,1,NULL,NULL,1,NULL,0,0,NULL),(23,76,148,1,NULL,NULL,1,NULL,0,0,NULL),(24,80,148,1,NULL,NULL,1,NULL,0,0,NULL),(25,80,76,4,NULL,NULL,1,NULL,0,0,NULL),(26,148,90,8,NULL,NULL,1,NULL,0,0,NULL),(27,76,90,8,NULL,NULL,1,NULL,0,0,NULL),(28,80,90,8,NULL,NULL,1,NULL,0,0,NULL),(29,141,90,7,NULL,NULL,0,NULL,0,0,NULL),(30,148,141,2,NULL,NULL,0,NULL,0,0,NULL),(31,145,99,1,NULL,NULL,1,NULL,0,0,NULL),(32,160,99,1,NULL,NULL,1,NULL,0,0,NULL),(33,145,48,1,NULL,NULL,1,NULL,0,0,NULL),(34,160,48,1,NULL,NULL,1,NULL,0,0,NULL),(35,160,145,4,NULL,NULL,1,NULL,0,0,NULL),(36,48,180,8,NULL,NULL,1,NULL,0,0,NULL),(37,145,180,8,NULL,NULL,1,NULL,0,0,NULL),(38,160,180,8,NULL,NULL,1,NULL,0,0,NULL),(39,99,180,7,NULL,NULL,0,NULL,0,0,NULL),(40,48,99,2,NULL,NULL,0,NULL,0,0,NULL),(41,186,18,1,NULL,NULL,1,NULL,0,0,NULL),(42,75,18,1,NULL,NULL,1,NULL,0,0,NULL),(43,186,175,1,NULL,NULL,1,NULL,0,0,NULL),(44,75,175,1,NULL,NULL,1,NULL,0,0,NULL),(45,75,186,4,NULL,NULL,1,NULL,0,0,NULL),(46,175,69,8,NULL,NULL,1,NULL,0,0,NULL),(47,186,69,8,NULL,NULL,1,NULL,0,0,NULL),(48,75,69,8,NULL,NULL,1,NULL,0,0,NULL),(49,18,69,7,NULL,NULL,1,NULL,0,0,NULL),(50,175,18,2,NULL,NULL,1,NULL,0,0,NULL),(51,97,45,1,NULL,NULL,1,NULL,0,0,NULL),(52,109,45,1,NULL,NULL,1,NULL,0,0,NULL),(53,97,144,1,NULL,NULL,1,NULL,0,0,NULL),(54,109,144,1,NULL,NULL,1,NULL,0,0,NULL),(55,109,97,4,NULL,NULL,1,NULL,0,0,NULL),(56,144,200,8,NULL,NULL,1,NULL,0,0,NULL),(57,97,200,8,NULL,NULL,1,NULL,0,0,NULL),(58,109,200,8,NULL,NULL,1,NULL,0,0,NULL),(59,45,200,7,NULL,NULL,1,NULL,0,0,NULL),(60,144,45,2,NULL,NULL,1,NULL,0,0,NULL),(61,163,158,1,NULL,NULL,1,NULL,0,0,NULL),(62,122,158,1,NULL,NULL,1,NULL,0,0,NULL),(63,163,7,1,NULL,NULL,1,NULL,0,0,NULL),(64,122,7,1,NULL,NULL,1,NULL,0,0,NULL),(65,122,163,4,NULL,NULL,1,NULL,0,0,NULL),(66,7,40,8,NULL,NULL,1,NULL,0,0,NULL),(67,163,40,8,NULL,NULL,1,NULL,0,0,NULL),(68,122,40,8,NULL,NULL,1,NULL,0,0,NULL),(69,158,40,7,NULL,NULL,1,NULL,0,0,NULL),(70,7,158,2,NULL,NULL,1,NULL,0,0,NULL),(71,5,96,1,NULL,NULL,1,NULL,0,0,NULL),(72,27,96,1,NULL,NULL,1,NULL,0,0,NULL),(73,5,98,1,NULL,NULL,1,NULL,0,0,NULL),(74,27,98,1,NULL,NULL,1,NULL,0,0,NULL),(75,27,5,4,NULL,NULL,1,NULL,0,0,NULL),(76,98,105,8,NULL,NULL,1,NULL,0,0,NULL),(77,5,105,8,NULL,NULL,1,NULL,0,0,NULL),(78,27,105,8,NULL,NULL,1,NULL,0,0,NULL),(79,96,105,7,NULL,NULL,0,NULL,0,0,NULL),(80,98,96,2,NULL,NULL,0,NULL,0,0,NULL),(81,108,6,1,NULL,NULL,1,NULL,0,0,NULL),(82,154,6,1,NULL,NULL,1,NULL,0,0,NULL),(83,108,92,1,NULL,NULL,1,NULL,0,0,NULL),(84,154,92,1,NULL,NULL,1,NULL,0,0,NULL),(85,154,108,4,NULL,NULL,1,NULL,0,0,NULL),(86,92,85,8,NULL,NULL,1,NULL,0,0,NULL),(87,108,85,8,NULL,NULL,1,NULL,0,0,NULL),(88,154,85,8,NULL,NULL,1,NULL,0,0,NULL),(89,6,85,7,NULL,NULL,1,NULL,0,0,NULL),(90,92,6,2,NULL,NULL,1,NULL,0,0,NULL),(91,137,36,1,NULL,NULL,1,NULL,0,0,NULL),(92,2,36,1,NULL,NULL,1,NULL,0,0,NULL),(93,137,111,1,NULL,NULL,1,NULL,0,0,NULL),(94,2,111,1,NULL,NULL,1,NULL,0,0,NULL),(95,2,137,4,NULL,NULL,1,NULL,0,0,NULL),(96,111,172,8,NULL,NULL,1,NULL,0,0,NULL),(97,137,172,8,NULL,NULL,1,NULL,0,0,NULL),(98,2,172,8,NULL,NULL,1,NULL,0,0,NULL),(99,36,172,7,NULL,NULL,1,NULL,0,0,NULL),(100,111,36,2,NULL,NULL,1,NULL,0,0,NULL),(101,16,150,1,NULL,NULL,1,NULL,0,0,NULL),(102,21,150,1,NULL,NULL,1,NULL,0,0,NULL),(103,16,182,1,NULL,NULL,1,NULL,0,0,NULL),(104,21,182,1,NULL,NULL,1,NULL,0,0,NULL),(105,21,16,4,NULL,NULL,1,NULL,0,0,NULL),(106,182,42,8,NULL,NULL,1,NULL,0,0,NULL),(107,16,42,8,NULL,NULL,1,NULL,0,0,NULL),(108,21,42,8,NULL,NULL,1,NULL,0,0,NULL),(109,150,42,7,NULL,NULL,1,NULL,0,0,NULL),(110,182,150,2,NULL,NULL,1,NULL,0,0,NULL),(111,81,74,1,NULL,NULL,1,NULL,0,0,NULL),(112,12,74,1,NULL,NULL,1,NULL,0,0,NULL),(113,81,179,1,NULL,NULL,1,NULL,0,0,NULL),(114,12,179,1,NULL,NULL,1,NULL,0,0,NULL),(115,12,81,4,NULL,NULL,1,NULL,0,0,NULL),(116,179,37,8,NULL,NULL,1,NULL,0,0,NULL),(117,81,37,8,NULL,NULL,1,NULL,0,0,NULL),(118,12,37,8,NULL,NULL,1,NULL,0,0,NULL),(119,74,37,7,NULL,NULL,1,NULL,0,0,NULL),(120,179,74,2,NULL,NULL,1,NULL,0,0,NULL),(121,153,128,1,NULL,NULL,1,NULL,0,0,NULL),(122,116,128,1,NULL,NULL,1,NULL,0,0,NULL),(123,153,79,1,NULL,NULL,1,NULL,0,0,NULL),(124,116,79,1,NULL,NULL,1,NULL,0,0,NULL),(125,116,153,4,NULL,NULL,1,NULL,0,0,NULL),(126,79,44,8,NULL,NULL,1,NULL,0,0,NULL),(127,153,44,8,NULL,NULL,1,NULL,0,0,NULL),(128,116,44,8,NULL,NULL,1,NULL,0,0,NULL),(129,128,44,7,NULL,NULL,1,NULL,0,0,NULL),(130,79,128,2,NULL,NULL,1,NULL,0,0,NULL),(131,118,157,1,NULL,NULL,1,NULL,0,0,NULL),(132,117,157,1,NULL,NULL,1,NULL,0,0,NULL),(133,118,104,1,NULL,NULL,1,NULL,0,0,NULL),(134,117,104,1,NULL,NULL,1,NULL,0,0,NULL),(135,117,118,4,NULL,NULL,1,NULL,0,0,NULL),(136,104,9,8,NULL,NULL,1,NULL,0,0,NULL),(137,118,9,8,NULL,NULL,1,NULL,0,0,NULL),(138,117,9,8,NULL,NULL,1,NULL,0,0,NULL),(139,157,9,7,NULL,NULL,1,NULL,0,0,NULL),(140,104,157,2,NULL,NULL,1,NULL,0,0,NULL),(141,165,34,1,NULL,NULL,1,NULL,0,0,NULL),(142,84,34,1,NULL,NULL,1,NULL,0,0,NULL),(143,165,107,1,NULL,NULL,1,NULL,0,0,NULL),(144,84,107,1,NULL,NULL,1,NULL,0,0,NULL),(145,84,165,4,NULL,NULL,1,NULL,0,0,NULL),(146,107,194,8,NULL,NULL,1,NULL,0,0,NULL),(147,165,194,8,NULL,NULL,1,NULL,0,0,NULL),(148,84,194,8,NULL,NULL,1,NULL,0,0,NULL),(149,34,194,7,NULL,NULL,1,NULL,0,0,NULL),(150,107,34,2,NULL,NULL,1,NULL,0,0,NULL),(151,39,174,1,NULL,NULL,1,NULL,0,0,NULL),(152,151,174,1,NULL,NULL,1,NULL,0,0,NULL),(153,39,125,1,NULL,NULL,1,NULL,0,0,NULL),(154,151,125,1,NULL,NULL,1,NULL,0,0,NULL),(155,151,39,4,NULL,NULL,1,NULL,0,0,NULL),(156,125,72,8,NULL,NULL,1,NULL,0,0,NULL),(157,39,72,8,NULL,NULL,1,NULL,0,0,NULL),(158,151,72,8,NULL,NULL,1,NULL,0,0,NULL),(159,174,72,7,NULL,NULL,0,NULL,0,0,NULL),(160,125,174,2,NULL,NULL,0,NULL,0,0,NULL),(161,190,61,1,NULL,NULL,1,NULL,0,0,NULL),(162,38,61,1,NULL,NULL,1,NULL,0,0,NULL),(163,190,30,1,NULL,NULL,1,NULL,0,0,NULL),(164,38,30,1,NULL,NULL,1,NULL,0,0,NULL),(165,38,190,4,NULL,NULL,1,NULL,0,0,NULL),(166,30,4,8,NULL,NULL,1,NULL,0,0,NULL),(167,190,4,8,NULL,NULL,1,NULL,0,0,NULL),(168,38,4,8,NULL,NULL,1,NULL,0,0,NULL),(169,61,4,7,NULL,NULL,0,NULL,0,0,NULL),(170,30,61,2,NULL,NULL,0,NULL,0,0,NULL),(171,47,147,1,NULL,NULL,1,NULL,0,0,NULL),(172,14,147,1,NULL,NULL,1,NULL,0,0,NULL),(173,47,201,1,NULL,NULL,1,NULL,0,0,NULL),(174,14,201,1,NULL,NULL,1,NULL,0,0,NULL),(175,14,47,4,NULL,NULL,1,NULL,0,0,NULL),(176,201,138,8,NULL,NULL,1,NULL,0,0,NULL),(177,47,138,8,NULL,NULL,1,NULL,0,0,NULL),(178,14,138,8,NULL,NULL,1,NULL,0,0,NULL),(179,147,138,7,NULL,NULL,0,NULL,0,0,NULL),(180,201,147,2,NULL,NULL,0,NULL,0,0,NULL),(181,52,70,1,NULL,NULL,1,NULL,0,0,NULL),(182,168,70,1,NULL,NULL,1,NULL,0,0,NULL),(183,52,56,1,NULL,NULL,1,NULL,0,0,NULL),(184,168,56,1,NULL,NULL,1,NULL,0,0,NULL),(185,168,52,4,NULL,NULL,1,NULL,0,0,NULL),(186,56,196,8,NULL,NULL,1,NULL,0,0,NULL),(187,52,196,8,NULL,NULL,1,NULL,0,0,NULL),(188,168,196,8,NULL,NULL,1,NULL,0,0,NULL),(189,70,196,7,NULL,NULL,1,NULL,0,0,NULL),(190,56,70,2,NULL,NULL,1,NULL,0,0,NULL),(191,110,171,1,NULL,NULL,1,NULL,0,0,NULL),(192,33,171,1,NULL,NULL,1,NULL,0,0,NULL),(193,110,68,1,NULL,NULL,1,NULL,0,0,NULL),(194,33,68,1,NULL,NULL,1,NULL,0,0,NULL),(195,33,110,4,NULL,NULL,1,NULL,0,0,NULL),(196,68,132,8,NULL,NULL,1,NULL,0,0,NULL),(197,110,132,8,NULL,NULL,1,NULL,0,0,NULL),(198,33,132,8,NULL,NULL,1,NULL,0,0,NULL),(199,171,132,7,NULL,NULL,0,NULL,0,0,NULL),(200,68,171,2,NULL,NULL,0,NULL,0,0,NULL),(201,49,3,5,NULL,NULL,1,NULL,0,0,NULL),(202,184,22,5,NULL,NULL,1,NULL,0,0,NULL),(203,163,25,5,NULL,NULL,1,NULL,0,0,NULL),(204,46,29,5,NULL,NULL,1,NULL,0,0,NULL),(205,30,59,5,NULL,NULL,1,NULL,0,0,NULL),(206,68,60,5,NULL,NULL,1,NULL,0,0,NULL),(207,122,82,5,NULL,NULL,1,NULL,0,0,NULL),(208,158,83,5,NULL,NULL,1,NULL,0,0,NULL),(209,112,123,5,NULL,NULL,1,NULL,0,0,NULL),(210,80,126,5,NULL,NULL,1,NULL,0,0,NULL),(211,159,135,5,NULL,NULL,1,NULL,0,0,NULL),(212,118,142,5,NULL,NULL,1,NULL,0,0,NULL),(213,14,146,5,NULL,NULL,1,NULL,0,0,NULL),(214,139,156,5,NULL,NULL,1,NULL,0,0,NULL),(215,137,162,5,NULL,NULL,1,NULL,0,0,NULL),(216,51,164,5,NULL,NULL,1,NULL,0,0,NULL),(217,107,169,5,NULL,NULL,1,NULL,0,0,NULL),(218,157,177,5,NULL,NULL,1,NULL,0,0,NULL),(219,98,199,5,NULL,NULL,1,NULL,0,0,NULL);
 /*!40000 ALTER TABLE `civicrm_relationship` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1326,7 +1325,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_state_province` WRITE;
 /*!40000 ALTER TABLE `civicrm_state_province` DISABLE KEYS */;
-INSERT INTO `civicrm_state_province` (`id`, `name`, `abbreviation`, `country_id`) VALUES (1000,'Alabama','AL',1228),(1001,'Alaska','AK',1228),(1002,'Arizona','AZ',1228),(1003,'Arkansas','AR',1228),(1004,'California','CA',1228),(1005,'Colorado','CO',1228),(1006,'Connecticut','CT',1228),(1007,'Delaware','DE',1228),(1008,'Florida','FL',1228),(1009,'Georgia','GA',1228),(1010,'Hawaii','HI',1228),(1011,'Idaho','ID',1228),(1012,'Illinois','IL',1228),(1013,'Indiana','IN',1228),(1014,'Iowa','IA',1228),(1015,'Kansas','KS',1228),(1016,'Kentucky','KY',1228),(1017,'Louisiana','LA',1228),(1018,'Maine','ME',1228),(1019,'Maryland','MD',1228),(1020,'Massachusetts','MA',1228),(1021,'Michigan','MI',1228),(1022,'Minnesota','MN',1228),(1023,'Mississippi','MS',1228),(1024,'Missouri','MO',1228),(1025,'Montana','MT',1228),(1026,'Nebraska','NE',1228),(1027,'Nevada','NV',1228),(1028,'New Hampshire','NH',1228),(1029,'New Jersey','NJ',1228),(1030,'New Mexico','NM',1228),(1031,'New York','NY',1228),(1032,'North Carolina','NC',1228),(1033,'North Dakota','ND',1228),(1034,'Ohio','OH',1228),(1035,'Oklahoma','OK',1228),(1036,'Oregon','OR',1228),(1037,'Pennsylvania','PA',1228),(1038,'Rhode Island','RI',1228),(1039,'South Carolina','SC',1228),(1040,'South Dakota','SD',1228),(1041,'Tennessee','TN',1228),(1042,'Texas','TX',1228),(1043,'Utah','UT',1228),(1044,'Vermont','VT',1228),(1045,'Virginia','VA',1228),(1046,'Washington','WA',1228),(1047,'West Virginia','WV',1228),(1048,'Wisconsin','WI',1228),(1049,'Wyoming','WY',1228),(1050,'District of Columbia','DC',1228),(1052,'American Samoa','AS',1228),(1053,'Guam','GU',1228),(1055,'Northern Mariana Islands','MP',1228),(1056,'Puerto Rico','PR',1228),(1057,'Virgin Islands','VI',1228),(1058,'United States Minor Outlying Islands','UM',1228),(1059,'Armed Forces Europe','AE',1228),(1060,'Armed Forces Americas','AA',1228),(1061,'Armed Forces Pacific','AP',1228),(1100,'Alberta','AB',1039),(1101,'British Columbia','BC',1039),(1102,'Manitoba','MB',1039),(1103,'New Brunswick','NB',1039),(1104,'Newfoundland and Labrador','NL',1039),(1105,'Northwest Territories','NT',1039),(1106,'Nova Scotia','NS',1039),(1107,'Nunavut','NU',1039),(1108,'Ontario','ON',1039),(1109,'Prince Edward Island','PE',1039),(1110,'Quebec','QC',1039),(1111,'Saskatchewan','SK',1039),(1112,'Yukon Territory','YT',1039),(1200,'Maharashtra','MM',1101),(1201,'Karnataka','KA',1101),(1202,'Andhra Pradesh','AP',1101),(1203,'Arunachal Pradesh','AR',1101),(1204,'Assam','AS',1101),(1205,'Bihar','BR',1101),(1206,'Chhattisgarh','CH',1101),(1207,'Goa','GA',1101),(1208,'Gujarat','GJ',1101),(1209,'Haryana','HR',1101),(1210,'Himachal Pradesh','HP',1101),(1211,'Jammu and Kashmir','JK',1101),(1212,'Jharkhand','JH',1101),(1213,'Kerala','KL',1101),(1214,'Madhya Pradesh','MP',1101),(1215,'Manipur','MN',1101),(1216,'Meghalaya','ML',1101),(1217,'Mizoram','MZ',1101),(1218,'Nagaland','NL',1101),(1219,'Orissa','OR',1101),(1220,'Punjab','PB',1101),(1221,'Rajasthan','RJ',1101),(1222,'Sikkim','SK',1101),(1223,'Tamil Nadu','TN',1101),(1224,'Tripura','TR',1101),(1225,'Uttarakhand','UT',1101),(1226,'Uttar Pradesh','UP',1101),(1227,'West Bengal','WB',1101),(1228,'Andaman and Nicobar Islands','AN',1101),(1229,'Dadra and Nagar Haveli','DN',1101),(1230,'Daman and Diu','DD',1101),(1231,'Delhi','DL',1101),(1232,'Lakshadweep','LD',1101),(1233,'Pondicherry','PY',1101),(1300,'mazowieckie','MZ',1172),(1301,'pomorskie','PM',1172),(1302,'dolnośląskie','DS',1172),(1303,'kujawsko-pomorskie','KP',1172),(1304,'lubelskie','LU',1172),(1305,'lubuskie','LB',1172),(1306,'łódzkie','LD',1172),(1307,'małopolskie','MA',1172),(1308,'opolskie','OP',1172),(1309,'podkarpackie','PK',1172),(1310,'podlaskie','PD',1172),(1311,'śląskie','SL',1172),(1312,'świętokrzyskie','SK',1172),(1313,'warmińsko-mazurskie','WN',1172),(1314,'wielkopolskie','WP',1172),(1315,'zachodniopomorskie','ZP',1172),(1500,'Abu Zaby','AZ',1225),(1501,'\'Ajman','AJ',1225),(1502,'Al Fujayrah','FU',1225),(1503,'Ash Shariqah','SH',1225),(1504,'Dubayy','DU',1225),(1505,'Ra\'s al Khaymah','RK',1225),(1506,'Dac Lac','33',1233),(1507,'Umm al Qaywayn','UQ',1225),(1508,'Badakhshan','BDS',1001),(1509,'Badghis','BDG',1001),(1510,'Baghlan','BGL',1001),(1511,'Balkh','BAL',1001),(1512,'Bamian','BAM',1001),(1513,'Farah','FRA',1001),(1514,'Faryab','FYB',1001),(1515,'Ghazni','GHA',1001),(1516,'Ghowr','GHO',1001),(1517,'Helmand','HEL',1001),(1518,'Herat','HER',1001),(1519,'Jowzjan','JOW',1001),(1520,'Kabul','KAB',1001),(1521,'Kandahar','KAN',1001),(1522,'Kapisa','KAP',1001),(1523,'Khowst','KHO',1001),(1524,'Konar','KNR',1001),(1525,'Kondoz','KDZ',1001),(1526,'Laghman','LAG',1001),(1527,'Lowgar','LOW',1001),(1528,'Nangrahar','NAN',1001),(1529,'Nimruz','NIM',1001),(1530,'Nurestan','NUR',1001),(1531,'Oruzgan','ORU',1001),(1532,'Paktia','PIA',1001),(1533,'Paktika','PKA',1001),(1534,'Parwan','PAR',1001),(1535,'Samangan','SAM',1001),(1536,'Sar-e Pol','SAR',1001),(1537,'Takhar','TAK',1001),(1538,'Wardak','WAR',1001),(1539,'Zabol','ZAB',1001),(1540,'Berat','BR',1002),(1541,'Bulqizë','BU',1002),(1542,'Delvinë','DL',1002),(1543,'Devoll','DV',1002),(1544,'Dibër','DI',1002),(1545,'Durrës','DR',1002),(1546,'Elbasan','EL',1002),(1547,'Fier','FR',1002),(1548,'Gramsh','GR',1002),(1549,'Gjirokastër','GJ',1002),(1550,'Has','HA',1002),(1551,'Kavajë','KA',1002),(1552,'Kolonjë','ER',1002),(1553,'Korçë','KO',1002),(1554,'Krujë','KR',1002),(1555,'Kuçovë','KC',1002),(1556,'Kukës','KU',1002),(1557,'Kurbin','KB',1002),(1558,'Lezhë','LE',1002),(1559,'Librazhd','LB',1002),(1560,'Lushnjë','LU',1002),(1561,'Malësi e Madhe','MM',1002),(1562,'Mallakastër','MK',1002),(1563,'Mat','MT',1002),(1564,'Mirditë','MR',1002),(1565,'Peqin','PQ',1002),(1566,'Përmet','PR',1002),(1567,'Pogradec','PG',1002),(1568,'Pukë','PU',1002),(1569,'Sarandë','SR',1002),(1570,'Skrapar','SK',1002),(1571,'Shkodër','SH',1002),(1572,'Tepelenë','TE',1002),(1573,'Tiranë','TR',1002),(1574,'Tropojë','TP',1002),(1575,'Vlorë','VL',1002),(1576,'Erevan','ER',1011),(1577,'Aragacotn','AG',1011),(1578,'Ararat','AR',1011),(1579,'Armavir','AV',1011),(1580,'Gegarkunik\'','GR',1011),(1581,'Kotayk\'','KT',1011),(1582,'Lory','LO',1011),(1583,'Sirak','SH',1011),(1584,'Syunik\'','SU',1011),(1585,'Tavus','TV',1011),(1586,'Vayoc Jor','VD',1011),(1587,'Bengo','BGO',1006),(1588,'Benguela','BGU',1006),(1589,'Bie','BIE',1006),(1590,'Cabinda','CAB',1006),(1591,'Cuando-Cubango','CCU',1006),(1592,'Cuanza Norte','CNO',1006),(1593,'Cuanza Sul','CUS',1006),(1594,'Cunene','CNN',1006),(1595,'Huambo','HUA',1006),(1596,'Huila','HUI',1006),(1597,'Luanda','LUA',1006),(1598,'Lunda Norte','LNO',1006),(1599,'Lunda Sul','LSU',1006),(1600,'Malange','MAL',1006),(1601,'Moxico','MOX',1006),(1602,'Namibe','NAM',1006),(1603,'Uige','UIG',1006),(1604,'Zaire','ZAI',1006),(1605,'Capital federal','C',1010),(1606,'Buenos Aires','B',1010),(1607,'Catamarca','K',1010),(1608,'Cordoba','X',1010),(1609,'Corrientes','W',1010),(1610,'Chaco','H',1010),(1611,'Chubut','U',1010),(1612,'Entre Rios','E',1010),(1613,'Formosa','P',1010),(1614,'Jujuy','Y',1010),(1615,'La Pampa','L',1010),(1616,'Mendoza','M',1010),(1617,'Misiones','N',1010),(1618,'Neuquen','Q',1010),(1619,'Rio Negro','R',1010),(1620,'Salta','A',1010),(1621,'San Juan','J',1010),(1622,'San Luis','D',1010),(1623,'Santa Cruz','Z',1010),(1624,'Santa Fe','S',1010),(1625,'Santiago del Estero','G',1010),(1626,'Tierra del Fuego','V',1010),(1627,'Tucuman','T',1010),(1628,'Burgenland','1',1014),(1629,'Kärnten','2',1014),(1630,'Niederösterreich','3',1014),(1631,'Oberösterreich','4',1014),(1632,'Salzburg','5',1014),(1633,'Steiermark','6',1014),(1634,'Tirol','7',1014),(1635,'Vorarlberg','8',1014),(1636,'Wien','9',1014),(1637,'Australian Antarctic Territory','AAT',1008),(1638,'Australian Capital Territory','ACT',1013),(1639,'Northern Territory','NT',1013),(1640,'New South Wales','NSW',1013),(1641,'Queensland','QLD',1013),(1642,'South Australia','SA',1013),(1643,'Tasmania','TAS',1013),(1644,'Victoria','VIC',1013),(1645,'Western Australia','WA',1013),(1646,'Naxcivan','NX',1015),(1647,'Ali Bayramli','AB',1015),(1648,'Baki','BA',1015),(1649,'Ganca','GA',1015),(1650,'Lankaran','LA',1015),(1651,'Mingacevir','MI',1015),(1652,'Naftalan','NA',1015),(1653,'Saki','SA',1015),(1654,'Sumqayit','SM',1015),(1655,'Susa','SS',1015),(1656,'Xankandi','XA',1015),(1657,'Yevlax','YE',1015),(1658,'Abseron','ABS',1015),(1659,'Agcabadi','AGC',1015),(1660,'Agdam','AGM',1015),(1661,'Agdas','AGS',1015),(1662,'Agstafa','AGA',1015),(1663,'Agsu','AGU',1015),(1664,'Astara','AST',1015),(1665,'Babak','BAB',1015),(1666,'Balakan','BAL',1015),(1667,'Barda','BAR',1015),(1668,'Beylagan','BEY',1015),(1669,'Bilasuvar','BIL',1015),(1670,'Cabrayll','CAB',1015),(1671,'Calilabad','CAL',1015),(1672,'Culfa','CUL',1015),(1673,'Daskasan','DAS',1015),(1674,'Davaci','DAV',1015),(1675,'Fuzuli','FUZ',1015),(1676,'Gadabay','GAD',1015),(1677,'Goranboy','GOR',1015),(1678,'Goycay','GOY',1015),(1679,'Haciqabul','HAC',1015),(1680,'Imisli','IMI',1015),(1681,'Ismayilli','ISM',1015),(1682,'Kalbacar','KAL',1015),(1683,'Kurdamir','KUR',1015),(1684,'Lacin','LAC',1015),(1685,'Lerik','LER',1015),(1686,'Masalli','MAS',1015),(1687,'Neftcala','NEF',1015),(1688,'Oguz','OGU',1015),(1689,'Ordubad','ORD',1015),(1690,'Qabala','QAB',1015),(1691,'Qax','QAX',1015),(1692,'Qazax','QAZ',1015),(1693,'Qobustan','QOB',1015),(1694,'Quba','QBA',1015),(1695,'Qubadli','QBI',1015),(1696,'Qusar','QUS',1015),(1697,'Saatli','SAT',1015),(1698,'Sabirabad','SAB',1015),(1699,'Sadarak','SAD',1015),(1700,'Sahbuz','SAH',1015),(1701,'Salyan','SAL',1015),(1702,'Samaxi','SMI',1015),(1703,'Samkir','SKR',1015),(1704,'Samux','SMX',1015),(1705,'Sarur','SAR',1015),(1706,'Siyazan','SIY',1015),(1707,'Tartar','TAR',1015),(1708,'Tovuz','TOV',1015),(1709,'Ucar','UCA',1015),(1710,'Xacmaz','XAC',1015),(1711,'Xanlar','XAN',1015),(1712,'Xizi','XIZ',1015),(1713,'Xocali','XCI',1015),(1714,'Xocavand','XVD',1015),(1715,'Yardimli','YAR',1015),(1716,'Zangilan','ZAN',1015),(1717,'Zaqatala','ZAQ',1015),(1718,'Zardab','ZAR',1015),(1719,'Federacija Bosna i Hercegovina','BIH',1026),(1720,'Republika Srpska','SRP',1026),(1721,'Bagerhat zila','05',1017),(1722,'Bandarban zila','01',1017),(1723,'Barguna zila','02',1017),(1724,'Barisal zila','06',1017),(1725,'Bhola zila','07',1017),(1726,'Bogra zila','03',1017),(1727,'Brahmanbaria zila','04',1017),(1728,'Chandpur zila','09',1017),(1729,'Chittagong zila','10',1017),(1730,'Chuadanga zila','12',1017),(1731,'Comilla zila','08',1017),(1732,'Cox\'s Bazar zila','11',1017),(1733,'Dhaka zila','13',1017),(1734,'Dinajpur zila','14',1017),(1735,'Faridpur zila','15',1017),(1736,'Feni zila','16',1017),(1737,'Gaibandha zila','19',1017),(1738,'Gazipur zila','18',1017),(1739,'Gopalganj zila','17',1017),(1740,'Habiganj zila','20',1017),(1741,'Jaipurhat zila','24',1017),(1742,'Jamalpur zila','21',1017),(1743,'Jessore zila','22',1017),(1744,'Jhalakati zila','25',1017),(1745,'Jhenaidah zila','23',1017),(1746,'Khagrachari zila','29',1017),(1747,'Khulna zila','27',1017),(1748,'Kishorganj zila','26',1017),(1749,'Kurigram zila','28',1017),(1750,'Kushtia zila','30',1017),(1751,'Lakshmipur zila','31',1017),(1752,'Lalmonirhat zila','32',1017),(1753,'Madaripur zila','36',1017),(1754,'Magura zila','37',1017),(1755,'Manikganj zila','33',1017),(1756,'Meherpur zila','39',1017),(1757,'Moulvibazar zila','38',1017),(1758,'Munshiganj zila','35',1017),(1759,'Mymensingh zila','34',1017),(1760,'Naogaon zila','48',1017),(1761,'Narail zila','43',1017),(1762,'Narayanganj zila','40',1017),(1763,'Narsingdi zila','42',1017),(1764,'Natore zila','44',1017),(1765,'Nawabganj zila','45',1017),(1766,'Netrakona zila','41',1017),(1767,'Nilphamari zila','46',1017),(1768,'Noakhali zila','47',1017),(1769,'Pabna zila','49',1017),(1770,'Panchagarh zila','52',1017),(1771,'Patuakhali zila','51',1017),(1772,'Pirojpur zila','50',1017),(1773,'Rajbari zila','53',1017),(1774,'Rajshahi zila','54',1017),(1775,'Rangamati zila','56',1017),(1776,'Rangpur zila','55',1017),(1777,'Satkhira zila','58',1017),(1778,'Shariatpur zila','62',1017),(1779,'Sherpur zila','57',1017),(1780,'Sirajganj zila','59',1017),(1781,'Sunamganj zila','61',1017),(1782,'Sylhet zila','60',1017),(1783,'Tangail zila','63',1017),(1784,'Thakurgaon zila','64',1017),(1785,'Antwerpen','VAN',1020),(1786,'Brabant Wallon','WBR',1020),(1787,'Hainaut','WHT',1020),(1788,'Liege','WLG',1020),(1789,'Limburg','VLI',1020),(1790,'Luxembourg','WLX',1020),(1791,'Namur','WNA',1020),(1792,'Oost-Vlaanderen','VOV',1020),(1793,'Vlaams-Brabant','VBR',1020),(1794,'West-Vlaanderen','VWV',1020),(1795,'Bale','BAL',1034),(1796,'Bam','BAM',1034),(1797,'Banwa','BAN',1034),(1798,'Bazega','BAZ',1034),(1799,'Bougouriba','BGR',1034),(1800,'Boulgou','BLG',1034),(1801,'Boulkiemde','BLK',1034),(1802,'Comoe','COM',1034),(1803,'Ganzourgou','GAN',1034),(1804,'Gnagna','GNA',1034),(1805,'Gourma','GOU',1034),(1806,'Houet','HOU',1034),(1807,'Ioba','IOB',1034),(1808,'Kadiogo','KAD',1034),(1809,'Kenedougou','KEN',1034),(1810,'Komondjari','KMD',1034),(1811,'Kompienga','KMP',1034),(1812,'Kossi','KOS',1034),(1813,'Koulpulogo','KOP',1034),(1814,'Kouritenga','KOT',1034),(1815,'Kourweogo','KOW',1034),(1816,'Leraba','LER',1034),(1817,'Loroum','LOR',1034),(1818,'Mouhoun','MOU',1034),(1819,'Nahouri','NAO',1034),(1820,'Namentenga','NAM',1034),(1821,'Nayala','NAY',1034),(1822,'Noumbiel','NOU',1034),(1823,'Oubritenga','OUB',1034),(1824,'Oudalan','OUD',1034),(1825,'Passore','PAS',1034),(1826,'Poni','PON',1034),(1827,'Sanguie','SNG',1034),(1828,'Sanmatenga','SMT',1034),(1829,'Seno','SEN',1034),(1830,'Siasili','SIS',1034),(1831,'Soum','SOM',1034),(1832,'Sourou','SOR',1034),(1833,'Tapoa','TAP',1034),(1834,'Tui','TUI',1034),(1835,'Yagha','YAG',1034),(1836,'Yatenga','YAT',1034),(1837,'Ziro','ZIR',1034),(1838,'Zondoma','ZON',1034),(1839,'Zoundweogo','ZOU',1034),(1840,'Blagoevgrad','01',1033),(1841,'Burgas','02',1033),(1842,'Dobrich','08',1033),(1843,'Gabrovo','07',1033),(1844,'Haskovo','26',1033),(1845,'Yambol','28',1033),(1846,'Kardzhali','09',1033),(1847,'Kyustendil','10',1033),(1848,'Lovech','11',1033),(1849,'Montana','12',1033),(1850,'Pazardzhik','13',1033),(1851,'Pernik','14',1033),(1852,'Pleven','15',1033),(1853,'Plovdiv','16',1033),(1854,'Razgrad','17',1033),(1855,'Ruse','18',1033),(1856,'Silistra','19',1033),(1857,'Sliven','20',1033),(1858,'Smolyan','21',1033),(1859,'Sofia','23',1033),(1860,'Stara Zagora','24',1033),(1861,'Shumen','27',1033),(1862,'Targovishte','25',1033),(1863,'Varna','03',1033),(1864,'Veliko Tarnovo','04',1033),(1865,'Vidin','05',1033),(1866,'Vratsa','06',1033),(1867,'Al Hadd','01',1016),(1868,'Al Manamah','03',1016),(1869,'Al Mintaqah al Gharbiyah','10',1016),(1870,'Al Mintagah al Wusta','07',1016),(1871,'Al Mintaqah ash Shamaliyah','05',1016),(1872,'Al Muharraq','02',1016),(1873,'Ar Rifa','09',1016),(1874,'Jidd Hafs','04',1016),(1875,'Madluat Jamad','12',1016),(1876,'Madluat Isa','08',1016),(1877,'Mintaqat Juzur tawar','11',1016),(1878,'Sitrah','06',1016),(1879,'Bubanza','BB',1036),(1880,'Bujumbura','BJ',1036),(1881,'Bururi','BR',1036),(1882,'Cankuzo','CA',1036),(1883,'Cibitoke','CI',1036),(1884,'Gitega','GI',1036),(1885,'Karuzi','KR',1036),(1886,'Kayanza','KY',1036),(1887,'Makamba','MA',1036),(1888,'Muramvya','MU',1036),(1889,'Mwaro','MW',1036),(1890,'Ngozi','NG',1036),(1891,'Rutana','RT',1036),(1892,'Ruyigi','RY',1036),(1893,'Alibori','AL',1022),(1894,'Atakora','AK',1022),(1895,'Atlantique','AQ',1022),(1896,'Borgou','BO',1022),(1897,'Collines','CO',1022),(1898,'Donga','DO',1022),(1899,'Kouffo','KO',1022),(1900,'Littoral','LI',1022),(1901,'Mono','MO',1022),(1902,'Oueme','OU',1022),(1903,'Plateau','PL',1022),(1904,'Zou','ZO',1022),(1905,'Belait','BE',1032),(1906,'Brunei-Muara','BM',1032),(1907,'Temburong','TE',1032),(1908,'Tutong','TU',1032),(1909,'Cochabamba','C',1025),(1910,'Chuquisaca','H',1025),(1911,'El Beni','B',1025),(1912,'La Paz','L',1025),(1913,'Oruro','O',1025),(1914,'Pando','N',1025),(1915,'Potosi','P',1025),(1916,'Tarija','T',1025),(1917,'Acre','AC',1029),(1918,'Alagoas','AL',1029),(1919,'Amazonas','AM',1029),(1920,'Amapa','AP',1029),(1921,'Bahia','BA',1029),(1922,'Ceara','CE',1029),(1923,'Distrito Federal','DF',1029),(1924,'Espirito Santo','ES',1029),(1926,'Goias','GO',1029),(1927,'Maranhao','MA',1029),(1928,'Minas Gerais','MG',1029),(1929,'Mato Grosso do Sul','MS',1029),(1930,'Mato Grosso','MT',1029),(1931,'Para','PA',1029),(1932,'Paraiba','PB',1029),(1933,'Pernambuco','PE',1029),(1934,'Piaui','PI',1029),(1935,'Parana','PR',1029),(1936,'Rio de Janeiro','RJ',1029),(1937,'Rio Grande do Norte','RN',1029),(1938,'Rondonia','RO',1029),(1939,'Roraima','RR',1029),(1940,'Rio Grande do Sul','RS',1029),(1941,'Santa Catarina','SC',1029),(1942,'Sergipe','SE',1029),(1943,'Sao Paulo','SP',1029),(1944,'Tocantins','TO',1029),(1945,'Acklins and Crooked Islands','AC',1212),(1946,'Bimini','BI',1212),(1947,'Cat Island','CI',1212),(1948,'Exuma','EX',1212),(1955,'Inagua','IN',1212),(1957,'Long Island','LI',1212),(1959,'Mayaguana','MG',1212),(1960,'New Providence','NP',1212),(1962,'Ragged Island','RI',1212),(1966,'Bumthang','33',1024),(1967,'Chhukha','12',1024),(1968,'Dagana','22',1024),(1969,'Gasa','GA',1024),(1970,'Ha','13',1024),(1971,'Lhuentse','44',1024),(1972,'Monggar','42',1024),(1973,'Paro','11',1024),(1974,'Pemagatshel','43',1024),(1975,'Punakha','23',1024),(1976,'Samdrup Jongkha','45',1024),(1977,'Samtee','14',1024),(1978,'Sarpang','31',1024),(1979,'Thimphu','15',1024),(1980,'Trashigang','41',1024),(1981,'Trashi Yangtse','TY',1024),(1982,'Trongsa','32',1024),(1983,'Tsirang','21',1024),(1984,'Wangdue Phodrang','24',1024),(1985,'Zhemgang','34',1024),(1986,'Central','CE',1027),(1987,'Ghanzi','GH',1027),(1988,'Kgalagadi','KG',1027),(1989,'Kgatleng','KL',1027),(1990,'Kweneng','KW',1027),(1991,'Ngamiland','NG',1027),(1992,'North-East','NE',1027),(1993,'North-West','NW',1027),(1994,'South-East','SE',1027),(1995,'Southern','SO',1027),(1996,'Brèsckaja voblasc\'','BR',1019),(1997,'Homel\'skaja voblasc\'','HO',1019),(1998,'Hrodzenskaja voblasc\'','HR',1019),(1999,'Mahilëuskaja voblasc\'','MA',1019),(2000,'Minskaja voblasc\'','MI',1019),(2001,'Vicebskaja voblasc\'','VI',1019),(2002,'Belize','BZ',1021),(2003,'Cayo','CY',1021),(2004,'Corozal','CZL',1021),(2005,'Orange Walk','OW',1021),(2006,'Stann Creek','SC',1021),(2007,'Toledo','TOL',1021),(2008,'Kinshasa','KN',1050),(2011,'Equateur','EQ',1050),(2014,'Kasai-Oriental','KE',1050),(2016,'Maniema','MA',1050),(2017,'Nord-Kivu','NK',1050),(2019,'Sud-Kivu','SK',1050),(2020,'Bangui','BGF',1042),(2021,'Bamingui-Bangoran','BB',1042),(2022,'Basse-Kotto','BK',1042),(2023,'Haute-Kotto','HK',1042),(2024,'Haut-Mbomou','HM',1042),(2025,'Kemo','KG',1042),(2026,'Lobaye','LB',1042),(2027,'Mambere-Kadei','HS',1042),(2028,'Mbomou','MB',1042),(2029,'Nana-Grebizi','KB',1042),(2030,'Nana-Mambere','NM',1042),(2031,'Ombella-Mpoko','MP',1042),(2032,'Ouaka','UK',1042),(2033,'Ouham','AC',1042),(2034,'Ouham-Pende','OP',1042),(2035,'Sangha-Mbaere','SE',1042),(2036,'Vakaga','VR',1042),(2037,'Brazzaville','BZV',1051),(2038,'Bouenza','11',1051),(2039,'Cuvette','8',1051),(2040,'Cuvette-Ouest','15',1051),(2041,'Kouilou','5',1051),(2042,'Lekoumou','2',1051),(2043,'Likouala','7',1051),(2044,'Niari','9',1051),(2045,'Plateaux','14',1051),(2046,'Pool','12',1051),(2047,'Sangha','13',1051),(2048,'Aargau','AG',1205),(2049,'Appenzell Innerrhoden','AI',1205),(2050,'Appenzell Ausserrhoden','AR',1205),(2051,'Bern','BE',1205),(2052,'Basel-Landschaft','BL',1205),(2053,'Basel-Stadt','BS',1205),(2054,'Fribourg','FR',1205),(2055,'Geneva','GE',1205),(2056,'Glarus','GL',1205),(2057,'Graubunden','GR',1205),(2058,'Jura','JU',1205),(2059,'Luzern','LU',1205),(2060,'Neuchatel','NE',1205),(2061,'Nidwalden','NW',1205),(2062,'Obwalden','OW',1205),(2063,'Sankt Gallen','SG',1205),(2064,'Schaffhausen','SH',1205),(2065,'Solothurn','SO',1205),(2066,'Schwyz','SZ',1205),(2067,'Thurgau','TG',1205),(2068,'Ticino','TI',1205),(2069,'Uri','UR',1205),(2070,'Vaud','VD',1205),(2071,'Valais','VS',1205),(2072,'Zug','ZG',1205),(2073,'Zurich','ZH',1205),(2074,'18 Montagnes','06',1054),(2075,'Agnebi','16',1054),(2076,'Bas-Sassandra','09',1054),(2077,'Denguele','10',1054),(2078,'Haut-Sassandra','02',1054),(2079,'Lacs','07',1054),(2080,'Lagunes','01',1054),(2081,'Marahoue','12',1054),(2082,'Moyen-Comoe','05',1054),(2083,'Nzi-Comoe','11',1054),(2084,'Savanes','03',1054),(2085,'Sud-Bandama','15',1054),(2086,'Sud-Comoe','13',1054),(2087,'Vallee du Bandama','04',1054),(2088,'Worodouqou','14',1054),(2089,'Zanzan','08',1054),(2090,'Aisen del General Carlos Ibanez del Campo','AI',1044),(2091,'Antofagasta','AN',1044),(2092,'Araucania','AR',1044),(2093,'Atacama','AT',1044),(2094,'Bio-Bio','BI',1044),(2095,'Coquimbo','CO',1044),(2096,'Libertador General Bernardo O\'Higgins','LI',1044),(2097,'Los Lagos','LL',1044),(2098,'Magallanes','MA',1044),(2099,'Maule','ML',1044),(2100,'Santiago Metropolitan','SM',1044),(2101,'Tarapaca','TA',1044),(2102,'Valparaiso','VS',1044),(2103,'Adamaoua','AD',1038),(2104,'Centre','CE',1038),(2105,'East','ES',1038),(2106,'Far North','EN',1038),(2107,'North','NO',1038),(2108,'South','SW',1038),(2109,'South-West','SW',1038),(2110,'West','OU',1038),(2111,'Beijing','11',1045),(2112,'Chongqing','50',1045),(2113,'Shanghai','31',1045),(2114,'Tianjin','12',1045),(2115,'Anhui','34',1045),(2116,'Fujian','35',1045),(2117,'Gansu','62',1045),(2118,'Guangdong','44',1045),(2119,'Guizhou','52',1045),(2120,'Hainan','46',1045),(2121,'Hebei','13',1045),(2122,'Heilongjiang','23',1045),(2123,'Henan','41',1045),(2124,'Hubei','42',1045),(2125,'Hunan','43',1045),(2126,'Jiangsu','32',1045),(2127,'Jiangxi','36',1045),(2128,'Jilin','22',1045),(2129,'Liaoning','21',1045),(2130,'Qinghai','63',1045),(2131,'Shaanxi','61',1045),(2132,'Shandong','37',1045),(2133,'Shanxi','14',1045),(2134,'Sichuan','51',1045),(2135,'Taiwan','71',1045),(2136,'Yunnan','53',1045),(2137,'Zhejiang','33',1045),(2138,'Guangxi','45',1045),(2139,'Neia Mongol (mn)','15',1045),(2140,'Xinjiang','65',1045),(2141,'Xizang','54',1045),(2142,'Hong Kong','91',1045),(2143,'Macau','92',1045),(2144,'Distrito Capital de Bogotá','DC',1048),(2145,'Amazonea','AMA',1048),(2146,'Antioquia','ANT',1048),(2147,'Arauca','ARA',1048),(2148,'Atlántico','ATL',1048),(2149,'Bolívar','BOL',1048),(2150,'Boyacá','BOY',1048),(2151,'Caldea','CAL',1048),(2152,'Caquetá','CAQ',1048),(2153,'Casanare','CAS',1048),(2154,'Cauca','CAU',1048),(2155,'Cesar','CES',1048),(2156,'Córdoba','COR',1048),(2157,'Cundinamarca','CUN',1048),(2158,'Chocó','CHO',1048),(2159,'Guainía','GUA',1048),(2160,'Guaviare','GUV',1048),(2161,'La Guajira','LAG',1048),(2162,'Magdalena','MAG',1048),(2163,'Meta','MET',1048),(2164,'Nariño','NAR',1048),(2165,'Norte de Santander','NSA',1048),(2166,'Putumayo','PUT',1048),(2167,'Quindio','QUI',1048),(2168,'Risaralda','RIS',1048),(2169,'San Andrés, Providencia y Santa Catalina','SAP',1048),(2170,'Santander','SAN',1048),(2171,'Sucre','SUC',1048),(2172,'Tolima','TOL',1048),(2173,'Valle del Cauca','VAC',1048),(2174,'Vaupés','VAU',1048),(2175,'Vichada','VID',1048),(2176,'Alajuela','A',1053),(2177,'Cartago','C',1053),(2178,'Guanacaste','G',1053),(2179,'Heredia','H',1053),(2180,'Limon','L',1053),(2181,'Puntarenas','P',1053),(2182,'San Jose','SJ',1053),(2183,'Camagey','09',1056),(2184,'Ciego de `vila','08',1056),(2185,'Cienfuegos','06',1056),(2186,'Ciudad de La Habana','03',1056),(2187,'Granma','12',1056),(2188,'Guantanamo','14',1056),(2189,'Holquin','11',1056),(2190,'La Habana','02',1056),(2191,'Las Tunas','10',1056),(2192,'Matanzas','04',1056),(2193,'Pinar del Rio','01',1056),(2194,'Sancti Spiritus','07',1056),(2195,'Santiago de Cuba','13',1056),(2196,'Villa Clara','05',1056),(2197,'Isla de la Juventud','99',1056),(2198,'Pinar del Roo','PR',1056),(2199,'Ciego de Avila','CA',1056),(2200,'Camagoey','CG',1056),(2201,'Holgun','HO',1056),(2202,'Sancti Spritus','SS',1056),(2203,'Municipio Especial Isla de la Juventud','IJ',1056),(2204,'Boa Vista','BV',1040),(2205,'Brava','BR',1040),(2206,'Calheta de Sao Miguel','CS',1040),(2207,'Fogo','FO',1040),(2208,'Maio','MA',1040),(2209,'Mosteiros','MO',1040),(2210,'Paul','PA',1040),(2211,'Porto Novo','PN',1040),(2212,'Praia','PR',1040),(2213,'Ribeira Grande','RG',1040),(2214,'Sal','SL',1040),(2215,'Sao Domingos','SD',1040),(2216,'Sao Filipe','SF',1040),(2217,'Sao Nicolau','SN',1040),(2218,'Sao Vicente','SV',1040),(2219,'Tarrafal','TA',1040),(2220,'Ammochostos Magusa','04',1057),(2221,'Keryneia','06',1057),(2222,'Larnaka','03',1057),(2223,'Lefkosia','01',1057),(2224,'Lemesos','02',1057),(2225,'Pafos','05',1057),(2226,'Jihočeský kraj','JC',1058),(2227,'Jihomoravský kraj','JM',1058),(2228,'Karlovarský kraj','KA',1058),(2229,'Královéhradecký kraj','KR',1058),(2230,'Liberecký kraj','LI',1058),(2231,'Moravskoslezský kraj','MO',1058),(2232,'Olomoucký kraj','OL',1058),(2233,'Pardubický kraj','PA',1058),(2234,'Plzeňský kraj','PL',1058),(2235,'Praha, hlavní město','PR',1058),(2236,'Středočeský kraj','ST',1058),(2237,'Ústecký kraj','US',1058),(2238,'Vysočina','VY',1058),(2239,'Zlínský kraj','ZL',1058),(2240,'Baden-Wuerttemberg','BW',1082),(2241,'Bayern','BY',1082),(2242,'Bremen','HB',1082),(2243,'Hamburg','HH',1082),(2244,'Hessen','HE',1082),(2245,'Niedersachsen','NI',1082),(2246,'Nordrhein-Westfalen','NW',1082),(2247,'Rheinland-Pfalz','RP',1082),(2248,'Saarland','SL',1082),(2249,'Schleswig-Holstein','SH',1082),(2250,'Berlin','BR',1082),(2251,'Brandenburg','BB',1082),(2252,'Mecklenburg-Vorpommern','MV',1082),(2253,'Sachsen','SN',1082),(2254,'Sachsen-Anhalt','ST',1082),(2255,'Thueringen','TH',1082),(2256,'Ali Sabiah','AS',1060),(2257,'Dikhil','DI',1060),(2258,'Djibouti','DJ',1060),(2259,'Obock','OB',1060),(2260,'Tadjoura','TA',1060),(2261,'Frederiksberg','147',1059),(2262,'Copenhagen City','101',1059),(2263,'Copenhagen','015',1059),(2264,'Frederiksborg','020',1059),(2265,'Roskilde','025',1059),(2266,'Vestsjælland','030',1059),(2267,'Storstrøm','035',1059),(2268,'Bornholm','040',1059),(2269,'Fyn','042',1059),(2270,'South Jutland','050',1059),(2271,'Ribe','055',1059),(2272,'Vejle','060',1059),(2273,'Ringkjøbing','065',1059),(2274,'Århus','070',1059),(2275,'Viborg','076',1059),(2276,'North Jutland','080',1059),(2277,'Distrito Nacional (Santo Domingo)','01',1062),(2278,'Azua','02',1062),(2279,'Bahoruco','03',1062),(2280,'Barahona','04',1062),(2281,'Dajabón','05',1062),(2282,'Duarte','06',1062),(2283,'El Seybo [El Seibo]','08',1062),(2284,'Espaillat','09',1062),(2285,'Hato Mayor','30',1062),(2286,'Independencia','10',1062),(2287,'La Altagracia','11',1062),(2288,'La Estrelleta [Elias Pina]','07',1062),(2289,'La Romana','12',1062),(2290,'La Vega','13',1062),(2291,'Maroia Trinidad Sánchez','14',1062),(2292,'Monseñor Nouel','28',1062),(2293,'Monte Cristi','15',1062),(2294,'Monte Plata','29',1062),(2295,'Pedernales','16',1062),(2296,'Peravia','17',1062),(2297,'Puerto Plata','18',1062),(2298,'Salcedo','19',1062),(2299,'Samaná','20',1062),(2300,'San Cristóbal','21',1062),(2301,'San Pedro de Macorís','23',1062),(2302,'Sánchez Ramírez','24',1062),(2303,'Santiago','25',1062),(2304,'Santiago Rodríguez','26',1062),(2305,'Valverde','27',1062),(2306,'Adrar','01',1003),(2307,'Ain Defla','44',1003),(2308,'Ain Tmouchent','46',1003),(2309,'Alger','16',1003),(2310,'Annaba','23',1003),(2311,'Batna','05',1003),(2312,'Bechar','08',1003),(2313,'Bejaia','06',1003),(2314,'Biskra','07',1003),(2315,'Blida','09',1003),(2316,'Bordj Bou Arreridj','34',1003),(2317,'Bouira','10',1003),(2318,'Boumerdes','35',1003),(2319,'Chlef','02',1003),(2320,'Constantine','25',1003),(2321,'Djelfa','17',1003),(2322,'El Bayadh','32',1003),(2323,'El Oued','39',1003),(2324,'El Tarf','36',1003),(2325,'Ghardaia','47',1003),(2326,'Guelma','24',1003),(2327,'Illizi','33',1003),(2328,'Jijel','18',1003),(2329,'Khenchela','40',1003),(2330,'Laghouat','03',1003),(2331,'Mascara','29',1003),(2332,'Medea','26',1003),(2333,'Mila','43',1003),(2334,'Mostaganem','27',1003),(2335,'Msila','28',1003),(2336,'Naama','45',1003),(2337,'Oran','31',1003),(2338,'Ouargla','30',1003),(2339,'Oum el Bouaghi','04',1003),(2340,'Relizane','48',1003),(2341,'Saida','20',1003),(2342,'Setif','19',1003),(2343,'Sidi Bel Abbes','22',1003),(2344,'Skikda','21',1003),(2345,'Souk Ahras','41',1003),(2346,'Tamanghasset','11',1003),(2347,'Tebessa','12',1003),(2348,'Tiaret','14',1003),(2349,'Tindouf','37',1003),(2350,'Tipaza','42',1003),(2351,'Tissemsilt','38',1003),(2352,'Tizi Ouzou','15',1003),(2353,'Tlemcen','13',1003),(2354,'Azuay','A',1064),(2355,'Bolivar','B',1064),(2356,'Canar','F',1064),(2357,'Carchi','C',1064),(2358,'Cotopaxi','X',1064),(2359,'Chimborazo','H',1064),(2360,'El Oro','O',1064),(2361,'Esmeraldas','E',1064),(2362,'Galapagos','W',1064),(2363,'Guayas','G',1064),(2364,'Imbabura','I',1064),(2365,'Loja','L',1064),(2366,'Los Rios','R',1064),(2367,'Manabi','M',1064),(2368,'Morona-Santiago','S',1064),(2369,'Napo','N',1064),(2370,'Orellana','D',1064),(2371,'Pastaza','Y',1064),(2372,'Pichincha','P',1064),(2373,'Sucumbios','U',1064),(2374,'Tungurahua','T',1064),(2375,'Zamora-Chinchipe','Z',1064),(2376,'Harjumaa','37',1069),(2377,'Hiiumaa','39',1069),(2378,'Ida-Virumaa','44',1069),(2379,'Jõgevamaa','49',1069),(2380,'Järvamaa','51',1069),(2381,'Läänemaa','57',1069),(2382,'Lääne-Virumaa','59',1069),(2383,'Põlvamaa','65',1069),(2384,'Pärnumaa','67',1069),(2385,'Raplamaa','70',1069),(2386,'Saaremaa','74',1069),(2387,'Tartumaa','7B',1069),(2388,'Valgamaa','82',1069),(2389,'Viljandimaa','84',1069),(2390,'Võrumaa','86',1069),(2391,'Ad Daqahllyah','DK',1065),(2392,'Al Bahr al Ahmar','BA',1065),(2393,'Al Buhayrah','BH',1065),(2394,'Al Fayym','FYM',1065),(2395,'Al Gharbiyah','GH',1065),(2396,'Al Iskandarlyah','ALX',1065),(2397,'Al Isma illyah','IS',1065),(2398,'Al Jizah','GZ',1065),(2399,'Al Minuflyah','MNF',1065),(2400,'Al Minya','MN',1065),(2401,'Al Qahirah','C',1065),(2402,'Al Qalyublyah','KB',1065),(2403,'Al Wadi al Jadid','WAD',1065),(2404,'Ash Sharqiyah','SHR',1065),(2405,'As Suways','SUZ',1065),(2406,'Aswan','ASN',1065),(2407,'Asyut','AST',1065),(2408,'Bani Suwayf','BNS',1065),(2409,'Bur Sa\'id','PTS',1065),(2410,'Dumyat','DT',1065),(2411,'Janub Sina\'','JS',1065),(2412,'Kafr ash Shaykh','KFS',1065),(2413,'Matruh','MT',1065),(2414,'Qina','KN',1065),(2415,'Shamal Sina\'','SIN',1065),(2416,'Suhaj','SHG',1065),(2417,'Anseba','AN',1068),(2418,'Debub','DU',1068),(2419,'Debubawi Keyih Bahri [Debub-Keih-Bahri]','DK',1068),(2420,'Gash-Barka','GB',1068),(2421,'Maakel [Maekel]','MA',1068),(2422,'Semenawi Keyih Bahri [Semien-Keih-Bahri]','SK',1068),(2423,'Álava','VI',1198),(2424,'Albacete','AB',1198),(2425,'Alicante','A',1198),(2426,'Almería','AL',1198),(2427,'Asturias','O',1198),(2428,'Ávila','AV',1198),(2429,'Badajoz','BA',1198),(2430,'Baleares','PM',1198),(2431,'Barcelona','B',1198),(2432,'Burgos','BU',1198),(2433,'Cáceres','CC',1198),(2434,'Cádiz','CA',1198),(2435,'Cantabria','S',1198),(2436,'Castellón','CS',1198),(2437,'Ciudad Real','CR',1198),(2438,'Cuenca','CU',1198),(2439,'Girona [Gerona]','GE',1198),(2440,'Granada','GR',1198),(2441,'Guadalajara','GU',1198),(2442,'Guipúzcoa','SS',1198),(2443,'Huelva','H',1198),(2444,'Huesca','HU',1198),(2445,'Jaén','J',1198),(2446,'La Coruña','C',1198),(2447,'La Rioja','LO',1198),(2448,'Las Palmas','GC',1198),(2449,'León','LE',1198),(2450,'Lleida [Lérida]','L',1198),(2451,'Lugo','LU',1198),(2452,'Madrid','M',1198),(2453,'Málaga','MA',1198),(2454,'Murcia','MU',1198),(2455,'Navarra','NA',1198),(2456,'Ourense','OR',1198),(2457,'Palencia','P',1198),(2458,'Pontevedra','PO',1198),(2459,'Salamanca','SA',1198),(2460,'Santa Cruz de Tenerife','TF',1198),(2461,'Segovia','SG',1198),(2462,'Sevilla','SE',1198),(2463,'Soria','SO',1198),(2464,'Tarragona','T',1198),(2465,'Teruel','TE',1198),(2466,'Valencia','V',1198),(2467,'Valladolid','VA',1198),(2468,'Vizcaya','BI',1198),(2469,'Zamora','ZA',1198),(2470,'Zaragoza','Z',1198),(2471,'Ceuta','CE',1198),(2472,'Melilla','ML',1198),(2473,'Addis Ababa','AA',1070),(2474,'Dire Dawa','DD',1070),(2475,'Afar','AF',1070),(2476,'Amara','AM',1070),(2477,'Benshangul-Gumaz','BE',1070),(2478,'Gambela Peoples','GA',1070),(2479,'Harari People','HA',1070),(2480,'Oromia','OR',1070),(2481,'Somali','SO',1070),(2482,'Southern Nations, Nationalities and Peoples','SN',1070),(2483,'Tigrai','TI',1070),(2490,'Eastern','E',1074),(2491,'Northern','N',1074),(2492,'Western','W',1074),(2493,'Rotuma','R',1074),(2494,'Chuuk','TRK',1141),(2495,'Kosrae','KSA',1141),(2496,'Pohnpei','PNI',1141),(2497,'Yap','YAP',1141),(2498,'Ain','01',1076),(2499,'Aisne','02',1076),(2500,'Allier','03',1076),(2501,'Alpes-de-Haute-Provence','04',1076),(2502,'Alpes-Maritimes','06',1076),(2503,'Ardèche','07',1076),(2504,'Ardennes','08',1076),(2505,'Ariège','09',1076),(2506,'Aube','10',1076),(2507,'Aude','11',1076),(2508,'Aveyron','12',1076),(2509,'Bas-Rhin','67',1076),(2510,'Bouches-du-Rhône','13',1076),(2511,'Calvados','14',1076),(2512,'Cantal','15',1076),(2513,'Charente','16',1076),(2514,'Charente-Maritime','17',1076),(2515,'Cher','18',1076),(2516,'Corrèze','19',1076),(2517,'Corse-du-Sud','20A',1076),(2518,'Côte-d\'Or','21',1076),(2519,'Côtes-d\'Armor','22',1076),(2520,'Creuse','23',1076),(2521,'Deux-Sèvres','79',1076),(2522,'Dordogne','24',1076),(2523,'Doubs','25',1076),(2524,'Drôme','26',1076),(2525,'Essonne','91',1076),(2526,'Eure','27',1076),(2527,'Eure-et-Loir','28',1076),(2528,'Finistère','29',1076),(2529,'Gard','30',1076),(2530,'Gers','32',1076),(2531,'Gironde','33',1076),(2532,'Haut-Rhin','68',1076),(2533,'Haute-Corse','20B',1076),(2534,'Haute-Garonne','31',1076),(2535,'Haute-Loire','43',1076),(2536,'Haute-Saône','70',1076),(2537,'Haute-Savoie','74',1076),(2538,'Haute-Vienne','87',1076),(2539,'Hautes-Alpes','05',1076),(2540,'Hautes-Pyrénées','65',1076),(2541,'Hauts-de-Seine','92',1076),(2542,'Hérault','34',1076),(2543,'Indre','36',1076),(2544,'Ille-et-Vilaine','35',1076),(2545,'Indre-et-Loire','37',1076),(2546,'Isère','38',1076),(2547,'Landes','40',1076),(2548,'Loir-et-Cher','41',1076),(2549,'Loire','42',1076),(2550,'Loire-Atlantique','44',1076),(2551,'Loiret','45',1076),(2552,'Lot','46',1076),(2553,'Lot-et-Garonne','47',1076),(2554,'Lozère','48',1076),(2555,'Maine-et-Loire','49',1076),(2556,'Manche','50',1076),(2557,'Marne','51',1076),(2558,'Mayenne','53',1076),(2559,'Meurthe-et-Moselle','54',1076),(2560,'Meuse','55',1076),(2561,'Morbihan','56',1076),(2562,'Moselle','57',1076),(2563,'Nièvre','58',1076),(2564,'Nord','59',1076),(2565,'Oise','60',1076),(2566,'Orne','61',1076),(2567,'Paris','75',1076),(2568,'Pas-de-Calais','62',1076),(2569,'Puy-de-Dôme','63',1076),(2570,'Pyrénées-Atlantiques','64',1076),(2571,'Pyrénées-Orientales','66',1076),(2572,'Rhône','69',1076),(2573,'Saône-et-Loire','71',1076),(2574,'Sarthe','72',1076),(2575,'Savoie','73',1076),(2576,'Seine-et-Marne','77',1076),(2577,'Seine-Maritime','76',1076),(2578,'Seine-Saint-Denis','93',1076),(2579,'Somme','80',1076),(2580,'Tarn','81',1076),(2581,'Tarn-et-Garonne','82',1076),(2582,'Val d\'Oise','95',1076),(2583,'Territoire de Belfort','90',1076),(2584,'Val-de-Marne','94',1076),(2585,'Var','83',1076),(2586,'Vaucluse','84',1076),(2587,'Vendée','85',1076),(2588,'Vienne','86',1076),(2589,'Vosges','88',1076),(2590,'Yonne','89',1076),(2591,'Yvelines','78',1076),(2592,'Aberdeen City','ABE',1226),(2593,'Aberdeenshire','ABD',1226),(2594,'Angus','ANS',1226),(2595,'Co Antrim','ANT',1226),(2597,'Argyll and Bute','AGB',1226),(2598,'Co Armagh','ARM',1226),(2606,'Bedfordshire','BDF',1226),(2612,'Gwent','BGW',1226),(2620,'Bristol, City of','BST',1226),(2622,'Buckinghamshire','BKM',1226),(2626,'Cambridgeshire','CAM',1226),(2634,'Cheshire','CHS',1226),(2635,'Clackmannanshire','CLK',1226),(2639,'Cornwall','CON',1226),(2643,'Cumbria','CMA',1226),(2647,'Derbyshire','DBY',1226),(2648,'Co Londonderry','DRY',1226),(2649,'Devon','DEV',1226),(2651,'Dorset','DOR',1226),(2652,'Co Down','DOW',1226),(2654,'Dumfries and Galloway','DGY',1226),(2655,'Dundee City','DND',1226),(2657,'County Durham','DUR',1226),(2659,'East Ayrshire','EAY',1226),(2660,'East Dunbartonshire','EDU',1226),(2661,'East Lothian','ELN',1226),(2662,'East Renfrewshire','ERW',1226),(2663,'East Riding of Yorkshire','ERY',1226),(2664,'East Sussex','ESX',1226),(2665,'Edinburgh, City of','EDH',1226),(2666,'Na h-Eileanan Siar','ELS',1226),(2668,'Essex','ESS',1226),(2669,'Falkirk','FAL',1226),(2670,'Co Fermanagh','FER',1226),(2671,'Fife','FIF',1226),(2674,'Glasgow City','GLG',1226),(2675,'Gloucestershire','GLS',1226),(2678,'Gwynedd','GWN',1226),(2682,'Hampshire','HAM',1226),(2687,'Herefordshire','HEF',1226),(2688,'Hertfordshire','HRT',1226),(2689,'Highland','HED',1226),(2692,'Inverclyde','IVC',1226),(2694,'Isle of Wight','IOW',1226),(2699,'Kent','KEN',1226),(2705,'Lancashire','LAN',1226),(2709,'Leicestershire','LEC',1226),(2712,'Lincolnshire','LIN',1226),(2723,'Midlothian','MLN',1226),(2726,'Moray','MRY',1226),(2734,'Norfolk','NFK',1226),(2735,'North Ayrshire','NAY',1226),(2738,'North Lanarkshire','NLK',1226),(2742,'North Yorkshire','NYK',1226),(2743,'Northamptonshire','NTH',1226),(2744,'Northumberland','NBL',1226),(2746,'Nottinghamshire','NTT',1226),(2747,'Oldham','OLD',1226),(2748,'Omagh','OMH',1226),(2749,'Orkney Islands','ORR',1226),(2750,'Oxfordshire','OXF',1226),(2752,'Perth and Kinross','PKN',1226),(2757,'Powys','POW',1226),(2761,'Renfrewshire','RFW',1226),(2766,'Rutland','RUT',1226),(2770,'Scottish Borders','SCB',1226),(2773,'Shetland Islands','ZET',1226),(2774,'Shropshire','SHR',1226),(2777,'Somerset','SOM',1226),(2778,'South Ayrshire','SAY',1226),(2779,'South Gloucestershire','SGC',1226),(2780,'South Lanarkshire','SLK',1226),(2785,'Staffordshire','STS',1226),(2786,'Stirling','STG',1226),(2791,'Suffolk','SFK',1226),(2793,'Surrey','SRY',1226),(2804,'Mid Glamorgan','VGL',1226),(2811,'Warwickshire','WAR',1226),(2813,'West Dunbartonshire','WDU',1226),(2814,'West Lothian','WLN',1226),(2815,'West Sussex','WSX',1226),(2818,'Wiltshire','WIL',1226),(2823,'Worcestershire','WOR',1226),(2826,'Ashanti','AH',1083),(2827,'Brong-Ahafo','BA',1083),(2828,'Greater Accra','AA',1083),(2829,'Upper East','UE',1083),(2830,'Upper West','UW',1083),(2831,'Volta','TV',1083),(2832,'Banjul','B',1213),(2833,'Lower River','L',1213),(2834,'MacCarthy Island','M',1213),(2835,'North Bank','N',1213),(2836,'Upper River','U',1213),(2837,'Beyla','BE',1091),(2838,'Boffa','BF',1091),(2839,'Boke','BK',1091),(2840,'Coyah','CO',1091),(2841,'Dabola','DB',1091),(2842,'Dalaba','DL',1091),(2843,'Dinguiraye','DI',1091),(2844,'Dubreka','DU',1091),(2845,'Faranah','FA',1091),(2846,'Forecariah','FO',1091),(2847,'Fria','FR',1091),(2848,'Gaoual','GA',1091),(2849,'Guekedou','GU',1091),(2850,'Kankan','KA',1091),(2851,'Kerouane','KE',1091),(2852,'Kindia','KD',1091),(2853,'Kissidougou','KS',1091),(2854,'Koubia','KB',1091),(2855,'Koundara','KN',1091),(2856,'Kouroussa','KO',1091),(2857,'Labe','LA',1091),(2858,'Lelouma','LE',1091),(2859,'Lola','LO',1091),(2860,'Macenta','MC',1091),(2861,'Mali','ML',1091),(2862,'Mamou','MM',1091),(2863,'Mandiana','MD',1091),(2864,'Nzerekore','NZ',1091),(2865,'Pita','PI',1091),(2866,'Siguiri','SI',1091),(2867,'Telimele','TE',1091),(2868,'Tougue','TO',1091),(2869,'Yomou','YO',1091),(2870,'Region Continental','C',1067),(2871,'Region Insular','I',1067),(2872,'Annobon','AN',1067),(2873,'Bioko Norte','BN',1067),(2874,'Bioko Sur','BS',1067),(2875,'Centro Sur','CS',1067),(2876,'Kie-Ntem','KN',1067),(2877,'Litoral','LI',1067),(2878,'Wele-Nzas','WN',1067),(2879,'Achaïa','13',1085),(2880,'Aitolia-Akarnania','01',1085),(2881,'Argolis','11',1085),(2882,'Arkadia','12',1085),(2883,'Arta','31',1085),(2884,'Attiki','A1',1085),(2885,'Chalkidiki','64',1085),(2886,'Chania','94',1085),(2887,'Chios','85',1085),(2888,'Dodekanisos','81',1085),(2889,'Drama','52',1085),(2890,'Evros','71',1085),(2891,'Evrytania','05',1085),(2892,'Evvoia','04',1085),(2893,'Florina','63',1085),(2894,'Fokis','07',1085),(2895,'Fthiotis','06',1085),(2896,'Grevena','51',1085),(2897,'Ileia','14',1085),(2898,'Imathia','53',1085),(2899,'Ioannina','33',1085),(2900,'Irakleion','91',1085),(2901,'Karditsa','41',1085),(2902,'Kastoria','56',1085),(2903,'Kavalla','55',1085),(2904,'Kefallinia','23',1085),(2905,'Kerkyra','22',1085),(2906,'Kilkis','57',1085),(2907,'Korinthia','15',1085),(2908,'Kozani','58',1085),(2909,'Kyklades','82',1085),(2910,'Lakonia','16',1085),(2911,'Larisa','42',1085),(2912,'Lasithion','92',1085),(2913,'Lefkas','24',1085),(2914,'Lesvos','83',1085),(2915,'Magnisia','43',1085),(2916,'Messinia','17',1085),(2917,'Pella','59',1085),(2918,'Preveza','34',1085),(2919,'Rethymnon','93',1085),(2920,'Rodopi','73',1085),(2921,'Samos','84',1085),(2922,'Serrai','62',1085),(2923,'Thesprotia','32',1085),(2924,'Thessaloniki','54',1085),(2925,'Trikala','44',1085),(2926,'Voiotia','03',1085),(2927,'Xanthi','72',1085),(2928,'Zakynthos','21',1085),(2929,'Agio Oros','69',1085),(2930,'Alta Verapaz','AV',1090),(2931,'Baja Verapaz','BV',1090),(2932,'Chimaltenango','CM',1090),(2933,'Chiquimula','CQ',1090),(2934,'El Progreso','PR',1090),(2935,'Escuintla','ES',1090),(2936,'Guatemala','GU',1090),(2937,'Huehuetenango','HU',1090),(2938,'Izabal','IZ',1090),(2939,'Jalapa','JA',1090),(2940,'Jutiapa','JU',1090),(2941,'Peten','PE',1090),(2942,'Quetzaltenango','QZ',1090),(2943,'Quiche','QC',1090),(2944,'Retalhuleu','RE',1090),(2945,'Sacatepequez','SA',1090),(2946,'San Marcos','SM',1090),(2947,'Santa Rosa','SR',1090),(2948,'Sololá','SO',1090),(2949,'Suchitepequez','SU',1090),(2950,'Totonicapan','TO',1090),(2951,'Zacapa','ZA',1090),(2952,'Bissau','BS',1092),(2953,'Bafata','BA',1092),(2954,'Biombo','BM',1092),(2955,'Bolama','BL',1092),(2956,'Cacheu','CA',1092),(2957,'Gabu','GA',1092),(2958,'Oio','OI',1092),(2959,'Quloara','QU',1092),(2960,'Tombali S','TO',1092),(2961,'Barima-Waini','BA',1093),(2962,'Cuyuni-Mazaruni','CU',1093),(2963,'Demerara-Mahaica','DE',1093),(2964,'East Berbice-Corentyne','EB',1093),(2965,'Essequibo Islands-West Demerara','ES',1093),(2966,'Mahaica-Berbice','MA',1093),(2967,'Pomeroon-Supenaam','PM',1093),(2968,'Potaro-Siparuni','PT',1093),(2969,'Upper Demerara-Berbice','UD',1093),(2970,'Upper Takutu-Upper Essequibo','UT',1093),(2971,'Atlantida','AT',1097),(2972,'Colon','CL',1097),(2973,'Comayagua','CM',1097),(2974,'Copan','CP',1097),(2975,'Cortes','CR',1097),(2976,'Choluteca','CH',1097),(2977,'El Paraiso','EP',1097),(2978,'Francisco Morazan','FM',1097),(2979,'Gracias a Dios','GD',1097),(2980,'Intibuca','IN',1097),(2981,'Islas de la Bahia','IB',1097),(2982,'Lempira','LE',1097),(2983,'Ocotepeque','OC',1097),(2984,'Olancho','OL',1097),(2985,'Santa Barbara','SB',1097),(2986,'Valle','VA',1097),(2987,'Yoro','YO',1097),(2988,'Bjelovarsko-bilogorska zupanija','07',1055),(2989,'Brodsko-posavska zupanija','12',1055),(2990,'Dubrovacko-neretvanska zupanija','19',1055),(2991,'Istarska zupanija','18',1055),(2992,'Karlovacka zupanija','04',1055),(2993,'Koprivnickco-krizevacka zupanija','06',1055),(2994,'Krapinako-zagorska zupanija','02',1055),(2995,'Licko-senjska zupanija','09',1055),(2996,'Medimurska zupanija','20',1055),(2997,'Osjecko-baranjska zupanija','14',1055),(2998,'Pozesko-slavonska zupanija','11',1055),(2999,'Primorsko-goranska zupanija','08',1055),(3000,'Sisacko-moelavacka Iupanija','03',1055),(3001,'Splitako-dalmatinska zupanija','17',1055),(3002,'Sibenako-kninska zupanija','15',1055),(3003,'Varaidinska zupanija','05',1055),(3004,'VirovitiEko-podravska zupanija','10',1055),(3005,'VuRovarako-srijemska zupanija','16',1055),(3006,'Zadaraka','13',1055),(3007,'Zagrebacka zupanija','01',1055),(3008,'Grande-Anse','GA',1094),(3009,'Nord-Est','NE',1094),(3010,'Nord-Ouest','NO',1094),(3011,'Ouest','OU',1094),(3012,'Sud','SD',1094),(3013,'Sud-Est','SE',1094),(3014,'Budapest','BU',1099),(3015,'Bács-Kiskun','BK',1099),(3016,'Baranya','BA',1099),(3017,'Békés','BE',1099),(3018,'Borsod-Abaúj-Zemplén','BZ',1099),(3019,'Csongrád','CS',1099),(3020,'Fejér','FE',1099),(3021,'Győr-Moson-Sopron','GS',1099),(3022,'Hajdu-Bihar','HB',1099),(3023,'Heves','HE',1099),(3024,'Jász-Nagykun-Szolnok','JN',1099),(3025,'Komárom-Esztergom','KE',1099),(3026,'Nográd','NO',1099),(3027,'Pest','PE',1099),(3028,'Somogy','SO',1099),(3029,'Szabolcs-Szatmár-Bereg','SZ',1099),(3030,'Tolna','TO',1099),(3031,'Vas','VA',1099),(3032,'Veszprém','VE',1099),(3033,'Zala','ZA',1099),(3034,'Békéscsaba','BC',1099),(3035,'Debrecen','DE',1099),(3036,'Dunaújváros','DU',1099),(3037,'Eger','EG',1099),(3038,'Győr','GY',1099),(3039,'Hódmezővásárhely','HV',1099),(3040,'Kaposvár','KV',1099),(3041,'Kecskemét','KM',1099),(3042,'Miskolc','MI',1099),(3043,'Nagykanizsa','NK',1099),(3044,'Nyiregyháza','NY',1099),(3045,'Pécs','PS',1099),(3046,'Salgótarján','ST',1099),(3047,'Sopron','SN',1099),(3048,'Szeged','SD',1099),(3049,'Székesfehérvár','SF',1099),(3050,'Szekszárd','SS',1099),(3051,'Szolnok','SK',1099),(3052,'Szombathely','SH',1099),(3053,'Tatabánya','TB',1099),(3054,'Zalaegerszeg','ZE',1099),(3055,'Bali','BA',1102),(3056,'Kepulauan Bangka Belitung','BB',1102),(3057,'Banten','BT',1102),(3058,'Bengkulu','BE',1102),(3059,'Gorontalo','GO',1102),(3060,'Papua Barat','PB',1102),(3061,'Jambi','JA',1102),(3062,'Jawa Barat','JB',1102),(3063,'Jawa Tengah','JT',1102),(3064,'Jawa Timur','JI',1102),(3065,'Kalimantan Barat','KB',1102),(3066,'Kalimantan Timur','KI',1102),(3067,'Kalimantan Selatan','KS',1102),(3068,'Kepulauan Riau','KR',1102),(3069,'Lampung','LA',1102),(3070,'Maluku','MA',1102),(3071,'Maluku Utara','MU',1102),(3072,'Nusa Tenggara Barat','NB',1102),(3073,'Nusa Tenggara Timur','NT',1102),(3074,'Papua','PA',1102),(3075,'Riau','RI',1102),(3076,'Sulawesi Selatan','SN',1102),(3077,'Sulawesi Tengah','ST',1102),(3078,'Sulawesi Tenggara','SG',1102),(3079,'Sulawesi Utara','SA',1102),(3080,'Sumatra Barat','SB',1102),(3081,'Sumatra Selatan','SS',1102),(3082,'Sumatera Utara','SU',1102),(3083,'DKI Jakarta','JK',1102),(3084,'Aceh','AC',1102),(3085,'DI Yogyakarta','YO',1102),(3086,'Cork','C',1105),(3087,'Clare','CE',1105),(3088,'Cavan','CN',1105),(3089,'Carlow','CW',1105),(3090,'Dublin','D',1105),(3091,'Donegal','DL',1105),(3092,'Galway','G',1105),(3093,'Kildare','KE',1105),(3094,'Kilkenny','KK',1105),(3095,'Kerry','KY',1105),(3096,'Longford','LD',1105),(3097,'Louth','LH',1105),(3098,'Limerick','LK',1105),(3099,'Leitrim','LM',1105),(3100,'Laois','LS',1105),(3101,'Meath','MH',1105),(3102,'Monaghan','MN',1105),(3103,'Mayo','MO',1105),(3104,'Offaly','OY',1105),(3105,'Roscommon','RN',1105),(3106,'Sligo','SO',1105),(3107,'Tipperary','TA',1105),(3108,'Waterford','WD',1105),(3109,'Westmeath','WH',1105),(3110,'Wicklow','WW',1105),(3111,'Wexford','WX',1105),(3112,'HaDarom','D',1106),(3113,'HaMerkaz','M',1106),(3114,'HaZafon','Z',1106),(3115,'Haifa','HA',1106),(3116,'Tel-Aviv','TA',1106),(3117,'Jerusalem','JM',1106),(3118,'Al Anbar','AN',1104),(3119,'Al Ba,rah','BA',1104),(3120,'Al Muthanna','MU',1104),(3121,'Al Qadisiyah','QA',1104),(3122,'An Najef','NA',1104),(3123,'Arbil','AR',1104),(3124,'As Sulaymaniyah','SW',1104),(3125,'At Ta\'mim','TS',1104),(3126,'Babil','BB',1104),(3127,'Baghdad','BG',1104),(3128,'Dahuk','DA',1104),(3129,'Dhi Qar','DQ',1104),(3130,'Diyala','DI',1104),(3131,'Karbala\'','KA',1104),(3132,'Maysan','MA',1104),(3133,'Ninawa','NI',1104),(3134,'Salah ad Din','SD',1104),(3135,'Wasit','WA',1104),(3136,'Ardabil','03',1103),(3137,'Azarbayjan-e Gharbi','02',1103),(3138,'Azarbayjan-e Sharqi','01',1103),(3139,'Bushehr','06',1103),(3140,'Chahar Mahall va Bakhtiari','08',1103),(3141,'Esfahan','04',1103),(3142,'Fars','14',1103),(3143,'Gilan','19',1103),(3144,'Golestan','27',1103),(3145,'Hamadan','24',1103),(3146,'Hormozgan','23',1103),(3147,'Iiam','05',1103),(3148,'Kerman','15',1103),(3149,'Kermanshah','17',1103),(3150,'Khorasan','09',1103),(3151,'Khuzestan','10',1103),(3152,'Kohjiluyeh va Buyer Ahmad','18',1103),(3153,'Kordestan','16',1103),(3154,'Lorestan','20',1103),(3155,'Markazi','22',1103),(3156,'Mazandaran','21',1103),(3157,'Qazvin','28',1103),(3158,'Qom','26',1103),(3159,'Semnan','12',1103),(3160,'Sistan va Baluchestan','13',1103),(3161,'Tehran','07',1103),(3162,'Yazd','25',1103),(3163,'Zanjan','11',1103),(3164,'Austurland','7',1100),(3165,'Hofuoborgarsvaeoi utan Reykjavikur','1',1100),(3166,'Norourland eystra','6',1100),(3167,'Norourland vestra','5',1100),(3168,'Reykjavik','0',1100),(3169,'Suourland','8',1100),(3170,'Suournes','2',1100),(3171,'Vestfirolr','4',1100),(3172,'Vesturland','3',1100),(3173,'Agrigento','AG',1107),(3174,'Alessandria','AL',1107),(3175,'Ancona','AN',1107),(3176,'Aosta','AO',1107),(3177,'Arezzo','AR',1107),(3178,'Ascoli Piceno','AP',1107),(3179,'Asti','AT',1107),(3180,'Avellino','AV',1107),(3181,'Bari','BA',1107),(3182,'Belluno','BL',1107),(3183,'Benevento','BN',1107),(3184,'Bergamo','BG',1107),(3185,'Biella','BI',1107),(3186,'Bologna','BO',1107),(3187,'Bolzano','BZ',1107),(3188,'Brescia','BS',1107),(3189,'Brindisi','BR',1107),(3190,'Cagliari','CA',1107),(3191,'Caltanissetta','CL',1107),(3192,'Campobasso','CB',1107),(3193,'Caserta','CE',1107),(3194,'Catania','CT',1107),(3195,'Catanzaro','CZ',1107),(3196,'Chieti','CH',1107),(3197,'Como','CO',1107),(3198,'Cosenza','CS',1107),(3199,'Cremona','CR',1107),(3200,'Crotone','KR',1107),(3201,'Cuneo','CN',1107),(3202,'Enna','EN',1107),(3203,'Ferrara','FE',1107),(3204,'Firenze','FI',1107),(3205,'Foggia','FG',1107),(3206,'Forlì-Cesena','FC',1107),(3207,'Frosinone','FR',1107),(3208,'Genova','GE',1107),(3209,'Gorizia','GO',1107),(3210,'Grosseto','GR',1107),(3211,'Imperia','IM',1107),(3212,'Isernia','IS',1107),(3213,'L\'Aquila','AQ',1107),(3214,'La Spezia','SP',1107),(3215,'Latina','LT',1107),(3216,'Lecce','LE',1107),(3217,'Lecco','LC',1107),(3218,'Livorno','LI',1107),(3219,'Lodi','LO',1107),(3220,'Lucca','LU',1107),(3221,'Macerata','MC',1107),(3222,'Mantova','MN',1107),(3223,'Massa-Carrara','MS',1107),(3224,'Matera','MT',1107),(3225,'Messina','ME',1107),(3226,'Milano','MI',1107),(3227,'Modena','MO',1107),(3228,'Napoli','NA',1107),(3229,'Novara','NO',1107),(3230,'Nuoro','NU',1107),(3231,'Oristano','OR',1107),(3232,'Padova','PD',1107),(3233,'Palermo','PA',1107),(3234,'Parma','PR',1107),(3235,'Pavia','PV',1107),(3236,'Perugia','PG',1107),(3237,'Pesaro e Urbino','PU',1107),(3238,'Pescara','PE',1107),(3239,'Piacenza','PC',1107),(3240,'Pisa','PI',1107),(3241,'Pistoia','PT',1107),(3242,'Pordenone','PN',1107),(3243,'Potenza','PZ',1107),(3244,'Prato','PO',1107),(3245,'Ragusa','RG',1107),(3246,'Ravenna','RA',1107),(3247,'Reggio Calabria','RC',1107),(3248,'Reggio Emilia','RE',1107),(3249,'Rieti','RI',1107),(3250,'Rimini','RN',1107),(3251,'Roma','RM',1107),(3252,'Rovigo','RO',1107),(3253,'Salerno','SA',1107),(3254,'Sassari','SS',1107),(3255,'Savona','SV',1107),(3256,'Siena','SI',1107),(3257,'Siracusa','SR',1107),(3258,'Sondrio','SO',1107),(3259,'Taranto','TA',1107),(3260,'Teramo','TE',1107),(3261,'Terni','TR',1107),(3262,'Torino','TO',1107),(3263,'Trapani','TP',1107),(3264,'Trento','TN',1107),(3265,'Treviso','TV',1107),(3266,'Trieste','TS',1107),(3267,'Udine','UD',1107),(3268,'Varese','VA',1107),(3269,'Venezia','VE',1107),(3270,'Verbano-Cusio-Ossola','VB',1107),(3271,'Vercelli','VC',1107),(3272,'Verona','VR',1107),(3273,'Vibo Valentia','VV',1107),(3274,'Vicenza','VI',1107),(3275,'Viterbo','VT',1107),(3276,'Aichi','23',1109),(3277,'Akita','05',1109),(3278,'Aomori','02',1109),(3279,'Chiba','12',1109),(3280,'Ehime','38',1109),(3281,'Fukui','18',1109),(3282,'Fukuoka','40',1109),(3283,'Fukusima','07',1109),(3284,'Gifu','21',1109),(3285,'Gunma','10',1109),(3286,'Hiroshima','34',1109),(3287,'Hokkaido','01',1109),(3288,'Hyogo','28',1109),(3289,'Ibaraki','08',1109),(3290,'Ishikawa','17',1109),(3291,'Iwate','03',1109),(3292,'Kagawa','37',1109),(3293,'Kagoshima','46',1109),(3294,'Kanagawa','14',1109),(3295,'Kochi','39',1109),(3296,'Kumamoto','43',1109),(3297,'Kyoto','26',1109),(3298,'Mie','24',1109),(3299,'Miyagi','04',1109),(3300,'Miyazaki','45',1109),(3301,'Nagano','20',1109),(3302,'Nagasaki','42',1109),(3303,'Nara','29',1109),(3304,'Niigata','15',1109),(3305,'Oita','44',1109),(3306,'Okayama','33',1109),(3307,'Okinawa','47',1109),(3308,'Osaka','27',1109),(3309,'Saga','41',1109),(3310,'Saitama','11',1109),(3311,'Shiga','25',1109),(3312,'Shimane','32',1109),(3313,'Shizuoka','22',1109),(3314,'Tochigi','09',1109),(3315,'Tokushima','36',1109),(3316,'Tokyo','13',1109),(3317,'Tottori','31',1109),(3318,'Toyama','16',1109),(3319,'Wakayama','30',1109),(3320,'Yamagata','06',1109),(3321,'Yamaguchi','35',1109),(3322,'Yamanashi','19',1109),(3323,'Clarendon','CN',1108),(3324,'Hanover','HR',1108),(3325,'Kingston','KN',1108),(3326,'Portland','PD',1108),(3327,'Saint Andrew','AW',1108),(3328,'Saint Ann','AN',1108),(3329,'Saint Catherine','CE',1108),(3330,'Saint Elizabeth','EH',1108),(3331,'Saint James','JS',1108),(3332,'Saint Mary','MY',1108),(3333,'Saint Thomas','TS',1108),(3334,'Trelawny','TY',1108),(3335,'Westmoreland','WD',1108),(3336,'Ajln','AJ',1110),(3337,'Al \'Aqaba','AQ',1110),(3338,'Al Balqa\'','BA',1110),(3339,'Al Karak','KA',1110),(3340,'Al Mafraq','MA',1110),(3341,'Amman','AM',1110),(3342,'At Tafilah','AT',1110),(3343,'Az Zarga','AZ',1110),(3344,'Irbid','JR',1110),(3345,'Jarash','JA',1110),(3346,'Ma\'an','MN',1110),(3347,'Madaba','MD',1110),(3353,'Bishkek','GB',1117),(3354,'Batken','B',1117),(3355,'Chu','C',1117),(3356,'Jalal-Abad','J',1117),(3357,'Naryn','N',1117),(3358,'Osh','O',1117),(3359,'Talas','T',1117),(3360,'Ysyk-Kol','Y',1117),(3361,'Krong Kaeb','23',1037),(3362,'Krong Pailin','24',1037),(3363,'Xrong Preah Sihanouk','18',1037),(3364,'Phnom Penh','12',1037),(3365,'Baat Dambang','2',1037),(3366,'Banteay Mean Chey','1',1037),(3367,'Rampong Chaam','3',1037),(3368,'Kampong Chhnang','4',1037),(3369,'Kampong Spueu','5',1037),(3370,'Kampong Thum','6',1037),(3371,'Kampot','7',1037),(3372,'Kandaal','8',1037),(3373,'Kach Kong','9',1037),(3374,'Krachoh','10',1037),(3375,'Mondol Kiri','11',1037),(3376,'Otdar Mean Chey','22',1037),(3377,'Pousaat','15',1037),(3378,'Preah Vihear','13',1037),(3379,'Prey Veaeng','14',1037),(3380,'Rotanak Kiri','16',1037),(3381,'Siem Reab','17',1037),(3382,'Stueng Traeng','19',1037),(3383,'Svaay Rieng','20',1037),(3384,'Taakaev','21',1037),(3385,'Gilbert Islands','G',1113),(3386,'Line Islands','L',1113),(3387,'Phoenix Islands','P',1113),(3388,'Anjouan Ndzouani','A',1049),(3389,'Grande Comore Ngazidja','G',1049),(3390,'Moheli Moili','M',1049),(3391,'Kaesong-si','KAE',1114),(3392,'Nampo-si','NAM',1114),(3393,'Pyongyang-ai','PYO',1114),(3394,'Chagang-do','CHA',1114),(3395,'Hamgyongbuk-do','HAB',1114),(3396,'Hamgyongnam-do','HAN',1114),(3397,'Hwanghaebuk-do','HWB',1114),(3398,'Hwanghaenam-do','HWN',1114),(3399,'Kangwon-do','KAN',1114),(3400,'Pyonganbuk-do','PYB',1114),(3401,'Pyongannam-do','PYN',1114),(3402,'Yanggang-do','YAN',1114),(3403,'Najin Sonbong-si','NAJ',1114),(3404,'Seoul Teugbyeolsi','11',1115),(3405,'Busan Gwang\'yeogsi','26',1115),(3406,'Daegu Gwang\'yeogsi','27',1115),(3407,'Daejeon Gwang\'yeogsi','30',1115),(3408,'Gwangju Gwang\'yeogsi','29',1115),(3409,'Incheon Gwang\'yeogsi','28',1115),(3410,'Ulsan Gwang\'yeogsi','31',1115),(3411,'Chungcheongbugdo','43',1115),(3412,'Chungcheongnamdo','44',1115),(3413,'Gang\'weondo','42',1115),(3414,'Gyeonggido','41',1115),(3415,'Gyeongsangbugdo','47',1115),(3416,'Gyeongsangnamdo','48',1115),(3417,'Jejudo','49',1115),(3418,'Jeonrabugdo','45',1115),(3419,'Jeonranamdo','46',1115),(3420,'Al Ahmadi','AH',1116),(3421,'Al Farwanlyah','FA',1116),(3422,'Al Jahrah','JA',1116),(3423,'Al Kuwayt','KU',1116),(3424,'Hawalli','HA',1116),(3425,'Almaty','ALA',1111),(3426,'Astana','AST',1111),(3427,'Almaty oblysy','ALM',1111),(3428,'Aqmola oblysy','AKM',1111),(3429,'Aqtobe oblysy','AKT',1111),(3430,'Atyrau oblyfiy','ATY',1111),(3431,'Batys Quzaqstan oblysy','ZAP',1111),(3432,'Mangghystau oblysy','MAN',1111),(3433,'Ongtustik Quzaqstan oblysy','YUZ',1111),(3434,'Pavlodar oblysy','PAV',1111),(3435,'Qaraghandy oblysy','KAR',1111),(3436,'Qostanay oblysy','KUS',1111),(3437,'Qyzylorda oblysy','KZY',1111),(3438,'Shyghys Quzaqstan oblysy','VOS',1111),(3439,'Soltustik Quzaqstan oblysy','SEV',1111),(3440,'Zhambyl oblysy Zhambylskaya oblast\'','ZHA',1111),(3441,'Vientiane','VT',1118),(3442,'Attapu','AT',1118),(3443,'Bokeo','BK',1118),(3444,'Bolikhamxai','BL',1118),(3445,'Champasak','CH',1118),(3446,'Houaphan','HO',1118),(3447,'Khammouan','KH',1118),(3448,'Louang Namtha','LM',1118),(3449,'Louangphabang','LP',1118),(3450,'Oudomxai','OU',1118),(3451,'Phongsali','PH',1118),(3452,'Salavan','SL',1118),(3453,'Savannakhet','SV',1118),(3454,'Xaignabouli','XA',1118),(3455,'Xiasomboun','XN',1118),(3456,'Xekong','XE',1118),(3457,'Xiangkhoang','XI',1118),(3458,'Beirut','BA',1120),(3459,'Beqaa','BI',1120),(3460,'Mount Lebanon','JL',1120),(3461,'North Lebanon','AS',1120),(3462,'South Lebanon','JA',1120),(3463,'Nabatieh','NA',1120),(3464,'Ampara','52',1199),(3465,'Anuradhapura','71',1199),(3466,'Badulla','81',1199),(3467,'Batticaloa','51',1199),(3468,'Colombo','11',1199),(3469,'Galle','31',1199),(3470,'Gampaha','12',1199),(3471,'Hambantota','33',1199),(3472,'Jaffna','41',1199),(3473,'Kalutara','13',1199),(3474,'Kandy','21',1199),(3475,'Kegalla','92',1199),(3476,'Kilinochchi','42',1199),(3477,'Kurunegala','61',1199),(3478,'Mannar','43',1199),(3479,'Matale','22',1199),(3480,'Matara','32',1199),(3481,'Monaragala','82',1199),(3482,'Mullaittivu','45',1199),(3483,'Nuwara Eliya','23',1199),(3484,'Polonnaruwa','72',1199),(3485,'Puttalum','62',1199),(3486,'Ratnapura','91',1199),(3487,'Trincomalee','53',1199),(3488,'VavunLya','44',1199),(3489,'Bomi','BM',1122),(3490,'Bong','BG',1122),(3491,'Grand Basaa','GB',1122),(3492,'Grand Cape Mount','CM',1122),(3493,'Grand Gedeh','GG',1122),(3494,'Grand Kru','GK',1122),(3495,'Lofa','LO',1122),(3496,'Margibi','MG',1122),(3497,'Maryland','MY',1122),(3498,'Montserrado','MO',1122),(3499,'Nimba','NI',1122),(3500,'Rivercess','RI',1122),(3501,'Sinoe','SI',1122),(3502,'Berea','D',1121),(3503,'Butha-Buthe','B',1121),(3504,'Leribe','C',1121),(3505,'Mafeteng','E',1121),(3506,'Maseru','A',1121),(3507,'Mohale\'s Hoek','F',1121),(3508,'Mokhotlong','J',1121),(3509,'Qacha\'s Nek','H',1121),(3510,'Quthing','G',1121),(3511,'Thaba-Tseka','K',1121),(3512,'Alytaus Apskritis','AL',1125),(3513,'Kauno Apskritis','KU',1125),(3514,'Klaipėdos Apskritis','KL',1125),(3515,'Marijampolės Apskritis','MR',1125),(3516,'Panevėžio Apskritis','PN',1125),(3517,'Šiaulių Apskritis','SA',1125),(3518,'Tauragės Apskritis','TA',1125),(3519,'Telšių Apskritis','TE',1125),(3520,'Utenos Apskritis','UT',1125),(3521,'Vilniaus Apskritis','VL',1125),(3522,'Diekirch','D',1126),(3523,'GreveNmacher','G',1126),(3550,'Daugavpils','DGV',1119),(3551,'Jelgava','JEL',1119),(3552,'Jūrmala','JUR',1119),(3553,'Liepāja','LPX',1119),(3554,'Rēzekne','REZ',1119),(3555,'Rīga','RIX',1119),(3556,'Ventspils','VEN',1119),(3557,'Ajdābiyā','AJ',1123),(3558,'Al Buţnān','BU',1123),(3559,'Al Hizām al Akhdar','HZ',1123),(3560,'Al Jabal al Akhdar','JA',1123),(3561,'Al Jifārah','JI',1123),(3562,'Al Jufrah','JU',1123),(3563,'Al Kufrah','KF',1123),(3564,'Al Marj','MJ',1123),(3565,'Al Marqab','MB',1123),(3566,'Al Qaţrūn','QT',1123),(3567,'Al Qubbah','QB',1123),(3568,'Al Wāhah','WA',1123),(3569,'An Nuqaţ al Khams','NQ',1123),(3570,'Ash Shāţi\'','SH',1123),(3571,'Az Zāwiyah','ZA',1123),(3572,'Banghāzī','BA',1123),(3573,'Banī Walīd','BW',1123),(3574,'Darnah','DR',1123),(3575,'Ghadāmis','GD',1123),(3576,'Gharyān','GR',1123),(3577,'Ghāt','GT',1123),(3578,'Jaghbūb','JB',1123),(3579,'Mişrātah','MI',1123),(3580,'Mizdah','MZ',1123),(3581,'Murzuq','MQ',1123),(3582,'Nālūt','NL',1123),(3583,'Sabhā','SB',1123),(3584,'Şabrātah Şurmān','SS',1123),(3585,'Surt','SR',1123),(3586,'Tājūrā\' wa an Nawāhī al Arbāh','TN',1123),(3587,'Ţarābulus','TB',1123),(3588,'Tarhūnah-Masallātah','TM',1123),(3589,'Wādī al hayāt','WD',1123),(3590,'Yafran-Jādū','YJ',1123),(3591,'Agadir','AGD',1146),(3592,'Aït Baha','BAH',1146),(3593,'Aït Melloul','MEL',1146),(3594,'Al Haouz','HAO',1146),(3595,'Al Hoceïma','HOC',1146),(3596,'Assa-Zag','ASZ',1146),(3597,'Azilal','AZI',1146),(3598,'Beni Mellal','BEM',1146),(3599,'Ben Sllmane','BES',1146),(3600,'Berkane','BER',1146),(3601,'Boujdour','BOD',1146),(3602,'Boulemane','BOM',1146),(3603,'Casablanca  [Dar el Beïda]','CAS',1146),(3604,'Chefchaouene','CHE',1146),(3605,'Chichaoua','CHI',1146),(3606,'El Hajeb','HAJ',1146),(3607,'El Jadida','JDI',1146),(3608,'Errachidia','ERR',1146),(3609,'Essaouira','ESI',1146),(3610,'Es Smara','ESM',1146),(3611,'Fès','FES',1146),(3612,'Figuig','FIG',1146),(3613,'Guelmim','GUE',1146),(3614,'Ifrane','IFR',1146),(3615,'Jerada','JRA',1146),(3616,'Kelaat Sraghna','KES',1146),(3617,'Kénitra','KEN',1146),(3618,'Khemisaet','KHE',1146),(3619,'Khenifra','KHN',1146),(3620,'Khouribga','KHO',1146),(3621,'Laâyoune (EH)','LAA',1146),(3622,'Larache','LAP',1146),(3623,'Marrakech','MAR',1146),(3624,'Meknsès','MEK',1146),(3625,'Nador','NAD',1146),(3626,'Ouarzazate','OUA',1146),(3627,'Oued ed Dahab (EH)','OUD',1146),(3628,'Oujda','OUJ',1146),(3629,'Rabat-Salé','RBA',1146),(3630,'Safi','SAF',1146),(3631,'Sefrou','SEF',1146),(3632,'Settat','SET',1146),(3633,'Sidl Kacem','SIK',1146),(3634,'Tanger','TNG',1146),(3635,'Tan-Tan','TNT',1146),(3636,'Taounate','TAO',1146),(3637,'Taroudannt','TAR',1146),(3638,'Tata','TAT',1146),(3639,'Taza','TAZ',1146),(3640,'Tétouan','TET',1146),(3641,'Tiznit','TIZ',1146),(3642,'Gagauzia, Unitate Teritoriala Autonoma','GA',1142),(3643,'Chisinau','CU',1142),(3644,'Stinga Nistrului, unitatea teritoriala din','SN',1142),(3645,'Balti','BA',1142),(3646,'Cahul','CA',1142),(3647,'Edinet','ED',1142),(3648,'Lapusna','LA',1142),(3649,'Orhei','OR',1142),(3650,'Soroca','SO',1142),(3651,'Taraclia','TA',1142),(3652,'Tighina [Bender]','TI',1142),(3653,'Ungheni','UN',1142),(3654,'Antananarivo','T',1129),(3655,'Antsiranana','D',1129),(3656,'Fianarantsoa','F',1129),(3657,'Mahajanga','M',1129),(3658,'Toamasina','A',1129),(3659,'Toliara','U',1129),(3660,'Ailinglapalap','ALL',1135),(3661,'Ailuk','ALK',1135),(3662,'Arno','ARN',1135),(3663,'Aur','AUR',1135),(3664,'Ebon','EBO',1135),(3665,'Eniwetok','ENI',1135),(3666,'Jaluit','JAL',1135),(3667,'Kili','KIL',1135),(3668,'Kwajalein','KWA',1135),(3669,'Lae','LAE',1135),(3670,'Lib','LIB',1135),(3671,'Likiep','LIK',1135),(3672,'Majuro','MAJ',1135),(3673,'Maloelap','MAL',1135),(3674,'Mejit','MEJ',1135),(3675,'Mili','MIL',1135),(3676,'Namorik','NMK',1135),(3677,'Namu','NMU',1135),(3678,'Rongelap','RON',1135),(3679,'Ujae','UJA',1135),(3680,'Ujelang','UJL',1135),(3681,'Utirik','UTI',1135),(3682,'Wotho','WTN',1135),(3683,'Wotje','WTJ',1135),(3684,'Bamako','BK0',1133),(3685,'Gao','7',1133),(3686,'Kayes','1',1133),(3687,'Kidal','8',1133),(3688,'Xoulikoro','2',1133),(3689,'Mopti','5',1133),(3690,'S69ou','4',1133),(3691,'Sikasso','3',1133),(3692,'Tombouctou','6',1133),(3693,'Ayeyarwady','07',1035),(3694,'Bago','02',1035),(3695,'Magway','03',1035),(3696,'Mandalay','04',1035),(3697,'Sagaing','01',1035),(3698,'Tanintharyi','05',1035),(3699,'Yangon','06',1035),(3700,'Chin','14',1035),(3701,'Kachin','11',1035),(3702,'Kayah','12',1035),(3703,'Kayin','13',1035),(3704,'Mon','15',1035),(3705,'Rakhine','16',1035),(3706,'Shan','17',1035),(3707,'Ulaanbaatar','1',1144),(3708,'Arhangay','073',1144),(3709,'Bayanhongor','069',1144),(3710,'Bayan-Olgiy','071',1144),(3711,'Bulgan','067',1144),(3712,'Darhan uul','037',1144),(3713,'Dornod','061',1144),(3714,'Dornogov,','063',1144),(3715,'DundgovL','059',1144),(3716,'Dzavhan','057',1144),(3717,'Govi-Altay','065',1144),(3718,'Govi-Smber','064',1144),(3719,'Hentiy','039',1144),(3720,'Hovd','043',1144),(3721,'Hovsgol','041',1144),(3722,'Omnogovi','053',1144),(3723,'Orhon','035',1144),(3724,'Ovorhangay','055',1144),(3725,'Selenge','049',1144),(3726,'Shbaatar','051',1144),(3727,'Tov','047',1144),(3728,'Uvs','046',1144),(3729,'Nouakchott','NKC',1137),(3730,'Assaba','03',1137),(3731,'Brakna','05',1137),(3732,'Dakhlet Nouadhibou','08',1137),(3733,'Gorgol','04',1137),(3734,'Guidimaka','10',1137),(3735,'Hodh ech Chargui','01',1137),(3736,'Hodh el Charbi','02',1137),(3737,'Inchiri','12',1137),(3738,'Tagant','09',1137),(3739,'Tiris Zemmour','11',1137),(3740,'Trarza','06',1137),(3741,'Beau Bassin-Rose Hill','BR',1138),(3742,'Curepipe','CU',1138),(3743,'Port Louis','PU',1138),(3744,'Quatre Bornes','QB',1138),(3745,'Vacosa-Phoenix','VP',1138),(3746,'Black River','BL',1138),(3747,'Flacq','FL',1138),(3748,'Grand Port','GP',1138),(3749,'Moka','MO',1138),(3750,'Pamplemousses','PA',1138),(3751,'Plaines Wilhems','PW',1138),(3752,'Riviere du Rempart','RP',1138),(3753,'Savanne','SA',1138),(3754,'Agalega Islands','AG',1138),(3755,'Cargados Carajos Shoals','CC',1138),(3756,'Rodrigues Island','RO',1138),(3757,'Male','MLE',1132),(3758,'Alif','02',1132),(3759,'Baa','20',1132),(3760,'Dhaalu','17',1132),(3761,'Faafu','14',1132),(3762,'Gaaf Alif','27',1132),(3763,'Gaefu Dhaalu','28',1132),(3764,'Gnaviyani','29',1132),(3765,'Haa Alif','07',1132),(3766,'Haa Dhaalu','23',1132),(3767,'Kaafu','26',1132),(3768,'Laamu','05',1132),(3769,'Lhaviyani','03',1132),(3770,'Meemu','12',1132),(3771,'Noonu','25',1132),(3772,'Raa','13',1132),(3773,'Seenu','01',1132),(3774,'Shaviyani','24',1132),(3775,'Thaa','08',1132),(3776,'Vaavu','04',1132),(3777,'Balaka','BA',1130),(3778,'Blantyre','BL',1130),(3779,'Chikwawa','CK',1130),(3780,'Chiradzulu','CR',1130),(3781,'Chitipa','CT',1130),(3782,'Dedza','DE',1130),(3783,'Dowa','DO',1130),(3784,'Karonga','KR',1130),(3785,'Kasungu','KS',1130),(3786,'Likoma Island','LK',1130),(3787,'Lilongwe','LI',1130),(3788,'Machinga','MH',1130),(3789,'Mangochi','MG',1130),(3790,'Mchinji','MC',1130),(3791,'Mulanje','MU',1130),(3792,'Mwanza','MW',1130),(3793,'Mzimba','MZ',1130),(3794,'Nkhata Bay','NB',1130),(3795,'Nkhotakota','NK',1130),(3796,'Nsanje','NS',1130),(3797,'Ntcheu','NU',1130),(3798,'Ntchisi','NI',1130),(3799,'Phalomba','PH',1130),(3800,'Rumphi','RU',1130),(3801,'Salima','SA',1130),(3802,'Thyolo','TH',1130),(3803,'Zomba','ZO',1130),(3804,'Aguascalientes','AGU',1140),(3805,'Baja California','BCN',1140),(3806,'Baja California Sur','BCS',1140),(3807,'Campeche','CAM',1140),(3808,'Coahuila','COA',1140),(3809,'Colima','COL',1140),(3810,'Chiapas','CHP',1140),(3811,'Chihuahua','CHH',1140),(3812,'Durango','DUR',1140),(3813,'Guanajuato','GUA',1140),(3814,'Guerrero','GRO',1140),(3815,'Hidalgo','HID',1140),(3816,'Jalisco','JAL',1140),(3817,'Mexico','MEX',1140),(3818,'Michoacin','MIC',1140),(3819,'Morelos','MOR',1140),(3820,'Nayarit','NAY',1140),(3821,'Nuevo Leon','NLE',1140),(3822,'Oaxaca','OAX',1140),(3823,'Puebla','PUE',1140),(3824,'Queretaro','QUE',1140),(3825,'Quintana Roo','ROO',1140),(3826,'San Luis Potosi','SLP',1140),(3827,'Sinaloa','SIN',1140),(3828,'Sonora','SON',1140),(3829,'Tabasco','TAB',1140),(3830,'Tamaulipas','TAM',1140),(3831,'Tlaxcala','TLA',1140),(3832,'Veracruz','VER',1140),(3833,'Yucatan','YUC',1140),(3834,'Zacatecas','ZAC',1140),(3835,'Wilayah Persekutuan Kuala Lumpur','14',1131),(3836,'Wilayah Persekutuan Labuan','15',1131),(3837,'Wilayah Persekutuan Putrajaya','16',1131),(3838,'Johor','01',1131),(3839,'Kedah','02',1131),(3840,'Kelantan','03',1131),(3841,'Melaka','04',1131),(3842,'Negeri Sembilan','05',1131),(3843,'Pahang','06',1131),(3844,'Perak','08',1131),(3845,'Perlis','09',1131),(3846,'Pulau Pinang','07',1131),(3847,'Sabah','12',1131),(3848,'Sarawak','13',1131),(3849,'Selangor','10',1131),(3850,'Terengganu','11',1131),(3851,'Maputo','MPM',1147),(3852,'Cabo Delgado','P',1147),(3853,'Gaza','G',1147),(3854,'Inhambane','I',1147),(3855,'Manica','B',1147),(3856,'Numpula','N',1147),(3857,'Niaaea','A',1147),(3858,'Sofala','S',1147),(3859,'Tete','T',1147),(3860,'Zambezia','Q',1147),(3861,'Caprivi','CA',1148),(3862,'Erongo','ER',1148),(3863,'Hardap','HA',1148),(3864,'Karas','KA',1148),(3865,'Khomas','KH',1148),(3866,'Kunene','KU',1148),(3867,'Ohangwena','OW',1148),(3868,'Okavango','OK',1148),(3869,'Omaheke','OH',1148),(3870,'Omusati','OS',1148),(3871,'Oshana','ON',1148),(3872,'Oshikoto','OT',1148),(3873,'Otjozondjupa','OD',1148),(3874,'Niamey','8',1156),(3875,'Agadez','1',1156),(3876,'Diffa','2',1156),(3877,'Dosso','3',1156),(3878,'Maradi','4',1156),(3879,'Tahoua','S',1156),(3880,'Tillaberi','6',1156),(3881,'Zinder','7',1156),(3882,'Abuja Federal Capital Territory','FC',1157),(3883,'Abia','AB',1157),(3884,'Adamawa','AD',1157),(3885,'Akwa Ibom','AK',1157),(3886,'Anambra','AN',1157),(3887,'Bauchi','BA',1157),(3888,'Bayelsa','BY',1157),(3889,'Benue','BE',1157),(3890,'Borno','BO',1157),(3891,'Cross River','CR',1157),(3892,'Delta','DE',1157),(3893,'Ebonyi','EB',1157),(3894,'Edo','ED',1157),(3895,'Ekiti','EK',1157),(3896,'Enugu','EN',1157),(3897,'Gombe','GO',1157),(3898,'Imo','IM',1157),(3899,'Jigawa','JI',1157),(3900,'Kaduna','KD',1157),(3901,'Kano','KN',1157),(3902,'Katsina','KT',1157),(3903,'Kebbi','KE',1157),(3904,'Kogi','KO',1157),(3905,'Kwara','KW',1157),(3906,'Lagos','LA',1157),(3907,'Nassarawa','NA',1157),(3908,'Niger','NI',1157),(3909,'Ogun','OG',1157),(3910,'Ondo','ON',1157),(3911,'Osun','OS',1157),(3912,'Oyo','OY',1157),(3913,'Rivers','RI',1157),(3914,'Sokoto','SO',1157),(3915,'Taraba','TA',1157),(3916,'Yobe','YO',1157),(3917,'Zamfara','ZA',1157),(3918,'Boaco','BO',1155),(3919,'Carazo','CA',1155),(3920,'Chinandega','CI',1155),(3921,'Chontales','CO',1155),(3922,'Esteli','ES',1155),(3923,'Jinotega','JI',1155),(3924,'Leon','LE',1155),(3925,'Madriz','MD',1155),(3926,'Managua','MN',1155),(3927,'Masaya','MS',1155),(3928,'Matagalpa','MT',1155),(3929,'Nueva Segovia','NS',1155),(3930,'Rio San Juan','SJ',1155),(3931,'Rivas','RI',1155),(3932,'Atlantico Norte','AN',1155),(3933,'Atlantico Sur','AS',1155),(3934,'Drente','DR',1152),(3935,'Flevoland','FL',1152),(3936,'Friesland','FR',1152),(3937,'Gelderland','GL',1152),(3938,'Groningen','GR',1152),(3939,'Noord-Brabant','NB',1152),(3940,'Noord-Holland','NH',1152),(3941,'Overijssel','OV',1152),(3942,'Utrecht','UT',1152),(3943,'Zuid-Holland','ZH',1152),(3944,'Zeeland','ZL',1152),(3945,'Akershus','02',1161),(3946,'Aust-Agder','09',1161),(3947,'Buskerud','06',1161),(3948,'Finnmark','20',1161),(3949,'Hedmark','04',1161),(3950,'Hordaland','12',1161),(3951,'Møre og Romsdal','15',1161),(3952,'Nordland','18',1161),(3953,'Nord-Trøndelag','17',1161),(3954,'Oppland','05',1161),(3955,'Oslo','03',1161),(3956,'Rogaland','11',1161),(3957,'Sogn og Fjordane','14',1161),(3958,'Sør-Trøndelag','16',1161),(3959,'Telemark','06',1161),(3960,'Troms','19',1161),(3961,'Vest-Agder','10',1161),(3962,'Vestfold','07',1161),(3963,'Østfold','01',1161),(3964,'Jan Mayen','22',1161),(3965,'Svalbard','21',1161),(3966,'Auckland','AUK',1154),(3967,'Bay of Plenty','BOP',1154),(3968,'Canterbury','CAN',1154),(3969,'Gisborne','GIS',1154),(3970,'Hawkes Bay','HKB',1154),(3971,'Manawatu-Wanganui','MWT',1154),(3972,'Marlborough','MBH',1154),(3973,'Nelson','NSN',1154),(3974,'Northland','NTL',1154),(3975,'Otago','OTA',1154),(3976,'Southland','STL',1154),(3977,'Taranaki','TKI',1154),(3978,'Tasman','TAS',1154),(3979,'Waikato','WKO',1154),(3980,'Wellington','WGN',1154),(3981,'West Coast','WTC',1154),(3982,'Ad Dakhillyah','DA',1162),(3983,'Al Batinah','BA',1162),(3984,'Al Janblyah','JA',1162),(3985,'Al Wusta','WU',1162),(3986,'Ash Sharqlyah','SH',1162),(3987,'Az Zahirah','ZA',1162),(3988,'Masqat','MA',1162),(3989,'Musandam','MU',1162),(3990,'Bocas del Toro','1',1166),(3991,'Cocle','2',1166),(3992,'Chiriqui','4',1166),(3993,'Darien','5',1166),(3994,'Herrera','6',1166),(3995,'Loa Santoa','7',1166),(3996,'Panama','8',1166),(3997,'Veraguas','9',1166),(3998,'Comarca de San Blas','Q',1166),(3999,'El Callao','CAL',1169),(4000,'Ancash','ANC',1169),(4001,'Apurimac','APU',1169),(4002,'Arequipa','ARE',1169),(4003,'Ayacucho','AYA',1169),(4004,'Cajamarca','CAJ',1169),(4005,'Cuzco','CUS',1169),(4006,'Huancavelica','HUV',1169),(4007,'Huanuco','HUC',1169),(4008,'Ica','ICA',1169),(4009,'Junin','JUN',1169),(4010,'La Libertad','LAL',1169),(4011,'Lambayeque','LAM',1169),(4012,'Lima','LIM',1169),(4013,'Loreto','LOR',1169),(4014,'Madre de Dios','MDD',1169),(4015,'Moquegua','MOQ',1169),(4016,'Pasco','PAS',1169),(4017,'Piura','PIU',1169),(4018,'Puno','PUN',1169),(4019,'San Martin','SAM',1169),(4020,'Tacna','TAC',1169),(4021,'Tumbes','TUM',1169),(4022,'Ucayali','UCA',1169),(4023,'National Capital District (Port Moresby)','NCD',1167),(4024,'Chimbu','CPK',1167),(4025,'Eastern Highlands','EHG',1167),(4026,'East New Britain','EBR',1167),(4027,'East Sepik','ESW',1167),(4028,'Enga','EPW',1167),(4029,'Gulf','GPK',1167),(4030,'Madang','MPM',1167),(4031,'Manus','MRL',1167),(4032,'Milne Bay','MBA',1167),(4033,'Morobe','MPL',1167),(4034,'New Ireland','NIK',1167),(4035,'North Solomons','NSA',1167),(4036,'Santaun','SAN',1167),(4037,'Southern Highlands','SHM',1167),(4038,'Western Highlands','WHM',1167),(4039,'West New Britain','WBK',1167),(4040,'Abra','ABR',1170),(4041,'Agusan del Norte','AGN',1170),(4042,'Agusan del Sur','AGS',1170),(4043,'Aklan','AKL',1170),(4044,'Albay','ALB',1170),(4045,'Antique','ANT',1170),(4046,'Apayao','APA',1170),(4047,'Aurora','AUR',1170),(4048,'Basilan','BAS',1170),(4049,'Bataan','BAN',1170),(4050,'Batanes','BTN',1170),(4051,'Batangas','BTG',1170),(4052,'Benguet','BEN',1170),(4053,'Biliran','BIL',1170),(4054,'Bohol','BOH',1170),(4055,'Bukidnon','BUK',1170),(4056,'Bulacan','BUL',1170),(4057,'Cagayan','CAG',1170),(4058,'Camarines Norte','CAN',1170),(4059,'Camarines Sur','CAS',1170),(4060,'Camiguin','CAM',1170),(4061,'Capiz','CAP',1170),(4062,'Catanduanes','CAT',1170),(4063,'Cavite','CAV',1170),(4064,'Cebu','CEB',1170),(4065,'Compostela Valley','COM',1170),(4066,'Davao','DAV',1170),(4067,'Davao del Sur','DAS',1170),(4068,'Davao Oriental','DAO',1170),(4069,'Eastern Samar','EAS',1170),(4070,'Guimaras','GUI',1170),(4071,'Ifugao','IFU',1170),(4072,'Ilocos Norte','ILN',1170),(4073,'Ilocos Sur','ILS',1170),(4074,'Iloilo','ILI',1170),(4075,'Isabela','ISA',1170),(4076,'Kalinga-Apayso','KAL',1170),(4077,'Laguna','LAG',1170),(4078,'Lanao del Norte','LAN',1170),(4079,'Lanao del Sur','LAS',1170),(4080,'La Union','LUN',1170),(4081,'Leyte','LEY',1170),(4082,'Maguindanao','MAG',1170),(4083,'Marinduque','MAD',1170),(4084,'Masbate','MAS',1170),(4085,'Mindoro Occidental','MDC',1170),(4086,'Mindoro Oriental','MDR',1170),(4087,'Misamis Occidental','MSC',1170),(4088,'Misamis Oriental','MSR',1170),(4089,'Mountain Province','MOU',1170),(4090,'Negroe Occidental','NEC',1170),(4091,'Negros Oriental','NER',1170),(4092,'North Cotabato','NCO',1170),(4093,'Northern Samar','NSA',1170),(4094,'Nueva Ecija','NUE',1170),(4095,'Nueva Vizcaya','NUV',1170),(4096,'Palawan','PLW',1170),(4097,'Pampanga','PAM',1170),(4098,'Pangasinan','PAN',1170),(4099,'Quezon','QUE',1170),(4100,'Quirino','QUI',1170),(4101,'Rizal','RIZ',1170),(4102,'Romblon','ROM',1170),(4103,'Sarangani','SAR',1170),(4104,'Siquijor','SIG',1170),(4105,'Sorsogon','SOR',1170),(4106,'South Cotabato','SCO',1170),(4107,'Southern Leyte','SLE',1170),(4108,'Sultan Kudarat','SUK',1170),(4109,'Sulu','SLU',1170),(4110,'Surigao del Norte','SUN',1170),(4111,'Surigao del Sur','SUR',1170),(4112,'Tarlac','TAR',1170),(4113,'Tawi-Tawi','TAW',1170),(4114,'Western Samar','WSA',1170),(4115,'Zambales','ZMB',1170),(4116,'Zamboanga del Norte','ZAN',1170),(4117,'Zamboanga del Sur','ZAS',1170),(4118,'Zamboanga Sibiguey','ZSI',1170),(4119,'Islamabad Federal Capital Area','IS',1163),(4120,'Baluchistan','BA',1163),(4121,'Khyber Pakhtun Khawa','NW',1163),(4122,'Sindh','SD',1163),(4123,'Federally Administered Tribal Areas','TA',1163),(4124,'Azad Kashmir','JK',1163),(4125,'Gilgit-Baltistan','NA',1163),(4126,'Aveiro','01',1173),(4127,'Beja','02',1173),(4128,'Braga','03',1173),(4129,'Braganca','04',1173),(4130,'Castelo Branco','05',1173),(4131,'Colmbra','06',1173),(4132,'Ovora','07',1173),(4133,'Faro','08',1173),(4134,'Guarda','09',1173),(4135,'Leiria','10',1173),(4136,'Lisboa','11',1173),(4137,'Portalegre','12',1173),(4138,'Porto','13',1173),(4139,'Santarem','14',1173),(4140,'Setubal','15',1173),(4141,'Viana do Castelo','16',1173),(4142,'Vila Real','17',1173),(4143,'Viseu','18',1173),(4144,'Regiao Autonoma dos Acores','20',1173),(4145,'Regiao Autonoma da Madeira','30',1173),(4146,'Asuncion','ASU',1168),(4147,'Alto Paraguay','16',1168),(4148,'Alto Parana','10',1168),(4149,'Amambay','13',1168),(4150,'Boqueron','19',1168),(4151,'Caeguazu','5',1168),(4152,'Caazapl','6',1168),(4153,'Canindeyu','14',1168),(4154,'Concepcion','1',1168),(4155,'Cordillera','3',1168),(4156,'Guaira','4',1168),(4157,'Itapua','7',1168),(4158,'Miaiones','8',1168),(4159,'Neembucu','12',1168),(4160,'Paraguari','9',1168),(4161,'Presidente Hayes','15',1168),(4162,'San Pedro','2',1168),(4163,'Ad Dawhah','DA',1175),(4164,'Al Ghuwayriyah','GH',1175),(4165,'Al Jumayliyah','JU',1175),(4166,'Al Khawr','KH',1175),(4167,'Al Wakrah','WA',1175),(4168,'Ar Rayyan','RA',1175),(4169,'Jariyan al Batnah','JB',1175),(4170,'Madinat ash Shamal','MS',1175),(4171,'Umm Salal','US',1175),(4172,'Bucuresti','B',1176),(4173,'Alba','AB',1176),(4174,'Arad','AR',1176),(4175,'Argeș','AG',1176),(4176,'Bacău','BC',1176),(4177,'Bihor','BH',1176),(4178,'Bistrița-Năsăud','BN',1176),(4179,'Botoșani','BT',1176),(4180,'Brașov','BV',1176),(4181,'Brăila','BR',1176),(4182,'Buzău','BZ',1176),(4183,'Caraș-Severin','CS',1176),(4184,'Călărași','CL',1176),(4185,'Cluj','CJ',1176),(4186,'Constanța','CT',1176),(4187,'Covasna','CV',1176),(4188,'Dâmbovița','DB',1176),(4189,'Dolj','DJ',1176),(4190,'Galați','GL',1176),(4191,'Giurgiu','GR',1176),(4192,'Gorj','GJ',1176),(4193,'Harghita','HR',1176),(4194,'Hunedoara','HD',1176),(4195,'Ialomița','IL',1176),(4196,'Iași','IS',1176),(4197,'Ilfov','IF',1176),(4198,'Maramureș','MM',1176),(4199,'Mehedinți','MH',1176),(4200,'Mureș','MS',1176),(4201,'Neamț','NT',1176),(4202,'Olt','OT',1176),(4203,'Prahova','PH',1176),(4204,'Satu Mare','SM',1176),(4205,'Sălaj','SJ',1176),(4206,'Sibiu','SB',1176),(4207,'Suceava','SV',1176),(4208,'Teleorman','TR',1176),(4209,'Timiș','TM',1176),(4210,'Tulcea','TL',1176),(4211,'Vaslui','VS',1176),(4212,'Vâlcea','VL',1176),(4213,'Vrancea','VN',1176),(4214,'Adygeya, Respublika','AD',1177),(4215,'Altay, Respublika','AL',1177),(4216,'Bashkortostan, Respublika','BA',1177),(4217,'Buryatiya, Respublika','BU',1177),(4218,'Chechenskaya Respublika','CE',1177),(4219,'Chuvashskaya Respublika','CU',1177),(4220,'Dagestan, Respublika','DA',1177),(4221,'Ingushskaya Respublika','IN',1177),(4222,'Kabardino-Balkarskaya','KB',1177),(4223,'Kalmykiya, Respublika','KL',1177),(4224,'Karachayevo-Cherkesskaya Respublika','KC',1177),(4225,'Kareliya, Respublika','KR',1177),(4226,'Khakasiya, Respublika','KK',1177),(4227,'Komi, Respublika','KO',1177),(4228,'Mariy El, Respublika','ME',1177),(4229,'Mordoviya, Respublika','MO',1177),(4230,'Sakha, Respublika [Yakutiya]','SA',1177),(4231,'Severnaya Osetiya, Respublika','SE',1177),(4232,'Tatarstan, Respublika','TA',1177),(4233,'Tyva, Respublika [Tuva]','TY',1177),(4234,'Udmurtskaya Respublika','UD',1177),(4235,'Altayskiy kray','ALT',1177),(4236,'Khabarovskiy kray','KHA',1177),(4237,'Krasnodarskiy kray','KDA',1177),(4238,'Krasnoyarskiy kray','KYA',1177),(4239,'Primorskiy kray','PRI',1177),(4240,'Stavropol\'skiy kray','STA',1177),(4241,'Amurskaya oblast\'','AMU',1177),(4242,'Arkhangel\'skaya oblast\'','ARK',1177),(4243,'Astrakhanskaya oblast\'','AST',1177),(4244,'Belgorodskaya oblast\'','BEL',1177),(4245,'Bryanskaya oblast\'','BRY',1177),(4246,'Chelyabinskaya oblast\'','CHE',1177),(4247,'Zabaykalsky Krai\'','ZSK',1177),(4248,'Irkutskaya oblast\'','IRK',1177),(4249,'Ivanovskaya oblast\'','IVA',1177),(4250,'Kaliningradskaya oblast\'','KGD',1177),(4251,'Kaluzhskaya oblast\'','KLU',1177),(4252,'Kamchatka Krai\'','KAM',1177),(4253,'Kemerovskaya oblast\'','KEM',1177),(4254,'Kirovskaya oblast\'','KIR',1177),(4255,'Kostromskaya oblast\'','KOS',1177),(4256,'Kurganskaya oblast\'','KGN',1177),(4257,'Kurskaya oblast\'','KRS',1177),(4258,'Leningradskaya oblast\'','LEN',1177),(4259,'Lipetskaya oblast\'','LIP',1177),(4260,'Magadanskaya oblast\'','MAG',1177),(4261,'Moskovskaya oblast\'','MOS',1177),(4262,'Murmanskaya oblast\'','MUR',1177),(4263,'Nizhegorodskaya oblast\'','NIZ',1177),(4264,'Novgorodskaya oblast\'','NGR',1177),(4265,'Novosibirskaya oblast\'','NVS',1177),(4266,'Omskaya oblast\'','OMS',1177),(4267,'Orenburgskaya oblast\'','ORE',1177),(4268,'Orlovskaya oblast\'','ORL',1177),(4269,'Penzenskaya oblast\'','PNZ',1177),(4270,'Perm krai\'','PEK',1177),(4271,'Pskovskaya oblast\'','PSK',1177),(4272,'Rostovskaya oblast\'','ROS',1177),(4273,'Ryazanskaya oblast\'','RYA',1177),(4274,'Sakhalinskaya oblast\'','SAK',1177),(4275,'Samarskaya oblast\'','SAM',1177),(4276,'Saratovskaya oblast\'','SAR',1177),(4277,'Smolenskaya oblast\'','SMO',1177),(4278,'Sverdlovskaya oblast\'','SVE',1177),(4279,'Tambovskaya oblast\'','TAM',1177),(4280,'Tomskaya oblast\'','TOM',1177),(4281,'Tul\'skaya oblast\'','TUL',1177),(4282,'Tverskaya oblast\'','TVE',1177),(4283,'Tyumenskaya oblast\'','TYU',1177),(4284,'Ul\'yanovskaya oblast\'','ULY',1177),(4285,'Vladimirskaya oblast\'','VLA',1177),(4286,'Volgogradskaya oblast\'','VGG',1177),(4287,'Vologodskaya oblast\'','VLG',1177),(4288,'Voronezhskaya oblast\'','VOR',1177),(4289,'Yaroslavskaya oblast\'','YAR',1177),(4290,'Moskva','MOW',1177),(4291,'Sankt-Peterburg','SPE',1177),(4292,'Yevreyskaya avtonomnaya oblast\'','YEV',1177),(4294,'Chukotskiy avtonomnyy okrug','CHU',1177),(4296,'Khanty-Mansiyskiy avtonomnyy okrug','KHM',1177),(4299,'Nenetskiy avtonomnyy okrug','NEN',1177),(4302,'Yamalo-Nenetskiy avtonomnyy okrug','YAN',1177),(4303,'Butare','C',1178),(4304,'Byumba','I',1178),(4305,'Cyangugu','E',1178),(4306,'Gikongoro','D',1178),(4307,'Gisenyi','G',1178),(4308,'Gitarama','B',1178),(4309,'Kibungo','J',1178),(4310,'Kibuye','F',1178),(4311,'Kigali-Rural Kigali y\' Icyaro','K',1178),(4312,'Kigali-Ville Kigali Ngari','L',1178),(4313,'Mutara','M',1178),(4314,'Ruhengeri','H',1178),(4315,'Al Bahah','11',1187),(4316,'Al Hudud Ash Shamaliyah','08',1187),(4317,'Al Jawf','12',1187),(4318,'Al Madinah','03',1187),(4319,'Al Qasim','05',1187),(4320,'Ar Riyad','01',1187),(4321,'Asir','14',1187),(4322,'Ha\'il','06',1187),(4323,'Jlzan','09',1187),(4324,'Makkah','02',1187),(4325,'Najran','10',1187),(4326,'Tabuk','07',1187),(4327,'Capital Territory (Honiara)','CT',1194),(4328,'Guadalcanal','GU',1194),(4329,'Isabel','IS',1194),(4330,'Makira','MK',1194),(4331,'Malaita','ML',1194),(4332,'Temotu','TE',1194),(4333,'A\'ali an Nil','23',1200),(4334,'Al Bah al Ahmar','26',1200),(4335,'Al Buhayrat','18',1200),(4336,'Al Jazirah','07',1200),(4337,'Al Khartum','03',1200),(4338,'Al Qadarif','06',1200),(4339,'Al Wahdah','22',1200),(4340,'An Nil','04',1200),(4341,'An Nil al Abyaq','08',1200),(4342,'An Nil al Azraq','24',1200),(4343,'Ash Shamallyah','01',1200),(4344,'Bahr al Jabal','17',1200),(4345,'Gharb al Istiwa\'iyah','16',1200),(4346,'Gharb Ba~r al Ghazal','14',1200),(4347,'Gharb Darfur','12',1200),(4348,'Gharb Kurdufan','10',1200),(4349,'Janub Darfur','11',1200),(4350,'Janub Rurdufan','13',1200),(4351,'Jnqall','20',1200),(4352,'Kassala','05',1200),(4353,'Shamal Batr al Ghazal','15',1200),(4354,'Shamal Darfur','02',1200),(4355,'Shamal Kurdufan','09',1200),(4356,'Sharq al Istiwa\'iyah','19',1200),(4357,'Sinnar','25',1200),(4358,'Warab','21',1200),(4359,'Blekinge län','K',1204),(4360,'Dalarnas län','W',1204),(4361,'Gotlands län','I',1204),(4362,'Gävleborgs län','X',1204),(4363,'Hallands län','N',1204),(4364,'Jämtlands län','Z',1204),(4365,'Jönkopings län','F',1204),(4366,'Kalmar län','H',1204),(4367,'Kronobergs län','G',1204),(4368,'Norrbottens län','BD',1204),(4369,'Skåne län','M',1204),(4370,'Stockholms län','AB',1204),(4371,'Södermanlands län','D',1204),(4372,'Uppsala län','C',1204),(4373,'Värmlands län','S',1204),(4374,'Västerbottens län','AC',1204),(4375,'Västernorrlands län','Y',1204),(4376,'Västmanlands län','U',1204),(4377,'Västra Götalands län','Q',1204),(4378,'Örebro län','T',1204),(4379,'Östergötlands län','E',1204),(4380,'Saint Helena','SH',1180),(4381,'Ascension','AC',1180),(4382,'Tristan da Cunha','TA',1180),(4383,'Ajdovščina','001',1193),(4384,'Beltinci','002',1193),(4385,'Benedikt','148',1193),(4386,'Bistrica ob Sotli','149',1193),(4387,'Bled','003',1193),(4388,'Bloke','150',1193),(4389,'Bohinj','004',1193),(4390,'Borovnica','005',1193),(4391,'Bovec','006',1193),(4392,'Braslovče','151',1193),(4393,'Brda','007',1193),(4394,'Brezovica','008',1193),(4395,'Brežice','009',1193),(4396,'Cankova','152',1193),(4397,'Celje','011',1193),(4398,'Cerklje na Gorenjskem','012',1193),(4399,'Cerknica','013',1193),(4400,'Cerkno','014',1193),(4401,'Cerkvenjak','153',1193),(4402,'Črenšovci','015',1193),(4403,'Črna na Koroškem','016',1193),(4404,'Črnomelj','017',1193),(4405,'Destrnik','018',1193),(4406,'Divača','019',1193),(4407,'Dobje','154',1193),(4408,'Dobrepolje','020',1193),(4409,'Dobrna','155',1193),(4410,'Dobrova-Polhov Gradec','021',1193),(4411,'Dobrovnik','156',1193),(4412,'Dol pri Ljubljani','022',1193),(4413,'Dolenjske Toplice','157',1193),(4414,'Domžale','023',1193),(4415,'Dornava','024',1193),(4416,'Dravograd','025',1193),(4417,'Duplek','026',1193),(4418,'Gorenja vas-Poljane','027',1193),(4419,'Gorišnica','028',1193),(4420,'Gornja Radgona','029',1193),(4421,'Gornji Grad','030',1193),(4422,'Gornji Petrovci','031',1193),(4423,'Grad','158',1193),(4424,'Grosuplje','032',1193),(4425,'Hajdina','159',1193),(4426,'Hoče-Slivnica','160',1193),(4427,'Hodoš','161',1193),(4428,'Horjul','162',1193),(4429,'Hrastnik','034',1193),(4430,'Hrpelje-Kozina','035',1193),(4431,'Idrija','036',1193),(4432,'Ig','037',1193),(4433,'Ilirska Bistrica','038',1193),(4434,'Ivančna Gorica','039',1193),(4435,'Izola','040',1193),(4436,'Jesenice','041',1193),(4437,'Jezersko','163',1193),(4438,'Juršinci','042',1193),(4439,'Kamnik','043',1193),(4440,'Kanal','044',1193),(4441,'Kidričevo','045',1193),(4442,'Kobarid','046',1193),(4443,'Kobilje','047',1193),(4444,'Kočevje','048',1193),(4445,'Komen','049',1193),(4446,'Komenda','164',1193),(4447,'Koper','050',1193),(4448,'Kostel','165',1193),(4449,'Kozje','051',1193),(4450,'Kranj','052',1193),(4451,'Kranjska Gora','053',1193),(4452,'Križevci','166',1193),(4453,'Krško','054',1193),(4454,'Kungota','055',1193),(4455,'Kuzma','056',1193),(4456,'Laško','057',1193),(4457,'Lenart','058',1193),(4458,'Lendava','059',1193),(4459,'Litija','060',1193),(4460,'Ljubljana','061',1193),(4461,'Ljubno','062',1193),(4462,'Ljutomer','063',1193),(4463,'Logatec','064',1193),(4464,'Loška dolina','065',1193),(4465,'Loški Potok','066',1193),(4466,'Lovrenc na Pohorju','167',1193),(4467,'Luče','067',1193),(4468,'Lukovica','068',1193),(4469,'Majšperk','069',1193),(4470,'Maribor','070',1193),(4471,'Markovci','168',1193),(4472,'Medvode','071',1193),(4473,'Mengeš','072',1193),(4474,'Metlika','073',1193),(4475,'Mežica','074',1193),(4476,'Miklavž na Dravskem polju','169',1193),(4477,'Miren-Kostanjevica','075',1193),(4478,'Mirna Peč','170',1193),(4479,'Mislinja','076',1193),(4480,'Moravče','077',1193),(4481,'Moravske Toplice','078',1193),(4482,'Mozirje','079',1193),(4483,'Murska Sobota','080',1193),(4484,'Muta','081',1193),(4485,'Naklo','082',1193),(4486,'Nazarje','083',1193),(4487,'Nova Gorica','084',1193),(4488,'Novo mesto','085',1193),(4489,'Sveta Ana','181',1193),(4490,'Sveti Andraž v Slovenskih goricah','182',1193),(4491,'Sveti Jurij','116',1193),(4492,'Šalovci','033',1193),(4493,'Šempeter-Vrtojba','183',1193),(4494,'Šenčur','117',1193),(4495,'Šentilj','118',1193),(4496,'Šentjernej','119',1193),(4497,'Šentjur','120',1193),(4498,'Škocjan','121',1193),(4499,'Škofja Loka','122',1193),(4500,'Škofljica','123',1193),(4501,'Šmarje pri Jelšah','124',1193),(4502,'Šmartno ob Paki','125',1193),(4503,'Šmartno pri Litiji','194',1193),(4504,'Šoštanj','126',1193),(4505,'Štore','127',1193),(4506,'Tabor','184',1193),(4507,'Tišina','010',1193),(4508,'Tolmin','128',1193),(4509,'Trbovlje','129',1193),(4510,'Trebnje','130',1193),(4511,'Trnovska vas','185',1193),(4512,'Tržič','131',1193),(4513,'Trzin','186',1193),(4514,'Turnišče','132',1193),(4515,'Velenje','133',1193),(4516,'Velika Polana','187',1193),(4517,'Velike Lašče','134',1193),(4518,'Veržej','188',1193),(4519,'Videm','135',1193),(4520,'Vipava','136',1193),(4521,'Vitanje','137',1193),(4522,'Vojnik','138',1193),(4523,'Vransko','189',1193),(4524,'Vrhnika','140',1193),(4525,'Vuzenica','141',1193),(4526,'Zagorje ob Savi','142',1193),(4527,'Zavrč','143',1193),(4528,'Zreče','144',1193),(4529,'Žalec','190',1193),(4530,'Železniki','146',1193),(4531,'Žetale','191',1193),(4532,'Žiri','147',1193),(4533,'Žirovnica','192',1193),(4534,'Žužemberk','193',1193),(4535,'Banskobystrický kraj','BC',1192),(4536,'Bratislavský kraj','BL',1192),(4537,'Košický kraj','KI',1192),(4538,'Nitriansky kraj','NJ',1192),(4539,'Prešovský kraj','PV',1192),(4540,'Trenčiansky kraj','TC',1192),(4541,'Trnavský kraj','TA',1192),(4542,'Žilinský kraj','ZI',1192),(4543,'Western Area (Freetown)','W',1190),(4544,'Dakar','DK',1188),(4545,'Diourbel','DB',1188),(4546,'Fatick','FK',1188),(4547,'Kaolack','KL',1188),(4548,'Kolda','KD',1188),(4549,'Louga','LG',1188),(4550,'Matam','MT',1188),(4551,'Saint-Louis','SL',1188),(4552,'Tambacounda','TC',1188),(4553,'Thies','TH',1188),(4554,'Ziguinchor','ZG',1188),(4555,'Awdal','AW',1195),(4556,'Bakool','BK',1195),(4557,'Banaadir','BN',1195),(4558,'Bay','BY',1195),(4559,'Galguduud','GA',1195),(4560,'Gedo','GE',1195),(4561,'Hiirsan','HI',1195),(4562,'Jubbada Dhexe','JD',1195),(4563,'Jubbada Hoose','JH',1195),(4564,'Mudug','MU',1195),(4565,'Nugaal','NU',1195),(4566,'Saneag','SA',1195),(4567,'Shabeellaha Dhexe','SD',1195),(4568,'Shabeellaha Hoose','SH',1195),(4569,'Sool','SO',1195),(4570,'Togdheer','TO',1195),(4571,'Woqooyi Galbeed','WO',1195),(4572,'Brokopondo','BR',1201),(4573,'Commewijne','CM',1201),(4574,'Coronie','CR',1201),(4575,'Marowijne','MA',1201),(4576,'Nickerie','NI',1201),(4577,'Paramaribo','PM',1201),(4578,'Saramacca','SA',1201),(4579,'Sipaliwini','SI',1201),(4580,'Wanica','WA',1201),(4581,'Principe','P',1207),(4582,'Sao Tome','S',1207),(4583,'Ahuachapan','AH',1066),(4584,'Cabanas','CA',1066),(4585,'Cuscatlan','CU',1066),(4586,'Chalatenango','CH',1066),(4587,'Morazan','MO',1066),(4588,'San Miguel','SM',1066),(4589,'San Salvador','SS',1066),(4590,'Santa Ana','SA',1066),(4591,'San Vicente','SV',1066),(4592,'Sonsonate','SO',1066),(4593,'Usulutan','US',1066),(4594,'Al Hasakah','HA',1206),(4595,'Al Ladhiqiyah','LA',1206),(4596,'Al Qunaytirah','QU',1206),(4597,'Ar Raqqah','RA',1206),(4598,'As Suwayda\'','SU',1206),(4599,'Dar\'a','DR',1206),(4600,'Dayr az Zawr','DY',1206),(4601,'Dimashq','DI',1206),(4602,'Halab','HL',1206),(4603,'Hamah','HM',1206),(4604,'Jim\'','HI',1206),(4605,'Idlib','ID',1206),(4606,'Rif Dimashq','RD',1206),(4607,'Tarts','TA',1206),(4608,'Hhohho','HH',1203),(4609,'Lubombo','LU',1203),(4610,'Manzini','MA',1203),(4611,'Shiselweni','SH',1203),(4612,'Batha','BA',1043),(4613,'Biltine','BI',1043),(4614,'Borkou-Ennedi-Tibesti','BET',1043),(4615,'Chari-Baguirmi','CB',1043),(4616,'Guera','GR',1043),(4617,'Kanem','KA',1043),(4618,'Lac','LC',1043),(4619,'Logone-Occidental','LO',1043),(4620,'Logone-Oriental','LR',1043),(4621,'Mayo-Kebbi','MK',1043),(4622,'Moyen-Chari','MC',1043),(4623,'Ouaddai','OD',1043),(4624,'Salamat','SA',1043),(4625,'Tandjile','TA',1043),(4626,'Kara','K',1214),(4627,'Maritime (Region)','M',1214),(4628,'Savannes','S',1214),(4629,'Krung Thep Maha Nakhon Bangkok','10',1211),(4630,'Phatthaya','S',1211),(4631,'Amnat Charoen','37',1211),(4632,'Ang Thong','15',1211),(4633,'Buri Ram','31',1211),(4634,'Chachoengsao','24',1211),(4635,'Chai Nat','18',1211),(4636,'Chaiyaphum','36',1211),(4637,'Chanthaburi','22',1211),(4638,'Chiang Mai','50',1211),(4639,'Chiang Rai','57',1211),(4640,'Chon Buri','20',1211),(4641,'Chumphon','86',1211),(4642,'Kalasin','46',1211),(4643,'Kamphasng Phet','62',1211),(4644,'Kanchanaburi','71',1211),(4645,'Khon Kaen','40',1211),(4646,'Krabi','81',1211),(4647,'Lampang','52',1211),(4648,'Lamphun','51',1211),(4649,'Loei','42',1211),(4650,'Lop Buri','16',1211),(4651,'Mae Hong Son','58',1211),(4652,'Maha Sarakham','44',1211),(4653,'Mukdahan','49',1211),(4654,'Nakhon Nayok','26',1211),(4655,'Nakhon Pathom','73',1211),(4656,'Nakhon Phanom','48',1211),(4657,'Nakhon Ratchasima','30',1211),(4658,'Nakhon Sawan','60',1211),(4659,'Nakhon Si Thammarat','80',1211),(4660,'Nan','55',1211),(4661,'Narathiwat','96',1211),(4662,'Nong Bua Lam Phu','39',1211),(4663,'Nong Khai','43',1211),(4664,'Nonthaburi','12',1211),(4665,'Pathum Thani','13',1211),(4666,'Pattani','94',1211),(4667,'Phangnga','82',1211),(4668,'Phatthalung','93',1211),(4669,'Phayao','56',1211),(4670,'Phetchabun','67',1211),(4671,'Phetchaburi','76',1211),(4672,'Phichit','66',1211),(4673,'Phitsanulok','65',1211),(4674,'Phrae','54',1211),(4675,'Phra Nakhon Si Ayutthaya','14',1211),(4676,'Phuket','83',1211),(4677,'Prachin Buri','25',1211),(4678,'Prachuap Khiri Khan','77',1211),(4679,'Ranong','85',1211),(4680,'Ratchaburi','70',1211),(4681,'Rayong','21',1211),(4682,'Roi Et','45',1211),(4683,'Sa Kaeo','27',1211),(4684,'Sakon Nakhon','47',1211),(4685,'Samut Prakan','11',1211),(4686,'Samut Sakhon','74',1211),(4687,'Samut Songkhram','75',1211),(4688,'Saraburi','19',1211),(4689,'Satun','91',1211),(4690,'Sing Buri','17',1211),(4691,'Si Sa Ket','33',1211),(4692,'Songkhla','90',1211),(4693,'Sukhothai','64',1211),(4694,'Suphan Buri','72',1211),(4695,'Surat Thani','84',1211),(4696,'Surin','32',1211),(4697,'Tak','63',1211),(4698,'Trang','92',1211),(4699,'Trat','23',1211),(4700,'Ubon Ratchathani','34',1211),(4701,'Udon Thani','41',1211),(4702,'Uthai Thani','61',1211),(4703,'Uttaradit','53',1211),(4704,'Yala','95',1211),(4705,'Yasothon','35',1211),(4706,'Sughd','SU',1209),(4707,'Khatlon','KT',1209),(4708,'Gorno-Badakhshan','GB',1209),(4709,'Ahal','A',1220),(4710,'Balkan','B',1220),(4711,'Dasoguz','D',1220),(4712,'Lebap','L',1220),(4713,'Mary','M',1220),(4714,'Béja','31',1218),(4715,'Ben Arous','13',1218),(4716,'Bizerte','23',1218),(4717,'Gabès','81',1218),(4718,'Gafsa','71',1218),(4719,'Jendouba','32',1218),(4720,'Kairouan','41',1218),(4721,'Rasserine','42',1218),(4722,'Kebili','73',1218),(4723,'L\'Ariana','12',1218),(4724,'Le Ref','33',1218),(4725,'Mahdia','53',1218),(4726,'La Manouba','14',1218),(4727,'Medenine','82',1218),(4728,'Moneatir','52',1218),(4729,'Naboul','21',1218),(4730,'Sfax','61',1218),(4731,'Sidi Bouxid','43',1218),(4732,'Siliana','34',1218),(4733,'Sousse','51',1218),(4734,'Tataouine','83',1218),(4735,'Tozeur','72',1218),(4736,'Tunis','11',1218),(4737,'Zaghouan','22',1218),(4738,'Adana','01',1219),(4739,'Ad yaman','02',1219),(4740,'Afyon','03',1219),(4741,'Ag r','04',1219),(4742,'Aksaray','68',1219),(4743,'Amasya','05',1219),(4744,'Ankara','06',1219),(4745,'Antalya','07',1219),(4746,'Ardahan','75',1219),(4747,'Artvin','08',1219),(4748,'Aydin','09',1219),(4749,'Bal kesir','10',1219),(4750,'Bartin','74',1219),(4751,'Batman','72',1219),(4752,'Bayburt','69',1219),(4753,'Bilecik','11',1219),(4754,'Bingol','12',1219),(4755,'Bitlis','13',1219),(4756,'Bolu','14',1219),(4757,'Burdur','15',1219),(4758,'Bursa','16',1219),(4759,'Canakkale','17',1219),(4760,'Cankir','18',1219),(4761,'Corum','19',1219),(4762,'Denizli','20',1219),(4763,'Diyarbakir','21',1219),(4764,'Duzce','81',1219),(4765,'Edirne','22',1219),(4766,'Elazig','23',1219),(4767,'Erzincan','24',1219),(4768,'Erzurum','25',1219),(4769,'Eskis\'ehir','26',1219),(4770,'Gaziantep','27',1219),(4771,'Giresun','28',1219),(4772,'Gms\'hane','29',1219),(4773,'Hakkari','30',1219),(4774,'Hatay','31',1219),(4775,'Igidir','76',1219),(4776,'Isparta','32',1219),(4777,'Icel','33',1219),(4778,'Istanbul','34',1219),(4779,'Izmir','35',1219),(4780,'Kahramanmaras','46',1219),(4781,'Karabk','78',1219),(4782,'Karaman','70',1219),(4783,'Kars','36',1219),(4784,'Kastamonu','37',1219),(4785,'Kayseri','38',1219),(4786,'Kirikkale','71',1219),(4787,'Kirklareli','39',1219),(4788,'Kirs\'ehir','40',1219),(4789,'Kilis','79',1219),(4790,'Kocaeli','41',1219),(4791,'Konya','42',1219),(4792,'Ktahya','43',1219),(4793,'Malatya','44',1219),(4794,'Manisa','45',1219),(4795,'Mardin','47',1219),(4796,'Mugila','48',1219),(4797,'Mus','49',1219),(4798,'Nevs\'ehir','50',1219),(4799,'Nigide','51',1219),(4800,'Ordu','52',1219),(4801,'Osmaniye','80',1219),(4802,'Rize','53',1219),(4803,'Sakarya','54',1219),(4804,'Samsun','55',1219),(4805,'Siirt','56',1219),(4806,'Sinop','57',1219),(4807,'Sivas','58',1219),(4808,'S\'anliurfa','63',1219),(4809,'S\'rnak','73',1219),(4810,'Tekirdag','59',1219),(4811,'Tokat','60',1219),(4812,'Trabzon','61',1219),(4813,'Tunceli','62',1219),(4814,'Us\'ak','64',1219),(4815,'Van','65',1219),(4816,'Yalova','77',1219),(4817,'Yozgat','66',1219),(4818,'Zonguldak','67',1219),(4819,'Couva-Tabaquite-Talparo','CTT',1217),(4820,'Diego Martin','DMN',1217),(4821,'Eastern Tobago','ETO',1217),(4822,'Penal-Debe','PED',1217),(4823,'Princes Town','PRT',1217),(4824,'Rio Claro-Mayaro','RCM',1217),(4825,'Sangre Grande','SGE',1217),(4826,'San Juan-Laventille','SJL',1217),(4827,'Siparia','SIP',1217),(4828,'Tunapuna-Piarco','TUP',1217),(4829,'Western Tobago','WTO',1217),(4830,'Arima','ARI',1217),(4831,'Chaguanas','CHA',1217),(4832,'Point Fortin','PTF',1217),(4833,'Port of Spain','POS',1217),(4834,'San Fernando','SFO',1217),(4835,'Aileu','AL',1063),(4836,'Ainaro','AN',1063),(4837,'Bacucau','BA',1063),(4838,'Bobonaro','BO',1063),(4839,'Cova Lima','CO',1063),(4840,'Dili','DI',1063),(4841,'Ermera','ER',1063),(4842,'Laulem','LA',1063),(4843,'Liquica','LI',1063),(4844,'Manatuto','MT',1063),(4845,'Manafahi','MF',1063),(4846,'Oecussi','OE',1063),(4847,'Viqueque','VI',1063),(4848,'Changhua County','CHA',1208),(4849,'Chiayi County','CYQ',1208),(4850,'Hsinchu County','HSQ',1208),(4851,'Hualien County','HUA',1208),(4852,'Ilan County','ILA',1208),(4853,'Kaohsiung County','KHQ',1208),(4854,'Miaoli County','MIA',1208),(4855,'Nantou County','NAN',1208),(4856,'Penghu County','PEN',1208),(4857,'Pingtung County','PIF',1208),(4858,'Taichung County','TXQ',1208),(4859,'Tainan County','TNQ',1208),(4860,'Taipei County','TPQ',1208),(4861,'Taitung County','TTT',1208),(4862,'Taoyuan County','TAO',1208),(4863,'Yunlin County','YUN',1208),(4864,'Keelung City','KEE',1208),(4865,'Arusha','01',1210),(4866,'Dar-es-Salaam','02',1210),(4867,'Dodoma','03',1210),(4868,'Iringa','04',1210),(4869,'Kagera','05',1210),(4870,'Kaskazini Pemba','06',1210),(4871,'Kaskazini Unguja','07',1210),(4872,'Xigoma','08',1210),(4873,'Kilimanjaro','09',1210),(4874,'Rusini Pemba','10',1210),(4875,'Kusini Unguja','11',1210),(4876,'Lindi','12',1210),(4877,'Manyara','26',1210),(4878,'Mara','13',1210),(4879,'Mbeya','14',1210),(4880,'Mjini Magharibi','15',1210),(4881,'Morogoro','16',1210),(4882,'Mtwara','17',1210),(4883,'Pwani','19',1210),(4884,'Rukwa','20',1210),(4885,'Ruvuma','21',1210),(4886,'Shinyanga','22',1210),(4887,'Singida','23',1210),(4888,'Tabora','24',1210),(4889,'Tanga','25',1210),(4890,'Cherkas\'ka Oblast\'','71',1224),(4891,'Chernihivs\'ka Oblast\'','74',1224),(4892,'Chernivets\'ka Oblast\'','77',1224),(4893,'Dnipropetrovs\'ka Oblast\'','12',1224),(4894,'Donets\'ka Oblast\'','14',1224),(4895,'Ivano-Frankivs\'ka Oblast\'','26',1224),(4896,'Kharkivs\'ka Oblast\'','63',1224),(4897,'Khersons\'ka Oblast\'','65',1224),(4898,'Khmel\'nyts\'ka Oblast\'','68',1224),(4899,'Kirovohrads\'ka Oblast\'','35',1224),(4900,'Kyivs\'ka Oblast\'','32',1224),(4901,'Luhans\'ka Oblast\'','09',1224),(4902,'L\'vivs\'ka Oblast\'','46',1224),(4903,'Mykolaivs\'ka Oblast\'','48',1224),(4904,'Odes \'ka Oblast\'','51',1224),(4905,'Poltavs\'ka Oblast\'','53',1224),(4906,'Rivnens\'ka Oblast\'','56',1224),(4907,'Sums \'ka Oblast\'','59',1224),(4908,'Ternopil\'s\'ka Oblast\'','61',1224),(4909,'Vinnyts\'ka Oblast\'','05',1224),(4910,'Volyos\'ka Oblast\'','07',1224),(4911,'Zakarpats\'ka Oblast\'','21',1224),(4912,'Zaporiz\'ka Oblast\'','23',1224),(4913,'Zhytomyrs\'ka Oblast\'','18',1224),(4914,'Respublika Krym','43',1224),(4915,'Kyiv','30',1224),(4916,'Sevastopol','40',1224),(4917,'Adjumani','301',1223),(4918,'Apac','302',1223),(4919,'Arua','303',1223),(4920,'Bugiri','201',1223),(4921,'Bundibugyo','401',1223),(4922,'Bushenyi','402',1223),(4923,'Busia','202',1223),(4924,'Gulu','304',1223),(4925,'Hoima','403',1223),(4926,'Iganga','203',1223),(4927,'Jinja','204',1223),(4928,'Kabale','404',1223),(4929,'Kabarole','405',1223),(4930,'Kaberamaido','213',1223),(4931,'Kalangala','101',1223),(4932,'Kampala','102',1223),(4933,'Kamuli','205',1223),(4934,'Kamwenge','413',1223),(4935,'Kanungu','414',1223),(4936,'Kapchorwa','206',1223),(4937,'Kasese','406',1223),(4938,'Katakwi','207',1223),(4939,'Kayunga','112',1223),(4940,'Kibaale','407',1223),(4941,'Kiboga','103',1223),(4942,'Kisoro','408',1223),(4943,'Kitgum','305',1223),(4944,'Kotido','306',1223),(4945,'Kumi','208',1223),(4946,'Kyenjojo','415',1223),(4947,'Lira','307',1223),(4948,'Luwero','104',1223),(4949,'Masaka','105',1223),(4950,'Masindi','409',1223),(4951,'Mayuge','214',1223),(4952,'Mbale','209',1223),(4953,'Mbarara','410',1223),(4954,'Moroto','308',1223),(4955,'Moyo','309',1223),(4956,'Mpigi','106',1223),(4957,'Mubende','107',1223),(4958,'Mukono','108',1223),(4959,'Nakapiripirit','311',1223),(4960,'Nakasongola','109',1223),(4961,'Nebbi','310',1223),(4962,'Ntungamo','411',1223),(4963,'Pader','312',1223),(4964,'Pallisa','210',1223),(4965,'Rakai','110',1223),(4966,'Rukungiri','412',1223),(4967,'Sembabule','111',1223),(4968,'Sironko','215',1223),(4969,'Soroti','211',1223),(4970,'Tororo','212',1223),(4971,'Wakiso','113',1223),(4972,'Yumbe','313',1223),(4973,'Baker Island','81',1227),(4974,'Howland Island','84',1227),(4975,'Jarvis Island','86',1227),(4976,'Johnston Atoll','67',1227),(4977,'Kingman Reef','89',1227),(4978,'Midway Islands','71',1227),(4979,'Navassa Island','76',1227),(4980,'Palmyra Atoll','95',1227),(4981,'Wake Island','79',1227),(4982,'Artigsa','AR',1229),(4983,'Canelones','CA',1229),(4984,'Cerro Largo','CL',1229),(4985,'Colonia','CO',1229),(4986,'Durazno','DU',1229),(4987,'Flores','FS',1229),(4988,'Lavalleja','LA',1229),(4989,'Maldonado','MA',1229),(4990,'Montevideo','MO',1229),(4991,'Paysandu','PA',1229),(4992,'Rivera','RV',1229),(4993,'Rocha','RO',1229),(4994,'Salto','SA',1229),(4995,'Soriano','SO',1229),(4996,'Tacuarembo','TA',1229),(4997,'Treinta y Tres','TT',1229),(4998,'Toshkent (city)','TK',1230),(4999,'Qoraqalpogiston Respublikasi','QR',1230),(5000,'Andijon','AN',1230),(5001,'Buxoro','BU',1230),(5002,'Farg\'ona','FA',1230),(5003,'Jizzax','JI',1230),(5004,'Khorazm','KH',1230),(5005,'Namangan','NG',1230),(5006,'Navoiy','NW',1230),(5007,'Qashqadaryo','QA',1230),(5008,'Samarqand','SA',1230),(5009,'Sirdaryo','SI',1230),(5010,'Surxondaryo','SU',1230),(5011,'Toshkent','TO',1230),(5012,'Xorazm','XO',1230),(5013,'Distrito Federal','A',1232),(5014,'Anzoategui','B',1232),(5015,'Apure','C',1232),(5016,'Aragua','D',1232),(5017,'Barinas','E',1232),(5018,'Carabobo','G',1232),(5019,'Cojedes','H',1232),(5020,'Falcon','I',1232),(5021,'Guarico','J',1232),(5022,'Lara','K',1232),(5023,'Merida','L',1232),(5024,'Miranda','M',1232),(5025,'Monagas','N',1232),(5026,'Nueva Esparta','O',1232),(5027,'Portuguesa','P',1232),(5028,'Tachira','S',1232),(5029,'Trujillo','T',1232),(5030,'Vargas','X',1232),(5031,'Yaracuy','U',1232),(5032,'Zulia','V',1232),(5033,'Delta Amacuro','Y',1232),(5034,'Dependencias Federales','W',1232),(5035,'An Giang','44',1233),(5036,'Ba Ria - Vung Tau','43',1233),(5037,'Bac Can','53',1233),(5038,'Bac Giang','54',1233),(5039,'Bac Lieu','55',1233),(5040,'Bac Ninh','56',1233),(5041,'Ben Tre','50',1233),(5042,'Binh Dinh','31',1233),(5043,'Binh Duong','57',1233),(5044,'Binh Phuoc','58',1233),(5045,'Binh Thuan','40',1233),(5046,'Ca Mau','59',1233),(5047,'Can Tho','48',1233),(5048,'Cao Bang','04',1233),(5049,'Da Nang, thanh pho','60',1233),(5050,'Dong Nai','39',1233),(5051,'Dong Thap','45',1233),(5052,'Gia Lai','30',1233),(5053,'Ha Giang','03',1233),(5054,'Ha Nam','63',1233),(5055,'Ha Noi, thu do','64',1233),(5056,'Ha Tay','15',1233),(5057,'Ha Tinh','23',1233),(5058,'Hai Duong','61',1233),(5059,'Hai Phong, thanh pho','62',1233),(5060,'Hoa Binh','14',1233),(5061,'Ho Chi Minh, thanh pho [Sai Gon]','65',1233),(5062,'Hung Yen','66',1233),(5063,'Khanh Hoa','34',1233),(5064,'Kien Giang','47',1233),(5065,'Kon Tum','28',1233),(5066,'Lai Chau','01',1233),(5067,'Lam Dong','35',1233),(5068,'Lang Son','09',1233),(5069,'Lao Cai','02',1233),(5070,'Long An','41',1233),(5071,'Nam Dinh','67',1233),(5072,'Nghe An','22',1233),(5073,'Ninh Binh','18',1233),(5074,'Ninh Thuan','36',1233),(5075,'Phu Tho','68',1233),(5076,'Phu Yen','32',1233),(5077,'Quang Binh','24',1233),(5078,'Quang Nam','27',1233),(5079,'Quang Ngai','29',1233),(5080,'Quang Ninh','13',1233),(5081,'Quang Tri','25',1233),(5082,'Soc Trang','52',1233),(5083,'Son La','05',1233),(5084,'Tay Ninh','37',1233),(5085,'Thai Binh','20',1233),(5086,'Thai Nguyen','69',1233),(5087,'Thanh Hoa','21',1233),(5088,'Thua Thien-Hue','26',1233),(5089,'Tien Giang','46',1233),(5090,'Tra Vinh','51',1233),(5091,'Tuyen Quang','07',1233),(5092,'Vinh Long','49',1233),(5093,'Vinh Phuc','70',1233),(5094,'Yen Bai','06',1233),(5095,'Malampa','MAP',1231),(5096,'Penama','PAM',1231),(5097,'Sanma','SAM',1231),(5098,'Shefa','SEE',1231),(5099,'Tafea','TAE',1231),(5100,'Torba','TOB',1231),(5101,'A\'ana','AA',1185),(5102,'Aiga-i-le-Tai','AL',1185),(5103,'Atua','AT',1185),(5104,'Fa\'aaaleleaga','FA',1185),(5105,'Gaga\'emauga','GE',1185),(5106,'Gagaifomauga','GI',1185),(5107,'Palauli','PA',1185),(5108,'Satupa\'itea','SA',1185),(5109,'Tuamasaga','TU',1185),(5110,'Va\'a-o-Fonoti','VF',1185),(5111,'Vaisigano','VS',1185),(5112,'Crna Gora','CG',1243),(5113,'Srbija','SR',1242),(5114,'Kosovo-Metohija','KM',1242),(5115,'Vojvodina','VO',1242),(5116,'Abyan','AB',1237),(5117,'Adan','AD',1237),(5118,'Ad Dali','DA',1237),(5119,'Al Bayda\'','BA',1237),(5120,'Al Hudaydah','MU',1237),(5121,'Al Mahrah','MR',1237),(5122,'Al Mahwit','MW',1237),(5123,'Amran','AM',1237),(5124,'Dhamar','DH',1237),(5125,'Hadramawt','HD',1237),(5126,'Hajjah','HJ',1237),(5127,'Ibb','IB',1237),(5128,'Lahij','LA',1237),(5129,'Ma\'rib','MA',1237),(5130,'Sa\'dah','SD',1237),(5131,'San\'a\'','SN',1237),(5132,'Shabwah','SH',1237),(5133,'Ta\'izz','TA',1237),(5134,'Eastern Cape','EC',1196),(5135,'Free State','FS',1196),(5136,'Gauteng','GT',1196),(5137,'Kwazulu-Natal','NL',1196),(5138,'Mpumalanga','MP',1196),(5139,'Northern Cape','NC',1196),(5140,'Limpopo','NP',1196),(5141,'Western Cape','WC',1196),(5142,'Copperbelt','08',1239),(5143,'Luapula','04',1239),(5144,'Lusaka','09',1239),(5145,'North-Western','06',1239),(5146,'Bulawayo','BU',1240),(5147,'Harare','HA',1240),(5148,'Manicaland','MA',1240),(5149,'Mashonaland Central','MC',1240),(5150,'Mashonaland East','ME',1240),(5151,'Mashonaland West','MW',1240),(5152,'Masvingo','MV',1240),(5153,'Matabeleland North','MN',1240),(5154,'Matabeleland South','MS',1240),(5155,'Midlands','MI',1240),(5156,'South Karelia','SK',1075),(5157,'South Ostrobothnia','SO',1075),(5158,'Etelä-Savo','ES',1075),(5159,'Häme','HH',1075),(5160,'Itä-Uusimaa','IU',1075),(5161,'Kainuu','KA',1075),(5162,'Central Ostrobothnia','CO',1075),(5163,'Central Finland','CF',1075),(5164,'Kymenlaakso','KY',1075),(5165,'Lapland','LA',1075),(5166,'Tampere Region','TR',1075),(5167,'Ostrobothnia','OB',1075),(5168,'North Karelia','NK',1075),(5169,'Northern Ostrobothnia','NO',1075),(5170,'Northern Savo','NS',1075),(5171,'Päijät-Häme','PH',1075),(5172,'Satakunta','SK',1075),(5173,'Uusimaa','UM',1075),(5174,'South-West Finland','SW',1075),(5175,'Åland','AL',1075),(5176,'Limburg','LI',1152),(5177,'Central and Western','CW',1098),(5178,'Eastern','EA',1098),(5179,'Southern','SO',1098),(5180,'Wan Chai','WC',1098),(5181,'Kowloon City','KC',1098),(5182,'Kwun Tong','KU',1098),(5183,'Sham Shui Po','SS',1098),(5184,'Wong Tai Sin','WT',1098),(5185,'Yau Tsim Mong','YT',1098),(5186,'Islands','IS',1098),(5187,'Kwai Tsing','KI',1098),(5188,'North','NO',1098),(5189,'Sai Kung','SK',1098),(5190,'Sha Tin','ST',1098),(5191,'Tai Po','TP',1098),(5192,'Tsuen Wan','TW',1098),(5193,'Tuen Mun','TM',1098),(5194,'Yuen Long','YL',1098),(5195,'Manchester','MR',1108),(5196,'Al Manāmah (Al ‘Āşimah)','13',1016),(5197,'Al Janūbīyah','14',1016),(5199,'Al Wusţá','16',1016),(5200,'Ash Shamālīyah','17',1016),(5201,'Jenin','_A',1165),(5202,'Tubas','_B',1165),(5203,'Tulkarm','_C',1165),(5204,'Nablus','_D',1165),(5205,'Qalqilya','_E',1165),(5206,'Salfit','_F',1165),(5207,'Ramallah and Al-Bireh','_G',1165),(5208,'Jericho','_H',1165),(5209,'Jerusalem','_I',1165),(5210,'Bethlehem','_J',1165),(5211,'Hebron','_K',1165),(5212,'North Gaza','_L',1165),(5213,'Gaza','_M',1165),(5214,'Deir el-Balah','_N',1165),(5215,'Khan Yunis','_O',1165),(5216,'Rafah','_P',1165),(5217,'Brussels','BRU',1020),(5218,'Distrito Federal','DIF',1140),(5219,'Taichung City','TXG',1208),(5220,'Kaohsiung City','KHH',1208),(5221,'Taipei City','TPE',1208),(5222,'Chiayi City','CYI',1208),(5223,'Hsinchu City','HSZ',1208),(5224,'Tainan City','TNN',1208),(9000,'North West','NW',1196),(9986,'Tyne and Wear','TWR',1226),(9988,'Greater Manchester','GTM',1226),(9989,'Co Tyrone','TYR',1226),(9990,'West Yorkshire','WYK',1226),(9991,'South Yorkshire','SYK',1226),(9992,'Merseyside','MSY',1226),(9993,'Berkshire','BRK',1226),(9994,'West Midlands','WMD',1226),(9998,'West Glamorgan','WGM',1226),(9999,'London','LON',1226),(10000,'Carbonia-Iglesias','CI',1107),(10001,'Olbia-Tempio','OT',1107),(10002,'Medio Campidano','VS',1107),(10003,'Ogliastra','OG',1107),(10009,'Jura','39',1076),(10010,'Barletta-Andria-Trani','Bar',1107),(10011,'Fermo','Fer',1107),(10012,'Monza e Brianza','Mon',1107),(10013,'Clwyd','CWD',1226),(10014,'Dyfed','DFD',1226),(10015,'South Glamorgan','SGM',1226),(10016,'Artibonite','AR',1094),(10017,'Centre','CE',1094),(10018,'Nippes','NI',1094),(10019,'Nord','ND',1094),(10020,'La Rioja','F',1010),(10021,'Andorra la Vella','07',1005),(10022,'Canillo','02',1005),(10023,'Encamp','03',1005),(10024,'Escaldes-Engordany','08',1005),(10025,'La Massana','04',1005),(10026,'Ordino','05',1005),(10027,'Sant Julia de Loria','06',1005),(10028,'Abaco Islands','AB',1212),(10029,'Andros Island','AN',1212),(10030,'Berry Islands','BR',1212),(10031,'Eleuthera','EL',1212),(10032,'Grand Bahama','GB',1212),(10033,'Rum Cay','RC',1212),(10034,'San Salvador Island','SS',1212),(10035,'Kongo central','01',1050),(10036,'Kwango','02',1050),(10037,'Kwilu','03',1050),(10038,'Mai-Ndombe','04',1050),(10039,'Kasai','05',1050),(10040,'Lulua','06',1050),(10041,'Lomami','07',1050),(10042,'Sankuru','08',1050),(10043,'Ituri','09',1050),(10044,'Haut-Uele','10',1050),(10045,'Tshopo','11',1050),(10046,'Bas-Uele','12',1050),(10047,'Nord-Ubangi','13',1050),(10048,'Mongala','14',1050),(10049,'Sud-Ubangi','15',1050),(10050,'Tshuapa','16',1050),(10051,'Haut-Lomami','17',1050),(10052,'Lualaba','18',1050),(10053,'Haut-Katanga','19',1050),(10054,'Tanganyika','20',1050),(10055,'Toledo','TO',1198),(10056,'Córdoba','CO',1198),(10057,'Metropolitan Manila','MNL',1170),(10058,'La Paz','LP',1097),(10059,'Yinchuan','YN',1045),(10060,'Shizuishan','SZ',1045),(10061,'Wuzhong','WZ',1045),(10062,'Guyuan','GY',1045),(10063,'Zhongwei','ZW',1045),(10064,'Luxembourg','L',1126),(10065,'Aizkraukles novads','002',1119),(10066,'Jaunjelgavas novads','038',1119),(10067,'Pļaviņu novads','072',1119),(10068,'Kokneses novads','046',1119),(10069,'Neretas novads','065',1119),(10070,'Skrīveru novads','092',1119),(10071,'Alūksnes novads','007',1119),(10072,'Apes novads','009',1119),(10073,'Balvu novads','015',1119),(10074,'Viļakas novads','108',1119),(10075,'Baltinavas novads','014',1119),(10076,'Rugāju novads','082',1119),(10077,'Bauskas novads','016',1119),(10078,'Iecavas novads','034',1119),(10079,'Rundāles novads','083',1119),(10080,'Vecumnieku novads','105',1119),(10081,'Cēsu novads','022',1119),(10082,'Līgatnes novads','055',1119),(10083,'Amatas novads','008',1119),(10084,'Jaunpiebalgas novads','039',1119),(10085,'Priekuļu novads','075',1119),(10086,'Pārgaujas novads','070',1119),(10087,'Raunas novads','076',1119),(10088,'Vecpiebalgas novads','104',1119),(10089,'Daugavpils novads','025',1119),(10090,'Ilūkstes novads','036',1119),(10091,'Dobeles novads','026',1119),(10092,'Auces novads','010',1119),(10093,'Tērvetes novads','098',1119),(10094,'Gulbenes novads','033',1119),(10095,'Jelgavas novads','041',1119),(10096,'Ozolnieku novads','069',1119),(10097,'Jēkabpils novads','042',1119),(10098,'Aknīstes novads','004',1119),(10099,'Viesītes novads','107',1119),(10100,'Krustpils novads','049',1119),(10101,'Salas novads','085',1119),(10102,'Krāslavas novads','047',1119),(10103,'Dagdas novads','024',1119),(10104,'Aglonas novads','001',1119),(10105,'Kuldīgas novads','050',1119),(10106,'Skrundas novads','093',1119),(10107,'Alsungas novads','006',1119),(10108,'Aizputes novads','003',1119),(10109,'Durbes novads','028',1119),(10110,'Grobiņas novads','032',1119),(10111,'Pāvilostas novads','071',1119),(10112,'Priekules novads','074',1119),(10113,'Nīcas novads','066',1119),(10114,'Rucavas novads','081',1119),(10115,'Vaiņodes novads','100',1119),(10116,'Limbažu novads','054',1119),(10117,'Alojas novads','005',1119),(10118,'Salacgrīvas novads','086',1119),(10119,'Ludzas novads','058',1119),(10120,'Kārsavas novads','044',1119),(10121,'Zilupes novads','110',1119),(10122,'Ciblas novads','023',1119),(10123,'Madonas novads','059',1119),(10124,'Cesvaines novads','021',1119),(10125,'Lubānas novads','057',1119),(10126,'Varakļānu novads','102',1119),(10127,'Ērgļu novads','030',1119),(10128,'Ogres novads','067',1119),(10129,'Ikšķiles novads','035',1119),(10130,'Ķeguma novads','051',1119),(10131,'Lielvārdes novads','053',1119),(10132,'Preiļu novads','073',1119),(10133,'Līvānu novads','056',1119),(10134,'Riebiņu novads','078',1119),(10135,'Vārkavas novads','103',1119),(10136,'Rēzeknes novads','077',1119),(10137,'Viļānu novads','109',1119),(10138,'Baldones novads','013',1119),(10139,'Ķekavas novads','052',1119),(10140,'Olaines novads','068',1119),(10141,'Salaspils novads','087',1119),(10142,'Saulkrastu novads','089',1119),(10143,'Siguldas novads','091',1119),(10144,'Inčukalna novads','037',1119),(10145,'Ādažu novads','011',1119),(10146,'Babītes novads','012',1119),(10147,'Carnikavas novads','020',1119),(10148,'Garkalnes novads','031',1119),(10149,'Krimuldas novads','048',1119),(10150,'Mālpils novads','061',1119),(10151,'Mārupes novads','062',1119),(10152,'Ropažu novads','080',1119),(10153,'Sējas novads','090',1119),(10154,'Stopiņu novads','095',1119),(10155,'Saldus novads','088',1119),(10156,'Brocēnu novads','018',1119),(10157,'Talsu novads','097',1119),(10158,'Dundagas novads','027',1119),(10159,'Mērsraga novads','063',1119),(10160,'Rojas novads','079',1119),(10161,'Tukuma novads','099',1119),(10162,'Kandavas novads','043',1119),(10163,'Engures novads','029',1119),(10164,'Jaunpils novads','040',1119),(10165,'Valkas novads','101',1119),(10166,'Smiltenes novads','094',1119),(10167,'Strenču novads','096',1119),(10168,'Kocēnu novads','045',1119),(10169,'Mazsalacas novads','060',1119),(10170,'Rūjienas novads','084',1119),(10171,'Beverīnas novads','017',1119),(10172,'Burtnieku novads','019',1119),(10173,'Naukšēnu novads','064',1119),(10174,'Ventspils novads','106',1119),(10175,'Jēkabpils','JKB',1119),(10176,'Valmiera','VMR',1119),(10177,'Florida','FL',1229),(10178,'Rio Negro','RN',1229),(10179,'San Jose','SJ',1229),(10180,'Plateau','PL',1157),(10181,'Pieria','61',1085),(10182,'Los Rios','LR',1044),(10183,'Arica y Parinacota','AP',1044),(10184,'Amazonas','AMA',1169),(10185,'Kalimantan Tengah','KT',1102),(10186,'Sulawesi Barat','SR',1102),(10187,'Kalimantan Utara','KU',1102),(10188,'Ankaran','86',1193),(10189,'Apače','87',1193),(10190,'Cirkulane','88',1193),(10191,'Gorje','89',1193),(10192,'Kostanjevica na Krki','90',1193),(10193,'Log-Dragomer','91',1193),(10194,'Makole','92',1193),(10195,'Mirna','93',1193),(10196,'Mokronog-Trebelno','94',1193),(10197,'Odranci','95',1193),(10198,'Oplotnica','96',1193),(10199,'Ormož','97',1193),(10200,'Osilnica','98',1193),(10201,'Pesnica','99',1193),(10202,'Piran','100',1193),(10203,'Pivka','101',1193),(10204,'Podčetrtek','102',1193),(10205,'Podlehnik','103',1193),(10206,'Podvelka','104',1193),(10207,'Poljčane','105',1193),(10208,'Polzela','106',1193),(10209,'Postojna','107',1193),(10210,'Prebold','108',1193),(10211,'Preddvor','109',1193),(10212,'Prevalje','110',1193),(10213,'Ptuj','111',1193),(10214,'Puconci','112',1193),(10215,'Rače-Fram','113',1193),(10216,'Radeče','114',1193),(10217,'Radenci','115',1193),(10218,'Radlje ob Dravi','139',1193),(10219,'Radovljica','145',1193),(10220,'Ravne na Koroškem','171',1193),(10221,'Razkrižje','172',1193),(10222,'Rečica ob Savinji','173',1193),(10223,'Renče-Vogrsko','174',1193),(10224,'Ribnica','175',1193),(10225,'Ribnica na Pohorju','176',1193),(10226,'Rogaška Slatina','177',1193),(10227,'Rogašovci','178',1193),(10228,'Rogatec','179',1193),(10229,'Ruše','180',1193),(10230,'Selnica ob Dravi','195',1193),(10231,'Semič','196',1193),(10232,'Šentrupert','197',1193),(10233,'Sevnica','198',1193),(10234,'Sežana','199',1193),(10235,'Slovenj Gradec','200',1193),(10236,'Slovenska Bistrica','201',1193),(10237,'Slovenske Konjice','202',1193),(10238,'Šmarješke Toplice','203',1193),(10239,'Sodražica','204',1193),(10240,'Solčava','205',1193),(10241,'Središče ob Dravi','206',1193),(10242,'Starše','207',1193),(10243,'Straža','208',1193),(10244,'Sveta Trojica v Slovenskih goricah','209',1193),(10245,'Sveti Jurij v Slovenskih goricah','210',1193),(10246,'Sveti Tomaž','211',1193),(10247,'Vodice','212',1193),(10248,'Abkhazia','AB',1081),(10249,'Adjara','AJ',1081),(10250,'Tbilisi','TB',1081),(10251,'Guria','GU',1081),(10252,'Imereti','IM',1081),(10253,'Kakheti','KA',1081),(10254,'Kvemo Kartli','KK',1081),(10255,'Mtskheta-Mtianeti','MM',1081),(10256,'Racha-Lechkhumi and Kvemo Svaneti','RL',1081),(10257,'Samegrelo-Zemo Svaneti','SZ',1081),(10258,'Samtskhe-Javakheti','SJ',1081),(10259,'Shida Kartli','SK',1081),(10260,'Central','C',1074),(10261,'Punjab','PB',1163),(10262,'La Libertad','LI',1066),(10263,'La Paz','PA',1066),(10264,'La Union','UN',1066),(10265,'Littoral','LT',1038),(10266,'Nord-Ouest','NW',1038),(10267,'Telangana','TG',1101),(10268,'Ash Sharqiyah','04',1187),(10269,'Guadeloupe','GP',1076),(10270,'Martinique','MQ',1076),(10271,'Guyane','GF',1076),(10272,'La Réunion','RE',1076),(10273,'Mayotte','YT',1076),(10274,'Baringo','01',1112),(10275,'Bomet','02',1112),(10276,'Bungoma','03',1112),(10277,'Busia','04',1112),(10278,'Elgeyo/Marakwet','05',1112),(10279,'Embu','06',1112),(10280,'Garissa','07',1112),(10281,'Homa Bay','08',1112),(10282,'Isiolo','09',1112),(10283,'Kajiado','10',1112),(10284,'Kakamega','11',1112),(10285,'Kericho','12',1112),(10286,'Kiambu','13',1112),(10287,'Kilifi','14',1112),(10288,'Kirinyaga','15',1112),(10289,'Kisii','16',1112),(10290,'Kisumu','17',1112),(10291,'Kitui','18',1112),(10292,'Kwale','19',1112),(10293,'Laikipia','20',1112),(10294,'Lamu','21',1112),(10295,'Machakos','22',1112),(10296,'Makueni','23',1112),(10297,'Mandera','24',1112),(10298,'Marsabit','25',1112),(10299,'Meru','26',1112),(10300,'Migori','27',1112),(10301,'Mombasa','28',1112),(10302,'Murang\'a','29',1112),(10303,'Nairobi City','30',1112),(10304,'Nakuru','31',1112),(10305,'Nandi','32',1112),(10306,'Narok','33',1112),(10307,'Nyamira','34',1112),(10308,'Nyandarua','35',1112),(10309,'Nyeri','36',1112),(10310,'Samburu','37',1112),(10311,'Siaya','38',1112),(10312,'Taita/Taveta','39',1112),(10313,'Tana River','40',1112),(10314,'Tharaka-Nithi','41',1112),(10315,'Trans Nzoia','42',1112),(10316,'Turkana','43',1112),(10317,'Uasin Gishu','44',1112),(10318,'Vihiga','45',1112),(10319,'Wajir','46',1112),(10320,'West Pokot','47',1112),(10321,'Chandigarh','CH',1101),(10322,'Central','CP',1083),(10323,'Eastern','EP',1083),(10324,'Northern','NP',1083),(10325,'Western','WP',1083),(10326,'Saint Kitts','K',1181),(10327,'Nevis','N',1181),(10328,'Eastern','E',1190),(10329,'Northern','N',1190),(10330,'Southern','S',1190),(10331,'Dushanbe','DU',1209),(10332,'Nohiyahoi Tobei Jumhurí','RA',1209),(10333,'Wallis-et-Futuna','WF',1076),(10334,'Nouvelle-Calédonie','NC',1076),(10335,'Saint George','03',1009),(10336,'Saint John','04',1009),(10337,'Saint Mary','05',1009),(10338,'Saint Paul','06',1009),(10339,'Saint Peter','07',1009),(10340,'Saint Philip','08',1009),(10341,'Barbuda','10',1009),(10342,'Redonda','11',1009),(10343,'Christ Church','01',1018),(10344,'Saint Andrew','02',1018),(10345,'Saint George','03',1018),(10346,'Saint James','04',1018),(10347,'Saint John','05',1018),(10348,'Saint Joseph','06',1018),(10349,'Saint Lucy','07',1018),(10350,'Saint Michael','08',1018),(10351,'Saint Peter','09',1018),(10352,'Saint Philip','10',1018),(10353,'Saint Thomas','11',1018);
+INSERT INTO `civicrm_state_province` (`id`, `name`, `abbreviation`, `country_id`) VALUES (1000,'Alabama','AL',1228),(1001,'Alaska','AK',1228),(1002,'Arizona','AZ',1228),(1003,'Arkansas','AR',1228),(1004,'California','CA',1228),(1005,'Colorado','CO',1228),(1006,'Connecticut','CT',1228),(1007,'Delaware','DE',1228),(1008,'Florida','FL',1228),(1009,'Georgia','GA',1228),(1010,'Hawaii','HI',1228),(1011,'Idaho','ID',1228),(1012,'Illinois','IL',1228),(1013,'Indiana','IN',1228),(1014,'Iowa','IA',1228),(1015,'Kansas','KS',1228),(1016,'Kentucky','KY',1228),(1017,'Louisiana','LA',1228),(1018,'Maine','ME',1228),(1019,'Maryland','MD',1228),(1020,'Massachusetts','MA',1228),(1021,'Michigan','MI',1228),(1022,'Minnesota','MN',1228),(1023,'Mississippi','MS',1228),(1024,'Missouri','MO',1228),(1025,'Montana','MT',1228),(1026,'Nebraska','NE',1228),(1027,'Nevada','NV',1228),(1028,'New Hampshire','NH',1228),(1029,'New Jersey','NJ',1228),(1030,'New Mexico','NM',1228),(1031,'New York','NY',1228),(1032,'North Carolina','NC',1228),(1033,'North Dakota','ND',1228),(1034,'Ohio','OH',1228),(1035,'Oklahoma','OK',1228),(1036,'Oregon','OR',1228),(1037,'Pennsylvania','PA',1228),(1038,'Rhode Island','RI',1228),(1039,'South Carolina','SC',1228),(1040,'South Dakota','SD',1228),(1041,'Tennessee','TN',1228),(1042,'Texas','TX',1228),(1043,'Utah','UT',1228),(1044,'Vermont','VT',1228),(1045,'Virginia','VA',1228),(1046,'Washington','WA',1228),(1047,'West Virginia','WV',1228),(1048,'Wisconsin','WI',1228),(1049,'Wyoming','WY',1228),(1050,'District of Columbia','DC',1228),(1052,'American Samoa','AS',1228),(1053,'Guam','GU',1228),(1055,'Northern Mariana Islands','MP',1228),(1056,'Puerto Rico','PR',1228),(1057,'Virgin Islands','VI',1228),(1058,'United States Minor Outlying Islands','UM',1228),(1059,'Armed Forces Europe','AE',1228),(1060,'Armed Forces Americas','AA',1228),(1061,'Armed Forces Pacific','AP',1228),(1100,'Alberta','AB',1039),(1101,'British Columbia','BC',1039),(1102,'Manitoba','MB',1039),(1103,'New Brunswick','NB',1039),(1104,'Newfoundland and Labrador','NL',1039),(1105,'Northwest Territories','NT',1039),(1106,'Nova Scotia','NS',1039),(1107,'Nunavut','NU',1039),(1108,'Ontario','ON',1039),(1109,'Prince Edward Island','PE',1039),(1110,'Quebec','QC',1039),(1111,'Saskatchewan','SK',1039),(1112,'Yukon Territory','YT',1039),(1200,'Maharashtra','MM',1101),(1201,'Karnataka','KA',1101),(1202,'Andhra Pradesh','AP',1101),(1203,'Arunachal Pradesh','AR',1101),(1204,'Assam','AS',1101),(1205,'Bihar','BR',1101),(1206,'Chhattisgarh','CH',1101),(1207,'Goa','GA',1101),(1208,'Gujarat','GJ',1101),(1209,'Haryana','HR',1101),(1210,'Himachal Pradesh','HP',1101),(1211,'Jammu and Kashmir','JK',1101),(1212,'Jharkhand','JH',1101),(1213,'Kerala','KL',1101),(1214,'Madhya Pradesh','MP',1101),(1215,'Manipur','MN',1101),(1216,'Meghalaya','ML',1101),(1217,'Mizoram','MZ',1101),(1218,'Nagaland','NL',1101),(1219,'Orissa','OR',1101),(1220,'Punjab','PB',1101),(1221,'Rajasthan','RJ',1101),(1222,'Sikkim','SK',1101),(1223,'Tamil Nadu','TN',1101),(1224,'Tripura','TR',1101),(1225,'Uttarakhand','UT',1101),(1226,'Uttar Pradesh','UP',1101),(1227,'West Bengal','WB',1101),(1228,'Andaman and Nicobar Islands','AN',1101),(1229,'Dadra and Nagar Haveli','DN',1101),(1230,'Daman and Diu','DD',1101),(1231,'Delhi','DL',1101),(1232,'Lakshadweep','LD',1101),(1233,'Pondicherry','PY',1101),(1300,'mazowieckie','MZ',1172),(1301,'pomorskie','PM',1172),(1302,'dolnośląskie','DS',1172),(1303,'kujawsko-pomorskie','KP',1172),(1304,'lubelskie','LU',1172),(1305,'lubuskie','LB',1172),(1306,'łódzkie','LD',1172),(1307,'małopolskie','MA',1172),(1308,'opolskie','OP',1172),(1309,'podkarpackie','PK',1172),(1310,'podlaskie','PD',1172),(1311,'śląskie','SL',1172),(1312,'świętokrzyskie','SK',1172),(1313,'warmińsko-mazurskie','WN',1172),(1314,'wielkopolskie','WP',1172),(1315,'zachodniopomorskie','ZP',1172),(1500,'Abu Zaby','AZ',1225),(1501,'\'Ajman','AJ',1225),(1502,'Al Fujayrah','FU',1225),(1503,'Ash Shariqah','SH',1225),(1504,'Dubayy','DU',1225),(1505,'Ra\'s al Khaymah','RK',1225),(1506,'Dac Lac','33',1233),(1507,'Umm al Qaywayn','UQ',1225),(1508,'Badakhshan','BDS',1001),(1509,'Badghis','BDG',1001),(1510,'Baghlan','BGL',1001),(1511,'Balkh','BAL',1001),(1512,'Bamian','BAM',1001),(1513,'Farah','FRA',1001),(1514,'Faryab','FYB',1001),(1515,'Ghazni','GHA',1001),(1516,'Ghowr','GHO',1001),(1517,'Helmand','HEL',1001),(1518,'Herat','HER',1001),(1519,'Jowzjan','JOW',1001),(1520,'Kabul','KAB',1001),(1521,'Kandahar','KAN',1001),(1522,'Kapisa','KAP',1001),(1523,'Khowst','KHO',1001),(1524,'Konar','KNR',1001),(1525,'Kondoz','KDZ',1001),(1526,'Laghman','LAG',1001),(1527,'Lowgar','LOW',1001),(1528,'Nangrahar','NAN',1001),(1529,'Nimruz','NIM',1001),(1530,'Nurestan','NUR',1001),(1531,'Oruzgan','ORU',1001),(1532,'Paktia','PIA',1001),(1533,'Paktika','PKA',1001),(1534,'Parwan','PAR',1001),(1535,'Samangan','SAM',1001),(1536,'Sar-e Pol','SAR',1001),(1537,'Takhar','TAK',1001),(1538,'Wardak','WAR',1001),(1539,'Zabol','ZAB',1001),(1540,'Berat','BR',1002),(1541,'Bulqizë','BU',1002),(1542,'Delvinë','DL',1002),(1543,'Devoll','DV',1002),(1544,'Dibër','DI',1002),(1545,'Durrës','DR',1002),(1546,'Elbasan','EL',1002),(1547,'Fier','FR',1002),(1548,'Gramsh','GR',1002),(1549,'Gjirokastër','GJ',1002),(1550,'Has','HA',1002),(1551,'Kavajë','KA',1002),(1552,'Kolonjë','ER',1002),(1553,'Korçë','KO',1002),(1554,'Krujë','KR',1002),(1555,'Kuçovë','KC',1002),(1556,'Kukës','KU',1002),(1557,'Kurbin','KB',1002),(1558,'Lezhë','LE',1002),(1559,'Librazhd','LB',1002),(1560,'Lushnjë','LU',1002),(1561,'Malësi e Madhe','MM',1002),(1562,'Mallakastër','MK',1002),(1563,'Mat','MT',1002),(1564,'Mirditë','MR',1002),(1565,'Peqin','PQ',1002),(1566,'Përmet','PR',1002),(1567,'Pogradec','PG',1002),(1568,'Pukë','PU',1002),(1569,'Sarandë','SR',1002),(1570,'Skrapar','SK',1002),(1571,'Shkodër','SH',1002),(1572,'Tepelenë','TE',1002),(1573,'Tiranë','TR',1002),(1574,'Tropojë','TP',1002),(1575,'Vlorë','VL',1002),(1576,'Erevan','ER',1011),(1577,'Aragacotn','AG',1011),(1578,'Ararat','AR',1011),(1579,'Armavir','AV',1011),(1580,'Gegarkunik\'','GR',1011),(1581,'Kotayk\'','KT',1011),(1582,'Lory','LO',1011),(1583,'Sirak','SH',1011),(1584,'Syunik\'','SU',1011),(1585,'Tavus','TV',1011),(1586,'Vayoc Jor','VD',1011),(1587,'Bengo','BGO',1006),(1588,'Benguela','BGU',1006),(1589,'Bie','BIE',1006),(1590,'Cabinda','CAB',1006),(1591,'Cuando-Cubango','CCU',1006),(1592,'Cuanza Norte','CNO',1006),(1593,'Cuanza Sul','CUS',1006),(1594,'Cunene','CNN',1006),(1595,'Huambo','HUA',1006),(1596,'Huila','HUI',1006),(1597,'Luanda','LUA',1006),(1598,'Lunda Norte','LNO',1006),(1599,'Lunda Sul','LSU',1006),(1600,'Malange','MAL',1006),(1601,'Moxico','MOX',1006),(1602,'Namibe','NAM',1006),(1603,'Uige','UIG',1006),(1604,'Zaire','ZAI',1006),(1605,'Capital federal','C',1010),(1606,'Buenos Aires','B',1010),(1607,'Catamarca','K',1010),(1608,'Cordoba','X',1010),(1609,'Corrientes','W',1010),(1610,'Chaco','H',1010),(1611,'Chubut','U',1010),(1612,'Entre Rios','E',1010),(1613,'Formosa','P',1010),(1614,'Jujuy','Y',1010),(1615,'La Pampa','L',1010),(1616,'Mendoza','M',1010),(1617,'Misiones','N',1010),(1618,'Neuquen','Q',1010),(1619,'Rio Negro','R',1010),(1620,'Salta','A',1010),(1621,'San Juan','J',1010),(1622,'San Luis','D',1010),(1623,'Santa Cruz','Z',1010),(1624,'Santa Fe','S',1010),(1625,'Santiago del Estero','G',1010),(1626,'Tierra del Fuego','V',1010),(1627,'Tucuman','T',1010),(1628,'Burgenland','1',1014),(1629,'Kärnten','2',1014),(1630,'Niederösterreich','3',1014),(1631,'Oberösterreich','4',1014),(1632,'Salzburg','5',1014),(1633,'Steiermark','6',1014),(1634,'Tirol','7',1014),(1635,'Vorarlberg','8',1014),(1636,'Wien','9',1014),(1637,'Australian Antarctic Territory','AAT',1008),(1638,'Australian Capital Territory','ACT',1013),(1639,'Northern Territory','NT',1013),(1640,'New South Wales','NSW',1013),(1641,'Queensland','QLD',1013),(1642,'South Australia','SA',1013),(1643,'Tasmania','TAS',1013),(1644,'Victoria','VIC',1013),(1645,'Western Australia','WA',1013),(1646,'Naxcivan','NX',1015),(1647,'Ali Bayramli','AB',1015),(1648,'Baki','BA',1015),(1649,'Ganca','GA',1015),(1650,'Lankaran','LA',1015),(1651,'Mingacevir','MI',1015),(1652,'Naftalan','NA',1015),(1653,'Saki','SA',1015),(1654,'Sumqayit','SM',1015),(1655,'Susa','SS',1015),(1656,'Xankandi','XA',1015),(1657,'Yevlax','YE',1015),(1658,'Abseron','ABS',1015),(1659,'Agcabadi','AGC',1015),(1660,'Agdam','AGM',1015),(1661,'Agdas','AGS',1015),(1662,'Agstafa','AGA',1015),(1663,'Agsu','AGU',1015),(1664,'Astara','AST',1015),(1665,'Babak','BAB',1015),(1666,'Balakan','BAL',1015),(1667,'Barda','BAR',1015),(1668,'Beylagan','BEY',1015),(1669,'Bilasuvar','BIL',1015),(1670,'Cabrayll','CAB',1015),(1671,'Calilabad','CAL',1015),(1672,'Culfa','CUL',1015),(1673,'Daskasan','DAS',1015),(1674,'Davaci','DAV',1015),(1675,'Fuzuli','FUZ',1015),(1676,'Gadabay','GAD',1015),(1677,'Goranboy','GOR',1015),(1678,'Goycay','GOY',1015),(1679,'Haciqabul','HAC',1015),(1680,'Imisli','IMI',1015),(1681,'Ismayilli','ISM',1015),(1682,'Kalbacar','KAL',1015),(1683,'Kurdamir','KUR',1015),(1684,'Lacin','LAC',1015),(1685,'Lerik','LER',1015),(1686,'Masalli','MAS',1015),(1687,'Neftcala','NEF',1015),(1688,'Oguz','OGU',1015),(1689,'Ordubad','ORD',1015),(1690,'Qabala','QAB',1015),(1691,'Qax','QAX',1015),(1692,'Qazax','QAZ',1015),(1693,'Qobustan','QOB',1015),(1694,'Quba','QBA',1015),(1695,'Qubadli','QBI',1015),(1696,'Qusar','QUS',1015),(1697,'Saatli','SAT',1015),(1698,'Sabirabad','SAB',1015),(1699,'Sadarak','SAD',1015),(1700,'Sahbuz','SAH',1015),(1701,'Salyan','SAL',1015),(1702,'Samaxi','SMI',1015),(1703,'Samkir','SKR',1015),(1704,'Samux','SMX',1015),(1705,'Sarur','SAR',1015),(1706,'Siyazan','SIY',1015),(1707,'Tartar','TAR',1015),(1708,'Tovuz','TOV',1015),(1709,'Ucar','UCA',1015),(1710,'Xacmaz','XAC',1015),(1711,'Xanlar','XAN',1015),(1712,'Xizi','XIZ',1015),(1713,'Xocali','XCI',1015),(1714,'Xocavand','XVD',1015),(1715,'Yardimli','YAR',1015),(1716,'Zangilan','ZAN',1015),(1717,'Zaqatala','ZAQ',1015),(1718,'Zardab','ZAR',1015),(1719,'Federacija Bosna i Hercegovina','BIH',1026),(1720,'Republika Srpska','SRP',1026),(1721,'Bagerhat zila','05',1017),(1722,'Bandarban zila','01',1017),(1723,'Barguna zila','02',1017),(1724,'Barisal zila','06',1017),(1725,'Bhola zila','07',1017),(1726,'Bogra zila','03',1017),(1727,'Brahmanbaria zila','04',1017),(1728,'Chandpur zila','09',1017),(1729,'Chittagong zila','10',1017),(1730,'Chuadanga zila','12',1017),(1731,'Comilla zila','08',1017),(1732,'Cox\'s Bazar zila','11',1017),(1733,'Dhaka zila','13',1017),(1734,'Dinajpur zila','14',1017),(1735,'Faridpur zila','15',1017),(1736,'Feni zila','16',1017),(1737,'Gaibandha zila','19',1017),(1738,'Gazipur zila','18',1017),(1739,'Gopalganj zila','17',1017),(1740,'Habiganj zila','20',1017),(1741,'Jaipurhat zila','24',1017),(1742,'Jamalpur zila','21',1017),(1743,'Jessore zila','22',1017),(1744,'Jhalakati zila','25',1017),(1745,'Jhenaidah zila','23',1017),(1746,'Khagrachari zila','29',1017),(1747,'Khulna zila','27',1017),(1748,'Kishorganj zila','26',1017),(1749,'Kurigram zila','28',1017),(1750,'Kushtia zila','30',1017),(1751,'Lakshmipur zila','31',1017),(1752,'Lalmonirhat zila','32',1017),(1753,'Madaripur zila','36',1017),(1754,'Magura zila','37',1017),(1755,'Manikganj zila','33',1017),(1756,'Meherpur zila','39',1017),(1757,'Moulvibazar zila','38',1017),(1758,'Munshiganj zila','35',1017),(1759,'Mymensingh zila','34',1017),(1760,'Naogaon zila','48',1017),(1761,'Narail zila','43',1017),(1762,'Narayanganj zila','40',1017),(1763,'Narsingdi zila','42',1017),(1764,'Natore zila','44',1017),(1765,'Nawabganj zila','45',1017),(1766,'Netrakona zila','41',1017),(1767,'Nilphamari zila','46',1017),(1768,'Noakhali zila','47',1017),(1769,'Pabna zila','49',1017),(1770,'Panchagarh zila','52',1017),(1771,'Patuakhali zila','51',1017),(1772,'Pirojpur zila','50',1017),(1773,'Rajbari zila','53',1017),(1774,'Rajshahi zila','54',1017),(1775,'Rangamati zila','56',1017),(1776,'Rangpur zila','55',1017),(1777,'Satkhira zila','58',1017),(1778,'Shariatpur zila','62',1017),(1779,'Sherpur zila','57',1017),(1780,'Sirajganj zila','59',1017),(1781,'Sunamganj zila','61',1017),(1782,'Sylhet zila','60',1017),(1783,'Tangail zila','63',1017),(1784,'Thakurgaon zila','64',1017),(1785,'Antwerpen','VAN',1020),(1786,'Brabant Wallon','WBR',1020),(1787,'Hainaut','WHT',1020),(1788,'Liege','WLG',1020),(1789,'Limburg','VLI',1020),(1790,'Luxembourg','WLX',1020),(1791,'Namur','WNA',1020),(1792,'Oost-Vlaanderen','VOV',1020),(1793,'Vlaams-Brabant','VBR',1020),(1794,'West-Vlaanderen','VWV',1020),(1795,'Bale','BAL',1034),(1796,'Bam','BAM',1034),(1797,'Banwa','BAN',1034),(1798,'Bazega','BAZ',1034),(1799,'Bougouriba','BGR',1034),(1800,'Boulgou','BLG',1034),(1801,'Boulkiemde','BLK',1034),(1802,'Comoe','COM',1034),(1803,'Ganzourgou','GAN',1034),(1804,'Gnagna','GNA',1034),(1805,'Gourma','GOU',1034),(1806,'Houet','HOU',1034),(1807,'Ioba','IOB',1034),(1808,'Kadiogo','KAD',1034),(1809,'Kenedougou','KEN',1034),(1810,'Komondjari','KMD',1034),(1811,'Kompienga','KMP',1034),(1812,'Kossi','KOS',1034),(1813,'Koulpulogo','KOP',1034),(1814,'Kouritenga','KOT',1034),(1815,'Kourweogo','KOW',1034),(1816,'Leraba','LER',1034),(1817,'Loroum','LOR',1034),(1818,'Mouhoun','MOU',1034),(1819,'Nahouri','NAO',1034),(1820,'Namentenga','NAM',1034),(1821,'Nayala','NAY',1034),(1822,'Noumbiel','NOU',1034),(1823,'Oubritenga','OUB',1034),(1824,'Oudalan','OUD',1034),(1825,'Passore','PAS',1034),(1826,'Poni','PON',1034),(1827,'Sanguie','SNG',1034),(1828,'Sanmatenga','SMT',1034),(1829,'Seno','SEN',1034),(1830,'Siasili','SIS',1034),(1831,'Soum','SOM',1034),(1832,'Sourou','SOR',1034),(1833,'Tapoa','TAP',1034),(1834,'Tui','TUI',1034),(1835,'Yagha','YAG',1034),(1836,'Yatenga','YAT',1034),(1837,'Ziro','ZIR',1034),(1838,'Zondoma','ZON',1034),(1839,'Zoundweogo','ZOU',1034),(1840,'Blagoevgrad','01',1033),(1841,'Burgas','02',1033),(1842,'Dobrich','08',1033),(1843,'Gabrovo','07',1033),(1844,'Haskovo','26',1033),(1845,'Yambol','28',1033),(1846,'Kardzhali','09',1033),(1847,'Kyustendil','10',1033),(1848,'Lovech','11',1033),(1849,'Montana','12',1033),(1850,'Pazardzhik','13',1033),(1851,'Pernik','14',1033),(1852,'Pleven','15',1033),(1853,'Plovdiv','16',1033),(1854,'Razgrad','17',1033),(1855,'Ruse','18',1033),(1856,'Silistra','19',1033),(1857,'Sliven','20',1033),(1858,'Smolyan','21',1033),(1859,'Sofia','23',1033),(1860,'Stara Zagora','24',1033),(1861,'Shumen','27',1033),(1862,'Targovishte','25',1033),(1863,'Varna','03',1033),(1864,'Veliko Tarnovo','04',1033),(1865,'Vidin','05',1033),(1866,'Vratsa','06',1033),(1867,'Al Hadd','01',1016),(1868,'Al Manamah','03',1016),(1869,'Al Mintaqah al Gharbiyah','10',1016),(1870,'Al Mintagah al Wusta','07',1016),(1871,'Al Mintaqah ash Shamaliyah','05',1016),(1872,'Al Muharraq','02',1016),(1873,'Ar Rifa','09',1016),(1874,'Jidd Hafs','04',1016),(1875,'Madluat Jamad','12',1016),(1876,'Madluat Isa','08',1016),(1877,'Mintaqat Juzur tawar','11',1016),(1878,'Sitrah','06',1016),(1879,'Bubanza','BB',1036),(1880,'Bujumbura','BJ',1036),(1881,'Bururi','BR',1036),(1882,'Cankuzo','CA',1036),(1883,'Cibitoke','CI',1036),(1884,'Gitega','GI',1036),(1885,'Karuzi','KR',1036),(1886,'Kayanza','KY',1036),(1887,'Makamba','MA',1036),(1888,'Muramvya','MU',1036),(1889,'Mwaro','MW',1036),(1890,'Ngozi','NG',1036),(1891,'Rutana','RT',1036),(1892,'Ruyigi','RY',1036),(1893,'Alibori','AL',1022),(1894,'Atakora','AK',1022),(1895,'Atlantique','AQ',1022),(1896,'Borgou','BO',1022),(1897,'Collines','CO',1022),(1898,'Donga','DO',1022),(1899,'Kouffo','KO',1022),(1900,'Littoral','LI',1022),(1901,'Mono','MO',1022),(1902,'Oueme','OU',1022),(1903,'Plateau','PL',1022),(1904,'Zou','ZO',1022),(1905,'Belait','BE',1032),(1906,'Brunei-Muara','BM',1032),(1907,'Temburong','TE',1032),(1908,'Tutong','TU',1032),(1909,'Cochabamba','C',1025),(1910,'Chuquisaca','H',1025),(1911,'El Beni','B',1025),(1912,'La Paz','L',1025),(1913,'Oruro','O',1025),(1914,'Pando','N',1025),(1915,'Potosi','P',1025),(1916,'Tarija','T',1025),(1917,'Acre','AC',1029),(1918,'Alagoas','AL',1029),(1919,'Amazonas','AM',1029),(1920,'Amapa','AP',1029),(1921,'Bahia','BA',1029),(1922,'Ceara','CE',1029),(1923,'Distrito Federal','DF',1029),(1924,'Espirito Santo','ES',1029),(1926,'Goias','GO',1029),(1927,'Maranhao','MA',1029),(1928,'Minas Gerais','MG',1029),(1929,'Mato Grosso do Sul','MS',1029),(1930,'Mato Grosso','MT',1029),(1931,'Para','PA',1029),(1932,'Paraiba','PB',1029),(1933,'Pernambuco','PE',1029),(1934,'Piaui','PI',1029),(1935,'Parana','PR',1029),(1936,'Rio de Janeiro','RJ',1029),(1937,'Rio Grande do Norte','RN',1029),(1938,'Rondonia','RO',1029),(1939,'Roraima','RR',1029),(1940,'Rio Grande do Sul','RS',1029),(1941,'Santa Catarina','SC',1029),(1942,'Sergipe','SE',1029),(1943,'Sao Paulo','SP',1029),(1944,'Tocantins','TO',1029),(1945,'Acklins and Crooked Islands','AC',1212),(1946,'Bimini','BI',1212),(1947,'Cat Island','CI',1212),(1948,'Exuma','EX',1212),(1955,'Inagua','IN',1212),(1957,'Long Island','LI',1212),(1959,'Mayaguana','MG',1212),(1960,'New Providence','NP',1212),(1962,'Ragged Island','RI',1212),(1966,'Bumthang','33',1024),(1967,'Chhukha','12',1024),(1968,'Dagana','22',1024),(1969,'Gasa','GA',1024),(1970,'Ha','13',1024),(1971,'Lhuentse','44',1024),(1972,'Monggar','42',1024),(1973,'Paro','11',1024),(1974,'Pemagatshel','43',1024),(1975,'Punakha','23',1024),(1976,'Samdrup Jongkha','45',1024),(1977,'Samtee','14',1024),(1978,'Sarpang','31',1024),(1979,'Thimphu','15',1024),(1980,'Trashigang','41',1024),(1981,'Trashi Yangtse','TY',1024),(1982,'Trongsa','32',1024),(1983,'Tsirang','21',1024),(1984,'Wangdue Phodrang','24',1024),(1985,'Zhemgang','34',1024),(1986,'Central','CE',1027),(1987,'Ghanzi','GH',1027),(1988,'Kgalagadi','KG',1027),(1989,'Kgatleng','KL',1027),(1990,'Kweneng','KW',1027),(1991,'Ngamiland','NG',1027),(1992,'North-East','NE',1027),(1993,'North-West','NW',1027),(1994,'South-East','SE',1027),(1995,'Southern','SO',1027),(1996,'Brèsckaja voblasc\'','BR',1019),(1997,'Homel\'skaja voblasc\'','HO',1019),(1998,'Hrodzenskaja voblasc\'','HR',1019),(1999,'Mahilëuskaja voblasc\'','MA',1019),(2000,'Minskaja voblasc\'','MI',1019),(2001,'Vicebskaja voblasc\'','VI',1019),(2002,'Belize','BZ',1021),(2003,'Cayo','CY',1021),(2004,'Corozal','CZL',1021),(2005,'Orange Walk','OW',1021),(2006,'Stann Creek','SC',1021),(2007,'Toledo','TOL',1021),(2008,'Kinshasa','KN',1050),(2011,'Equateur','EQ',1050),(2014,'Kasai-Oriental','KE',1050),(2016,'Maniema','MA',1050),(2017,'Nord-Kivu','NK',1050),(2019,'Sud-Kivu','SK',1050),(2020,'Bangui','BGF',1042),(2021,'Bamingui-Bangoran','BB',1042),(2022,'Basse-Kotto','BK',1042),(2023,'Haute-Kotto','HK',1042),(2024,'Haut-Mbomou','HM',1042),(2025,'Kemo','KG',1042),(2026,'Lobaye','LB',1042),(2027,'Mambere-Kadei','HS',1042),(2028,'Mbomou','MB',1042),(2029,'Nana-Grebizi','KB',1042),(2030,'Nana-Mambere','NM',1042),(2031,'Ombella-Mpoko','MP',1042),(2032,'Ouaka','UK',1042),(2033,'Ouham','AC',1042),(2034,'Ouham-Pende','OP',1042),(2035,'Sangha-Mbaere','SE',1042),(2036,'Vakaga','VR',1042),(2037,'Brazzaville','BZV',1051),(2038,'Bouenza','11',1051),(2039,'Cuvette','8',1051),(2040,'Cuvette-Ouest','15',1051),(2041,'Kouilou','5',1051),(2042,'Lekoumou','2',1051),(2043,'Likouala','7',1051),(2044,'Niari','9',1051),(2045,'Plateaux','14',1051),(2046,'Pool','12',1051),(2047,'Sangha','13',1051),(2048,'Aargau','AG',1205),(2049,'Appenzell Innerrhoden','AI',1205),(2050,'Appenzell Ausserrhoden','AR',1205),(2051,'Bern','BE',1205),(2052,'Basel-Landschaft','BL',1205),(2053,'Basel-Stadt','BS',1205),(2054,'Fribourg','FR',1205),(2055,'Geneva','GE',1205),(2056,'Glarus','GL',1205),(2057,'Graubunden','GR',1205),(2058,'Jura','JU',1205),(2059,'Luzern','LU',1205),(2060,'Neuchatel','NE',1205),(2061,'Nidwalden','NW',1205),(2062,'Obwalden','OW',1205),(2063,'Sankt Gallen','SG',1205),(2064,'Schaffhausen','SH',1205),(2065,'Solothurn','SO',1205),(2066,'Schwyz','SZ',1205),(2067,'Thurgau','TG',1205),(2068,'Ticino','TI',1205),(2069,'Uri','UR',1205),(2070,'Vaud','VD',1205),(2071,'Valais','VS',1205),(2072,'Zug','ZG',1205),(2073,'Zurich','ZH',1205),(2074,'18 Montagnes','06',1054),(2075,'Agnebi','16',1054),(2076,'Bas-Sassandra','09',1054),(2077,'Denguele','10',1054),(2078,'Haut-Sassandra','02',1054),(2079,'Lacs','07',1054),(2080,'Lagunes','01',1054),(2081,'Marahoue','12',1054),(2082,'Moyen-Comoe','05',1054),(2083,'Nzi-Comoe','11',1054),(2084,'Savanes','03',1054),(2085,'Sud-Bandama','15',1054),(2086,'Sud-Comoe','13',1054),(2087,'Vallee du Bandama','04',1054),(2088,'Worodouqou','14',1054),(2089,'Zanzan','08',1054),(2090,'Aisen del General Carlos Ibanez del Campo','AI',1044),(2091,'Antofagasta','AN',1044),(2092,'Araucania','AR',1044),(2093,'Atacama','AT',1044),(2094,'Bio-Bio','BI',1044),(2095,'Coquimbo','CO',1044),(2096,'Libertador General Bernardo O\'Higgins','LI',1044),(2097,'Los Lagos','LL',1044),(2098,'Magallanes','MA',1044),(2099,'Maule','ML',1044),(2100,'Santiago Metropolitan','SM',1044),(2101,'Tarapaca','TA',1044),(2102,'Valparaiso','VS',1044),(2103,'Adamaoua','AD',1038),(2104,'Centre','CE',1038),(2105,'East','ES',1038),(2106,'Far North','EN',1038),(2107,'North','NO',1038),(2108,'South','SW',1038),(2109,'South-West','SW',1038),(2110,'West','OU',1038),(2111,'Beijing','11',1045),(2112,'Chongqing','50',1045),(2113,'Shanghai','31',1045),(2114,'Tianjin','12',1045),(2115,'Anhui','34',1045),(2116,'Fujian','35',1045),(2117,'Gansu','62',1045),(2118,'Guangdong','44',1045),(2119,'Guizhou','52',1045),(2120,'Hainan','46',1045),(2121,'Hebei','13',1045),(2122,'Heilongjiang','23',1045),(2123,'Henan','41',1045),(2124,'Hubei','42',1045),(2125,'Hunan','43',1045),(2126,'Jiangsu','32',1045),(2127,'Jiangxi','36',1045),(2128,'Jilin','22',1045),(2129,'Liaoning','21',1045),(2130,'Qinghai','63',1045),(2131,'Shaanxi','61',1045),(2132,'Shandong','37',1045),(2133,'Shanxi','14',1045),(2134,'Sichuan','51',1045),(2135,'Taiwan','71',1045),(2136,'Yunnan','53',1045),(2137,'Zhejiang','33',1045),(2138,'Guangxi','45',1045),(2139,'Neia Mongol (mn)','15',1045),(2140,'Xinjiang','65',1045),(2141,'Xizang','54',1045),(2142,'Hong Kong','91',1045),(2143,'Macau','92',1045),(2144,'Distrito Capital de Bogotá','DC',1048),(2145,'Amazonea','AMA',1048),(2146,'Antioquia','ANT',1048),(2147,'Arauca','ARA',1048),(2148,'Atlántico','ATL',1048),(2149,'Bolívar','BOL',1048),(2150,'Boyacá','BOY',1048),(2151,'Caldea','CAL',1048),(2152,'Caquetá','CAQ',1048),(2153,'Casanare','CAS',1048),(2154,'Cauca','CAU',1048),(2155,'Cesar','CES',1048),(2156,'Córdoba','COR',1048),(2157,'Cundinamarca','CUN',1048),(2158,'Chocó','CHO',1048),(2159,'Guainía','GUA',1048),(2160,'Guaviare','GUV',1048),(2161,'La Guajira','LAG',1048),(2162,'Magdalena','MAG',1048),(2163,'Meta','MET',1048),(2164,'Nariño','NAR',1048),(2165,'Norte de Santander','NSA',1048),(2166,'Putumayo','PUT',1048),(2167,'Quindio','QUI',1048),(2168,'Risaralda','RIS',1048),(2169,'San Andrés, Providencia y Santa Catalina','SAP',1048),(2170,'Santander','SAN',1048),(2171,'Sucre','SUC',1048),(2172,'Tolima','TOL',1048),(2173,'Valle del Cauca','VAC',1048),(2174,'Vaupés','VAU',1048),(2175,'Vichada','VID',1048),(2176,'Alajuela','A',1053),(2177,'Cartago','C',1053),(2178,'Guanacaste','G',1053),(2179,'Heredia','H',1053),(2180,'Limon','L',1053),(2181,'Puntarenas','P',1053),(2182,'San Jose','SJ',1053),(2183,'Camagey','09',1056),(2184,'Ciego de `vila','08',1056),(2185,'Cienfuegos','06',1056),(2186,'Ciudad de La Habana','03',1056),(2187,'Granma','12',1056),(2188,'Guantanamo','14',1056),(2189,'Holquin','11',1056),(2190,'La Habana','02',1056),(2191,'Las Tunas','10',1056),(2192,'Matanzas','04',1056),(2193,'Pinar del Rio','01',1056),(2194,'Sancti Spiritus','07',1056),(2195,'Santiago de Cuba','13',1056),(2196,'Villa Clara','05',1056),(2197,'Isla de la Juventud','99',1056),(2198,'Pinar del Roo','PR',1056),(2199,'Ciego de Avila','CA',1056),(2200,'Camagoey','CG',1056),(2201,'Holgun','HO',1056),(2202,'Sancti Spritus','SS',1056),(2203,'Municipio Especial Isla de la Juventud','IJ',1056),(2204,'Boa Vista','BV',1040),(2205,'Brava','BR',1040),(2206,'Calheta de Sao Miguel','CS',1040),(2207,'Fogo','FO',1040),(2208,'Maio','MA',1040),(2209,'Mosteiros','MO',1040),(2210,'Paul','PA',1040),(2211,'Porto Novo','PN',1040),(2212,'Praia','PR',1040),(2213,'Ribeira Grande','RG',1040),(2214,'Sal','SL',1040),(2215,'Sao Domingos','SD',1040),(2216,'Sao Filipe','SF',1040),(2217,'Sao Nicolau','SN',1040),(2218,'Sao Vicente','SV',1040),(2219,'Tarrafal','TA',1040),(2220,'Ammochostos Magusa','04',1057),(2221,'Keryneia','06',1057),(2222,'Larnaka','03',1057),(2223,'Lefkosia','01',1057),(2224,'Lemesos','02',1057),(2225,'Pafos','05',1057),(2226,'Jihočeský kraj','JC',1058),(2227,'Jihomoravský kraj','JM',1058),(2228,'Karlovarský kraj','KA',1058),(2229,'Královéhradecký kraj','KR',1058),(2230,'Liberecký kraj','LI',1058),(2231,'Moravskoslezský kraj','MO',1058),(2232,'Olomoucký kraj','OL',1058),(2233,'Pardubický kraj','PA',1058),(2234,'Plzeňský kraj','PL',1058),(2235,'Praha, hlavní město','PR',1058),(2236,'Středočeský kraj','ST',1058),(2237,'Ústecký kraj','US',1058),(2238,'Vysočina','VY',1058),(2239,'Zlínský kraj','ZL',1058),(2240,'Baden-Württemberg','BW',1082),(2241,'Bayern','BY',1082),(2242,'Bremen','HB',1082),(2243,'Hamburg','HH',1082),(2244,'Hessen','HE',1082),(2245,'Niedersachsen','NI',1082),(2246,'Nordrhein-Westfalen','NW',1082),(2247,'Rheinland-Pfalz','RP',1082),(2248,'Saarland','SL',1082),(2249,'Schleswig-Holstein','SH',1082),(2250,'Berlin','BE',1082),(2251,'Brandenburg','BB',1082),(2252,'Mecklenburg-Vorpommern','MV',1082),(2253,'Sachsen','SN',1082),(2254,'Sachsen-Anhalt','ST',1082),(2255,'Thüringen','TH',1082),(2256,'Ali Sabiah','AS',1060),(2257,'Dikhil','DI',1060),(2258,'Djibouti','DJ',1060),(2259,'Obock','OB',1060),(2260,'Tadjoura','TA',1060),(2261,'Frederiksberg','147',1059),(2262,'Copenhagen City','101',1059),(2263,'Copenhagen','015',1059),(2264,'Frederiksborg','020',1059),(2265,'Roskilde','025',1059),(2266,'Vestsjælland','030',1059),(2267,'Storstrøm','035',1059),(2268,'Bornholm','040',1059),(2269,'Fyn','042',1059),(2270,'South Jutland','050',1059),(2271,'Ribe','055',1059),(2272,'Vejle','060',1059),(2273,'Ringkjøbing','065',1059),(2274,'Århus','070',1059),(2275,'Viborg','076',1059),(2276,'North Jutland','080',1059),(2277,'Distrito Nacional (Santo Domingo)','01',1062),(2278,'Azua','02',1062),(2279,'Bahoruco','03',1062),(2280,'Barahona','04',1062),(2281,'Dajabón','05',1062),(2282,'Duarte','06',1062),(2283,'El Seybo [El Seibo]','08',1062),(2284,'Espaillat','09',1062),(2285,'Hato Mayor','30',1062),(2286,'Independencia','10',1062),(2287,'La Altagracia','11',1062),(2288,'La Estrelleta [Elias Pina]','07',1062),(2289,'La Romana','12',1062),(2290,'La Vega','13',1062),(2291,'Maroia Trinidad Sánchez','14',1062),(2292,'Monseñor Nouel','28',1062),(2293,'Monte Cristi','15',1062),(2294,'Monte Plata','29',1062),(2295,'Pedernales','16',1062),(2296,'Peravia','17',1062),(2297,'Puerto Plata','18',1062),(2298,'Salcedo','19',1062),(2299,'Samaná','20',1062),(2300,'San Cristóbal','21',1062),(2301,'San Pedro de Macorís','23',1062),(2302,'Sánchez Ramírez','24',1062),(2303,'Santiago','25',1062),(2304,'Santiago Rodríguez','26',1062),(2305,'Valverde','27',1062),(2306,'Adrar','01',1003),(2307,'Ain Defla','44',1003),(2308,'Ain Tmouchent','46',1003),(2309,'Alger','16',1003),(2310,'Annaba','23',1003),(2311,'Batna','05',1003),(2312,'Bechar','08',1003),(2313,'Bejaia','06',1003),(2314,'Biskra','07',1003),(2315,'Blida','09',1003),(2316,'Bordj Bou Arreridj','34',1003),(2317,'Bouira','10',1003),(2318,'Boumerdes','35',1003),(2319,'Chlef','02',1003),(2320,'Constantine','25',1003),(2321,'Djelfa','17',1003),(2322,'El Bayadh','32',1003),(2323,'El Oued','39',1003),(2324,'El Tarf','36',1003),(2325,'Ghardaia','47',1003),(2326,'Guelma','24',1003),(2327,'Illizi','33',1003),(2328,'Jijel','18',1003),(2329,'Khenchela','40',1003),(2330,'Laghouat','03',1003),(2331,'Mascara','29',1003),(2332,'Medea','26',1003),(2333,'Mila','43',1003),(2334,'Mostaganem','27',1003),(2335,'Msila','28',1003),(2336,'Naama','45',1003),(2337,'Oran','31',1003),(2338,'Ouargla','30',1003),(2339,'Oum el Bouaghi','04',1003),(2340,'Relizane','48',1003),(2341,'Saida','20',1003),(2342,'Setif','19',1003),(2343,'Sidi Bel Abbes','22',1003),(2344,'Skikda','21',1003),(2345,'Souk Ahras','41',1003),(2346,'Tamanghasset','11',1003),(2347,'Tebessa','12',1003),(2348,'Tiaret','14',1003),(2349,'Tindouf','37',1003),(2350,'Tipaza','42',1003),(2351,'Tissemsilt','38',1003),(2352,'Tizi Ouzou','15',1003),(2353,'Tlemcen','13',1003),(2354,'Azuay','A',1064),(2355,'Bolivar','B',1064),(2356,'Canar','F',1064),(2357,'Carchi','C',1064),(2358,'Cotopaxi','X',1064),(2359,'Chimborazo','H',1064),(2360,'El Oro','O',1064),(2361,'Esmeraldas','E',1064),(2362,'Galapagos','W',1064),(2363,'Guayas','G',1064),(2364,'Imbabura','I',1064),(2365,'Loja','L',1064),(2366,'Los Rios','R',1064),(2367,'Manabi','M',1064),(2368,'Morona-Santiago','S',1064),(2369,'Napo','N',1064),(2370,'Orellana','D',1064),(2371,'Pastaza','Y',1064),(2372,'Pichincha','P',1064),(2373,'Sucumbios','U',1064),(2374,'Tungurahua','T',1064),(2375,'Zamora-Chinchipe','Z',1064),(2376,'Harjumaa','37',1069),(2377,'Hiiumaa','39',1069),(2378,'Ida-Virumaa','44',1069),(2379,'Jõgevamaa','49',1069),(2380,'Järvamaa','51',1069),(2381,'Läänemaa','57',1069),(2382,'Lääne-Virumaa','59',1069),(2383,'Põlvamaa','65',1069),(2384,'Pärnumaa','67',1069),(2385,'Raplamaa','70',1069),(2386,'Saaremaa','74',1069),(2387,'Tartumaa','7B',1069),(2388,'Valgamaa','82',1069),(2389,'Viljandimaa','84',1069),(2390,'Võrumaa','86',1069),(2391,'Ad Daqahllyah','DK',1065),(2392,'Al Bahr al Ahmar','BA',1065),(2393,'Al Buhayrah','BH',1065),(2394,'Al Fayym','FYM',1065),(2395,'Al Gharbiyah','GH',1065),(2396,'Al Iskandarlyah','ALX',1065),(2397,'Al Isma illyah','IS',1065),(2398,'Al Jizah','GZ',1065),(2399,'Al Minuflyah','MNF',1065),(2400,'Al Minya','MN',1065),(2401,'Al Qahirah','C',1065),(2402,'Al Qalyublyah','KB',1065),(2403,'Al Wadi al Jadid','WAD',1065),(2404,'Ash Sharqiyah','SHR',1065),(2405,'As Suways','SUZ',1065),(2406,'Aswan','ASN',1065),(2407,'Asyut','AST',1065),(2408,'Bani Suwayf','BNS',1065),(2409,'Bur Sa\'id','PTS',1065),(2410,'Dumyat','DT',1065),(2411,'Janub Sina\'','JS',1065),(2412,'Kafr ash Shaykh','KFS',1065),(2413,'Matruh','MT',1065),(2414,'Qina','KN',1065),(2415,'Shamal Sina\'','SIN',1065),(2416,'Suhaj','SHG',1065),(2417,'Anseba','AN',1068),(2418,'Debub','DU',1068),(2419,'Debubawi Keyih Bahri [Debub-Keih-Bahri]','DK',1068),(2420,'Gash-Barka','GB',1068),(2421,'Maakel [Maekel]','MA',1068),(2422,'Semenawi Keyih Bahri [Semien-Keih-Bahri]','SK',1068),(2423,'Álava','VI',1198),(2424,'Albacete','AB',1198),(2425,'Alicante','A',1198),(2426,'Almería','AL',1198),(2427,'Asturias','O',1198),(2428,'Ávila','AV',1198),(2429,'Badajoz','BA',1198),(2430,'Baleares','PM',1198),(2431,'Barcelona','B',1198),(2432,'Burgos','BU',1198),(2433,'Cáceres','CC',1198),(2434,'Cádiz','CA',1198),(2435,'Cantabria','S',1198),(2436,'Castellón','CS',1198),(2437,'Ciudad Real','CR',1198),(2438,'Cuenca','CU',1198),(2439,'Girona [Gerona]','GE',1198),(2440,'Granada','GR',1198),(2441,'Guadalajara','GU',1198),(2442,'Guipúzcoa','SS',1198),(2443,'Huelva','H',1198),(2444,'Huesca','HU',1198),(2445,'Jaén','J',1198),(2446,'La Coruña','C',1198),(2447,'La Rioja','LO',1198),(2448,'Las Palmas','GC',1198),(2449,'León','LE',1198),(2450,'Lleida [Lérida]','L',1198),(2451,'Lugo','LU',1198),(2452,'Madrid','M',1198),(2453,'Málaga','MA',1198),(2454,'Murcia','MU',1198),(2455,'Navarra','NA',1198),(2456,'Ourense','OR',1198),(2457,'Palencia','P',1198),(2458,'Pontevedra','PO',1198),(2459,'Salamanca','SA',1198),(2460,'Santa Cruz de Tenerife','TF',1198),(2461,'Segovia','SG',1198),(2462,'Sevilla','SE',1198),(2463,'Soria','SO',1198),(2464,'Tarragona','T',1198),(2465,'Teruel','TE',1198),(2466,'Valencia','V',1198),(2467,'Valladolid','VA',1198),(2468,'Vizcaya','BI',1198),(2469,'Zamora','ZA',1198),(2470,'Zaragoza','Z',1198),(2471,'Ceuta','CE',1198),(2472,'Melilla','ML',1198),(2473,'Addis Ababa','AA',1070),(2474,'Dire Dawa','DD',1070),(2475,'Afar','AF',1070),(2476,'Amara','AM',1070),(2477,'Benshangul-Gumaz','BE',1070),(2478,'Gambela Peoples','GA',1070),(2479,'Harari People','HA',1070),(2480,'Oromia','OR',1070),(2481,'Somali','SO',1070),(2482,'Southern Nations, Nationalities and Peoples','SN',1070),(2483,'Tigrai','TI',1070),(2490,'Eastern','E',1074),(2491,'Northern','N',1074),(2492,'Western','W',1074),(2493,'Rotuma','R',1074),(2494,'Chuuk','TRK',1141),(2495,'Kosrae','KSA',1141),(2496,'Pohnpei','PNI',1141),(2497,'Yap','YAP',1141),(2498,'Ain','01',1076),(2499,'Aisne','02',1076),(2500,'Allier','03',1076),(2501,'Alpes-de-Haute-Provence','04',1076),(2502,'Alpes-Maritimes','06',1076),(2503,'Ardèche','07',1076),(2504,'Ardennes','08',1076),(2505,'Ariège','09',1076),(2506,'Aube','10',1076),(2507,'Aude','11',1076),(2508,'Aveyron','12',1076),(2509,'Bas-Rhin','67',1076),(2510,'Bouches-du-Rhône','13',1076),(2511,'Calvados','14',1076),(2512,'Cantal','15',1076),(2513,'Charente','16',1076),(2514,'Charente-Maritime','17',1076),(2515,'Cher','18',1076),(2516,'Corrèze','19',1076),(2517,'Corse-du-Sud','20A',1076),(2518,'Côte-d\'Or','21',1076),(2519,'Côtes-d\'Armor','22',1076),(2520,'Creuse','23',1076),(2521,'Deux-Sèvres','79',1076),(2522,'Dordogne','24',1076),(2523,'Doubs','25',1076),(2524,'Drôme','26',1076),(2525,'Essonne','91',1076),(2526,'Eure','27',1076),(2527,'Eure-et-Loir','28',1076),(2528,'Finistère','29',1076),(2529,'Gard','30',1076),(2530,'Gers','32',1076),(2531,'Gironde','33',1076),(2532,'Haut-Rhin','68',1076),(2533,'Haute-Corse','20B',1076),(2534,'Haute-Garonne','31',1076),(2535,'Haute-Loire','43',1076),(2536,'Haute-Saône','70',1076),(2537,'Haute-Savoie','74',1076),(2538,'Haute-Vienne','87',1076),(2539,'Hautes-Alpes','05',1076),(2540,'Hautes-Pyrénées','65',1076),(2541,'Hauts-de-Seine','92',1076),(2542,'Hérault','34',1076),(2543,'Indre','36',1076),(2544,'Ille-et-Vilaine','35',1076),(2545,'Indre-et-Loire','37',1076),(2546,'Isère','38',1076),(2547,'Landes','40',1076),(2548,'Loir-et-Cher','41',1076),(2549,'Loire','42',1076),(2550,'Loire-Atlantique','44',1076),(2551,'Loiret','45',1076),(2552,'Lot','46',1076),(2553,'Lot-et-Garonne','47',1076),(2554,'Lozère','48',1076),(2555,'Maine-et-Loire','49',1076),(2556,'Manche','50',1076),(2557,'Marne','51',1076),(2558,'Mayenne','53',1076),(2559,'Meurthe-et-Moselle','54',1076),(2560,'Meuse','55',1076),(2561,'Morbihan','56',1076),(2562,'Moselle','57',1076),(2563,'Nièvre','58',1076),(2564,'Nord','59',1076),(2565,'Oise','60',1076),(2566,'Orne','61',1076),(2567,'Paris','75',1076),(2568,'Pas-de-Calais','62',1076),(2569,'Puy-de-Dôme','63',1076),(2570,'Pyrénées-Atlantiques','64',1076),(2571,'Pyrénées-Orientales','66',1076),(2572,'Rhône','69',1076),(2573,'Saône-et-Loire','71',1076),(2574,'Sarthe','72',1076),(2575,'Savoie','73',1076),(2576,'Seine-et-Marne','77',1076),(2577,'Seine-Maritime','76',1076),(2578,'Seine-Saint-Denis','93',1076),(2579,'Somme','80',1076),(2580,'Tarn','81',1076),(2581,'Tarn-et-Garonne','82',1076),(2582,'Val d\'Oise','95',1076),(2583,'Territoire de Belfort','90',1076),(2584,'Val-de-Marne','94',1076),(2585,'Var','83',1076),(2586,'Vaucluse','84',1076),(2587,'Vendée','85',1076),(2588,'Vienne','86',1076),(2589,'Vosges','88',1076),(2590,'Yonne','89',1076),(2591,'Yvelines','78',1076),(2592,'Aberdeen City','ABE',1226),(2593,'Aberdeenshire','ABD',1226),(2594,'Angus','ANS',1226),(2595,'Co Antrim','ANT',1226),(2597,'Argyll and Bute','AGB',1226),(2598,'Co Armagh','ARM',1226),(2606,'Bedfordshire','BDF',1226),(2612,'Gwent','BGW',1226),(2620,'Bristol, City of','BST',1226),(2622,'Buckinghamshire','BKM',1226),(2626,'Cambridgeshire','CAM',1226),(2634,'Cheshire','CHS',1226),(2635,'Clackmannanshire','CLK',1226),(2639,'Cornwall','CON',1226),(2643,'Cumbria','CMA',1226),(2647,'Derbyshire','DBY',1226),(2648,'Co Londonderry','DRY',1226),(2649,'Devon','DEV',1226),(2651,'Dorset','DOR',1226),(2652,'Co Down','DOW',1226),(2654,'Dumfries and Galloway','DGY',1226),(2655,'Dundee City','DND',1226),(2657,'County Durham','DUR',1226),(2659,'East Ayrshire','EAY',1226),(2660,'East Dunbartonshire','EDU',1226),(2661,'East Lothian','ELN',1226),(2662,'East Renfrewshire','ERW',1226),(2663,'East Riding of Yorkshire','ERY',1226),(2664,'East Sussex','ESX',1226),(2665,'Edinburgh, City of','EDH',1226),(2666,'Na h-Eileanan Siar','ELS',1226),(2668,'Essex','ESS',1226),(2669,'Falkirk','FAL',1226),(2670,'Co Fermanagh','FER',1226),(2671,'Fife','FIF',1226),(2674,'Glasgow City','GLG',1226),(2675,'Gloucestershire','GLS',1226),(2678,'Gwynedd','GWN',1226),(2682,'Hampshire','HAM',1226),(2687,'Herefordshire','HEF',1226),(2688,'Hertfordshire','HRT',1226),(2689,'Highland','HED',1226),(2692,'Inverclyde','IVC',1226),(2694,'Isle of Wight','IOW',1226),(2699,'Kent','KEN',1226),(2705,'Lancashire','LAN',1226),(2709,'Leicestershire','LEC',1226),(2712,'Lincolnshire','LIN',1226),(2723,'Midlothian','MLN',1226),(2726,'Moray','MRY',1226),(2734,'Norfolk','NFK',1226),(2735,'North Ayrshire','NAY',1226),(2738,'North Lanarkshire','NLK',1226),(2742,'North Yorkshire','NYK',1226),(2743,'Northamptonshire','NTH',1226),(2744,'Northumberland','NBL',1226),(2746,'Nottinghamshire','NTT',1226),(2747,'Oldham','OLD',1226),(2748,'Omagh','OMH',1226),(2749,'Orkney Islands','ORR',1226),(2750,'Oxfordshire','OXF',1226),(2752,'Perth and Kinross','PKN',1226),(2757,'Powys','POW',1226),(2761,'Renfrewshire','RFW',1226),(2766,'Rutland','RUT',1226),(2770,'Scottish Borders','SCB',1226),(2773,'Shetland Islands','ZET',1226),(2774,'Shropshire','SHR',1226),(2777,'Somerset','SOM',1226),(2778,'South Ayrshire','SAY',1226),(2779,'South Gloucestershire','SGC',1226),(2780,'South Lanarkshire','SLK',1226),(2785,'Staffordshire','STS',1226),(2786,'Stirling','STG',1226),(2791,'Suffolk','SFK',1226),(2793,'Surrey','SRY',1226),(2804,'Mid Glamorgan','VGL',1226),(2811,'Warwickshire','WAR',1226),(2813,'West Dunbartonshire','WDU',1226),(2814,'West Lothian','WLN',1226),(2815,'West Sussex','WSX',1226),(2818,'Wiltshire','WIL',1226),(2823,'Worcestershire','WOR',1226),(2826,'Ashanti','AH',1083),(2827,'Brong-Ahafo','BA',1083),(2828,'Greater Accra','AA',1083),(2829,'Upper East','UE',1083),(2830,'Upper West','UW',1083),(2831,'Volta','TV',1083),(2832,'Banjul','B',1213),(2833,'Lower River','L',1213),(2834,'MacCarthy Island','M',1213),(2835,'North Bank','N',1213),(2836,'Upper River','U',1213),(2837,'Beyla','BE',1091),(2838,'Boffa','BF',1091),(2839,'Boke','BK',1091),(2840,'Coyah','CO',1091),(2841,'Dabola','DB',1091),(2842,'Dalaba','DL',1091),(2843,'Dinguiraye','DI',1091),(2844,'Dubreka','DU',1091),(2845,'Faranah','FA',1091),(2846,'Forecariah','FO',1091),(2847,'Fria','FR',1091),(2848,'Gaoual','GA',1091),(2849,'Guekedou','GU',1091),(2850,'Kankan','KA',1091),(2851,'Kerouane','KE',1091),(2852,'Kindia','KD',1091),(2853,'Kissidougou','KS',1091),(2854,'Koubia','KB',1091),(2855,'Koundara','KN',1091),(2856,'Kouroussa','KO',1091),(2857,'Labe','LA',1091),(2858,'Lelouma','LE',1091),(2859,'Lola','LO',1091),(2860,'Macenta','MC',1091),(2861,'Mali','ML',1091),(2862,'Mamou','MM',1091),(2863,'Mandiana','MD',1091),(2864,'Nzerekore','NZ',1091),(2865,'Pita','PI',1091),(2866,'Siguiri','SI',1091),(2867,'Telimele','TE',1091),(2868,'Tougue','TO',1091),(2869,'Yomou','YO',1091),(2870,'Region Continental','C',1067),(2871,'Region Insular','I',1067),(2872,'Annobon','AN',1067),(2873,'Bioko Norte','BN',1067),(2874,'Bioko Sur','BS',1067),(2875,'Centro Sur','CS',1067),(2876,'Kie-Ntem','KN',1067),(2877,'Litoral','LI',1067),(2878,'Wele-Nzas','WN',1067),(2879,'Achaïa','13',1085),(2880,'Aitolia-Akarnania','01',1085),(2881,'Argolis','11',1085),(2882,'Arkadia','12',1085),(2883,'Arta','31',1085),(2884,'Attiki','A1',1085),(2885,'Chalkidiki','64',1085),(2886,'Chania','94',1085),(2887,'Chios','85',1085),(2888,'Dodekanisos','81',1085),(2889,'Drama','52',1085),(2890,'Evros','71',1085),(2891,'Evrytania','05',1085),(2892,'Evvoia','04',1085),(2893,'Florina','63',1085),(2894,'Fokis','07',1085),(2895,'Fthiotis','06',1085),(2896,'Grevena','51',1085),(2897,'Ileia','14',1085),(2898,'Imathia','53',1085),(2899,'Ioannina','33',1085),(2900,'Irakleion','91',1085),(2901,'Karditsa','41',1085),(2902,'Kastoria','56',1085),(2903,'Kavalla','55',1085),(2904,'Kefallinia','23',1085),(2905,'Kerkyra','22',1085),(2906,'Kilkis','57',1085),(2907,'Korinthia','15',1085),(2908,'Kozani','58',1085),(2909,'Kyklades','82',1085),(2910,'Lakonia','16',1085),(2911,'Larisa','42',1085),(2912,'Lasithion','92',1085),(2913,'Lefkas','24',1085),(2914,'Lesvos','83',1085),(2915,'Magnisia','43',1085),(2916,'Messinia','17',1085),(2917,'Pella','59',1085),(2918,'Preveza','34',1085),(2919,'Rethymnon','93',1085),(2920,'Rodopi','73',1085),(2921,'Samos','84',1085),(2922,'Serrai','62',1085),(2923,'Thesprotia','32',1085),(2924,'Thessaloniki','54',1085),(2925,'Trikala','44',1085),(2926,'Voiotia','03',1085),(2927,'Xanthi','72',1085),(2928,'Zakynthos','21',1085),(2929,'Agio Oros','69',1085),(2930,'Alta Verapaz','AV',1090),(2931,'Baja Verapaz','BV',1090),(2932,'Chimaltenango','CM',1090),(2933,'Chiquimula','CQ',1090),(2934,'El Progreso','PR',1090),(2935,'Escuintla','ES',1090),(2936,'Guatemala','GU',1090),(2937,'Huehuetenango','HU',1090),(2938,'Izabal','IZ',1090),(2939,'Jalapa','JA',1090),(2940,'Jutiapa','JU',1090),(2941,'Peten','PE',1090),(2942,'Quetzaltenango','QZ',1090),(2943,'Quiche','QC',1090),(2944,'Retalhuleu','RE',1090),(2945,'Sacatepequez','SA',1090),(2946,'San Marcos','SM',1090),(2947,'Santa Rosa','SR',1090),(2948,'Sololá','SO',1090),(2949,'Suchitepequez','SU',1090),(2950,'Totonicapan','TO',1090),(2951,'Zacapa','ZA',1090),(2952,'Bissau','BS',1092),(2953,'Bafata','BA',1092),(2954,'Biombo','BM',1092),(2955,'Bolama','BL',1092),(2956,'Cacheu','CA',1092),(2957,'Gabu','GA',1092),(2958,'Oio','OI',1092),(2959,'Quloara','QU',1092),(2960,'Tombali S','TO',1092),(2961,'Barima-Waini','BA',1093),(2962,'Cuyuni-Mazaruni','CU',1093),(2963,'Demerara-Mahaica','DE',1093),(2964,'East Berbice-Corentyne','EB',1093),(2965,'Essequibo Islands-West Demerara','ES',1093),(2966,'Mahaica-Berbice','MA',1093),(2967,'Pomeroon-Supenaam','PM',1093),(2968,'Potaro-Siparuni','PT',1093),(2969,'Upper Demerara-Berbice','UD',1093),(2970,'Upper Takutu-Upper Essequibo','UT',1093),(2971,'Atlantida','AT',1097),(2972,'Colon','CL',1097),(2973,'Comayagua','CM',1097),(2974,'Copan','CP',1097),(2975,'Cortes','CR',1097),(2976,'Choluteca','CH',1097),(2977,'El Paraiso','EP',1097),(2978,'Francisco Morazan','FM',1097),(2979,'Gracias a Dios','GD',1097),(2980,'Intibuca','IN',1097),(2981,'Islas de la Bahia','IB',1097),(2982,'Lempira','LE',1097),(2983,'Ocotepeque','OC',1097),(2984,'Olancho','OL',1097),(2985,'Santa Barbara','SB',1097),(2986,'Valle','VA',1097),(2987,'Yoro','YO',1097),(2988,'Bjelovarsko-bilogorska zupanija','07',1055),(2989,'Brodsko-posavska zupanija','12',1055),(2990,'Dubrovacko-neretvanska zupanija','19',1055),(2991,'Istarska zupanija','18',1055),(2992,'Karlovacka zupanija','04',1055),(2993,'Koprivnickco-krizevacka zupanija','06',1055),(2994,'Krapinako-zagorska zupanija','02',1055),(2995,'Licko-senjska zupanija','09',1055),(2996,'Medimurska zupanija','20',1055),(2997,'Osjecko-baranjska zupanija','14',1055),(2998,'Pozesko-slavonska zupanija','11',1055),(2999,'Primorsko-goranska zupanija','08',1055),(3000,'Sisacko-moelavacka Iupanija','03',1055),(3001,'Splitako-dalmatinska zupanija','17',1055),(3002,'Sibenako-kninska zupanija','15',1055),(3003,'Varaidinska zupanija','05',1055),(3004,'VirovitiEko-podravska zupanija','10',1055),(3005,'VuRovarako-srijemska zupanija','16',1055),(3006,'Zadaraka','13',1055),(3007,'Zagrebacka zupanija','01',1055),(3008,'Grande-Anse','GA',1094),(3009,'Nord-Est','NE',1094),(3010,'Nord-Ouest','NO',1094),(3011,'Ouest','OU',1094),(3012,'Sud','SD',1094),(3013,'Sud-Est','SE',1094),(3014,'Budapest','BU',1099),(3015,'Bács-Kiskun','BK',1099),(3016,'Baranya','BA',1099),(3017,'Békés','BE',1099),(3018,'Borsod-Abaúj-Zemplén','BZ',1099),(3019,'Csongrád','CS',1099),(3020,'Fejér','FE',1099),(3021,'Győr-Moson-Sopron','GS',1099),(3022,'Hajdu-Bihar','HB',1099),(3023,'Heves','HE',1099),(3024,'Jász-Nagykun-Szolnok','JN',1099),(3025,'Komárom-Esztergom','KE',1099),(3026,'Nográd','NO',1099),(3027,'Pest','PE',1099),(3028,'Somogy','SO',1099),(3029,'Szabolcs-Szatmár-Bereg','SZ',1099),(3030,'Tolna','TO',1099),(3031,'Vas','VA',1099),(3032,'Veszprém','VE',1099),(3033,'Zala','ZA',1099),(3034,'Békéscsaba','BC',1099),(3035,'Debrecen','DE',1099),(3036,'Dunaújváros','DU',1099),(3037,'Eger','EG',1099),(3038,'Győr','GY',1099),(3039,'Hódmezővásárhely','HV',1099),(3040,'Kaposvár','KV',1099),(3041,'Kecskemét','KM',1099),(3042,'Miskolc','MI',1099),(3043,'Nagykanizsa','NK',1099),(3044,'Nyiregyháza','NY',1099),(3045,'Pécs','PS',1099),(3046,'Salgótarján','ST',1099),(3047,'Sopron','SN',1099),(3048,'Szeged','SD',1099),(3049,'Székesfehérvár','SF',1099),(3050,'Szekszárd','SS',1099),(3051,'Szolnok','SK',1099),(3052,'Szombathely','SH',1099),(3053,'Tatabánya','TB',1099),(3054,'Zalaegerszeg','ZE',1099),(3055,'Bali','BA',1102),(3056,'Kepulauan Bangka Belitung','BB',1102),(3057,'Banten','BT',1102),(3058,'Bengkulu','BE',1102),(3059,'Gorontalo','GO',1102),(3060,'Papua Barat','PB',1102),(3061,'Jambi','JA',1102),(3062,'Jawa Barat','JB',1102),(3063,'Jawa Tengah','JT',1102),(3064,'Jawa Timur','JI',1102),(3065,'Kalimantan Barat','KB',1102),(3066,'Kalimantan Timur','KI',1102),(3067,'Kalimantan Selatan','KS',1102),(3068,'Kepulauan Riau','KR',1102),(3069,'Lampung','LA',1102),(3070,'Maluku','MA',1102),(3071,'Maluku Utara','MU',1102),(3072,'Nusa Tenggara Barat','NB',1102),(3073,'Nusa Tenggara Timur','NT',1102),(3074,'Papua','PA',1102),(3075,'Riau','RI',1102),(3076,'Sulawesi Selatan','SN',1102),(3077,'Sulawesi Tengah','ST',1102),(3078,'Sulawesi Tenggara','SG',1102),(3079,'Sulawesi Utara','SA',1102),(3080,'Sumatra Barat','SB',1102),(3081,'Sumatra Selatan','SS',1102),(3082,'Sumatera Utara','SU',1102),(3083,'DKI Jakarta','JK',1102),(3084,'Aceh','AC',1102),(3085,'DI Yogyakarta','YO',1102),(3086,'Cork','C',1105),(3087,'Clare','CE',1105),(3088,'Cavan','CN',1105),(3089,'Carlow','CW',1105),(3090,'Dublin','D',1105),(3091,'Donegal','DL',1105),(3092,'Galway','G',1105),(3093,'Kildare','KE',1105),(3094,'Kilkenny','KK',1105),(3095,'Kerry','KY',1105),(3096,'Longford','LD',1105),(3097,'Louth','LH',1105),(3098,'Limerick','LK',1105),(3099,'Leitrim','LM',1105),(3100,'Laois','LS',1105),(3101,'Meath','MH',1105),(3102,'Monaghan','MN',1105),(3103,'Mayo','MO',1105),(3104,'Offaly','OY',1105),(3105,'Roscommon','RN',1105),(3106,'Sligo','SO',1105),(3107,'Tipperary','TA',1105),(3108,'Waterford','WD',1105),(3109,'Westmeath','WH',1105),(3110,'Wicklow','WW',1105),(3111,'Wexford','WX',1105),(3112,'HaDarom','D',1106),(3113,'HaMerkaz','M',1106),(3114,'HaZafon','Z',1106),(3115,'Haifa','HA',1106),(3116,'Tel-Aviv','TA',1106),(3117,'Jerusalem','JM',1106),(3118,'Al Anbar','AN',1104),(3119,'Al Ba,rah','BA',1104),(3120,'Al Muthanna','MU',1104),(3121,'Al Qadisiyah','QA',1104),(3122,'An Najef','NA',1104),(3123,'Arbil','AR',1104),(3124,'As Sulaymaniyah','SW',1104),(3125,'At Ta\'mim','TS',1104),(3126,'Babil','BB',1104),(3127,'Baghdad','BG',1104),(3128,'Dahuk','DA',1104),(3129,'Dhi Qar','DQ',1104),(3130,'Diyala','DI',1104),(3131,'Karbala\'','KA',1104),(3132,'Maysan','MA',1104),(3133,'Ninawa','NI',1104),(3134,'Salah ad Din','SD',1104),(3135,'Wasit','WA',1104),(3136,'Ardabil','03',1103),(3137,'Azarbayjan-e Gharbi','02',1103),(3138,'Azarbayjan-e Sharqi','01',1103),(3139,'Bushehr','06',1103),(3140,'Chahar Mahall va Bakhtiari','08',1103),(3141,'Esfahan','04',1103),(3142,'Fars','14',1103),(3143,'Gilan','19',1103),(3144,'Golestan','27',1103),(3145,'Hamadan','24',1103),(3146,'Hormozgan','23',1103),(3147,'Iiam','05',1103),(3148,'Kerman','15',1103),(3149,'Kermanshah','17',1103),(3150,'Khorasan','09',1103),(3151,'Khuzestan','10',1103),(3152,'Kohjiluyeh va Buyer Ahmad','18',1103),(3153,'Kordestan','16',1103),(3154,'Lorestan','20',1103),(3155,'Markazi','22',1103),(3156,'Mazandaran','21',1103),(3157,'Qazvin','28',1103),(3158,'Qom','26',1103),(3159,'Semnan','12',1103),(3160,'Sistan va Baluchestan','13',1103),(3161,'Tehran','07',1103),(3162,'Yazd','25',1103),(3163,'Zanjan','11',1103),(3164,'Austurland','7',1100),(3165,'Hofuoborgarsvaeoi utan Reykjavikur','1',1100),(3166,'Norourland eystra','6',1100),(3167,'Norourland vestra','5',1100),(3168,'Reykjavik','0',1100),(3169,'Suourland','8',1100),(3170,'Suournes','2',1100),(3171,'Vestfirolr','4',1100),(3172,'Vesturland','3',1100),(3173,'Agrigento','AG',1107),(3174,'Alessandria','AL',1107),(3175,'Ancona','AN',1107),(3176,'Aosta','AO',1107),(3177,'Arezzo','AR',1107),(3178,'Ascoli Piceno','AP',1107),(3179,'Asti','AT',1107),(3180,'Avellino','AV',1107),(3181,'Bari','BA',1107),(3182,'Belluno','BL',1107),(3183,'Benevento','BN',1107),(3184,'Bergamo','BG',1107),(3185,'Biella','BI',1107),(3186,'Bologna','BO',1107),(3187,'Bolzano','BZ',1107),(3188,'Brescia','BS',1107),(3189,'Brindisi','BR',1107),(3190,'Cagliari','CA',1107),(3191,'Caltanissetta','CL',1107),(3192,'Campobasso','CB',1107),(3193,'Caserta','CE',1107),(3194,'Catania','CT',1107),(3195,'Catanzaro','CZ',1107),(3196,'Chieti','CH',1107),(3197,'Como','CO',1107),(3198,'Cosenza','CS',1107),(3199,'Cremona','CR',1107),(3200,'Crotone','KR',1107),(3201,'Cuneo','CN',1107),(3202,'Enna','EN',1107),(3203,'Ferrara','FE',1107),(3204,'Firenze','FI',1107),(3205,'Foggia','FG',1107),(3206,'Forlì-Cesena','FC',1107),(3207,'Frosinone','FR',1107),(3208,'Genova','GE',1107),(3209,'Gorizia','GO',1107),(3210,'Grosseto','GR',1107),(3211,'Imperia','IM',1107),(3212,'Isernia','IS',1107),(3213,'L\'Aquila','AQ',1107),(3214,'La Spezia','SP',1107),(3215,'Latina','LT',1107),(3216,'Lecce','LE',1107),(3217,'Lecco','LC',1107),(3218,'Livorno','LI',1107),(3219,'Lodi','LO',1107),(3220,'Lucca','LU',1107),(3221,'Macerata','MC',1107),(3222,'Mantova','MN',1107),(3223,'Massa-Carrara','MS',1107),(3224,'Matera','MT',1107),(3225,'Messina','ME',1107),(3226,'Milano','MI',1107),(3227,'Modena','MO',1107),(3228,'Napoli','NA',1107),(3229,'Novara','NO',1107),(3230,'Nuoro','NU',1107),(3231,'Oristano','OR',1107),(3232,'Padova','PD',1107),(3233,'Palermo','PA',1107),(3234,'Parma','PR',1107),(3235,'Pavia','PV',1107),(3236,'Perugia','PG',1107),(3237,'Pesaro e Urbino','PU',1107),(3238,'Pescara','PE',1107),(3239,'Piacenza','PC',1107),(3240,'Pisa','PI',1107),(3241,'Pistoia','PT',1107),(3242,'Pordenone','PN',1107),(3243,'Potenza','PZ',1107),(3244,'Prato','PO',1107),(3245,'Ragusa','RG',1107),(3246,'Ravenna','RA',1107),(3247,'Reggio Calabria','RC',1107),(3248,'Reggio Emilia','RE',1107),(3249,'Rieti','RI',1107),(3250,'Rimini','RN',1107),(3251,'Roma','RM',1107),(3252,'Rovigo','RO',1107),(3253,'Salerno','SA',1107),(3254,'Sassari','SS',1107),(3255,'Savona','SV',1107),(3256,'Siena','SI',1107),(3257,'Siracusa','SR',1107),(3258,'Sondrio','SO',1107),(3259,'Taranto','TA',1107),(3260,'Teramo','TE',1107),(3261,'Terni','TR',1107),(3262,'Torino','TO',1107),(3263,'Trapani','TP',1107),(3264,'Trento','TN',1107),(3265,'Treviso','TV',1107),(3266,'Trieste','TS',1107),(3267,'Udine','UD',1107),(3268,'Varese','VA',1107),(3269,'Venezia','VE',1107),(3270,'Verbano-Cusio-Ossola','VB',1107),(3271,'Vercelli','VC',1107),(3272,'Verona','VR',1107),(3273,'Vibo Valentia','VV',1107),(3274,'Vicenza','VI',1107),(3275,'Viterbo','VT',1107),(3276,'Aichi','23',1109),(3277,'Akita','05',1109),(3278,'Aomori','02',1109),(3279,'Chiba','12',1109),(3280,'Ehime','38',1109),(3281,'Fukui','18',1109),(3282,'Fukuoka','40',1109),(3283,'Fukusima','07',1109),(3284,'Gifu','21',1109),(3285,'Gunma','10',1109),(3286,'Hiroshima','34',1109),(3287,'Hokkaido','01',1109),(3288,'Hyogo','28',1109),(3289,'Ibaraki','08',1109),(3290,'Ishikawa','17',1109),(3291,'Iwate','03',1109),(3292,'Kagawa','37',1109),(3293,'Kagoshima','46',1109),(3294,'Kanagawa','14',1109),(3295,'Kochi','39',1109),(3296,'Kumamoto','43',1109),(3297,'Kyoto','26',1109),(3298,'Mie','24',1109),(3299,'Miyagi','04',1109),(3300,'Miyazaki','45',1109),(3301,'Nagano','20',1109),(3302,'Nagasaki','42',1109),(3303,'Nara','29',1109),(3304,'Niigata','15',1109),(3305,'Oita','44',1109),(3306,'Okayama','33',1109),(3307,'Okinawa','47',1109),(3308,'Osaka','27',1109),(3309,'Saga','41',1109),(3310,'Saitama','11',1109),(3311,'Shiga','25',1109),(3312,'Shimane','32',1109),(3313,'Shizuoka','22',1109),(3314,'Tochigi','09',1109),(3315,'Tokushima','36',1109),(3316,'Tokyo','13',1109),(3317,'Tottori','31',1109),(3318,'Toyama','16',1109),(3319,'Wakayama','30',1109),(3320,'Yamagata','06',1109),(3321,'Yamaguchi','35',1109),(3322,'Yamanashi','19',1109),(3323,'Clarendon','CN',1108),(3324,'Hanover','HR',1108),(3325,'Kingston','KN',1108),(3326,'Portland','PD',1108),(3327,'Saint Andrew','AW',1108),(3328,'Saint Ann','AN',1108),(3329,'Saint Catherine','CE',1108),(3330,'Saint Elizabeth','EH',1108),(3331,'Saint James','JS',1108),(3332,'Saint Mary','MY',1108),(3333,'Saint Thomas','TS',1108),(3334,'Trelawny','TY',1108),(3335,'Westmoreland','WD',1108),(3336,'Ajln','AJ',1110),(3337,'Al \'Aqaba','AQ',1110),(3338,'Al Balqa\'','BA',1110),(3339,'Al Karak','KA',1110),(3340,'Al Mafraq','MA',1110),(3341,'Amman','AM',1110),(3342,'At Tafilah','AT',1110),(3343,'Az Zarga','AZ',1110),(3344,'Irbid','JR',1110),(3345,'Jarash','JA',1110),(3346,'Ma\'an','MN',1110),(3347,'Madaba','MD',1110),(3353,'Bishkek','GB',1117),(3354,'Batken','B',1117),(3355,'Chu','C',1117),(3356,'Jalal-Abad','J',1117),(3357,'Naryn','N',1117),(3358,'Osh','O',1117),(3359,'Talas','T',1117),(3360,'Ysyk-Kol','Y',1117),(3361,'Krong Kaeb','23',1037),(3362,'Krong Pailin','24',1037),(3363,'Xrong Preah Sihanouk','18',1037),(3364,'Phnom Penh','12',1037),(3365,'Baat Dambang','2',1037),(3366,'Banteay Mean Chey','1',1037),(3367,'Rampong Chaam','3',1037),(3368,'Kampong Chhnang','4',1037),(3369,'Kampong Spueu','5',1037),(3370,'Kampong Thum','6',1037),(3371,'Kampot','7',1037),(3372,'Kandaal','8',1037),(3373,'Kach Kong','9',1037),(3374,'Krachoh','10',1037),(3375,'Mondol Kiri','11',1037),(3376,'Otdar Mean Chey','22',1037),(3377,'Pousaat','15',1037),(3378,'Preah Vihear','13',1037),(3379,'Prey Veaeng','14',1037),(3380,'Rotanak Kiri','16',1037),(3381,'Siem Reab','17',1037),(3382,'Stueng Traeng','19',1037),(3383,'Svaay Rieng','20',1037),(3384,'Taakaev','21',1037),(3385,'Gilbert Islands','G',1113),(3386,'Line Islands','L',1113),(3387,'Phoenix Islands','P',1113),(3388,'Anjouan Ndzouani','A',1049),(3389,'Grande Comore Ngazidja','G',1049),(3390,'Moheli Moili','M',1049),(3391,'Kaesong-si','KAE',1114),(3392,'Nampo-si','NAM',1114),(3393,'Pyongyang-ai','PYO',1114),(3394,'Chagang-do','CHA',1114),(3395,'Hamgyongbuk-do','HAB',1114),(3396,'Hamgyongnam-do','HAN',1114),(3397,'Hwanghaebuk-do','HWB',1114),(3398,'Hwanghaenam-do','HWN',1114),(3399,'Kangwon-do','KAN',1114),(3400,'Pyonganbuk-do','PYB',1114),(3401,'Pyongannam-do','PYN',1114),(3402,'Yanggang-do','YAN',1114),(3403,'Najin Sonbong-si','NAJ',1114),(3404,'Seoul Teugbyeolsi','11',1115),(3405,'Busan Gwang\'yeogsi','26',1115),(3406,'Daegu Gwang\'yeogsi','27',1115),(3407,'Daejeon Gwang\'yeogsi','30',1115),(3408,'Gwangju Gwang\'yeogsi','29',1115),(3409,'Incheon Gwang\'yeogsi','28',1115),(3410,'Ulsan Gwang\'yeogsi','31',1115),(3411,'Chungcheongbugdo','43',1115),(3412,'Chungcheongnamdo','44',1115),(3413,'Gang\'weondo','42',1115),(3414,'Gyeonggido','41',1115),(3415,'Gyeongsangbugdo','47',1115),(3416,'Gyeongsangnamdo','48',1115),(3417,'Jejudo','49',1115),(3418,'Jeonrabugdo','45',1115),(3419,'Jeonranamdo','46',1115),(3420,'Al Ahmadi','AH',1116),(3421,'Al Farwanlyah','FA',1116),(3422,'Al Jahrah','JA',1116),(3423,'Al Kuwayt','KU',1116),(3424,'Hawalli','HA',1116),(3425,'Almaty','ALA',1111),(3426,'Astana','AST',1111),(3427,'Almaty oblysy','ALM',1111),(3428,'Aqmola oblysy','AKM',1111),(3429,'Aqtobe oblysy','AKT',1111),(3430,'Atyrau oblyfiy','ATY',1111),(3431,'Batys Quzaqstan oblysy','ZAP',1111),(3432,'Mangghystau oblysy','MAN',1111),(3433,'Ongtustik Quzaqstan oblysy','YUZ',1111),(3434,'Pavlodar oblysy','PAV',1111),(3435,'Qaraghandy oblysy','KAR',1111),(3436,'Qostanay oblysy','KUS',1111),(3437,'Qyzylorda oblysy','KZY',1111),(3438,'Shyghys Quzaqstan oblysy','VOS',1111),(3439,'Soltustik Quzaqstan oblysy','SEV',1111),(3440,'Zhambyl oblysy Zhambylskaya oblast\'','ZHA',1111),(3441,'Vientiane','VT',1118),(3442,'Attapu','AT',1118),(3443,'Bokeo','BK',1118),(3444,'Bolikhamxai','BL',1118),(3445,'Champasak','CH',1118),(3446,'Houaphan','HO',1118),(3447,'Khammouan','KH',1118),(3448,'Louang Namtha','LM',1118),(3449,'Louangphabang','LP',1118),(3450,'Oudomxai','OU',1118),(3451,'Phongsali','PH',1118),(3452,'Salavan','SL',1118),(3453,'Savannakhet','SV',1118),(3454,'Xaignabouli','XA',1118),(3455,'Xiasomboun','XN',1118),(3456,'Xekong','XE',1118),(3457,'Xiangkhoang','XI',1118),(3458,'Beirut','BA',1120),(3459,'Beqaa','BI',1120),(3460,'Mount Lebanon','JL',1120),(3461,'North Lebanon','AS',1120),(3462,'South Lebanon','JA',1120),(3463,'Nabatieh','NA',1120),(3464,'Ampara','52',1199),(3465,'Anuradhapura','71',1199),(3466,'Badulla','81',1199),(3467,'Batticaloa','51',1199),(3468,'Colombo','11',1199),(3469,'Galle','31',1199),(3470,'Gampaha','12',1199),(3471,'Hambantota','33',1199),(3472,'Jaffna','41',1199),(3473,'Kalutara','13',1199),(3474,'Kandy','21',1199),(3475,'Kegalla','92',1199),(3476,'Kilinochchi','42',1199),(3477,'Kurunegala','61',1199),(3478,'Mannar','43',1199),(3479,'Matale','22',1199),(3480,'Matara','32',1199),(3481,'Monaragala','82',1199),(3482,'Mullaittivu','45',1199),(3483,'Nuwara Eliya','23',1199),(3484,'Polonnaruwa','72',1199),(3485,'Puttalum','62',1199),(3486,'Ratnapura','91',1199),(3487,'Trincomalee','53',1199),(3488,'VavunLya','44',1199),(3489,'Bomi','BM',1122),(3490,'Bong','BG',1122),(3491,'Grand Basaa','GB',1122),(3492,'Grand Cape Mount','CM',1122),(3493,'Grand Gedeh','GG',1122),(3494,'Grand Kru','GK',1122),(3495,'Lofa','LO',1122),(3496,'Margibi','MG',1122),(3497,'Maryland','MY',1122),(3498,'Montserrado','MO',1122),(3499,'Nimba','NI',1122),(3500,'Rivercess','RI',1122),(3501,'Sinoe','SI',1122),(3502,'Berea','D',1121),(3503,'Butha-Buthe','B',1121),(3504,'Leribe','C',1121),(3505,'Mafeteng','E',1121),(3506,'Maseru','A',1121),(3507,'Mohale\'s Hoek','F',1121),(3508,'Mokhotlong','J',1121),(3509,'Qacha\'s Nek','H',1121),(3510,'Quthing','G',1121),(3511,'Thaba-Tseka','K',1121),(3512,'Alytaus Apskritis','AL',1125),(3513,'Kauno Apskritis','KU',1125),(3514,'Klaipėdos Apskritis','KL',1125),(3515,'Marijampolės Apskritis','MR',1125),(3516,'Panevėžio Apskritis','PN',1125),(3517,'Šiaulių Apskritis','SA',1125),(3518,'Tauragės Apskritis','TA',1125),(3519,'Telšių Apskritis','TE',1125),(3520,'Utenos Apskritis','UT',1125),(3521,'Vilniaus Apskritis','VL',1125),(3522,'Diekirch','D',1126),(3523,'GreveNmacher','G',1126),(3550,'Daugavpils','DGV',1119),(3551,'Jelgava','JEL',1119),(3552,'Jūrmala','JUR',1119),(3553,'Liepāja','LPX',1119),(3554,'Rēzekne','REZ',1119),(3555,'Rīga','RIX',1119),(3556,'Ventspils','VEN',1119),(3557,'Ajdābiyā','AJ',1123),(3558,'Al Buţnān','BU',1123),(3559,'Al Hizām al Akhdar','HZ',1123),(3560,'Al Jabal al Akhdar','JA',1123),(3561,'Al Jifārah','JI',1123),(3562,'Al Jufrah','JU',1123),(3563,'Al Kufrah','KF',1123),(3564,'Al Marj','MJ',1123),(3565,'Al Marqab','MB',1123),(3566,'Al Qaţrūn','QT',1123),(3567,'Al Qubbah','QB',1123),(3568,'Al Wāhah','WA',1123),(3569,'An Nuqaţ al Khams','NQ',1123),(3570,'Ash Shāţi\'','SH',1123),(3571,'Az Zāwiyah','ZA',1123),(3572,'Banghāzī','BA',1123),(3573,'Banī Walīd','BW',1123),(3574,'Darnah','DR',1123),(3575,'Ghadāmis','GD',1123),(3576,'Gharyān','GR',1123),(3577,'Ghāt','GT',1123),(3578,'Jaghbūb','JB',1123),(3579,'Mişrātah','MI',1123),(3580,'Mizdah','MZ',1123),(3581,'Murzuq','MQ',1123),(3582,'Nālūt','NL',1123),(3583,'Sabhā','SB',1123),(3584,'Şabrātah Şurmān','SS',1123),(3585,'Surt','SR',1123),(3586,'Tājūrā\' wa an Nawāhī al Arbāh','TN',1123),(3587,'Ţarābulus','TB',1123),(3588,'Tarhūnah-Masallātah','TM',1123),(3589,'Wādī al hayāt','WD',1123),(3590,'Yafran-Jādū','YJ',1123),(3591,'Agadir','AGD',1146),(3592,'Aït Baha','BAH',1146),(3593,'Aït Melloul','MEL',1146),(3594,'Al Haouz','HAO',1146),(3595,'Al Hoceïma','HOC',1146),(3596,'Assa-Zag','ASZ',1146),(3597,'Azilal','AZI',1146),(3598,'Beni Mellal','BEM',1146),(3599,'Ben Sllmane','BES',1146),(3600,'Berkane','BER',1146),(3601,'Boujdour','BOD',1146),(3602,'Boulemane','BOM',1146),(3603,'Casablanca  [Dar el Beïda]','CAS',1146),(3604,'Chefchaouene','CHE',1146),(3605,'Chichaoua','CHI',1146),(3606,'El Hajeb','HAJ',1146),(3607,'El Jadida','JDI',1146),(3608,'Errachidia','ERR',1146),(3609,'Essaouira','ESI',1146),(3610,'Es Smara','ESM',1146),(3611,'Fès','FES',1146),(3612,'Figuig','FIG',1146),(3613,'Guelmim','GUE',1146),(3614,'Ifrane','IFR',1146),(3615,'Jerada','JRA',1146),(3616,'Kelaat Sraghna','KES',1146),(3617,'Kénitra','KEN',1146),(3618,'Khemisaet','KHE',1146),(3619,'Khenifra','KHN',1146),(3620,'Khouribga','KHO',1146),(3621,'Laâyoune (EH)','LAA',1146),(3622,'Larache','LAP',1146),(3623,'Marrakech','MAR',1146),(3624,'Meknsès','MEK',1146),(3625,'Nador','NAD',1146),(3626,'Ouarzazate','OUA',1146),(3627,'Oued ed Dahab (EH)','OUD',1146),(3628,'Oujda','OUJ',1146),(3629,'Rabat-Salé','RBA',1146),(3630,'Safi','SAF',1146),(3631,'Sefrou','SEF',1146),(3632,'Settat','SET',1146),(3633,'Sidl Kacem','SIK',1146),(3634,'Tanger','TNG',1146),(3635,'Tan-Tan','TNT',1146),(3636,'Taounate','TAO',1146),(3637,'Taroudannt','TAR',1146),(3638,'Tata','TAT',1146),(3639,'Taza','TAZ',1146),(3640,'Tétouan','TET',1146),(3641,'Tiznit','TIZ',1146),(3642,'Gagauzia, Unitate Teritoriala Autonoma','GA',1142),(3643,'Chisinau','CU',1142),(3644,'Stinga Nistrului, unitatea teritoriala din','SN',1142),(3645,'Balti','BA',1142),(3646,'Cahul','CA',1142),(3647,'Edinet','ED',1142),(3648,'Lapusna','LA',1142),(3649,'Orhei','OR',1142),(3650,'Soroca','SO',1142),(3651,'Taraclia','TA',1142),(3652,'Tighina [Bender]','TI',1142),(3653,'Ungheni','UN',1142),(3654,'Antananarivo','T',1129),(3655,'Antsiranana','D',1129),(3656,'Fianarantsoa','F',1129),(3657,'Mahajanga','M',1129),(3658,'Toamasina','A',1129),(3659,'Toliara','U',1129),(3660,'Ailinglapalap','ALL',1135),(3661,'Ailuk','ALK',1135),(3662,'Arno','ARN',1135),(3663,'Aur','AUR',1135),(3664,'Ebon','EBO',1135),(3665,'Eniwetok','ENI',1135),(3666,'Jaluit','JAL',1135),(3667,'Kili','KIL',1135),(3668,'Kwajalein','KWA',1135),(3669,'Lae','LAE',1135),(3670,'Lib','LIB',1135),(3671,'Likiep','LIK',1135),(3672,'Majuro','MAJ',1135),(3673,'Maloelap','MAL',1135),(3674,'Mejit','MEJ',1135),(3675,'Mili','MIL',1135),(3676,'Namorik','NMK',1135),(3677,'Namu','NMU',1135),(3678,'Rongelap','RON',1135),(3679,'Ujae','UJA',1135),(3680,'Ujelang','UJL',1135),(3681,'Utirik','UTI',1135),(3682,'Wotho','WTN',1135),(3683,'Wotje','WTJ',1135),(3684,'Bamako','BK0',1133),(3685,'Gao','7',1133),(3686,'Kayes','1',1133),(3687,'Kidal','8',1133),(3688,'Xoulikoro','2',1133),(3689,'Mopti','5',1133),(3690,'S69ou','4',1133),(3691,'Sikasso','3',1133),(3692,'Tombouctou','6',1133),(3693,'Ayeyarwady','07',1035),(3694,'Bago','02',1035),(3695,'Magway','03',1035),(3696,'Mandalay','04',1035),(3697,'Sagaing','01',1035),(3698,'Tanintharyi','05',1035),(3699,'Yangon','06',1035),(3700,'Chin','14',1035),(3701,'Kachin','11',1035),(3702,'Kayah','12',1035),(3703,'Kayin','13',1035),(3704,'Mon','15',1035),(3705,'Rakhine','16',1035),(3706,'Shan','17',1035),(3707,'Ulaanbaatar','1',1144),(3708,'Arhangay','073',1144),(3709,'Bayanhongor','069',1144),(3710,'Bayan-Olgiy','071',1144),(3711,'Bulgan','067',1144),(3712,'Darhan uul','037',1144),(3713,'Dornod','061',1144),(3714,'Dornogov,','063',1144),(3715,'DundgovL','059',1144),(3716,'Dzavhan','057',1144),(3717,'Govi-Altay','065',1144),(3718,'Govi-Smber','064',1144),(3719,'Hentiy','039',1144),(3720,'Hovd','043',1144),(3721,'Hovsgol','041',1144),(3722,'Omnogovi','053',1144),(3723,'Orhon','035',1144),(3724,'Ovorhangay','055',1144),(3725,'Selenge','049',1144),(3726,'Shbaatar','051',1144),(3727,'Tov','047',1144),(3728,'Uvs','046',1144),(3729,'Nouakchott','NKC',1137),(3730,'Assaba','03',1137),(3731,'Brakna','05',1137),(3732,'Dakhlet Nouadhibou','08',1137),(3733,'Gorgol','04',1137),(3734,'Guidimaka','10',1137),(3735,'Hodh ech Chargui','01',1137),(3736,'Hodh el Charbi','02',1137),(3737,'Inchiri','12',1137),(3738,'Tagant','09',1137),(3739,'Tiris Zemmour','11',1137),(3740,'Trarza','06',1137),(3741,'Beau Bassin-Rose Hill','BR',1138),(3742,'Curepipe','CU',1138),(3743,'Port Louis','PU',1138),(3744,'Quatre Bornes','QB',1138),(3745,'Vacosa-Phoenix','VP',1138),(3746,'Black River','BL',1138),(3747,'Flacq','FL',1138),(3748,'Grand Port','GP',1138),(3749,'Moka','MO',1138),(3750,'Pamplemousses','PA',1138),(3751,'Plaines Wilhems','PW',1138),(3752,'Riviere du Rempart','RP',1138),(3753,'Savanne','SA',1138),(3754,'Agalega Islands','AG',1138),(3755,'Cargados Carajos Shoals','CC',1138),(3756,'Rodrigues Island','RO',1138),(3757,'Male','MLE',1132),(3758,'Alif','02',1132),(3759,'Baa','20',1132),(3760,'Dhaalu','17',1132),(3761,'Faafu','14',1132),(3762,'Gaaf Alif','27',1132),(3763,'Gaefu Dhaalu','28',1132),(3764,'Gnaviyani','29',1132),(3765,'Haa Alif','07',1132),(3766,'Haa Dhaalu','23',1132),(3767,'Kaafu','26',1132),(3768,'Laamu','05',1132),(3769,'Lhaviyani','03',1132),(3770,'Meemu','12',1132),(3771,'Noonu','25',1132),(3772,'Raa','13',1132),(3773,'Seenu','01',1132),(3774,'Shaviyani','24',1132),(3775,'Thaa','08',1132),(3776,'Vaavu','04',1132),(3777,'Balaka','BA',1130),(3778,'Blantyre','BL',1130),(3779,'Chikwawa','CK',1130),(3780,'Chiradzulu','CR',1130),(3781,'Chitipa','CT',1130),(3782,'Dedza','DE',1130),(3783,'Dowa','DO',1130),(3784,'Karonga','KR',1130),(3785,'Kasungu','KS',1130),(3786,'Likoma Island','LK',1130),(3787,'Lilongwe','LI',1130),(3788,'Machinga','MH',1130),(3789,'Mangochi','MG',1130),(3790,'Mchinji','MC',1130),(3791,'Mulanje','MU',1130),(3792,'Mwanza','MW',1130),(3793,'Mzimba','MZ',1130),(3794,'Nkhata Bay','NB',1130),(3795,'Nkhotakota','NK',1130),(3796,'Nsanje','NS',1130),(3797,'Ntcheu','NU',1130),(3798,'Ntchisi','NI',1130),(3799,'Phalomba','PH',1130),(3800,'Rumphi','RU',1130),(3801,'Salima','SA',1130),(3802,'Thyolo','TH',1130),(3803,'Zomba','ZO',1130),(3804,'Aguascalientes','AGU',1140),(3805,'Baja California','BCN',1140),(3806,'Baja California Sur','BCS',1140),(3807,'Campeche','CAM',1140),(3808,'Coahuila','COA',1140),(3809,'Colima','COL',1140),(3810,'Chiapas','CHP',1140),(3811,'Chihuahua','CHH',1140),(3812,'Durango','DUR',1140),(3813,'Guanajuato','GUA',1140),(3814,'Guerrero','GRO',1140),(3815,'Hidalgo','HID',1140),(3816,'Jalisco','JAL',1140),(3817,'Mexico','MEX',1140),(3818,'Michoacin','MIC',1140),(3819,'Morelos','MOR',1140),(3820,'Nayarit','NAY',1140),(3821,'Nuevo Leon','NLE',1140),(3822,'Oaxaca','OAX',1140),(3823,'Puebla','PUE',1140),(3824,'Queretaro','QUE',1140),(3825,'Quintana Roo','ROO',1140),(3826,'San Luis Potosi','SLP',1140),(3827,'Sinaloa','SIN',1140),(3828,'Sonora','SON',1140),(3829,'Tabasco','TAB',1140),(3830,'Tamaulipas','TAM',1140),(3831,'Tlaxcala','TLA',1140),(3832,'Veracruz','VER',1140),(3833,'Yucatan','YUC',1140),(3834,'Zacatecas','ZAC',1140),(3835,'Wilayah Persekutuan Kuala Lumpur','14',1131),(3836,'Wilayah Persekutuan Labuan','15',1131),(3837,'Wilayah Persekutuan Putrajaya','16',1131),(3838,'Johor','01',1131),(3839,'Kedah','02',1131),(3840,'Kelantan','03',1131),(3841,'Melaka','04',1131),(3842,'Negeri Sembilan','05',1131),(3843,'Pahang','06',1131),(3844,'Perak','08',1131),(3845,'Perlis','09',1131),(3846,'Pulau Pinang','07',1131),(3847,'Sabah','12',1131),(3848,'Sarawak','13',1131),(3849,'Selangor','10',1131),(3850,'Terengganu','11',1131),(3851,'Maputo','MPM',1147),(3852,'Cabo Delgado','P',1147),(3853,'Gaza','G',1147),(3854,'Inhambane','I',1147),(3855,'Manica','B',1147),(3856,'Numpula','N',1147),(3857,'Niaaea','A',1147),(3858,'Sofala','S',1147),(3859,'Tete','T',1147),(3860,'Zambezia','Q',1147),(3861,'Caprivi','CA',1148),(3862,'Erongo','ER',1148),(3863,'Hardap','HA',1148),(3864,'Karas','KA',1148),(3865,'Khomas','KH',1148),(3866,'Kunene','KU',1148),(3867,'Ohangwena','OW',1148),(3868,'Okavango','OK',1148),(3869,'Omaheke','OH',1148),(3870,'Omusati','OS',1148),(3871,'Oshana','ON',1148),(3872,'Oshikoto','OT',1148),(3873,'Otjozondjupa','OD',1148),(3874,'Niamey','8',1156),(3875,'Agadez','1',1156),(3876,'Diffa','2',1156),(3877,'Dosso','3',1156),(3878,'Maradi','4',1156),(3879,'Tahoua','S',1156),(3880,'Tillaberi','6',1156),(3881,'Zinder','7',1156),(3882,'Abuja Federal Capital Territory','FC',1157),(3883,'Abia','AB',1157),(3884,'Adamawa','AD',1157),(3885,'Akwa Ibom','AK',1157),(3886,'Anambra','AN',1157),(3887,'Bauchi','BA',1157),(3888,'Bayelsa','BY',1157),(3889,'Benue','BE',1157),(3890,'Borno','BO',1157),(3891,'Cross River','CR',1157),(3892,'Delta','DE',1157),(3893,'Ebonyi','EB',1157),(3894,'Edo','ED',1157),(3895,'Ekiti','EK',1157),(3896,'Enugu','EN',1157),(3897,'Gombe','GO',1157),(3898,'Imo','IM',1157),(3899,'Jigawa','JI',1157),(3900,'Kaduna','KD',1157),(3901,'Kano','KN',1157),(3902,'Katsina','KT',1157),(3903,'Kebbi','KE',1157),(3904,'Kogi','KO',1157),(3905,'Kwara','KW',1157),(3906,'Lagos','LA',1157),(3907,'Nassarawa','NA',1157),(3908,'Niger','NI',1157),(3909,'Ogun','OG',1157),(3910,'Ondo','ON',1157),(3911,'Osun','OS',1157),(3912,'Oyo','OY',1157),(3913,'Rivers','RI',1157),(3914,'Sokoto','SO',1157),(3915,'Taraba','TA',1157),(3916,'Yobe','YO',1157),(3917,'Zamfara','ZA',1157),(3918,'Boaco','BO',1155),(3919,'Carazo','CA',1155),(3920,'Chinandega','CI',1155),(3921,'Chontales','CO',1155),(3922,'Esteli','ES',1155),(3923,'Jinotega','JI',1155),(3924,'Leon','LE',1155),(3925,'Madriz','MD',1155),(3926,'Managua','MN',1155),(3927,'Masaya','MS',1155),(3928,'Matagalpa','MT',1155),(3929,'Nueva Segovia','NS',1155),(3930,'Rio San Juan','SJ',1155),(3931,'Rivas','RI',1155),(3932,'Atlantico Norte','AN',1155),(3933,'Atlantico Sur','AS',1155),(3934,'Drente','DR',1152),(3935,'Flevoland','FL',1152),(3936,'Friesland','FR',1152),(3937,'Gelderland','GL',1152),(3938,'Groningen','GR',1152),(3939,'Noord-Brabant','NB',1152),(3940,'Noord-Holland','NH',1152),(3941,'Overijssel','OV',1152),(3942,'Utrecht','UT',1152),(3943,'Zuid-Holland','ZH',1152),(3944,'Zeeland','ZL',1152),(3945,'Akershus','02',1161),(3946,'Aust-Agder','09',1161),(3947,'Buskerud','06',1161),(3948,'Finnmark','20',1161),(3949,'Hedmark','04',1161),(3950,'Hordaland','12',1161),(3951,'Møre og Romsdal','15',1161),(3952,'Nordland','18',1161),(3953,'Nord-Trøndelag','17',1161),(3954,'Oppland','05',1161),(3955,'Oslo','03',1161),(3956,'Rogaland','11',1161),(3957,'Sogn og Fjordane','14',1161),(3958,'Sør-Trøndelag','16',1161),(3959,'Telemark','06',1161),(3960,'Troms','19',1161),(3961,'Vest-Agder','10',1161),(3962,'Vestfold','07',1161),(3963,'Østfold','01',1161),(3964,'Jan Mayen','22',1161),(3965,'Svalbard','21',1161),(3966,'Auckland','AUK',1154),(3967,'Bay of Plenty','BOP',1154),(3968,'Canterbury','CAN',1154),(3969,'Gisborne','GIS',1154),(3970,'Hawkes Bay','HKB',1154),(3971,'Manawatu-Wanganui','MWT',1154),(3972,'Marlborough','MBH',1154),(3973,'Nelson','NSN',1154),(3974,'Northland','NTL',1154),(3975,'Otago','OTA',1154),(3976,'Southland','STL',1154),(3977,'Taranaki','TKI',1154),(3978,'Tasman','TAS',1154),(3979,'Waikato','WKO',1154),(3980,'Wellington','WGN',1154),(3981,'West Coast','WTC',1154),(3982,'Ad Dakhillyah','DA',1162),(3983,'Al Batinah','BA',1162),(3984,'Al Janblyah','JA',1162),(3985,'Al Wusta','WU',1162),(3986,'Ash Sharqlyah','SH',1162),(3987,'Az Zahirah','ZA',1162),(3988,'Masqat','MA',1162),(3989,'Musandam','MU',1162),(3990,'Bocas del Toro','1',1166),(3991,'Cocle','2',1166),(3992,'Chiriqui','4',1166),(3993,'Darien','5',1166),(3994,'Herrera','6',1166),(3995,'Loa Santoa','7',1166),(3996,'Panama','8',1166),(3997,'Veraguas','9',1166),(3998,'Comarca de San Blas','Q',1166),(3999,'El Callao','CAL',1169),(4000,'Ancash','ANC',1169),(4001,'Apurimac','APU',1169),(4002,'Arequipa','ARE',1169),(4003,'Ayacucho','AYA',1169),(4004,'Cajamarca','CAJ',1169),(4005,'Cuzco','CUS',1169),(4006,'Huancavelica','HUV',1169),(4007,'Huanuco','HUC',1169),(4008,'Ica','ICA',1169),(4009,'Junin','JUN',1169),(4010,'La Libertad','LAL',1169),(4011,'Lambayeque','LAM',1169),(4012,'Lima','LIM',1169),(4013,'Loreto','LOR',1169),(4014,'Madre de Dios','MDD',1169),(4015,'Moquegua','MOQ',1169),(4016,'Pasco','PAS',1169),(4017,'Piura','PIU',1169),(4018,'Puno','PUN',1169),(4019,'San Martin','SAM',1169),(4020,'Tacna','TAC',1169),(4021,'Tumbes','TUM',1169),(4022,'Ucayali','UCA',1169),(4023,'National Capital District (Port Moresby)','NCD',1167),(4024,'Chimbu','CPK',1167),(4025,'Eastern Highlands','EHG',1167),(4026,'East New Britain','EBR',1167),(4027,'East Sepik','ESW',1167),(4028,'Enga','EPW',1167),(4029,'Gulf','GPK',1167),(4030,'Madang','MPM',1167),(4031,'Manus','MRL',1167),(4032,'Milne Bay','MBA',1167),(4033,'Morobe','MPL',1167),(4034,'New Ireland','NIK',1167),(4035,'North Solomons','NSA',1167),(4036,'Santaun','SAN',1167),(4037,'Southern Highlands','SHM',1167),(4038,'Western Highlands','WHM',1167),(4039,'West New Britain','WBK',1167),(4040,'Abra','ABR',1170),(4041,'Agusan del Norte','AGN',1170),(4042,'Agusan del Sur','AGS',1170),(4043,'Aklan','AKL',1170),(4044,'Albay','ALB',1170),(4045,'Antique','ANT',1170),(4046,'Apayao','APA',1170),(4047,'Aurora','AUR',1170),(4048,'Basilan','BAS',1170),(4049,'Bataan','BAN',1170),(4050,'Batanes','BTN',1170),(4051,'Batangas','BTG',1170),(4052,'Benguet','BEN',1170),(4053,'Biliran','BIL',1170),(4054,'Bohol','BOH',1170),(4055,'Bukidnon','BUK',1170),(4056,'Bulacan','BUL',1170),(4057,'Cagayan','CAG',1170),(4058,'Camarines Norte','CAN',1170),(4059,'Camarines Sur','CAS',1170),(4060,'Camiguin','CAM',1170),(4061,'Capiz','CAP',1170),(4062,'Catanduanes','CAT',1170),(4063,'Cavite','CAV',1170),(4064,'Cebu','CEB',1170),(4065,'Compostela Valley','COM',1170),(4066,'Davao','DAV',1170),(4067,'Davao del Sur','DAS',1170),(4068,'Davao Oriental','DAO',1170),(4069,'Eastern Samar','EAS',1170),(4070,'Guimaras','GUI',1170),(4071,'Ifugao','IFU',1170),(4072,'Ilocos Norte','ILN',1170),(4073,'Ilocos Sur','ILS',1170),(4074,'Iloilo','ILI',1170),(4075,'Isabela','ISA',1170),(4076,'Kalinga-Apayso','KAL',1170),(4077,'Laguna','LAG',1170),(4078,'Lanao del Norte','LAN',1170),(4079,'Lanao del Sur','LAS',1170),(4080,'La Union','LUN',1170),(4081,'Leyte','LEY',1170),(4082,'Maguindanao','MAG',1170),(4083,'Marinduque','MAD',1170),(4084,'Masbate','MAS',1170),(4085,'Mindoro Occidental','MDC',1170),(4086,'Mindoro Oriental','MDR',1170),(4087,'Misamis Occidental','MSC',1170),(4088,'Misamis Oriental','MSR',1170),(4089,'Mountain Province','MOU',1170),(4090,'Negroe Occidental','NEC',1170),(4091,'Negros Oriental','NER',1170),(4092,'North Cotabato','NCO',1170),(4093,'Northern Samar','NSA',1170),(4094,'Nueva Ecija','NUE',1170),(4095,'Nueva Vizcaya','NUV',1170),(4096,'Palawan','PLW',1170),(4097,'Pampanga','PAM',1170),(4098,'Pangasinan','PAN',1170),(4099,'Quezon','QUE',1170),(4100,'Quirino','QUI',1170),(4101,'Rizal','RIZ',1170),(4102,'Romblon','ROM',1170),(4103,'Sarangani','SAR',1170),(4104,'Siquijor','SIG',1170),(4105,'Sorsogon','SOR',1170),(4106,'South Cotabato','SCO',1170),(4107,'Southern Leyte','SLE',1170),(4108,'Sultan Kudarat','SUK',1170),(4109,'Sulu','SLU',1170),(4110,'Surigao del Norte','SUN',1170),(4111,'Surigao del Sur','SUR',1170),(4112,'Tarlac','TAR',1170),(4113,'Tawi-Tawi','TAW',1170),(4114,'Western Samar','WSA',1170),(4115,'Zambales','ZMB',1170),(4116,'Zamboanga del Norte','ZAN',1170),(4117,'Zamboanga del Sur','ZAS',1170),(4118,'Zamboanga Sibiguey','ZSI',1170),(4119,'Islamabad Federal Capital Area','IS',1163),(4120,'Baluchistan','BA',1163),(4121,'Khyber Pakhtun Khawa','NW',1163),(4122,'Sindh','SD',1163),(4123,'Federally Administered Tribal Areas','TA',1163),(4124,'Azad Kashmir','JK',1163),(4125,'Gilgit-Baltistan','NA',1163),(4126,'Aveiro','01',1173),(4127,'Beja','02',1173),(4128,'Braga','03',1173),(4129,'Braganca','04',1173),(4130,'Castelo Branco','05',1173),(4131,'Colmbra','06',1173),(4132,'Ovora','07',1173),(4133,'Faro','08',1173),(4134,'Guarda','09',1173),(4135,'Leiria','10',1173),(4136,'Lisboa','11',1173),(4137,'Portalegre','12',1173),(4138,'Porto','13',1173),(4139,'Santarem','14',1173),(4140,'Setubal','15',1173),(4141,'Viana do Castelo','16',1173),(4142,'Vila Real','17',1173),(4143,'Viseu','18',1173),(4144,'Regiao Autonoma dos Acores','20',1173),(4145,'Regiao Autonoma da Madeira','30',1173),(4146,'Asuncion','ASU',1168),(4147,'Alto Paraguay','16',1168),(4148,'Alto Parana','10',1168),(4149,'Amambay','13',1168),(4150,'Boqueron','19',1168),(4151,'Caeguazu','5',1168),(4152,'Caazapl','6',1168),(4153,'Canindeyu','14',1168),(4154,'Concepcion','1',1168),(4155,'Cordillera','3',1168),(4156,'Guaira','4',1168),(4157,'Itapua','7',1168),(4158,'Miaiones','8',1168),(4159,'Neembucu','12',1168),(4160,'Paraguari','9',1168),(4161,'Presidente Hayes','15',1168),(4162,'San Pedro','2',1168),(4163,'Ad Dawhah','DA',1175),(4164,'Al Ghuwayriyah','GH',1175),(4165,'Al Jumayliyah','JU',1175),(4166,'Al Khawr','KH',1175),(4167,'Al Wakrah','WA',1175),(4168,'Ar Rayyan','RA',1175),(4169,'Jariyan al Batnah','JB',1175),(4170,'Madinat ash Shamal','MS',1175),(4171,'Umm Salal','US',1175),(4172,'Bucuresti','B',1176),(4173,'Alba','AB',1176),(4174,'Arad','AR',1176),(4175,'Argeș','AG',1176),(4176,'Bacău','BC',1176),(4177,'Bihor','BH',1176),(4178,'Bistrița-Năsăud','BN',1176),(4179,'Botoșani','BT',1176),(4180,'Brașov','BV',1176),(4181,'Brăila','BR',1176),(4182,'Buzău','BZ',1176),(4183,'Caraș-Severin','CS',1176),(4184,'Călărași','CL',1176),(4185,'Cluj','CJ',1176),(4186,'Constanța','CT',1176),(4187,'Covasna','CV',1176),(4188,'Dâmbovița','DB',1176),(4189,'Dolj','DJ',1176),(4190,'Galați','GL',1176),(4191,'Giurgiu','GR',1176),(4192,'Gorj','GJ',1176),(4193,'Harghita','HR',1176),(4194,'Hunedoara','HD',1176),(4195,'Ialomița','IL',1176),(4196,'Iași','IS',1176),(4197,'Ilfov','IF',1176),(4198,'Maramureș','MM',1176),(4199,'Mehedinți','MH',1176),(4200,'Mureș','MS',1176),(4201,'Neamț','NT',1176),(4202,'Olt','OT',1176),(4203,'Prahova','PH',1176),(4204,'Satu Mare','SM',1176),(4205,'Sălaj','SJ',1176),(4206,'Sibiu','SB',1176),(4207,'Suceava','SV',1176),(4208,'Teleorman','TR',1176),(4209,'Timiș','TM',1176),(4210,'Tulcea','TL',1176),(4211,'Vaslui','VS',1176),(4212,'Vâlcea','VL',1176),(4213,'Vrancea','VN',1176),(4214,'Adygeya, Respublika','AD',1177),(4215,'Altay, Respublika','AL',1177),(4216,'Bashkortostan, Respublika','BA',1177),(4217,'Buryatiya, Respublika','BU',1177),(4218,'Chechenskaya Respublika','CE',1177),(4219,'Chuvashskaya Respublika','CU',1177),(4220,'Dagestan, Respublika','DA',1177),(4221,'Ingushskaya Respublika','IN',1177),(4222,'Kabardino-Balkarskaya','KB',1177),(4223,'Kalmykiya, Respublika','KL',1177),(4224,'Karachayevo-Cherkesskaya Respublika','KC',1177),(4225,'Kareliya, Respublika','KR',1177),(4226,'Khakasiya, Respublika','KK',1177),(4227,'Komi, Respublika','KO',1177),(4228,'Mariy El, Respublika','ME',1177),(4229,'Mordoviya, Respublika','MO',1177),(4230,'Sakha, Respublika [Yakutiya]','SA',1177),(4231,'Severnaya Osetiya, Respublika','SE',1177),(4232,'Tatarstan, Respublika','TA',1177),(4233,'Tyva, Respublika [Tuva]','TY',1177),(4234,'Udmurtskaya Respublika','UD',1177),(4235,'Altayskiy kray','ALT',1177),(4236,'Khabarovskiy kray','KHA',1177),(4237,'Krasnodarskiy kray','KDA',1177),(4238,'Krasnoyarskiy kray','KYA',1177),(4239,'Primorskiy kray','PRI',1177),(4240,'Stavropol\'skiy kray','STA',1177),(4241,'Amurskaya oblast\'','AMU',1177),(4242,'Arkhangel\'skaya oblast\'','ARK',1177),(4243,'Astrakhanskaya oblast\'','AST',1177),(4244,'Belgorodskaya oblast\'','BEL',1177),(4245,'Bryanskaya oblast\'','BRY',1177),(4246,'Chelyabinskaya oblast\'','CHE',1177),(4247,'Zabaykalsky Krai\'','ZSK',1177),(4248,'Irkutskaya oblast\'','IRK',1177),(4249,'Ivanovskaya oblast\'','IVA',1177),(4250,'Kaliningradskaya oblast\'','KGD',1177),(4251,'Kaluzhskaya oblast\'','KLU',1177),(4252,'Kamchatka Krai\'','KAM',1177),(4253,'Kemerovskaya oblast\'','KEM',1177),(4254,'Kirovskaya oblast\'','KIR',1177),(4255,'Kostromskaya oblast\'','KOS',1177),(4256,'Kurganskaya oblast\'','KGN',1177),(4257,'Kurskaya oblast\'','KRS',1177),(4258,'Leningradskaya oblast\'','LEN',1177),(4259,'Lipetskaya oblast\'','LIP',1177),(4260,'Magadanskaya oblast\'','MAG',1177),(4261,'Moskovskaya oblast\'','MOS',1177),(4262,'Murmanskaya oblast\'','MUR',1177),(4263,'Nizhegorodskaya oblast\'','NIZ',1177),(4264,'Novgorodskaya oblast\'','NGR',1177),(4265,'Novosibirskaya oblast\'','NVS',1177),(4266,'Omskaya oblast\'','OMS',1177),(4267,'Orenburgskaya oblast\'','ORE',1177),(4268,'Orlovskaya oblast\'','ORL',1177),(4269,'Penzenskaya oblast\'','PNZ',1177),(4270,'Perm krai\'','PEK',1177),(4271,'Pskovskaya oblast\'','PSK',1177),(4272,'Rostovskaya oblast\'','ROS',1177),(4273,'Ryazanskaya oblast\'','RYA',1177),(4274,'Sakhalinskaya oblast\'','SAK',1177),(4275,'Samarskaya oblast\'','SAM',1177),(4276,'Saratovskaya oblast\'','SAR',1177),(4277,'Smolenskaya oblast\'','SMO',1177),(4278,'Sverdlovskaya oblast\'','SVE',1177),(4279,'Tambovskaya oblast\'','TAM',1177),(4280,'Tomskaya oblast\'','TOM',1177),(4281,'Tul\'skaya oblast\'','TUL',1177),(4282,'Tverskaya oblast\'','TVE',1177),(4283,'Tyumenskaya oblast\'','TYU',1177),(4284,'Ul\'yanovskaya oblast\'','ULY',1177),(4285,'Vladimirskaya oblast\'','VLA',1177),(4286,'Volgogradskaya oblast\'','VGG',1177),(4287,'Vologodskaya oblast\'','VLG',1177),(4288,'Voronezhskaya oblast\'','VOR',1177),(4289,'Yaroslavskaya oblast\'','YAR',1177),(4290,'Moskva','MOW',1177),(4291,'Sankt-Peterburg','SPE',1177),(4292,'Yevreyskaya avtonomnaya oblast\'','YEV',1177),(4294,'Chukotskiy avtonomnyy okrug','CHU',1177),(4296,'Khanty-Mansiyskiy avtonomnyy okrug','KHM',1177),(4299,'Nenetskiy avtonomnyy okrug','NEN',1177),(4302,'Yamalo-Nenetskiy avtonomnyy okrug','YAN',1177),(4303,'Butare','C',1178),(4304,'Byumba','I',1178),(4305,'Cyangugu','E',1178),(4306,'Gikongoro','D',1178),(4307,'Gisenyi','G',1178),(4308,'Gitarama','B',1178),(4309,'Kibungo','J',1178),(4310,'Kibuye','F',1178),(4311,'Kigali-Rural Kigali y\' Icyaro','K',1178),(4312,'Kigali-Ville Kigali Ngari','L',1178),(4313,'Mutara','M',1178),(4314,'Ruhengeri','H',1178),(4315,'Al Bahah','11',1187),(4316,'Al Hudud Ash Shamaliyah','08',1187),(4317,'Al Jawf','12',1187),(4318,'Al Madinah','03',1187),(4319,'Al Qasim','05',1187),(4320,'Ar Riyad','01',1187),(4321,'Asir','14',1187),(4322,'Ha\'il','06',1187),(4323,'Jlzan','09',1187),(4324,'Makkah','02',1187),(4325,'Najran','10',1187),(4326,'Tabuk','07',1187),(4327,'Capital Territory (Honiara)','CT',1194),(4328,'Guadalcanal','GU',1194),(4329,'Isabel','IS',1194),(4330,'Makira','MK',1194),(4331,'Malaita','ML',1194),(4332,'Temotu','TE',1194),(4333,'A\'ali an Nil','23',1200),(4334,'Al Bah al Ahmar','26',1200),(4335,'Al Buhayrat','18',1200),(4336,'Al Jazirah','07',1200),(4337,'Al Khartum','03',1200),(4338,'Al Qadarif','06',1200),(4339,'Al Wahdah','22',1200),(4340,'An Nil','04',1200),(4341,'An Nil al Abyaq','08',1200),(4342,'An Nil al Azraq','24',1200),(4343,'Ash Shamallyah','01',1200),(4344,'Bahr al Jabal','17',1200),(4345,'Gharb al Istiwa\'iyah','16',1200),(4346,'Gharb Ba~r al Ghazal','14',1200),(4347,'Gharb Darfur','12',1200),(4348,'Gharb Kurdufan','10',1200),(4349,'Janub Darfur','11',1200),(4350,'Janub Rurdufan','13',1200),(4351,'Jnqall','20',1200),(4352,'Kassala','05',1200),(4353,'Shamal Batr al Ghazal','15',1200),(4354,'Shamal Darfur','02',1200),(4355,'Shamal Kurdufan','09',1200),(4356,'Sharq al Istiwa\'iyah','19',1200),(4357,'Sinnar','25',1200),(4358,'Warab','21',1200),(4359,'Blekinge län','K',1204),(4360,'Dalarnas län','W',1204),(4361,'Gotlands län','I',1204),(4362,'Gävleborgs län','X',1204),(4363,'Hallands län','N',1204),(4364,'Jämtlands län','Z',1204),(4365,'Jönkopings län','F',1204),(4366,'Kalmar län','H',1204),(4367,'Kronobergs län','G',1204),(4368,'Norrbottens län','BD',1204),(4369,'Skåne län','M',1204),(4370,'Stockholms län','AB',1204),(4371,'Södermanlands län','D',1204),(4372,'Uppsala län','C',1204),(4373,'Värmlands län','S',1204),(4374,'Västerbottens län','AC',1204),(4375,'Västernorrlands län','Y',1204),(4376,'Västmanlands län','U',1204),(4377,'Västra Götalands län','Q',1204),(4378,'Örebro län','T',1204),(4379,'Östergötlands län','E',1204),(4380,'Saint Helena','SH',1180),(4381,'Ascension','AC',1180),(4382,'Tristan da Cunha','TA',1180),(4383,'Ajdovščina','001',1193),(4384,'Beltinci','002',1193),(4385,'Benedikt','148',1193),(4386,'Bistrica ob Sotli','149',1193),(4387,'Bled','003',1193),(4388,'Bloke','150',1193),(4389,'Bohinj','004',1193),(4390,'Borovnica','005',1193),(4391,'Bovec','006',1193),(4392,'Braslovče','151',1193),(4393,'Brda','007',1193),(4394,'Brezovica','008',1193),(4395,'Brežice','009',1193),(4396,'Cankova','152',1193),(4397,'Celje','011',1193),(4398,'Cerklje na Gorenjskem','012',1193),(4399,'Cerknica','013',1193),(4400,'Cerkno','014',1193),(4401,'Cerkvenjak','153',1193),(4402,'Črenšovci','015',1193),(4403,'Črna na Koroškem','016',1193),(4404,'Črnomelj','017',1193),(4405,'Destrnik','018',1193),(4406,'Divača','019',1193),(4407,'Dobje','154',1193),(4408,'Dobrepolje','020',1193),(4409,'Dobrna','155',1193),(4410,'Dobrova-Polhov Gradec','021',1193),(4411,'Dobrovnik','156',1193),(4412,'Dol pri Ljubljani','022',1193),(4413,'Dolenjske Toplice','157',1193),(4414,'Domžale','023',1193),(4415,'Dornava','024',1193),(4416,'Dravograd','025',1193),(4417,'Duplek','026',1193),(4418,'Gorenja vas-Poljane','027',1193),(4419,'Gorišnica','028',1193),(4420,'Gornja Radgona','029',1193),(4421,'Gornji Grad','030',1193),(4422,'Gornji Petrovci','031',1193),(4423,'Grad','158',1193),(4424,'Grosuplje','032',1193),(4425,'Hajdina','159',1193),(4426,'Hoče-Slivnica','160',1193),(4427,'Hodoš','161',1193),(4428,'Horjul','162',1193),(4429,'Hrastnik','034',1193),(4430,'Hrpelje-Kozina','035',1193),(4431,'Idrija','036',1193),(4432,'Ig','037',1193),(4433,'Ilirska Bistrica','038',1193),(4434,'Ivančna Gorica','039',1193),(4435,'Izola','040',1193),(4436,'Jesenice','041',1193),(4437,'Jezersko','163',1193),(4438,'Juršinci','042',1193),(4439,'Kamnik','043',1193),(4440,'Kanal','044',1193),(4441,'Kidričevo','045',1193),(4442,'Kobarid','046',1193),(4443,'Kobilje','047',1193),(4444,'Kočevje','048',1193),(4445,'Komen','049',1193),(4446,'Komenda','164',1193),(4447,'Koper','050',1193),(4448,'Kostel','165',1193),(4449,'Kozje','051',1193),(4450,'Kranj','052',1193),(4451,'Kranjska Gora','053',1193),(4452,'Križevci','166',1193),(4453,'Krško','054',1193),(4454,'Kungota','055',1193),(4455,'Kuzma','056',1193),(4456,'Laško','057',1193),(4457,'Lenart','058',1193),(4458,'Lendava','059',1193),(4459,'Litija','060',1193),(4460,'Ljubljana','061',1193),(4461,'Ljubno','062',1193),(4462,'Ljutomer','063',1193),(4463,'Logatec','064',1193),(4464,'Loška dolina','065',1193),(4465,'Loški Potok','066',1193),(4466,'Lovrenc na Pohorju','167',1193),(4467,'Luče','067',1193),(4468,'Lukovica','068',1193),(4469,'Majšperk','069',1193),(4470,'Maribor','070',1193),(4471,'Markovci','168',1193),(4472,'Medvode','071',1193),(4473,'Mengeš','072',1193),(4474,'Metlika','073',1193),(4475,'Mežica','074',1193),(4476,'Miklavž na Dravskem polju','169',1193),(4477,'Miren-Kostanjevica','075',1193),(4478,'Mirna Peč','170',1193),(4479,'Mislinja','076',1193),(4480,'Moravče','077',1193),(4481,'Moravske Toplice','078',1193),(4482,'Mozirje','079',1193),(4483,'Murska Sobota','080',1193),(4484,'Muta','081',1193),(4485,'Naklo','082',1193),(4486,'Nazarje','083',1193),(4487,'Nova Gorica','084',1193),(4488,'Novo mesto','085',1193),(4489,'Sveta Ana','181',1193),(4490,'Sveti Andraž v Slovenskih goricah','182',1193),(4491,'Sveti Jurij','116',1193),(4492,'Šalovci','033',1193),(4493,'Šempeter-Vrtojba','183',1193),(4494,'Šenčur','117',1193),(4495,'Šentilj','118',1193),(4496,'Šentjernej','119',1193),(4497,'Šentjur','120',1193),(4498,'Škocjan','121',1193),(4499,'Škofja Loka','122',1193),(4500,'Škofljica','123',1193),(4501,'Šmarje pri Jelšah','124',1193),(4502,'Šmartno ob Paki','125',1193),(4503,'Šmartno pri Litiji','194',1193),(4504,'Šoštanj','126',1193),(4505,'Štore','127',1193),(4506,'Tabor','184',1193),(4507,'Tišina','010',1193),(4508,'Tolmin','128',1193),(4509,'Trbovlje','129',1193),(4510,'Trebnje','130',1193),(4511,'Trnovska vas','185',1193),(4512,'Tržič','131',1193),(4513,'Trzin','186',1193),(4514,'Turnišče','132',1193),(4515,'Velenje','133',1193),(4516,'Velika Polana','187',1193),(4517,'Velike Lašče','134',1193),(4518,'Veržej','188',1193),(4519,'Videm','135',1193),(4520,'Vipava','136',1193),(4521,'Vitanje','137',1193),(4522,'Vojnik','138',1193),(4523,'Vransko','189',1193),(4524,'Vrhnika','140',1193),(4525,'Vuzenica','141',1193),(4526,'Zagorje ob Savi','142',1193),(4527,'Zavrč','143',1193),(4528,'Zreče','144',1193),(4529,'Žalec','190',1193),(4530,'Železniki','146',1193),(4531,'Žetale','191',1193),(4532,'Žiri','147',1193),(4533,'Žirovnica','192',1193),(4534,'Žužemberk','193',1193),(4535,'Banskobystrický kraj','BC',1192),(4536,'Bratislavský kraj','BL',1192),(4537,'Košický kraj','KI',1192),(4538,'Nitriansky kraj','NJ',1192),(4539,'Prešovský kraj','PV',1192),(4540,'Trenčiansky kraj','TC',1192),(4541,'Trnavský kraj','TA',1192),(4542,'Žilinský kraj','ZI',1192),(4543,'Western Area (Freetown)','W',1190),(4544,'Dakar','DK',1188),(4545,'Diourbel','DB',1188),(4546,'Fatick','FK',1188),(4547,'Kaolack','KL',1188),(4548,'Kolda','KD',1188),(4549,'Louga','LG',1188),(4550,'Matam','MT',1188),(4551,'Saint-Louis','SL',1188),(4552,'Tambacounda','TC',1188),(4553,'Thies','TH',1188),(4554,'Ziguinchor','ZG',1188),(4555,'Awdal','AW',1195),(4556,'Bakool','BK',1195),(4557,'Banaadir','BN',1195),(4558,'Bay','BY',1195),(4559,'Galguduud','GA',1195),(4560,'Gedo','GE',1195),(4561,'Hiirsan','HI',1195),(4562,'Jubbada Dhexe','JD',1195),(4563,'Jubbada Hoose','JH',1195),(4564,'Mudug','MU',1195),(4565,'Nugaal','NU',1195),(4566,'Saneag','SA',1195),(4567,'Shabeellaha Dhexe','SD',1195),(4568,'Shabeellaha Hoose','SH',1195),(4569,'Sool','SO',1195),(4570,'Togdheer','TO',1195),(4571,'Woqooyi Galbeed','WO',1195),(4572,'Brokopondo','BR',1201),(4573,'Commewijne','CM',1201),(4574,'Coronie','CR',1201),(4575,'Marowijne','MA',1201),(4576,'Nickerie','NI',1201),(4577,'Paramaribo','PM',1201),(4578,'Saramacca','SA',1201),(4579,'Sipaliwini','SI',1201),(4580,'Wanica','WA',1201),(4581,'Principe','P',1207),(4582,'Sao Tome','S',1207),(4583,'Ahuachapan','AH',1066),(4584,'Cabanas','CA',1066),(4585,'Cuscatlan','CU',1066),(4586,'Chalatenango','CH',1066),(4587,'Morazan','MO',1066),(4588,'San Miguel','SM',1066),(4589,'San Salvador','SS',1066),(4590,'Santa Ana','SA',1066),(4591,'San Vicente','SV',1066),(4592,'Sonsonate','SO',1066),(4593,'Usulutan','US',1066),(4594,'Al Hasakah','HA',1206),(4595,'Al Ladhiqiyah','LA',1206),(4596,'Al Qunaytirah','QU',1206),(4597,'Ar Raqqah','RA',1206),(4598,'As Suwayda\'','SU',1206),(4599,'Dar\'a','DR',1206),(4600,'Dayr az Zawr','DY',1206),(4601,'Dimashq','DI',1206),(4602,'Halab','HL',1206),(4603,'Hamah','HM',1206),(4604,'Jim\'','HI',1206),(4605,'Idlib','ID',1206),(4606,'Rif Dimashq','RD',1206),(4607,'Tarts','TA',1206),(4608,'Hhohho','HH',1203),(4609,'Lubombo','LU',1203),(4610,'Manzini','MA',1203),(4611,'Shiselweni','SH',1203),(4612,'Batha','BA',1043),(4613,'Biltine','BI',1043),(4614,'Borkou-Ennedi-Tibesti','BET',1043),(4615,'Chari-Baguirmi','CB',1043),(4616,'Guera','GR',1043),(4617,'Kanem','KA',1043),(4618,'Lac','LC',1043),(4619,'Logone-Occidental','LO',1043),(4620,'Logone-Oriental','LR',1043),(4621,'Mayo-Kebbi','MK',1043),(4622,'Moyen-Chari','MC',1043),(4623,'Ouaddai','OD',1043),(4624,'Salamat','SA',1043),(4625,'Tandjile','TA',1043),(4626,'Kara','K',1214),(4627,'Maritime (Region)','M',1214),(4628,'Savannes','S',1214),(4629,'Krung Thep Maha Nakhon Bangkok','10',1211),(4630,'Phatthaya','S',1211),(4631,'Amnat Charoen','37',1211),(4632,'Ang Thong','15',1211),(4633,'Buri Ram','31',1211),(4634,'Chachoengsao','24',1211),(4635,'Chai Nat','18',1211),(4636,'Chaiyaphum','36',1211),(4637,'Chanthaburi','22',1211),(4638,'Chiang Mai','50',1211),(4639,'Chiang Rai','57',1211),(4640,'Chon Buri','20',1211),(4641,'Chumphon','86',1211),(4642,'Kalasin','46',1211),(4643,'Kamphasng Phet','62',1211),(4644,'Kanchanaburi','71',1211),(4645,'Khon Kaen','40',1211),(4646,'Krabi','81',1211),(4647,'Lampang','52',1211),(4648,'Lamphun','51',1211),(4649,'Loei','42',1211),(4650,'Lop Buri','16',1211),(4651,'Mae Hong Son','58',1211),(4652,'Maha Sarakham','44',1211),(4653,'Mukdahan','49',1211),(4654,'Nakhon Nayok','26',1211),(4655,'Nakhon Pathom','73',1211),(4656,'Nakhon Phanom','48',1211),(4657,'Nakhon Ratchasima','30',1211),(4658,'Nakhon Sawan','60',1211),(4659,'Nakhon Si Thammarat','80',1211),(4660,'Nan','55',1211),(4661,'Narathiwat','96',1211),(4662,'Nong Bua Lam Phu','39',1211),(4663,'Nong Khai','43',1211),(4664,'Nonthaburi','12',1211),(4665,'Pathum Thani','13',1211),(4666,'Pattani','94',1211),(4667,'Phangnga','82',1211),(4668,'Phatthalung','93',1211),(4669,'Phayao','56',1211),(4670,'Phetchabun','67',1211),(4671,'Phetchaburi','76',1211),(4672,'Phichit','66',1211),(4673,'Phitsanulok','65',1211),(4674,'Phrae','54',1211),(4675,'Phra Nakhon Si Ayutthaya','14',1211),(4676,'Phuket','83',1211),(4677,'Prachin Buri','25',1211),(4678,'Prachuap Khiri Khan','77',1211),(4679,'Ranong','85',1211),(4680,'Ratchaburi','70',1211),(4681,'Rayong','21',1211),(4682,'Roi Et','45',1211),(4683,'Sa Kaeo','27',1211),(4684,'Sakon Nakhon','47',1211),(4685,'Samut Prakan','11',1211),(4686,'Samut Sakhon','74',1211),(4687,'Samut Songkhram','75',1211),(4688,'Saraburi','19',1211),(4689,'Satun','91',1211),(4690,'Sing Buri','17',1211),(4691,'Si Sa Ket','33',1211),(4692,'Songkhla','90',1211),(4693,'Sukhothai','64',1211),(4694,'Suphan Buri','72',1211),(4695,'Surat Thani','84',1211),(4696,'Surin','32',1211),(4697,'Tak','63',1211),(4698,'Trang','92',1211),(4699,'Trat','23',1211),(4700,'Ubon Ratchathani','34',1211),(4701,'Udon Thani','41',1211),(4702,'Uthai Thani','61',1211),(4703,'Uttaradit','53',1211),(4704,'Yala','95',1211),(4705,'Yasothon','35',1211),(4706,'Sughd','SU',1209),(4707,'Khatlon','KT',1209),(4708,'Gorno-Badakhshan','GB',1209),(4709,'Ahal','A',1220),(4710,'Balkan','B',1220),(4711,'Dasoguz','D',1220),(4712,'Lebap','L',1220),(4713,'Mary','M',1220),(4714,'Béja','31',1218),(4715,'Ben Arous','13',1218),(4716,'Bizerte','23',1218),(4717,'Gabès','81',1218),(4718,'Gafsa','71',1218),(4719,'Jendouba','32',1218),(4720,'Kairouan','41',1218),(4721,'Rasserine','42',1218),(4722,'Kebili','73',1218),(4723,'L\'Ariana','12',1218),(4724,'Le Ref','33',1218),(4725,'Mahdia','53',1218),(4726,'La Manouba','14',1218),(4727,'Medenine','82',1218),(4728,'Moneatir','52',1218),(4729,'Naboul','21',1218),(4730,'Sfax','61',1218),(4731,'Sidi Bouxid','43',1218),(4732,'Siliana','34',1218),(4733,'Sousse','51',1218),(4734,'Tataouine','83',1218),(4735,'Tozeur','72',1218),(4736,'Tunis','11',1218),(4737,'Zaghouan','22',1218),(4738,'Adana','01',1219),(4739,'Ad yaman','02',1219),(4740,'Afyon','03',1219),(4741,'Ag r','04',1219),(4742,'Aksaray','68',1219),(4743,'Amasya','05',1219),(4744,'Ankara','06',1219),(4745,'Antalya','07',1219),(4746,'Ardahan','75',1219),(4747,'Artvin','08',1219),(4748,'Aydin','09',1219),(4749,'Bal kesir','10',1219),(4750,'Bartin','74',1219),(4751,'Batman','72',1219),(4752,'Bayburt','69',1219),(4753,'Bilecik','11',1219),(4754,'Bingol','12',1219),(4755,'Bitlis','13',1219),(4756,'Bolu','14',1219),(4757,'Burdur','15',1219),(4758,'Bursa','16',1219),(4759,'Canakkale','17',1219),(4760,'Cankir','18',1219),(4761,'Corum','19',1219),(4762,'Denizli','20',1219),(4763,'Diyarbakir','21',1219),(4764,'Duzce','81',1219),(4765,'Edirne','22',1219),(4766,'Elazig','23',1219),(4767,'Erzincan','24',1219),(4768,'Erzurum','25',1219),(4769,'Eskis\'ehir','26',1219),(4770,'Gaziantep','27',1219),(4771,'Giresun','28',1219),(4772,'Gms\'hane','29',1219),(4773,'Hakkari','30',1219),(4774,'Hatay','31',1219),(4775,'Igidir','76',1219),(4776,'Isparta','32',1219),(4777,'Icel','33',1219),(4778,'Istanbul','34',1219),(4779,'Izmir','35',1219),(4780,'Kahramanmaras','46',1219),(4781,'Karabk','78',1219),(4782,'Karaman','70',1219),(4783,'Kars','36',1219),(4784,'Kastamonu','37',1219),(4785,'Kayseri','38',1219),(4786,'Kirikkale','71',1219),(4787,'Kirklareli','39',1219),(4788,'Kirs\'ehir','40',1219),(4789,'Kilis','79',1219),(4790,'Kocaeli','41',1219),(4791,'Konya','42',1219),(4792,'Ktahya','43',1219),(4793,'Malatya','44',1219),(4794,'Manisa','45',1219),(4795,'Mardin','47',1219),(4796,'Mugila','48',1219),(4797,'Mus','49',1219),(4798,'Nevs\'ehir','50',1219),(4799,'Nigide','51',1219),(4800,'Ordu','52',1219),(4801,'Osmaniye','80',1219),(4802,'Rize','53',1219),(4803,'Sakarya','54',1219),(4804,'Samsun','55',1219),(4805,'Siirt','56',1219),(4806,'Sinop','57',1219),(4807,'Sivas','58',1219),(4808,'S\'anliurfa','63',1219),(4809,'S\'rnak','73',1219),(4810,'Tekirdag','59',1219),(4811,'Tokat','60',1219),(4812,'Trabzon','61',1219),(4813,'Tunceli','62',1219),(4814,'Us\'ak','64',1219),(4815,'Van','65',1219),(4816,'Yalova','77',1219),(4817,'Yozgat','66',1219),(4818,'Zonguldak','67',1219),(4819,'Couva-Tabaquite-Talparo','CTT',1217),(4820,'Diego Martin','DMN',1217),(4821,'Eastern Tobago','ETO',1217),(4822,'Penal-Debe','PED',1217),(4823,'Princes Town','PRT',1217),(4824,'Rio Claro-Mayaro','RCM',1217),(4825,'Sangre Grande','SGE',1217),(4826,'San Juan-Laventille','SJL',1217),(4827,'Siparia','SIP',1217),(4828,'Tunapuna-Piarco','TUP',1217),(4829,'Western Tobago','WTO',1217),(4830,'Arima','ARI',1217),(4831,'Chaguanas','CHA',1217),(4832,'Point Fortin','PTF',1217),(4833,'Port of Spain','POS',1217),(4834,'San Fernando','SFO',1217),(4835,'Aileu','AL',1063),(4836,'Ainaro','AN',1063),(4837,'Bacucau','BA',1063),(4838,'Bobonaro','BO',1063),(4839,'Cova Lima','CO',1063),(4840,'Dili','DI',1063),(4841,'Ermera','ER',1063),(4842,'Laulem','LA',1063),(4843,'Liquica','LI',1063),(4844,'Manatuto','MT',1063),(4845,'Manafahi','MF',1063),(4846,'Oecussi','OE',1063),(4847,'Viqueque','VI',1063),(4848,'Changhua County','CHA',1208),(4849,'Chiayi County','CYQ',1208),(4850,'Hsinchu County','HSQ',1208),(4851,'Hualien County','HUA',1208),(4852,'Ilan County','ILA',1208),(4853,'Kaohsiung County','KHQ',1208),(4854,'Miaoli County','MIA',1208),(4855,'Nantou County','NAN',1208),(4856,'Penghu County','PEN',1208),(4857,'Pingtung County','PIF',1208),(4858,'Taichung County','TXQ',1208),(4859,'Tainan County','TNQ',1208),(4860,'Taipei County','TPQ',1208),(4861,'Taitung County','TTT',1208),(4862,'Taoyuan County','TAO',1208),(4863,'Yunlin County','YUN',1208),(4864,'Keelung City','KEE',1208),(4865,'Arusha','01',1210),(4866,'Dar-es-Salaam','02',1210),(4867,'Dodoma','03',1210),(4868,'Iringa','04',1210),(4869,'Kagera','05',1210),(4870,'Kaskazini Pemba','06',1210),(4871,'Kaskazini Unguja','07',1210),(4872,'Xigoma','08',1210),(4873,'Kilimanjaro','09',1210),(4874,'Rusini Pemba','10',1210),(4875,'Kusini Unguja','11',1210),(4876,'Lindi','12',1210),(4877,'Manyara','26',1210),(4878,'Mara','13',1210),(4879,'Mbeya','14',1210),(4880,'Mjini Magharibi','15',1210),(4881,'Morogoro','16',1210),(4882,'Mtwara','17',1210),(4883,'Pwani','19',1210),(4884,'Rukwa','20',1210),(4885,'Ruvuma','21',1210),(4886,'Shinyanga','22',1210),(4887,'Singida','23',1210),(4888,'Tabora','24',1210),(4889,'Tanga','25',1210),(4890,'Cherkas\'ka Oblast\'','71',1224),(4891,'Chernihivs\'ka Oblast\'','74',1224),(4892,'Chernivets\'ka Oblast\'','77',1224),(4893,'Dnipropetrovs\'ka Oblast\'','12',1224),(4894,'Donets\'ka Oblast\'','14',1224),(4895,'Ivano-Frankivs\'ka Oblast\'','26',1224),(4896,'Kharkivs\'ka Oblast\'','63',1224),(4897,'Khersons\'ka Oblast\'','65',1224),(4898,'Khmel\'nyts\'ka Oblast\'','68',1224),(4899,'Kirovohrads\'ka Oblast\'','35',1224),(4900,'Kyivs\'ka Oblast\'','32',1224),(4901,'Luhans\'ka Oblast\'','09',1224),(4902,'L\'vivs\'ka Oblast\'','46',1224),(4903,'Mykolaivs\'ka Oblast\'','48',1224),(4904,'Odes \'ka Oblast\'','51',1224),(4905,'Poltavs\'ka Oblast\'','53',1224),(4906,'Rivnens\'ka Oblast\'','56',1224),(4907,'Sums \'ka Oblast\'','59',1224),(4908,'Ternopil\'s\'ka Oblast\'','61',1224),(4909,'Vinnyts\'ka Oblast\'','05',1224),(4910,'Volyos\'ka Oblast\'','07',1224),(4911,'Zakarpats\'ka Oblast\'','21',1224),(4912,'Zaporiz\'ka Oblast\'','23',1224),(4913,'Zhytomyrs\'ka Oblast\'','18',1224),(4914,'Respublika Krym','43',1224),(4915,'Kyiv','30',1224),(4916,'Sevastopol','40',1224),(4917,'Adjumani','301',1223),(4918,'Apac','302',1223),(4919,'Arua','303',1223),(4920,'Bugiri','201',1223),(4921,'Bundibugyo','401',1223),(4922,'Bushenyi','402',1223),(4923,'Busia','202',1223),(4924,'Gulu','304',1223),(4925,'Hoima','403',1223),(4926,'Iganga','203',1223),(4927,'Jinja','204',1223),(4928,'Kabale','404',1223),(4929,'Kabarole','405',1223),(4930,'Kaberamaido','213',1223),(4931,'Kalangala','101',1223),(4932,'Kampala','102',1223),(4933,'Kamuli','205',1223),(4934,'Kamwenge','413',1223),(4935,'Kanungu','414',1223),(4936,'Kapchorwa','206',1223),(4937,'Kasese','406',1223),(4938,'Katakwi','207',1223),(4939,'Kayunga','112',1223),(4940,'Kibaale','407',1223),(4941,'Kiboga','103',1223),(4942,'Kisoro','408',1223),(4943,'Kitgum','305',1223),(4944,'Kotido','306',1223),(4945,'Kumi','208',1223),(4946,'Kyenjojo','415',1223),(4947,'Lira','307',1223),(4948,'Luwero','104',1223),(4949,'Masaka','105',1223),(4950,'Masindi','409',1223),(4951,'Mayuge','214',1223),(4952,'Mbale','209',1223),(4953,'Mbarara','410',1223),(4954,'Moroto','308',1223),(4955,'Moyo','309',1223),(4956,'Mpigi','106',1223),(4957,'Mubende','107',1223),(4958,'Mukono','108',1223),(4959,'Nakapiripirit','311',1223),(4960,'Nakasongola','109',1223),(4961,'Nebbi','310',1223),(4962,'Ntungamo','411',1223),(4963,'Pader','312',1223),(4964,'Pallisa','210',1223),(4965,'Rakai','110',1223),(4966,'Rukungiri','412',1223),(4967,'Sembabule','111',1223),(4968,'Sironko','215',1223),(4969,'Soroti','211',1223),(4970,'Tororo','212',1223),(4971,'Wakiso','113',1223),(4972,'Yumbe','313',1223),(4973,'Baker Island','81',1227),(4974,'Howland Island','84',1227),(4975,'Jarvis Island','86',1227),(4976,'Johnston Atoll','67',1227),(4977,'Kingman Reef','89',1227),(4978,'Midway Islands','71',1227),(4979,'Navassa Island','76',1227),(4980,'Palmyra Atoll','95',1227),(4981,'Wake Island','79',1227),(4982,'Artigsa','AR',1229),(4983,'Canelones','CA',1229),(4984,'Cerro Largo','CL',1229),(4985,'Colonia','CO',1229),(4986,'Durazno','DU',1229),(4987,'Flores','FS',1229),(4988,'Lavalleja','LA',1229),(4989,'Maldonado','MA',1229),(4990,'Montevideo','MO',1229),(4991,'Paysandu','PA',1229),(4992,'Rivera','RV',1229),(4993,'Rocha','RO',1229),(4994,'Salto','SA',1229),(4995,'Soriano','SO',1229),(4996,'Tacuarembo','TA',1229),(4997,'Treinta y Tres','TT',1229),(4998,'Toshkent (city)','TK',1230),(4999,'Qoraqalpogiston Respublikasi','QR',1230),(5000,'Andijon','AN',1230),(5001,'Buxoro','BU',1230),(5002,'Farg\'ona','FA',1230),(5003,'Jizzax','JI',1230),(5004,'Khorazm','KH',1230),(5005,'Namangan','NG',1230),(5006,'Navoiy','NW',1230),(5007,'Qashqadaryo','QA',1230),(5008,'Samarqand','SA',1230),(5009,'Sirdaryo','SI',1230),(5010,'Surxondaryo','SU',1230),(5011,'Toshkent','TO',1230),(5012,'Xorazm','XO',1230),(5013,'Distrito Federal','A',1232),(5014,'Anzoategui','B',1232),(5015,'Apure','C',1232),(5016,'Aragua','D',1232),(5017,'Barinas','E',1232),(5018,'Carabobo','G',1232),(5019,'Cojedes','H',1232),(5020,'Falcon','I',1232),(5021,'Guarico','J',1232),(5022,'Lara','K',1232),(5023,'Merida','L',1232),(5024,'Miranda','M',1232),(5025,'Monagas','N',1232),(5026,'Nueva Esparta','O',1232),(5027,'Portuguesa','P',1232),(5028,'Tachira','S',1232),(5029,'Trujillo','T',1232),(5030,'Vargas','X',1232),(5031,'Yaracuy','U',1232),(5032,'Zulia','V',1232),(5033,'Delta Amacuro','Y',1232),(5034,'Dependencias Federales','W',1232),(5035,'An Giang','44',1233),(5036,'Ba Ria - Vung Tau','43',1233),(5037,'Bac Can','53',1233),(5038,'Bac Giang','54',1233),(5039,'Bac Lieu','55',1233),(5040,'Bac Ninh','56',1233),(5041,'Ben Tre','50',1233),(5042,'Binh Dinh','31',1233),(5043,'Binh Duong','57',1233),(5044,'Binh Phuoc','58',1233),(5045,'Binh Thuan','40',1233),(5046,'Ca Mau','59',1233),(5047,'Can Tho','48',1233),(5048,'Cao Bang','04',1233),(5049,'Da Nang, thanh pho','60',1233),(5050,'Dong Nai','39',1233),(5051,'Dong Thap','45',1233),(5052,'Gia Lai','30',1233),(5053,'Ha Giang','03',1233),(5054,'Ha Nam','63',1233),(5055,'Ha Noi, thu do','64',1233),(5056,'Ha Tay','15',1233),(5057,'Ha Tinh','23',1233),(5058,'Hai Duong','61',1233),(5059,'Hai Phong, thanh pho','62',1233),(5060,'Hoa Binh','14',1233),(5061,'Ho Chi Minh, thanh pho [Sai Gon]','65',1233),(5062,'Hung Yen','66',1233),(5063,'Khanh Hoa','34',1233),(5064,'Kien Giang','47',1233),(5065,'Kon Tum','28',1233),(5066,'Lai Chau','01',1233),(5067,'Lam Dong','35',1233),(5068,'Lang Son','09',1233),(5069,'Lao Cai','02',1233),(5070,'Long An','41',1233),(5071,'Nam Dinh','67',1233),(5072,'Nghe An','22',1233),(5073,'Ninh Binh','18',1233),(5074,'Ninh Thuan','36',1233),(5075,'Phu Tho','68',1233),(5076,'Phu Yen','32',1233),(5077,'Quang Binh','24',1233),(5078,'Quang Nam','27',1233),(5079,'Quang Ngai','29',1233),(5080,'Quang Ninh','13',1233),(5081,'Quang Tri','25',1233),(5082,'Soc Trang','52',1233),(5083,'Son La','05',1233),(5084,'Tay Ninh','37',1233),(5085,'Thai Binh','20',1233),(5086,'Thai Nguyen','69',1233),(5087,'Thanh Hoa','21',1233),(5088,'Thua Thien-Hue','26',1233),(5089,'Tien Giang','46',1233),(5090,'Tra Vinh','51',1233),(5091,'Tuyen Quang','07',1233),(5092,'Vinh Long','49',1233),(5093,'Vinh Phuc','70',1233),(5094,'Yen Bai','06',1233),(5095,'Malampa','MAP',1231),(5096,'Penama','PAM',1231),(5097,'Sanma','SAM',1231),(5098,'Shefa','SEE',1231),(5099,'Tafea','TAE',1231),(5100,'Torba','TOB',1231),(5101,'A\'ana','AA',1185),(5102,'Aiga-i-le-Tai','AL',1185),(5103,'Atua','AT',1185),(5104,'Fa\'aaaleleaga','FA',1185),(5105,'Gaga\'emauga','GE',1185),(5106,'Gagaifomauga','GI',1185),(5107,'Palauli','PA',1185),(5108,'Satupa\'itea','SA',1185),(5109,'Tuamasaga','TU',1185),(5110,'Va\'a-o-Fonoti','VF',1185),(5111,'Vaisigano','VS',1185),(5112,'Crna Gora','CG',1243),(5113,'Srbija','SR',1242),(5114,'Kosovo-Metohija','KM',1242),(5115,'Vojvodina','VO',1242),(5116,'Abyan','AB',1237),(5117,'Adan','AD',1237),(5118,'Ad Dali','DA',1237),(5119,'Al Bayda\'','BA',1237),(5120,'Al Hudaydah','MU',1237),(5121,'Al Mahrah','MR',1237),(5122,'Al Mahwit','MW',1237),(5123,'Amran','AM',1237),(5124,'Dhamar','DH',1237),(5125,'Hadramawt','HD',1237),(5126,'Hajjah','HJ',1237),(5127,'Ibb','IB',1237),(5128,'Lahij','LA',1237),(5129,'Ma\'rib','MA',1237),(5130,'Sa\'dah','SD',1237),(5131,'San\'a\'','SN',1237),(5132,'Shabwah','SH',1237),(5133,'Ta\'izz','TA',1237),(5134,'Eastern Cape','EC',1196),(5135,'Free State','FS',1196),(5136,'Gauteng','GT',1196),(5137,'Kwazulu-Natal','NL',1196),(5138,'Mpumalanga','MP',1196),(5139,'Northern Cape','NC',1196),(5140,'Limpopo','NP',1196),(5141,'Western Cape','WC',1196),(5142,'Copperbelt','08',1239),(5143,'Luapula','04',1239),(5144,'Lusaka','09',1239),(5145,'North-Western','06',1239),(5146,'Bulawayo','BU',1240),(5147,'Harare','HA',1240),(5148,'Manicaland','MA',1240),(5149,'Mashonaland Central','MC',1240),(5150,'Mashonaland East','ME',1240),(5151,'Mashonaland West','MW',1240),(5152,'Masvingo','MV',1240),(5153,'Matabeleland North','MN',1240),(5154,'Matabeleland South','MS',1240),(5155,'Midlands','MI',1240),(5156,'South Karelia','SK',1075),(5157,'South Ostrobothnia','SO',1075),(5158,'Etelä-Savo','ES',1075),(5159,'Häme','HH',1075),(5160,'Itä-Uusimaa','IU',1075),(5161,'Kainuu','KA',1075),(5162,'Central Ostrobothnia','CO',1075),(5163,'Central Finland','CF',1075),(5164,'Kymenlaakso','KY',1075),(5165,'Lapland','LA',1075),(5166,'Tampere Region','TR',1075),(5167,'Ostrobothnia','OB',1075),(5168,'North Karelia','NK',1075),(5169,'Northern Ostrobothnia','NO',1075),(5170,'Northern Savo','NS',1075),(5171,'Päijät-Häme','PH',1075),(5172,'Satakunta','SK',1075),(5173,'Uusimaa','UM',1075),(5174,'South-West Finland','SW',1075),(5175,'Åland','AL',1075),(5176,'Limburg','LI',1152),(5177,'Central and Western','CW',1098),(5178,'Eastern','EA',1098),(5179,'Southern','SO',1098),(5180,'Wan Chai','WC',1098),(5181,'Kowloon City','KC',1098),(5182,'Kwun Tong','KU',1098),(5183,'Sham Shui Po','SS',1098),(5184,'Wong Tai Sin','WT',1098),(5185,'Yau Tsim Mong','YT',1098),(5186,'Islands','IS',1098),(5187,'Kwai Tsing','KI',1098),(5188,'North','NO',1098),(5189,'Sai Kung','SK',1098),(5190,'Sha Tin','ST',1098),(5191,'Tai Po','TP',1098),(5192,'Tsuen Wan','TW',1098),(5193,'Tuen Mun','TM',1098),(5194,'Yuen Long','YL',1098),(5195,'Manchester','MR',1108),(5196,'Al Manāmah (Al ‘Āşimah)','13',1016),(5197,'Al Janūbīyah','14',1016),(5199,'Al Wusţá','16',1016),(5200,'Ash Shamālīyah','17',1016),(5201,'Jenin','_A',1165),(5202,'Tubas','_B',1165),(5203,'Tulkarm','_C',1165),(5204,'Nablus','_D',1165),(5205,'Qalqilya','_E',1165),(5206,'Salfit','_F',1165),(5207,'Ramallah and Al-Bireh','_G',1165),(5208,'Jericho','_H',1165),(5209,'Jerusalem','_I',1165),(5210,'Bethlehem','_J',1165),(5211,'Hebron','_K',1165),(5212,'North Gaza','_L',1165),(5213,'Gaza','_M',1165),(5214,'Deir el-Balah','_N',1165),(5215,'Khan Yunis','_O',1165),(5216,'Rafah','_P',1165),(5217,'Brussels','BRU',1020),(5218,'Distrito Federal','DIF',1140),(5219,'Taichung City','TXG',1208),(5220,'Kaohsiung City','KHH',1208),(5221,'Taipei City','TPE',1208),(5222,'Chiayi City','CYI',1208),(5223,'Hsinchu City','HSZ',1208),(5224,'Tainan City','TNN',1208),(9000,'North West','NW',1196),(9986,'Tyne and Wear','TWR',1226),(9988,'Greater Manchester','GTM',1226),(9989,'Co Tyrone','TYR',1226),(9990,'West Yorkshire','WYK',1226),(9991,'South Yorkshire','SYK',1226),(9992,'Merseyside','MSY',1226),(9993,'Berkshire','BRK',1226),(9994,'West Midlands','WMD',1226),(9998,'West Glamorgan','WGM',1226),(9999,'London','LON',1226),(10000,'Carbonia-Iglesias','CI',1107),(10001,'Olbia-Tempio','OT',1107),(10002,'Medio Campidano','VS',1107),(10003,'Ogliastra','OG',1107),(10009,'Jura','39',1076),(10010,'Barletta-Andria-Trani','Bar',1107),(10011,'Fermo','Fer',1107),(10012,'Monza e Brianza','Mon',1107),(10013,'Clwyd','CWD',1226),(10014,'Dyfed','DFD',1226),(10015,'South Glamorgan','SGM',1226),(10016,'Artibonite','AR',1094),(10017,'Centre','CE',1094),(10018,'Nippes','NI',1094),(10019,'Nord','ND',1094),(10020,'La Rioja','F',1010),(10021,'Andorra la Vella','07',1005),(10022,'Canillo','02',1005),(10023,'Encamp','03',1005),(10024,'Escaldes-Engordany','08',1005),(10025,'La Massana','04',1005),(10026,'Ordino','05',1005),(10027,'Sant Julia de Loria','06',1005),(10028,'Abaco Islands','AB',1212),(10029,'Andros Island','AN',1212),(10030,'Berry Islands','BR',1212),(10031,'Eleuthera','EL',1212),(10032,'Grand Bahama','GB',1212),(10033,'Rum Cay','RC',1212),(10034,'San Salvador Island','SS',1212),(10035,'Kongo central','01',1050),(10036,'Kwango','02',1050),(10037,'Kwilu','03',1050),(10038,'Mai-Ndombe','04',1050),(10039,'Kasai','05',1050),(10040,'Lulua','06',1050),(10041,'Lomami','07',1050),(10042,'Sankuru','08',1050),(10043,'Ituri','09',1050),(10044,'Haut-Uele','10',1050),(10045,'Tshopo','11',1050),(10046,'Bas-Uele','12',1050),(10047,'Nord-Ubangi','13',1050),(10048,'Mongala','14',1050),(10049,'Sud-Ubangi','15',1050),(10050,'Tshuapa','16',1050),(10051,'Haut-Lomami','17',1050),(10052,'Lualaba','18',1050),(10053,'Haut-Katanga','19',1050),(10054,'Tanganyika','20',1050),(10055,'Toledo','TO',1198),(10056,'Córdoba','CO',1198),(10057,'Metropolitan Manila','MNL',1170),(10058,'La Paz','LP',1097),(10059,'Yinchuan','YN',1045),(10060,'Shizuishan','SZ',1045),(10061,'Wuzhong','WZ',1045),(10062,'Guyuan','GY',1045),(10063,'Zhongwei','ZW',1045),(10064,'Luxembourg','L',1126),(10065,'Aizkraukles novads','002',1119),(10066,'Jaunjelgavas novads','038',1119),(10067,'Pļaviņu novads','072',1119),(10068,'Kokneses novads','046',1119),(10069,'Neretas novads','065',1119),(10070,'Skrīveru novads','092',1119),(10071,'Alūksnes novads','007',1119),(10072,'Apes novads','009',1119),(10073,'Balvu novads','015',1119),(10074,'Viļakas novads','108',1119),(10075,'Baltinavas novads','014',1119),(10076,'Rugāju novads','082',1119),(10077,'Bauskas novads','016',1119),(10078,'Iecavas novads','034',1119),(10079,'Rundāles novads','083',1119),(10080,'Vecumnieku novads','105',1119),(10081,'Cēsu novads','022',1119),(10082,'Līgatnes novads','055',1119),(10083,'Amatas novads','008',1119),(10084,'Jaunpiebalgas novads','039',1119),(10085,'Priekuļu novads','075',1119),(10086,'Pārgaujas novads','070',1119),(10087,'Raunas novads','076',1119),(10088,'Vecpiebalgas novads','104',1119),(10089,'Daugavpils novads','025',1119),(10090,'Ilūkstes novads','036',1119),(10091,'Dobeles novads','026',1119),(10092,'Auces novads','010',1119),(10093,'Tērvetes novads','098',1119),(10094,'Gulbenes novads','033',1119),(10095,'Jelgavas novads','041',1119),(10096,'Ozolnieku novads','069',1119),(10097,'Jēkabpils novads','042',1119),(10098,'Aknīstes novads','004',1119),(10099,'Viesītes novads','107',1119),(10100,'Krustpils novads','049',1119),(10101,'Salas novads','085',1119),(10102,'Krāslavas novads','047',1119),(10103,'Dagdas novads','024',1119),(10104,'Aglonas novads','001',1119),(10105,'Kuldīgas novads','050',1119),(10106,'Skrundas novads','093',1119),(10107,'Alsungas novads','006',1119),(10108,'Aizputes novads','003',1119),(10109,'Durbes novads','028',1119),(10110,'Grobiņas novads','032',1119),(10111,'Pāvilostas novads','071',1119),(10112,'Priekules novads','074',1119),(10113,'Nīcas novads','066',1119),(10114,'Rucavas novads','081',1119),(10115,'Vaiņodes novads','100',1119),(10116,'Limbažu novads','054',1119),(10117,'Alojas novads','005',1119),(10118,'Salacgrīvas novads','086',1119),(10119,'Ludzas novads','058',1119),(10120,'Kārsavas novads','044',1119),(10121,'Zilupes novads','110',1119),(10122,'Ciblas novads','023',1119),(10123,'Madonas novads','059',1119),(10124,'Cesvaines novads','021',1119),(10125,'Lubānas novads','057',1119),(10126,'Varakļānu novads','102',1119),(10127,'Ērgļu novads','030',1119),(10128,'Ogres novads','067',1119),(10129,'Ikšķiles novads','035',1119),(10130,'Ķeguma novads','051',1119),(10131,'Lielvārdes novads','053',1119),(10132,'Preiļu novads','073',1119),(10133,'Līvānu novads','056',1119),(10134,'Riebiņu novads','078',1119),(10135,'Vārkavas novads','103',1119),(10136,'Rēzeknes novads','077',1119),(10137,'Viļānu novads','109',1119),(10138,'Baldones novads','013',1119),(10139,'Ķekavas novads','052',1119),(10140,'Olaines novads','068',1119),(10141,'Salaspils novads','087',1119),(10142,'Saulkrastu novads','089',1119),(10143,'Siguldas novads','091',1119),(10144,'Inčukalna novads','037',1119),(10145,'Ādažu novads','011',1119),(10146,'Babītes novads','012',1119),(10147,'Carnikavas novads','020',1119),(10148,'Garkalnes novads','031',1119),(10149,'Krimuldas novads','048',1119),(10150,'Mālpils novads','061',1119),(10151,'Mārupes novads','062',1119),(10152,'Ropažu novads','080',1119),(10153,'Sējas novads','090',1119),(10154,'Stopiņu novads','095',1119),(10155,'Saldus novads','088',1119),(10156,'Brocēnu novads','018',1119),(10157,'Talsu novads','097',1119),(10158,'Dundagas novads','027',1119),(10159,'Mērsraga novads','063',1119),(10160,'Rojas novads','079',1119),(10161,'Tukuma novads','099',1119),(10162,'Kandavas novads','043',1119),(10163,'Engures novads','029',1119),(10164,'Jaunpils novads','040',1119),(10165,'Valkas novads','101',1119),(10166,'Smiltenes novads','094',1119),(10167,'Strenču novads','096',1119),(10168,'Kocēnu novads','045',1119),(10169,'Mazsalacas novads','060',1119),(10170,'Rūjienas novads','084',1119),(10171,'Beverīnas novads','017',1119),(10172,'Burtnieku novads','019',1119),(10173,'Naukšēnu novads','064',1119),(10174,'Ventspils novads','106',1119),(10175,'Jēkabpils','JKB',1119),(10176,'Valmiera','VMR',1119),(10177,'Florida','FL',1229),(10178,'Rio Negro','RN',1229),(10179,'San Jose','SJ',1229),(10180,'Plateau','PL',1157),(10181,'Pieria','61',1085),(10182,'Los Rios','LR',1044),(10183,'Arica y Parinacota','AP',1044),(10184,'Amazonas','AMA',1169),(10185,'Kalimantan Tengah','KT',1102),(10186,'Sulawesi Barat','SR',1102),(10187,'Kalimantan Utara','KU',1102),(10188,'Ankaran','86',1193),(10189,'Apače','87',1193),(10190,'Cirkulane','88',1193),(10191,'Gorje','89',1193),(10192,'Kostanjevica na Krki','90',1193),(10193,'Log-Dragomer','91',1193),(10194,'Makole','92',1193),(10195,'Mirna','93',1193),(10196,'Mokronog-Trebelno','94',1193),(10197,'Odranci','95',1193),(10198,'Oplotnica','96',1193),(10199,'Ormož','97',1193),(10200,'Osilnica','98',1193),(10201,'Pesnica','99',1193),(10202,'Piran','100',1193),(10203,'Pivka','101',1193),(10204,'Podčetrtek','102',1193),(10205,'Podlehnik','103',1193),(10206,'Podvelka','104',1193),(10207,'Poljčane','105',1193),(10208,'Polzela','106',1193),(10209,'Postojna','107',1193),(10210,'Prebold','108',1193),(10211,'Preddvor','109',1193),(10212,'Prevalje','110',1193),(10213,'Ptuj','111',1193),(10214,'Puconci','112',1193),(10215,'Rače-Fram','113',1193),(10216,'Radeče','114',1193),(10217,'Radenci','115',1193),(10218,'Radlje ob Dravi','139',1193),(10219,'Radovljica','145',1193),(10220,'Ravne na Koroškem','171',1193),(10221,'Razkrižje','172',1193),(10222,'Rečica ob Savinji','173',1193),(10223,'Renče-Vogrsko','174',1193),(10224,'Ribnica','175',1193),(10225,'Ribnica na Pohorju','176',1193),(10226,'Rogaška Slatina','177',1193),(10227,'Rogašovci','178',1193),(10228,'Rogatec','179',1193),(10229,'Ruše','180',1193),(10230,'Selnica ob Dravi','195',1193),(10231,'Semič','196',1193),(10232,'Šentrupert','197',1193),(10233,'Sevnica','198',1193),(10234,'Sežana','199',1193),(10235,'Slovenj Gradec','200',1193),(10236,'Slovenska Bistrica','201',1193),(10237,'Slovenske Konjice','202',1193),(10238,'Šmarješke Toplice','203',1193),(10239,'Sodražica','204',1193),(10240,'Solčava','205',1193),(10241,'Središče ob Dravi','206',1193),(10242,'Starše','207',1193),(10243,'Straža','208',1193),(10244,'Sveta Trojica v Slovenskih goricah','209',1193),(10245,'Sveti Jurij v Slovenskih goricah','210',1193),(10246,'Sveti Tomaž','211',1193),(10247,'Vodice','212',1193),(10248,'Abkhazia','AB',1081),(10249,'Adjara','AJ',1081),(10250,'Tbilisi','TB',1081),(10251,'Guria','GU',1081),(10252,'Imereti','IM',1081),(10253,'Kakheti','KA',1081),(10254,'Kvemo Kartli','KK',1081),(10255,'Mtskheta-Mtianeti','MM',1081),(10256,'Racha-Lechkhumi and Kvemo Svaneti','RL',1081),(10257,'Samegrelo-Zemo Svaneti','SZ',1081),(10258,'Samtskhe-Javakheti','SJ',1081),(10259,'Shida Kartli','SK',1081),(10260,'Central','C',1074),(10261,'Punjab','PB',1163),(10262,'La Libertad','LI',1066),(10263,'La Paz','PA',1066),(10264,'La Union','UN',1066),(10265,'Littoral','LT',1038),(10266,'Nord-Ouest','NW',1038),(10267,'Telangana','TG',1101),(10268,'Ash Sharqiyah','04',1187),(10269,'Guadeloupe','GP',1076),(10270,'Martinique','MQ',1076),(10271,'Guyane','GF',1076),(10272,'La Réunion','RE',1076),(10273,'Mayotte','YT',1076),(10274,'Baringo','01',1112),(10275,'Bomet','02',1112),(10276,'Bungoma','03',1112),(10277,'Busia','04',1112),(10278,'Elgeyo/Marakwet','05',1112),(10279,'Embu','06',1112),(10280,'Garissa','07',1112),(10281,'Homa Bay','08',1112),(10282,'Isiolo','09',1112),(10283,'Kajiado','10',1112),(10284,'Kakamega','11',1112),(10285,'Kericho','12',1112),(10286,'Kiambu','13',1112),(10287,'Kilifi','14',1112),(10288,'Kirinyaga','15',1112),(10289,'Kisii','16',1112),(10290,'Kisumu','17',1112),(10291,'Kitui','18',1112),(10292,'Kwale','19',1112),(10293,'Laikipia','20',1112),(10294,'Lamu','21',1112),(10295,'Machakos','22',1112),(10296,'Makueni','23',1112),(10297,'Mandera','24',1112),(10298,'Marsabit','25',1112),(10299,'Meru','26',1112),(10300,'Migori','27',1112),(10301,'Mombasa','28',1112),(10302,'Murang\'a','29',1112),(10303,'Nairobi City','30',1112),(10304,'Nakuru','31',1112),(10305,'Nandi','32',1112),(10306,'Narok','33',1112),(10307,'Nyamira','34',1112),(10308,'Nyandarua','35',1112),(10309,'Nyeri','36',1112),(10310,'Samburu','37',1112),(10311,'Siaya','38',1112),(10312,'Taita/Taveta','39',1112),(10313,'Tana River','40',1112),(10314,'Tharaka-Nithi','41',1112),(10315,'Trans Nzoia','42',1112),(10316,'Turkana','43',1112),(10317,'Uasin Gishu','44',1112),(10318,'Vihiga','45',1112),(10319,'Wajir','46',1112),(10320,'West Pokot','47',1112),(10321,'Chandigarh','CH',1101),(10322,'Central','CP',1083),(10323,'Eastern','EP',1083),(10324,'Northern','NP',1083),(10325,'Western','WP',1083),(10326,'Saint Kitts','K',1181),(10327,'Nevis','N',1181),(10328,'Eastern','E',1190),(10329,'Northern','N',1190),(10330,'Southern','S',1190),(10331,'Dushanbe','DU',1209),(10332,'Nohiyahoi Tobei Jumhurí','RA',1209),(10333,'Wallis-et-Futuna','WF',1076),(10334,'Nouvelle-Calédonie','NC',1076),(10335,'Haute-Marne','52',1076),(10336,'Saint George','03',1009),(10337,'Saint John','04',1009),(10338,'Saint Mary','05',1009),(10339,'Saint Paul','06',1009),(10340,'Saint Peter','07',1009),(10341,'Saint Philip','08',1009),(10342,'Barbuda','10',1009),(10343,'Redonda','11',1009),(10344,'Christ Church','01',1018),(10345,'Saint Andrew','02',1018),(10346,'Saint George','03',1018),(10347,'Saint James','04',1018),(10348,'Saint John','05',1018),(10349,'Saint Joseph','06',1018),(10350,'Saint Lucy','07',1018),(10351,'Saint Michael','08',1018),(10352,'Saint Peter','09',1018),(10353,'Saint Philip','10',1018),(10354,'Saint Thomas','11',1018);
 /*!40000 ALTER TABLE `civicrm_state_province` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1345,7 +1344,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_subscription_history` WRITE;
 /*!40000 ALTER TABLE `civicrm_subscription_history` DISABLE KEYS */;
-INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES (1,47,2,'2017-03-19 14:07:56','Admin','Added',NULL),(2,109,2,'2016-11-21 01:07:52','Email','Added',NULL),(3,69,2,'2017-08-27 02:03:58','Email','Added',NULL),(4,111,2,'2017-08-12 12:33:25','Admin','Added',NULL),(5,143,2,'2017-10-29 06:38:45','Email','Added',NULL),(6,26,2,'2017-08-10 08:49:50','Admin','Added',NULL),(7,84,2,'2017-01-30 02:56:23','Email','Added',NULL),(8,171,2,'2017-10-23 23:14:03','Email','Added',NULL),(9,52,2,'2017-07-14 21:36:52','Admin','Added',NULL),(10,122,2,'2017-06-13 19:44:31','Email','Added',NULL),(11,146,2,'2017-03-05 07:17:06','Admin','Added',NULL),(12,94,2,'2017-03-25 08:40:52','Admin','Added',NULL),(13,163,2,'2017-05-11 22:25:56','Admin','Added',NULL),(14,63,2,'2017-07-19 16:54:37','Email','Added',NULL),(15,165,2,'2017-05-09 06:19:49','Email','Added',NULL),(16,103,2,'2017-05-20 12:22:26','Email','Added',NULL),(17,124,2,'2017-03-04 00:04:09','Admin','Added',NULL),(18,170,2,'2017-08-07 02:48:00','Email','Added',NULL),(19,150,2,'2016-12-14 23:04:03','Admin','Added',NULL),(20,28,2,'2017-05-05 07:59:06','Email','Added',NULL),(21,98,2,'2017-01-01 19:04:09','Email','Added',NULL),(22,76,2,'2017-05-18 01:12:01','Email','Added',NULL),(23,101,2,'2017-04-15 07:31:02','Admin','Added',NULL),(24,3,2,'2017-02-11 11:43:35','Admin','Added',NULL),(25,112,2,'2017-08-19 07:20:30','Admin','Added',NULL),(26,99,2,'2017-07-15 06:39:23','Email','Added',NULL),(27,72,2,'2016-11-19 22:00:48','Admin','Added',NULL),(28,60,2,'2017-02-20 10:08:27','Admin','Added',NULL),(29,191,2,'2017-06-12 20:44:24','Admin','Added',NULL),(30,189,2,'2017-06-20 17:34:53','Admin','Added',NULL),(31,155,2,'2017-02-05 04:12:39','Email','Added',NULL),(32,201,2,'2017-02-07 12:23:36','Admin','Added',NULL),(33,178,2,'2017-06-20 17:09:01','Email','Added',NULL),(34,56,2,'2016-11-13 18:28:39','Email','Added',NULL),(35,119,2,'2016-12-13 05:11:12','Email','Added',NULL),(36,148,2,'2017-06-17 20:36:07','Email','Added',NULL),(37,48,2,'2017-10-25 01:37:47','Admin','Added',NULL),(38,20,2,'2017-02-24 17:00:31','Admin','Added',NULL),(39,158,2,'2017-01-12 20:25:49','Email','Added',NULL),(40,79,2,'2017-09-29 08:17:55','Email','Added',NULL),(41,8,2,'2017-10-28 08:20:26','Email','Added',NULL),(42,89,2,'2017-02-18 09:46:47','Email','Added',NULL),(43,33,2,'2017-10-02 07:06:15','Admin','Added',NULL),(44,172,2,'2017-02-04 22:08:44','Email','Added',NULL),(45,164,2,'2017-10-19 17:34:32','Email','Added',NULL),(46,67,2,'2017-02-21 20:36:53','Admin','Added',NULL),(47,17,2,'2016-11-23 17:50:14','Admin','Added',NULL),(48,14,2,'2017-06-18 11:28:56','Email','Added',NULL),(49,176,2,'2016-11-08 17:40:22','Admin','Added',NULL),(50,113,2,'2017-08-13 22:25:44','Admin','Added',NULL),(51,107,2,'2017-03-23 14:10:57','Email','Added',NULL),(52,149,2,'2017-08-22 03:02:54','Admin','Added',NULL),(53,161,2,'2016-11-14 05:40:48','Admin','Added',NULL),(54,174,2,'2017-05-17 12:44:16','Admin','Added',NULL),(55,188,2,'2016-11-10 21:59:00','Admin','Added',NULL),(56,80,2,'2017-04-27 22:02:07','Email','Added',NULL),(57,192,2,'2017-09-08 02:31:54','Email','Added',NULL),(58,199,2,'2016-12-25 10:53:59','Email','Added',NULL),(59,59,2,'2016-11-04 11:18:11','Email','Added',NULL),(60,87,2,'2017-10-03 14:50:46','Email','Added',NULL),(61,91,3,'2017-05-28 05:31:25','Email','Added',NULL),(62,88,3,'2017-09-15 05:14:50','Admin','Added',NULL),(63,50,3,'2017-05-23 10:53:35','Admin','Added',NULL),(64,179,3,'2017-10-02 02:26:30','Admin','Added',NULL),(65,168,3,'2017-05-03 11:33:41','Email','Added',NULL),(66,68,3,'2017-02-02 06:57:57','Email','Added',NULL),(67,145,3,'2017-08-28 09:06:56','Admin','Added',NULL),(68,25,3,'2017-07-01 18:21:35','Admin','Added',NULL),(69,51,3,'2017-03-19 20:48:08','Admin','Added',NULL),(70,96,3,'2016-12-31 16:39:27','Admin','Added',NULL),(71,126,3,'2017-03-29 00:07:45','Admin','Added',NULL),(72,120,3,'2017-09-10 17:52:23','Admin','Added',NULL),(73,66,3,'2016-12-08 09:59:37','Email','Added',NULL),(74,133,3,'2017-04-08 08:18:53','Admin','Added',NULL),(75,185,3,'2016-12-19 18:20:17','Admin','Added',NULL),(76,47,4,'2016-11-20 21:57:48','Admin','Added',NULL),(77,171,4,'2017-09-03 21:56:33','Email','Added',NULL),(78,165,4,'2017-10-23 20:31:04','Admin','Added',NULL),(79,76,4,'2017-10-25 01:29:11','Email','Added',NULL),(80,191,4,'2017-08-19 16:38:46','Email','Added',NULL),(81,148,4,'2017-10-01 21:17:49','Email','Added',NULL),(82,33,4,'2017-08-06 10:30:46','Admin','Added',NULL),(83,113,4,'2017-04-15 13:59:02','Admin','Added',NULL);
+INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES (1,26,2,'2017-01-29 03:15:20','Email','Added',NULL),(2,113,2,'2017-06-20 23:17:54','Email','Added',NULL),(3,78,2,'2017-12-17 02:02:50','Admin','Added',NULL),(4,57,2,'2018-01-04 16:45:31','Email','Added',NULL),(5,181,2,'2017-05-13 09:54:26','Email','Added',NULL),(6,53,2,'2017-05-18 21:56:17','Email','Added',NULL),(7,173,2,'2017-04-19 07:13:53','Email','Added',NULL),(8,133,2,'2018-01-11 05:06:52','Email','Added',NULL),(9,46,2,'2017-03-29 09:51:41','Admin','Added',NULL),(10,51,2,'2017-06-25 17:29:22','Email','Added',NULL),(11,130,2,'2017-02-24 19:28:06','Email','Added',NULL),(12,20,2,'2018-01-07 08:23:27','Email','Added',NULL),(13,73,2,'2017-07-08 09:37:12','Admin','Added',NULL),(14,15,2,'2017-10-15 16:06:56','Email','Added',NULL),(15,155,2,'2017-09-01 14:08:10','Email','Added',NULL),(16,159,2,'2017-03-26 10:10:59','Admin','Added',NULL),(17,28,2,'2017-09-14 09:31:48','Email','Added',NULL),(18,197,2,'2017-03-28 23:51:38','Admin','Added',NULL),(19,64,2,'2017-04-12 03:58:13','Email','Added',NULL),(20,49,2,'2017-03-31 21:58:30','Email','Added',NULL),(21,170,2,'2017-03-17 07:01:56','Email','Added',NULL),(22,198,2,'2017-10-12 16:07:40','Admin','Added',NULL),(23,143,2,'2017-10-27 08:37:39','Email','Added',NULL),(24,71,2,'2017-06-23 07:01:45','Admin','Added',NULL),(25,102,2,'2017-03-10 10:38:22','Admin','Added',NULL),(26,103,2,'2017-04-13 17:28:51','Admin','Added',NULL),(27,63,2,'2017-04-26 04:21:03','Email','Added',NULL),(28,191,2,'2017-11-01 23:23:39','Admin','Added',NULL),(29,101,2,'2017-04-01 05:38:44','Email','Added',NULL),(30,87,2,'2017-02-26 06:00:34','Email','Added',NULL),(31,54,2,'2017-12-20 01:43:02','Admin','Added',NULL),(32,31,2,'2017-06-10 00:07:48','Admin','Added',NULL),(33,114,2,'2017-01-13 22:22:30','Email','Added',NULL),(34,185,2,'2017-11-16 00:46:46','Email','Added',NULL),(35,183,2,'2017-01-23 05:11:25','Email','Added',NULL),(36,187,2,'2017-01-29 19:02:00','Admin','Added',NULL),(37,178,2,'2017-11-27 20:28:08','Admin','Added',NULL),(38,10,2,'2017-08-08 09:20:44','Email','Added',NULL),(39,88,2,'2017-06-19 19:29:15','Email','Added',NULL),(40,189,2,'2017-12-19 21:56:15','Admin','Added',NULL),(41,106,2,'2017-04-03 07:30:29','Email','Added',NULL),(42,91,2,'2017-10-02 01:19:02','Email','Added',NULL),(43,184,2,'2017-07-06 17:27:01','Admin','Added',NULL),(44,115,2,'2017-03-29 13:02:20','Admin','Added',NULL),(45,152,2,'2017-11-01 08:59:22','Email','Added',NULL),(46,67,2,'2017-04-21 20:30:22','Email','Added',NULL),(47,41,2,'2017-06-10 20:01:12','Admin','Added',NULL),(48,120,2,'2017-03-08 17:53:36','Admin','Added',NULL),(49,8,2,'2017-06-23 18:28:04','Admin','Added',NULL),(50,93,2,'2017-03-20 11:49:46','Admin','Added',NULL),(51,139,2,'2017-05-07 21:20:30','Email','Added',NULL),(52,13,2,'2017-03-31 23:31:10','Email','Added',NULL),(53,17,2,'2017-01-23 12:26:24','Admin','Added',NULL),(54,94,2,'2017-04-14 12:20:59','Email','Added',NULL),(55,55,2,'2017-12-29 10:27:50','Admin','Added',NULL),(56,32,2,'2017-10-24 12:54:54','Email','Added',NULL),(57,149,2,'2017-02-28 12:39:40','Email','Added',NULL),(58,127,2,'2017-05-24 15:54:35','Email','Added',NULL),(59,134,2,'2017-02-03 00:35:07','Email','Added',NULL),(60,65,2,'2017-05-21 10:44:00','Admin','Added',NULL),(61,35,3,'2017-02-23 07:57:30','Admin','Added',NULL),(62,77,3,'2017-02-18 13:04:02','Admin','Added',NULL),(63,176,3,'2017-10-13 10:43:52','Email','Added',NULL),(64,136,3,'2017-06-09 18:36:45','Admin','Added',NULL),(65,11,3,'2017-03-22 07:15:32','Admin','Added',NULL),(66,192,3,'2017-12-20 23:03:21','Email','Added',NULL),(67,86,3,'2017-10-23 10:34:06','Email','Added',NULL),(68,89,3,'2017-07-30 13:33:20','Email','Added',NULL),(69,95,3,'2017-06-26 21:44:14','Admin','Added',NULL),(70,43,3,'2017-06-19 12:10:33','Email','Added',NULL),(71,24,3,'2017-09-04 07:31:17','Admin','Added',NULL),(72,121,3,'2017-07-14 14:36:11','Admin','Added',NULL),(73,112,3,'2017-09-13 04:34:34','Email','Added',NULL),(74,188,3,'2017-11-19 06:31:14','Email','Added',NULL),(75,195,3,'2017-11-22 07:10:00','Admin','Added',NULL),(76,26,4,'2017-01-14 23:20:51','Admin','Added',NULL),(77,133,4,'2017-06-01 10:15:29','Admin','Added',NULL),(78,155,4,'2017-08-04 07:53:38','Admin','Added',NULL),(79,198,4,'2017-10-31 13:34:38','Admin','Added',NULL),(80,101,4,'2017-05-13 21:38:52','Admin','Added',NULL),(81,187,4,'2017-11-18 23:39:54','Admin','Added',NULL),(82,184,4,'2017-09-10 05:44:44','Email','Added',NULL),(83,93,4,'2017-12-30 23:57:45','Admin','Added',NULL);
 /*!40000 ALTER TABLE `civicrm_subscription_history` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1412,7 +1411,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_uf_group` WRITE;
 /*!40000 ALTER TABLE `civicrm_uf_group` DISABLE KEYS */;
-INSERT INTO `civicrm_uf_group` (`id`, `is_active`, `group_type`, `title`, `description`, `help_pre`, `help_post`, `limit_listings_group_id`, `post_URL`, `add_to_group_id`, `add_captcha`, `is_map`, `is_edit_link`, `is_uf_link`, `is_update_dupe`, `cancel_URL`, `is_cms_user`, `notify`, `is_reserved`, `name`, `created_id`, `created_date`, `is_proximity_search`, `cancel_button_text`, `submit_button_text`) VALUES (1,1,'Individual,Contact','Name and Address',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,0,'name_and_address',NULL,NULL,0,NULL,NULL),(2,1,'Individual,Contact','Supporter Profile',NULL,NULL,'<p><strong>The information you provide will NOT be shared with any third party organisations.</strong></p><p>Thank you for getting involved in our campaign!</p>',NULL,NULL,NULL,0,0,0,0,0,NULL,2,NULL,0,'supporter_profile',NULL,NULL,0,NULL,NULL),(3,1,'Participant','Participant Status',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'participant_status',NULL,NULL,0,NULL,NULL),(4,1,'Individual,Contact','New Individual',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_individual',NULL,NULL,0,NULL,NULL),(5,1,'Organization,Contact','New Organization',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_organization',NULL,NULL,0,NULL,NULL),(6,1,'Household,Contact','New Household',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_household',NULL,NULL,0,NULL,NULL),(7,1,'Contact','Summary Overlay',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'summary_overlay',NULL,NULL,0,NULL,NULL),(8,1,'Contact','Shared Address',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'shared_address',NULL,NULL,0,NULL,NULL),(9,1,'Contact,Organization','On Behalf Of Organization',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'on_behalf_organization',NULL,NULL,0,NULL,NULL),(10,1,'Contribution','Contribution Bulk Entry',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'contribution_batch_entry',NULL,NULL,0,NULL,NULL),(11,1,'Membership','Membership Bulk Entry',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'membership_batch_entry',NULL,NULL,0,NULL,NULL),(12,1,'Individual,Contact','Your Registration Info',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,0,'event_registration',NULL,NULL,0,NULL,NULL),(13,1,'Individual,Contact','Honoree Individual',NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'honoree_individual',NULL,NULL,0,NULL,NULL);
+INSERT INTO `civicrm_uf_group` (`id`, `is_active`, `group_type`, `title`, `frontend_title`, `description`, `help_pre`, `help_post`, `limit_listings_group_id`, `post_URL`, `add_to_group_id`, `add_captcha`, `is_map`, `is_edit_link`, `is_uf_link`, `is_update_dupe`, `cancel_URL`, `is_cms_user`, `notify`, `is_reserved`, `name`, `created_id`, `created_date`, `is_proximity_search`, `cancel_button_text`, `submit_button_text`) VALUES (1,1,'Individual,Contact','Name and Address',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,0,'name_and_address',NULL,NULL,0,NULL,NULL),(2,1,'Individual,Contact','Supporter Profile',NULL,NULL,NULL,'<p><strong>The information you provide will NOT be shared with any third party organisations.</strong></p><p>Thank you for getting involved in our campaign!</p>',NULL,NULL,NULL,0,0,0,0,0,NULL,2,NULL,0,'supporter_profile',NULL,NULL,0,NULL,NULL),(3,1,'Participant','Participant Status',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'participant_status',NULL,NULL,0,NULL,NULL),(4,1,'Individual,Contact','New Individual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_individual',NULL,NULL,0,NULL,NULL),(5,1,'Organization,Contact','New Organization',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_organization',NULL,NULL,0,NULL,NULL),(6,1,'Household,Contact','New Household',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'new_household',NULL,NULL,0,NULL,NULL),(7,1,'Contact','Summary Overlay',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'summary_overlay',NULL,NULL,0,NULL,NULL),(8,1,'Contact','Shared Address',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'shared_address',NULL,NULL,0,NULL,NULL),(9,1,'Contact,Organization','On Behalf Of Organization',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'on_behalf_organization',NULL,NULL,0,NULL,NULL),(10,1,'Contribution','Contribution Bulk Entry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'contribution_batch_entry',NULL,NULL,0,NULL,NULL),(11,1,'Membership','Membership Bulk Entry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'membership_batch_entry',NULL,NULL,0,NULL,NULL),(12,1,'Individual,Contact','Your Registration Info',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,0,'event_registration',NULL,NULL,0,NULL,NULL),(13,1,'Individual,Contact','Honoree Individual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,NULL,0,NULL,1,'honoree_individual',NULL,NULL,0,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_uf_group` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1441,7 +1440,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_website` WRITE;
 /*!40000 ALTER TABLE `civicrm_website` DISABLE KEYS */;
-INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES (1,55,'http://njlegalcenter.org',1),(2,184,'http://globaleducationinitiative.org',1),(3,39,'http://urbansports.org',1),(4,65,'http://iowaculturecenter.org',1),(5,156,'http://communityculture.org',1),(6,10,'http://creativeculturecenter.org',1),(7,82,'http://secondtrust.org',1),(8,22,'http://pennsylvaniamusicacademy.org',1),(9,30,'http://friendstrust.org',1),(10,34,'http://collegeempowerment.org',1),(11,4,'http://texastechnologyalliance.org',1),(12,23,'http://statesadvocacytrust.org',1),(13,29,'http://progressivepeacecollective.org',1),(14,136,'http://progressiveaction.org',1),(15,43,'http://northboroughsoftwaresystems.org',1),(16,92,'http://indianaagriculturefellowship.org',1),(17,85,'http://urbanactioninitiative.org',1),(18,151,'http://urbanculture.org',1);
+INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES (1,162,'http://woodbridgesoftwarepartnership.org',1),(2,82,'http://eractionfund.org',1),(3,123,'http://lubbocksportsalliance.org',1),(4,135,'http://nhwellnesspartnership.org',1),(5,83,'http://friendstechnology.org',1),(6,19,'http://cadellactionservices.org',1),(7,25,'http://pennsylvaniatechnology.org',1),(8,59,'http://mcartsschool.org',1),(9,3,'http://cadellpartners.org',1),(10,164,'http://bayhealth.org',1),(11,126,'http://localschool.org',1),(12,156,'http://bccitywellness.org',1),(13,169,'http://washingtonaction.org',1),(14,177,'http://friendsfund.org',1),(15,199,'http://communitytechnology.org',1);
 /*!40000 ALTER TABLE `civicrm_website` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1467,13 +1466,12 @@ UNLOCK TABLES;
 
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2017-11-02 10:28:02
+-- Dump completed on 2018-01-12  9:52:54
 -- +--------------------------------------------------------------------+
 -- | CiviCRM version 4.7                                                |
 -- +--------------------------------------------------------------------+
diff --git a/civicrm/templates/CRM/Activity/Form/Activity.tpl b/civicrm/templates/CRM/Activity/Form/Activity.tpl
index 33a813fbc6..0cd025ed4d 100644
--- a/civicrm/templates/CRM/Activity/Form/Activity.tpl
+++ b/civicrm/templates/CRM/Activity/Form/Activity.tpl
@@ -158,7 +158,7 @@
       </td>
       {else}
       <td class="view-value">
-       {$form.details.html|crmStripAlternatives}
+       {$form.details.html|crmStripAlternatives|nl2br}
       </td>
     {/if}
   </tr>
diff --git a/civicrm/templates/CRM/Admin/Form/Setting/Smtp.hlp b/civicrm/templates/CRM/Admin/Form/Setting/Smtp.hlp
new file mode 100644
index 0000000000..ed5f9fd466
--- /dev/null
+++ b/civicrm/templates/CRM/Admin/Form/Setting/Smtp.hlp
@@ -0,0 +1,31 @@
+{*--------------------------------------------------------------------+
+ | CiviCRM version 4.7                                                |
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC (c) 2004-2017                                |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM.                                    |
+ |                                                                    |
+ | CiviCRM is free software; you can copy, modify, and distribute it  |
+ | under the terms of the GNU Affero General Public License           |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ |                                                                    |
+ | CiviCRM 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 Affero General Public License for more details.        |
+ |                                                                    |
+ | You should have received a copy of the GNU Affero General Public   |
+ | License and the CiviCRM Licensing Exception along                  |
+ | with this program; if not, contact CiviCRM LLC                     |
+ | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ | GNU Affero General Public License or the licensing of CiviCRM,     |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ +-------------------------------------------------------------------*}
+
+{htxt id='allow_mail_contact_email'}
+{capture assign=adminFromEmailURL}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
+{ts 1=$adminFromEmailURL}If this is enabled a logged in user can send email from their own email address as well as the configured
+  <a href="%1"><strong>FROM Email addresses</strong></a>.  This applies to actions such as send Email, Email invoice.. If this setting
+  is disabled then only the system configured FROM Email addresses will be available for selection.{/ts}
+{/htxt}
+
diff --git a/civicrm/templates/CRM/Admin/Form/Setting/Smtp.tpl b/civicrm/templates/CRM/Admin/Form/Setting/Smtp.tpl
index aac1790078..8ab910f8ab 100644
--- a/civicrm/templates/CRM/Admin/Form/Setting/Smtp.tpl
+++ b/civicrm/templates/CRM/Admin/Form/Setting/Smtp.tpl
@@ -24,13 +24,24 @@
  +--------------------------------------------------------------------+
 *}
 <div class="crm-block crm-form-block crm-smtp-form-block">
-<div class="help">
-  <p>{ts}CiviCRM offers several options to send emails. The default option should work fine on linux systems. If you are using windows, you probably need to enter settings for your SMTP/Sendmail server. You can send a test email to check your settings by clicking "Save and Send Test Email". If you're unsure of the correct values, check with your system administrator, ISP or hosting provider.{/ts}</p>
-  <p>{ts}If you do not want users to send outbound mail from CiviCRM, select "Disable Outbound Email". NOTE: If you disable outbound email, and you are using Online Contribution pages or online Event Registration - you will need to disable automated receipts and registration confirmations.{/ts}</p>
-  <p>{ts}If you choose Redirect to Database, all emails will be recorded as archived mailings instead of being sent out. They can be found in the civicrm_mailing_spool table in the CiviCRM database.{/ts}</p>
-
-</div>
+  <div>
+  <h3>{ts}General{/ts}</h3>
      <table class="form-layout-compressed">
+       <tr class="crm-smtp-form-block-allow_mail_from_logged_in_contact">
+         <td class="label">{$form.allow_mail_from_logged_in_contact.html}</td>
+         <td>{$form.allow_mail_from_logged_in_contact.label} {help id=allow_mail_contact_email}</td>
+       </tr>
+     </table>
+  </div>
+  {crmRegion name="smtp-mailer-config"}
+  <div class="crm-smtp-mailer-form-block">
+  <h3>{ts}Mailer Configuration{/ts}</h3>
+  <div class="help">
+    <p>{ts}CiviCRM offers several options to send emails. You can send a test email to check your settings by clicking "Save and Send Test Email". If you're unsure of the correct values, check with your system administrator, ISP or hosting provider.{/ts}</p>
+    <p>{ts}If you do not want users to send outbound mail from CiviCRM, select "Disable Outbound Email". NOTE: If you disable outbound email, and you are using Online Contribution pages or online Event Registration - you will need to disable automated receipts and registration confirmations.{/ts}</p>
+    <p>{ts}If you choose Redirect to Database, all emails will be recorded as archived mailings instead of being sent out. They can be found in the civicrm_mailing_spool table in the CiviCRM database.{/ts}</p>
+  </div>
+     <table>
            <tr class="crm-smtp-form-block-outBound_option">
               <td class="label">{$form.outBound_option.label}</td>
               <td>{$form.outBound_option.html}</td>
@@ -92,7 +103,6 @@
         <div class="crm-submit-buttons">
             {include file="CRM/common/formButtons.tpl"}
         </div>
-</div>
 
 {literal}
 <script type="text/javascript">
@@ -142,3 +152,6 @@
 
 </script>
 {/literal}
+  </div>
+  {/crmRegion}
+</div>
diff --git a/civicrm/templates/CRM/Admin/Page/LocationType.tpl b/civicrm/templates/CRM/Admin/Page/LocationType.tpl
index 1f13afa293..c2d58ff333 100644
--- a/civicrm/templates/CRM/Admin/Page/LocationType.tpl
+++ b/civicrm/templates/CRM/Admin/Page/LocationType.tpl
@@ -30,6 +30,7 @@
     {ts}Location types provide convenient labels to differentiate contacts' location(s). Administrators may define as many additional types as appropriate for your constituents (examples might be Main Office, School, Vacation Home...).{/ts}
   </div>
 
+<div class="crm-block crm-content-block">
   {if $rows}
   <div id="ltype">
     {strip}
@@ -38,15 +39,15 @@
     {include file="CRM/common/jsortable.tpl"}
     <table id="options" class="display">
     <thead>
-    <tr>
-        <th id="sortable">{ts}Name{/ts}</th>
-        <th>{ts}Display Name{/ts}</th>
-        <th>{ts}vCard{/ts}</th>
-        <th id="nosort">{ts}Description{/ts}</th>
-        <th>{ts}Enabled?{/ts}</th>
-        <th>{ts}Default?{/ts}</th>
-        <th></th>
-    </tr>
+      <tr>
+          <th id="sortable">{ts}Name{/ts}</th>
+          <th>{ts}Display Name{/ts}</th>
+          <th>{ts}vCard{/ts}</th>
+          <th id="nosort">{ts}Description{/ts}</th>
+          <th>{ts}Enabled?{/ts}</th>
+          <th>{ts}Default?{/ts}</th>
+          <th></th>
+      </tr>
     </thead>
     {foreach from=$rows item=row}
     <tr id="location_type-{$row.id}"  data-action="setvalue" class="{cycle values="odd-row,even-row"} {$row.class} crm-entity {if NOT $row.is_active} disabled{/if}">
@@ -72,4 +73,5 @@
     {crmButton q="action=add&reset=1" id="newLocationType" icon="plus-circle"}{ts}Add Option{/ts}{/crmButton}
     {crmButton p="civicrm/admin" q="reset=1" class="cancel" icon="times"}{ts}Done{/ts}{/crmButton}
   </div>
+</div>
 {/if}
diff --git a/civicrm/templates/CRM/Batch/Form/Entry.tpl b/civicrm/templates/CRM/Batch/Form/Entry.tpl
index 573db8755f..017938abdc 100644
--- a/civicrm/templates/CRM/Batch/Form/Entry.tpl
+++ b/civicrm/templates/CRM/Batch/Form/Entry.tpl
@@ -118,7 +118,12 @@
                {/if}
              </div>
           {else}
-            <div class="compressed crm-grid-cell">{$form.field.$rowNumber.$n.html}</div>
+            <div class="compressed crm-grid-cell">
+              {$form.field.$rowNumber.$n.html}
+              {if $fields.$n.html_type eq 'File' && !empty($form.field.$rowNumber.$fieldName.value.size)}
+                {ts}Attached{/ts}: {$form.field.$rowNumber.$fieldName.value.name}
+              {/if}
+            </div>
           {/if}
         {/foreach}
       </div>
diff --git a/civicrm/templates/CRM/Campaign/Form/Search.tpl b/civicrm/templates/CRM/Campaign/Form/Search.tpl
index 108e6fbbb5..1606a0392f 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search.tpl
@@ -27,29 +27,37 @@
 {include file='CRM/Campaign/Form/Search/Common.tpl' context='search'}
 
 {if $rowsEmpty || $rows}
-<div class="crm-content-block">
+<div class="crm-content-block crm-search-form-block">
 {if $rowsEmpty}
+<div class="crm-content-block">
+  <div class="crm-results-block crm-results-block-empty">
     {include file="CRM/Campaign/Form/Search/EmptyResults.tpl"}
+  </div>
+</div>
 {/if}
 
 {if $rows}
+<div class="crm-content-block">
+  <div class="crm-results-block">
     {* Search request has returned 1 or more matching rows. Display results and collapse the search criteria fieldset. *}
     {assign var="showBlock" value="'searchForm_show'"}
     {assign var="hideBlock" value="'searchForm'"}
 
     {* Search request has returned 1 or more matching rows. *}
     <fieldset>
-
+      <div class="crm-search-tasks">
        {* This section handles form elements for action task select and submit *}
        {include file="CRM/common/searchResultTasks.tpl" context="Campaign"}
-
+      </div>
+      <div class="crm-search-results">
        {* This section displays the rows along and includes the paging controls *}
        <p></p>
        {include file="CRM/Campaign/Form/Selector.tpl" context="Search"}
-
+      </div>
     </fieldset>
     {* END Actions/Results section *}
-
+  </div>
+</div>
 {/if}
 </div>
 {/if}
diff --git a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
index 743b882c96..4869ce8f37 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
@@ -30,9 +30,8 @@
 {if $searchVoterFor}
   {assign var='searchForm' value="search_form_$searchVoterFor"}
 {/if}
-
   <div id="{$searchForm}" class="crm-accordion-wrapper crm-contribution_search_form-accordion {if $rows}collapsed{/if}">
-    <div class="crm-accordion-header crm-master-accordion-header">
+    <div class="crm-accordion-header {if !$votingTab} crm-master-accordion-header{/if}">
     {ts}Edit Search Criteria{/ts}
     </div><!-- /.crm-accordion-header -->
 
diff --git a/civicrm/templates/CRM/Campaign/Form/Search/Petition.tpl b/civicrm/templates/CRM/Campaign/Form/Search/Petition.tpl
index 08da9d8157..3bc931d8f6 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search/Petition.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search/Petition.tpl
@@ -198,7 +198,7 @@ function loadPetitionList( )
              "oLanguage":{"sEmptyTable"  : noRecordFoundMsg,
                  "sZeroRecords" : noRecordFoundMsg },
              "fnDrawCallback": function() {
-               $(this).trigger('crmLoad');
+               CRM.$(this).trigger('crmLoad');
              },
              "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
 
diff --git a/civicrm/templates/CRM/Campaign/Form/Search/Survey.tpl b/civicrm/templates/CRM/Campaign/Form/Search/Survey.tpl
index 2b72618d58..c4de9a9c2c 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search/Survey.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search/Survey.tpl
@@ -212,7 +212,7 @@ function loadSurveyList( )
              "oLanguage":{"sEmptyTable"  : noRecordFoundMsg,
                  "sZeroRecords" : noRecordFoundMsg },
              "fnDrawCallback": function() {
-               $(this).trigger('crmLoad');
+               CRM.$(this).trigger('crmLoad');
              },
              "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
                // Crm-editable
diff --git a/civicrm/templates/CRM/Campaign/Form/Selector.tpl b/civicrm/templates/CRM/Campaign/Form/Selector.tpl
index 8650ef30a6..7f90661191 100644
--- a/civicrm/templates/CRM/Campaign/Form/Selector.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Selector.tpl
@@ -34,6 +34,7 @@
     {if !$single and $context eq 'Search' }
         <th scope="col" title="Select Rows">{$form.toggleSelect.html}</th>
     {/if}
+    <th scope="col"></th>
     {foreach from=$columnHeaders item=header}
 
         <th scope="col">
@@ -56,16 +57,17 @@
           {assign var=cbName value=$row.checkbox}
           <td>{$form.$cbName.html}</td>
    {/if}
-    <td>{$row.contact_type} &nbsp;<a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`"}">{$row.sort_name}</a></td>
-  <td>{$row.street_number}</td>
-  <td>{$row.street_name}</td>
-  <td>{$row.street_address}</td>
-  <td>{$row.city}</td>
-  <td>{$row.postal_code}</td>
-  <td>{$row.state_province}</td>
-  <td>{$row.country}</td>
-  <td>{$row.email}</td>
-  <td>{$row.phone}</td>
+    <td>{$row.contact_type}</td>
+    <td><a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`"}">{$row.sort_name}</a></td>
+    <td>{$row.street_number}</td>
+    <td>{$row.street_name}</td>
+    <td>{$row.street_address}</td>
+    <td>{$row.city}</td>
+    <td>{$row.postal_code}</td>
+    <td>{$row.state_province}</td>
+    <td>{$row.country}</td>
+    <td>{$row.email}</td>
+    <td>{$row.phone}</td>
     {/if}
   </tr>
   {/foreach}
diff --git a/civicrm/templates/CRM/Campaign/Form/Task/Interview.tpl b/civicrm/templates/CRM/Campaign/Form/Task/Interview.tpl
index e42247fa94..e05ad166d0 100644
--- a/civicrm/templates/CRM/Campaign/Form/Task/Interview.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Task/Interview.tpl
@@ -42,7 +42,7 @@
 
     <div id='responseErrors' class = "hiddenElement messages crm-error"></div>
 
-    <div id='help'>
+    <div class='help'>
       {if $votingTab}
         {ts}Click <strong>record response</strong> button to update values for each respondent as needed.{/ts}
       {else}
@@ -59,6 +59,7 @@
           <th></th>
           <th>{ts}Column{/ts}</th>
           <th>{ts}Order{/ts}</th>
+          <th></th>
         </tr>
 
         {section name=rowLoop start=1 loop=5}
diff --git a/civicrm/templates/CRM/Case/Form/Activity/ChangeCaseStatus.tpl b/civicrm/templates/CRM/Case/Form/Activity/ChangeCaseStatus.tpl
index 8f1ad08a19..5070b1d57c 100644
--- a/civicrm/templates/CRM/Case/Form/Activity/ChangeCaseStatus.tpl
+++ b/civicrm/templates/CRM/Case/Form/Activity/ChangeCaseStatus.tpl
@@ -24,14 +24,40 @@
  +--------------------------------------------------------------------+
 *}
 {* Template for "Change Case Status" activities. *}
-   <div class="crm-block crm-form-block crm-case-changecasestatus-form-block">
+  <div class="crm-block crm-form-block crm-case-changecasestatus-form-block">
     <tr class="crm-case-changecasestatus-form-block-case_status_id">
       <td class="label">{$form.case_status_id.label}</td>
-  <td>{$form.case_status_id.html}</td>
+      <td>{$form.case_status_id.html}</td>
     </tr>
+    {if sizeof($linkedCases) > 0}
+      <tr>
+        <td rowspan="2">{ts}Update Linked Cases Status?{/ts}</td>
+        <td>{$form.updateLinkedCases.html}</td>
+      </tr>
+      <tr>
+        <td>
+          <table>
+            <tr>
+              <th>ID</th>
+              <th>Case Client</th>
+              <th>Case Type</th>
+              <th>Status</th>
+            </tr>
+            {foreach from=$linkedCases item="linkedCase"}
+              <tr>
+                <td>{$linkedCase.case_id}</td>
+                <td>{$linkedCase.client_name}</td>
+                <td>{$linkedCase.case_type}</td>
+                <td>{$linkedCase.case_status}</td>
+              </tr>
+            {/foreach}
+          </table>
+        </td>
+      </tr>
+    {/if}
     {if $groupTree}
         <tr>
             <td colspan="2">{include file="CRM/Custom/Form/CustomData.tpl" noPostCustomButton=1}</td>
         </tr>
     {/if}
-   </div>
+  </div>
diff --git a/civicrm/templates/CRM/Case/Form/AddToCaseAsRole.tpl b/civicrm/templates/CRM/Case/Form/AddToCaseAsRole.tpl
new file mode 100644
index 0000000000..c88e4e8ceb
--- /dev/null
+++ b/civicrm/templates/CRM/Case/Form/AddToCaseAsRole.tpl
@@ -0,0 +1,7 @@
+<div><label for="assign_to">{$form.assign_to.label}:</label></div>
+<div>{$form.assign_to.html}</div>
+
+<div>{$form.role_type.label}</div>
+<div>{$form.role_type.html}</div><br />
+
+<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
diff --git a/civicrm/templates/CRM/Case/Form/CaseFilter.tpl b/civicrm/templates/CRM/Case/Form/CaseFilter.tpl
new file mode 100644
index 0000000000..fdf156d91c
--- /dev/null
+++ b/civicrm/templates/CRM/Case/Form/CaseFilter.tpl
@@ -0,0 +1,51 @@
+{*
+ +--------------------------------------------------------------------+
+ | CiviCRM version 4.7                                                |
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC (c) 2004-2017                                |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM.                                    |
+ |                                                                    |
+ | CiviCRM is free software; you can copy, modify, and distribute it  |
+ | under the terms of the GNU Affero General Public License           |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ |                                                                    |
+ | CiviCRM 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 Affero General Public License for more details.        |
+ |                                                                    |
+ | You should have received a copy of the GNU Affero General Public   |
+ | License and the CiviCRM Licensing Exception along                  |
+ | with this program; if not, contact CiviCRM LLC                     |
+ | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ | GNU Affero General Public License or the licensing of CiviCRM,     |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ +--------------------------------------------------------------------+
+*}
+<div class="crm-case-filter-{$list}">
+  <div class="crm-accordion-wrapper crm-search_filters-accordion">
+    <div class="crm-accordion-header">
+    {ts}Filter by Case{/ts}</a>
+    </div><!-- /.crm-accordion-header -->
+    <div class="crm-accordion-body">
+      <table class="no-border form-layout-compressed case-search-options-{$list}">
+        <tr>
+          <td class="crm-contact-form-block-case_type_id crm-inline-edit-field">
+            {$form.case_type_id.label}<br /> {$form.case_type_id.html}
+          </td>
+          <td class="crm-contact-form-block-case_status_id crm-inline-edit-field">
+            {$form.case_status_id.label}<br /> {$form.case_status_id.html}
+          </td>
+          {if $accessAllCases && $form.upcoming}
+            <td class="crm-case-dashboard-switch-view-buttons">
+              <br/>
+              {$form.upcoming.html}&nbsp;{$form.upcoming.label}
+            </td>
+          {/if}
+        </tr>
+      </table>
+    </div><!-- /.crm-accordion-body -->
+  </div><!-- /.crm-accordion-wrapper -->
+</div>
+<div class="spacer"></div>
diff --git a/civicrm/templates/CRM/Case/Form/Selector.tpl b/civicrm/templates/CRM/Case/Form/Selector.tpl
index 61b7d3bc97..2bfd6d26cb 100644
--- a/civicrm/templates/CRM/Case/Form/Selector.tpl
+++ b/civicrm/templates/CRM/Case/Form/Selector.tpl
@@ -66,7 +66,7 @@
     <td class="{$row.class} crm-case-status_{$row.case_status}">{$row.case_status}</td>
     <td class="crm-case-case_type">{$row.case_type}</td>
     <td class="crm-case-case_role">{if $row.case_role}{$row.case_role}{else}---{/if}</td>
-    <td class="crm-case-case_manager">{if $row.casemanager_id}<a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.casemanager_id`"}">{$row.casemanager}</a>{else}---{/if}</td>
+    <td class="crm-case-case_manager">{$row.casemanager}</td>
     <td class="crm-case-case_recent_activity_type">{if $row.case_recent_activity_type}
   {$row.case_recent_activity_type}<br />{$row.case_recent_activity_date|crmDate}{else}---{/if}</td>
     <td class="crm-case-case_scheduled_activity_type">{if $row.case_scheduled_activity_type}
diff --git a/civicrm/templates/CRM/Case/Page/DashBoard.tpl b/civicrm/templates/CRM/Case/Page/DashBoard.tpl
index 8ea796483c..082b0323b5 100644
--- a/civicrm/templates/CRM/Case/Page/DashBoard.tpl
+++ b/civicrm/templates/CRM/Case/Page/DashBoard.tpl
@@ -40,19 +40,18 @@
 
     <div class="crm-case-dashboard-switch-view-buttons">
         {if $myCases}
-            {* check for access all cases and activities *}
-            {if call_user_func(array('CRM_Core_Permission','check'), 'access all cases and activities')}
-                <div><input name="allupcoming" type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=1"}")' value="1"><span>{ts}All Cases with Upcoming Activities{/ts}</span></input></div>
-                <div><input name="allupcoming" checked type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=0"}")' value="0"><span>{ts}My Cases with Upcoming Activities{/ts}</span></input></div>
-            {/if}
+          {* check for access all cases and activities *}
+          {if call_user_func(array('CRM_Core_Permission','check'), 'access all cases and activities')}
+            <div><input name="allupcoming" type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=1"}")' value="1"><span>{ts}All Cases with Upcoming Activities{/ts}</span></input></div>
+            <div><input name="allupcoming" checked type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=0"}")' value="0"><span>{ts}My Cases with Upcoming Activities{/ts}</span></input></div>
+          {/if}
         {else}
-                <div><input name="allupcoming" checked type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=1"}")' value="1"><span>{ts}All Cases with Upcoming Activities{/ts}</span></input></div>
-                <div><input name="allupcoming" type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=0"}")' value="0"><span>{ts}My Cases with Upcoming Activities{/ts}</span></input></div>
+          <div><input name="allupcoming" checked type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=1"}")' value="1"><span>{ts}All Cases with Upcoming Activities{/ts}</span></input></div>
+          <div><input name="allupcoming" type="radio" class="radio" onClick='window.location.replace("{crmURL p="civicrm/case" q="reset=1&all=0"}")' value="0"><span>{ts}My Cases with Upcoming Activities{/ts}</span></input></div>
         {/if}
     </div>
 </div>
 
-
 <h3>
 {if $myCases}
   {ts}Summary of Involvement{/ts}
@@ -88,8 +87,9 @@
 <div class="spacer"></div>
     <h3>{if $myCases}{ts}My Cases With Upcoming Activities{/ts}{else}{ts}All Cases With Upcoming Activities{/ts}{/if}</h3>
     {if $upcomingCases}
+    {include file="CRM/Case/Form/CaseFilter.tpl" context="$context" list="upcoming"}
     <div class="form-item">
-        {include file="CRM/Case/Page/DashboardSelector.tpl" context="dashboard" list="upcoming" rows=$upcomingCases}
+        {include file="CRM/Case/Page/DashboardSelector.tpl" context="dashboard" list="upcoming" all="$all"}
     </div>
     {else}
         <div class="messages status no-popup">
@@ -100,13 +100,15 @@
 <div class="spacer"></div>
     <h3>{if $myCases}{ts}My Cases With Recently Performed Activities{/ts}{else}{ts}All Cases With Recently Performed Activities{/ts}{/if}</h3>
     {if $recentCases}
+    {include file="CRM/Case/Form/CaseFilter.tpl" context="$context" list="recent"}
     <div class="form-item">
-        {include file="CRM/Case/Page/DashboardSelector.tpl" context="dashboard" list="recent" rows=$recentCases}
+        {include file="CRM/Case/Page/DashboardSelector.tpl" context="dashboard" list="recent" all="$all"}
     </div>
     {else}
         <div class="messages status no-popup">
       {ts 1=$findCasesURL}There are no cases with activities scheduled in the past two weeks. Use %1 to expand your search.{/ts}
         </div>
     {/if}
+</div>
 {/if}
 </div>
diff --git a/civicrm/templates/CRM/Case/Page/DashboardSelector.tpl b/civicrm/templates/CRM/Case/Page/DashboardSelector.tpl
index 808f8ccac0..70349625ff 100644
--- a/civicrm/templates/CRM/Case/Page/DashboardSelector.tpl
+++ b/civicrm/templates/CRM/Case/Page/DashboardSelector.tpl
@@ -25,74 +25,49 @@
 *}
 {capture assign=expandIconURL}<img src="{$config->resourceBase}i/TreePlus.gif" alt="{ts}open section{/ts}"/>{/capture}
 {strip}
-<table class="caseSelector">
-  <tr class="columnheader">
-    <th></th>
-    <th>{ts}Contact{/ts}</th>
-    <th>{ts}Subject{/ts}</th>
-    <th>{ts}Status{/ts}</th>
-    <th>{ts}Type{/ts}</th>
-    <th>{ts}My Role{/ts}</th>
-    <th>{ts}Manager{/ts}</th>
-    <th>{if $list EQ 'upcoming'}{ts}Next Sched.{/ts}{elseif $list EQ 'recent'}{ts}Most Recent{/ts}{/if}</th>
-    <th></th>
+<table class="case-selector-{$list} crm-ajax-table" data-page-length='10'>
+<thead>
+  <tr>
+    <th data-data="activity_list" data-orderable="false" class="crm-case-activity_list"></th>
+    <th data-data="contact_id" class="crm-case-contact">{ts}Contact{/ts}</th>
+    <th data-data="subject" cell-class="crmf-subject crm-editable" class="crm-case-subject">{ts}Subject{/ts}</th>
+    <th data-data="case_status" class="crm-case-status">{ts}Status{/ts}</th>
+    <th data-data="case_type" class="crm-case-type">{ts}Type{/ts}</th>
+    <th data-data="case_role" class="crm-case-role">{ts}My Role{/ts}</th>
+    <th data-data="manager" data-orderable="false" class="crm-case-manager">{ts}Manager{/ts}</th>
+    <th data-data="date" cell-class="crm-case-date">{if $list EQ 'upcoming'}{ts}Next Sched.{/ts}{elseif $list EQ 'recent'}{ts}Most Recent{/ts}{/if}</th>
+    <th data-data="links" data-orderable="false" class="crm-case-links">&nbsp;</th>
   </tr>
+</thead>
+</table>
 
-  {counter start=0 skip=1 print=false}
-  {foreach from=$rows item=row}
-
-  <tr id='{$context}-{$list}-rowid-{$row.case_id}' class="crm-case crm-case_{$row.case_id}">
-  <td>
-    <a title="{ts}Activities{/ts}" class="crm-expand-row" href="{crmURL p='civicrm/case/details' q="caseId=`$row.case_id`&cid=`$row.contact_id`&type=$list"}"></a>
-  </td>
-
-    <td class="crm-case-phone"><a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`"}">{$row.sort_name}</a>{if $row.phone}<br /><span class="description">{$row.phone}</span>{/if}<br /><span class="description">{ts}Case ID{/ts}: {$row.case_id}</span></td>
-    <td class="crm-case-case_subject">{$row.case_subject}</td>
-    <td class="{$row.class} crm-case-case_status">{$row.case_status}</td>
-    <td class="crm-case-case_type">{$row.case_type}</td>
-    <td class="crm-case-case_role">{if $row.case_role}{$row.case_role}{else}---{/if}</td>
-    <td class="crm-case-casemanager">{if $row.casemanager_id}<a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.casemanager_id`"}">{$row.casemanager}</a>{else}---{/if}</td>
-    {if $list eq 'upcoming'}
-       <td class="crm-case-case_scheduled_activity">
-     {if $row.case_upcoming_activity_viewable}
-        <a class="crm-popup {$row.activity_status}" href="{crmURL p='civicrm/case/activity/view' h=0 q="cid="}{$row.contact_id}&aid={$row.case_scheduled_activity_id}" title="{ts}View activity{/ts}">{$row.case_scheduled_activity_type}</a>
-     {else}
-        {$row.case_scheduled_activity_type}
-     {/if}
-       &nbsp;&nbsp;
-     {if $row.case_upcoming_activity_editable}
-       <a class="action-item crm-hover-button" href="{crmURL p="civicrm/case/activity" q="reset=1&cid=`$row.contact_id`&caseid=`$row.case_id`&action=update&id=`$row.case_scheduled_activity_id`"}" title="{ts}Edit activity{/ts}"><i class="crm-i fa-pencil"></i></a>
-     {/if}
-     <br />
-     {$row.case_scheduled_activity_date|crmDate}
-         </td>
-
-    {elseif $list eq 'recent'}
-       <td class="crm-case-case_recent_activity">
-   {if $row.case_recent_activity_viewable}
-       <a class="action-item crm-hover-button" href="{crmURL p='civicrm/case/activity/view' h=0 q="cid="}{$row.contact_id}&aid={$row.case_recent_activity_id}" title="{ts}View activity{/ts}">{$row.case_recent_activity_type}</a>
-    {else}
-       {$row.case_recent_activity_type}
-    {/if}
-    {if $row.case_recent_activity_editable and $row.case_recent_activity_type_name != 'Inbound Email' && $row.case_recent_activity_type_name != 'Email'}&nbsp;&nbsp;<a href="{crmURL p="civicrm/case/activity" q="reset=1&cid=`$row.contact_id`&caseid=`$row.case_id`&action=update&id=`$row.case_recent_activity_id`"}" title="{ts}Edit activity{/ts}" class="crm-hover-button crm-popup"><i class="crm-i fa-pencil"></i></a>
-    {/if}<br />
-          {$row.case_recent_activity_date|crmDate}
-   </td>
-    {/if}
-
-    <td>{$row.action}{$row.moreActions}</td>
-   </tr>
-  {/foreach}
-
-    {* Dashboard only lists 10 most recent casess. *}
-    {if $context EQ 'dashboard' and $limit and $pager->_totalItems GT $limit }
-      <tr class="even-row">
-        <td colspan="10"><a href="{crmURL p='civicrm/case/search' q='reset=1'}">&raquo; {ts}Find more cases{/ts}... </a></td>
-      </tr>
-    {/if}
+{literal}
+  <script type="text/javascript">
+    (function($) {
+      var list =  {/literal}"{$list}"{literal};
+      var selectorClass = '.case-selector-' + list;
+      var filterClass = '.case-search-options-' + list;
 
-</table>
+      CRM.$('table' + selectorClass).data({
+        "ajax": {
+          "url": {/literal}'{crmURL p="civicrm/ajax/get-cases" h=0 q="snippet=4&all=`$all`"}'{literal},
+          "data": function (d) {
+            d.type = (!$("input[name='upcoming']").length) ? list : $("input[name='upcoming']").prop('checked') ? 'upcoming' : 'any';
+            d.case_type_id = $(filterClass + ' select#case_type_id').val() || [];
+            d.case_type_id = d.case_type_id.join(',');
+            d.status_id = $(filterClass + ' select#case_status_id').val() || [];
+            d.status_id = d.status_id.join(',');
+          }
+        }
+      });
+      $(function($) {
+        $(filterClass + ' :input').change(function() {
+          CRM.$('table' + selectorClass).DataTable().draw();
+        });
+      });
+    })(CRM.$);
+  </script>
+{/literal}
 
 {/strip}
-
 {crmScript file='js/crm.expandRow.js'}
diff --git a/civicrm/templates/CRM/Contact/Form/Domain.hlp b/civicrm/templates/CRM/Contact/Form/Domain.hlp
index 0723bf1417..0a41cc9232 100644
--- a/civicrm/templates/CRM/Contact/Form/Domain.hlp
+++ b/civicrm/templates/CRM/Contact/Form/Domain.hlp
@@ -30,21 +30,6 @@
 {ts 1='&#123;domain.name&#125;'}Enter the name of the organization or entity which owns this CiviCRM domain. Use the %1 token to include this value in mailing content. It is used in the default Opt-out Message.{/ts}
 {/htxt}
 
-
-{htxt id="from-name-title"}
-{ts}From Name{/ts}
-{/htxt}
-{htxt id="from-name"}
-{ts}The FROM Name and Email Address are used when automated emails are sent from this domain (e.g. subscribe and unsubscribe confirmations...). This Name and Email Address are also used as the default 'sender' values when you create a new CiviMail Mailing.{/ts}
-{/htxt}
-
-{htxt id="from-email-title"}
-{ts}From Address{/ts}
-{/htxt}
-{htxt id="from-email"}
-{ts}The FROM Name and Email Address are used when automated emails are sent from this domain (e.g. subscribe and unsubscribe confirmations...). This Name and Email Address are also used as the default 'sender' values when you create a new CiviMail Mailing.{/ts}
-{/htxt}
-
 {htxt id="return-path-title"}
 {ts}Return Path{/ts}
 {/htxt}
diff --git a/civicrm/templates/CRM/Contact/Form/Domain.tpl b/civicrm/templates/CRM/Contact/Form/Domain.tpl
index f5619a8145..81affcc9d3 100644
--- a/civicrm/templates/CRM/Contact/Form/Domain.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Domain.tpl
@@ -44,20 +44,6 @@
         </td>
     </tr>
     </table>
-  <h3>{ts}System-generated Mail Settings{/ts}</h3>
-    <table class="form-layout-compressed">
-    <tr>
-      <td>
-        {$form.email_name.label} {help id="from-name"}<br />
-        {$form.email_name.html}
-      </td>
-      <td class="">
-        {$form.email_address.label} {help id="from-email"}<br />
-        {$form.email_address.html}
-           <br /><span class="description">(info@example.org)</span>
-      </td>
-    </tr>
-    </table>
 
     <h3>{ts}Default Organization Address{/ts}</h3>
         <div class="description">{ts 1=&#123;domain.address&#125;}CiviMail mailings must include the sending organization's address. This is done by putting the %1 token in either the body or footer of the mailing. This token may also be used in regular 'Email - send now' messages and in other Message Templates. The token is replaced by the address entered below when the message is sent.{/ts}</div>
diff --git a/civicrm/templates/CRM/Contact/Form/Edit/Website.tpl b/civicrm/templates/CRM/Contact/Form/Edit/Website.tpl
index b22a5d797e..c4ec37f6fd 100644
--- a/civicrm/templates/CRM/Contact/Form/Edit/Website.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Edit/Website.tpl
@@ -41,7 +41,7 @@
 <tr id="Website_Block_{$blockId}">
     <td>{$form.website.$blockId.url.html|crmAddClass:url}&nbsp;</td>
     <td>{$form.website.$blockId.website_type_id.html}</td>
-    <td colspan="3">{if $blockId > 1} <a href="#" title="{ts}Delete Website Block{/ts}" onClick="removeBlock('Website','{$blockId}'); return false;">{ts}delete{/ts}</a>{/if}</td>
+    <td colspan="3"><a href="#" title="{ts}Delete Website Block{/ts}" onClick="removeBlock('Website','{$blockId}'); return false;">{ts}delete{/ts}</a></td>
 </tr>
 {if !$addBlock}
 <tr>
diff --git a/civicrm/templates/CRM/Contact/Form/Inline/Website.tpl b/civicrm/templates/CRM/Contact/Form/Inline/Website.tpl
index f24694e778..5e26115865 100644
--- a/civicrm/templates/CRM/Contact/Form/Inline/Website.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Inline/Website.tpl
@@ -50,11 +50,7 @@
     <tr id="Website_Block_{$blockId}" {if $blockId gt $actualBlockCount}class="hiddenElement"{/if}>
       <td>{$form.website.$blockId.url.html|crmAddClass:url}&nbsp;</td>
       <td>{$form.website.$blockId.website_type_id.html}</td>
-      <td>
-        {if $blockId > 1}
-          <a class="crm-delete-inline crm-hover-button action-item" href="#" title="{ts}Delete Website{/ts}"><span class="icon delete-icon"></span></a>
-        {/if}
-       </td>
+      <td><a class="crm-delete-inline crm-hover-button action-item" href="#" title="{ts}Delete Website{/ts}"><span class="icon delete-icon"></span></a></td>
     </tr>
     {/section}
 </table>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
new file mode 100644
index 0000000000..53aef6858c
--- /dev/null
+++ b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
@@ -0,0 +1,31 @@
+<tr>
+  <td class="font-size12pt">
+    {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}
+  </td>
+  <td>{$form.buttons.html}</td>
+</tr>
+<tr>
+  {if $form.contact_tags}
+    <td><label>{$form.contact_tags.label}</label>
+      {$form.contact_tags.html}
+    </td>
+  {else}
+    <td>&nbsp;</td>
+  {/if}
+
+  {if $form.group}
+    <td><label>{$form.group.label}</label>
+      {$form.group.html}
+    </td>
+  {else}
+    <td>&nbsp;</td>
+  {/if}
+</tr>
+<tr class="crm-event-search-form-block-deleted_contacts">
+  <td>{$form.contact_type.label}&nbsp;&nbsp;{$form.contact_type.html}<br></td>
+  <td>
+    {if $form.deleted_contacts}
+      {$form.deleted_contacts.html}&nbsp;&nbsp;{$form.deleted_contacts.label}
+    {/if}
+  </td>
+</tr>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Custom/Proximity.tpl b/civicrm/templates/CRM/Contact/Form/Search/Custom/Proximity.tpl
index 2382577495..309c001202 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Custom/Proximity.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Custom/Proximity.tpl
@@ -35,13 +35,17 @@
         <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
         <table class="form-layout-compressed">
            <tr><td class="label">{$form.distance.label}</td><td>{$form.distance.html|crmAddClass:four} {$form.prox_distance_unit.html}</td></tr>
-           <tr><td class="label">FROM...</td><td></td></tr>
+           <tr><td class="label">{ts}FROM...{/ts}</td><td></td></tr>
            <tr><td class="label">{$form.street_address.label}</td><td>{$form.street_address.html}</td></tr>
            <tr><td class="label">{$form.city.label}</td><td>{$form.city.html}</td></tr>
            <tr><td class="label">{$form.postal_code.label}</td><td>{$form.postal_code.html}</td></tr>
            <tr><td class="label">{$form.country_id.label}</td><td>{$form.country_id.html}</td></tr>
            <tr><td class="label" style="white-space: nowrap;">{$form.state_province_id.label}</td><td>{$form.state_province_id.html}</td></tr>
-           <tr><td class="label">AND ...</td><td></td></tr>
+           <tr><td class="label">{ts}OR enter lattitude and longitude if you already know it{/ts}.</td><td></td></tr>
+           <tr><td class="label" style="white-space: nowrap;">{$form.geo_code_1.label}</td><td>{$form.geo_code_1.html}</td></tr>
+           <tr><td class="label" style="white-space: nowrap;">{$form.geo_code_2.label}</td><td>{$form.geo_code_2.html}</td></tr>
+           <tr><td class="label">{ts}AND ...{/ts}</td><td></td></tr>
+           <tr><td class="label">{ts}Restrict results by ...{/ts}</td><td></td></tr>
            <tr><td class="label">{$form.group.label}</td><td>{$form.group.html}</td></tr>
            <tr><td class="label">{$form.tag.label}</td><td>{$form.tag.html}</td></tr>
         </table>
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
index 304ee5ea1e..e3ca4f8e61 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
@@ -31,10 +31,10 @@
     </div>
 {/if}
 <table class="form-layout-compressed">
-    <tr class="crm-contactEmail-form-block-fromEmailAddress">
-       <td class="label">{$form.fromEmailAddress.label}</td>
-       <td>{$form.fromEmailAddress.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
-    </tr>
+  <tr id="selectEmailFrom" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
+    <td class="label">{$form.from_email_address.label}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+  </tr>
     <tr class="crm-contactEmail-form-block-recipient">
        <td class="label">{if $single eq false}{ts}Recipient(s){/ts}{else}{$form.to.label}{/if}</td>
        <td>
diff --git a/civicrm/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl b/civicrm/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl
index d0dced9007..22739276db 100644
--- a/civicrm/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl
@@ -40,7 +40,7 @@
             <span class="description">{ts}Unique internal reference ID for this contribution.{/ts}</span></td></tr>
         <tr class="crm-contribution-form-block-creditnote_id"><td class="label">{$form.creditnote_id.label}</td><td{$valueStyle}>{$form.creditnote_id.html}<br />
             <span class="description">{ts}Unique internal Credit Note ID for this contribution.{/ts}</span></td></tr>
-        <tr class="crm-contribution-form-block-thankyou_date"><td class="label">{$form.thankyou_date.label}</td><td>{include file="CRM/common/jcalendar.tpl" elementName=thankyou_date}<br />
+        <tr class="crm-contribution-form-block-thankyou_date"><td class="label">{$form.thankyou_date.label}</td><td>{$form.thankyou_date.html}<br />
             <span class="description">{ts}Date that a thank-you message was sent to the contributor.{/ts}</span></td></tr>
     </table>
 </div>
diff --git a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
index d1c5b7d5a6..baff6385f7 100644
--- a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
@@ -77,7 +77,7 @@
         </tr>
         <tr id="fromEmail" class="crm-payment-form-block-from_email_address" style="display:none;">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
         </tr>
       {/if}
       {if $contributionMode}
diff --git a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
index 8d7d73fd98..48366d857b 100644
--- a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
@@ -139,7 +139,7 @@
     {if $contributionMode && $processorSupportsFutureStartDate}
     <tr id='start_date' class="crm-contribution-form-block-receive_date">
       <td class="label">{ts}Start Date{/ts}</td>
-      <td {$valueStyle}>{if $hideCalender neq true}{include file="CRM/common/jcalendar.tpl" elementName=receive_date}{else}{$receive_date|crmDate}{/if}<br />
+      <td {$valueStyle}>{if $hideCalender neq true}{$form.receive_date.html}{/if}<br />
         <span class="description">{ts}You can set a start date for recurring contributions and the first payment will be on that date. For a single post-dated contribution you must select recurring and choose one installment{/ts}</span>
       </td>
     </tr>
@@ -179,7 +179,7 @@
               <td class="label">{$form.cancel_date.label}</td>
               <td>
                 {if $hideCalendar neq true}
-                  {include file="CRM/common/jcalendar.tpl" elementName=cancel_date}
+                  {$form.cancel_date.html}
                 {else}
                   {$form.cancel_date.value|crmDate}
                 {/if}
@@ -203,7 +203,7 @@
       </tr>
       <tr class="crm-contribution-form-block-receive_date">
         <td class="label">{$form.receive_date.label}</td>
-        <td {$valueStyle}>{include file="CRM/common/jcalendar.tpl" elementName=receive_date}<br />
+        <td>{$form.receive_date.html}<br />
           <span class="description">{ts}The date this contribution was received.{/ts}</span>
         </td>
       </tr>
@@ -231,11 +231,11 @@
     {/if}
     <tr id="fromEmail" class="crm-contribution-form-block-receipt_date" style="display:none;">
       <td class="label">{$form.from_email_address.label}</td>
-      <td>{$form.from_email_address.html}</td>
+      <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
     </tr>
     <tr id="receiptDate" class="crm-contribution-form-block-receipt_date">
       <td class="label">{$form.receipt_date.label}</td>
-      <td>{include file="CRM/common/jcalendar.tpl" elementName=receipt_date}<br />
+      <td>{$form.receipt_date.html}<br />
         <span class="description">{ts}Date that a receipt was sent to the contributor.{/ts}</span>
       </td>
     </tr>
diff --git a/civicrm/templates/CRM/Contribute/Form/ContributionView.tpl b/civicrm/templates/CRM/Contribute/Form/ContributionView.tpl
index 5c18420a31..e3edf85b3f 100644
--- a/civicrm/templates/CRM/Contribute/Form/ContributionView.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/ContributionView.tpl
@@ -95,7 +95,9 @@
                &nbsp; {$total_amount|crmMoney:$currency}
             </strong></a>&nbsp;
         {if $contribution_recur_id}
-          <strong>{ts}Recurring Contribution{/ts}</strong>
+          <a class="crm-hover-button" href='{crmURL p="civicrm/contact/view/contributionrecur" q="reset=1&id=`$contribution_recur_id`&cid=`$contact_id`&context=contribution"}'>
+            <strong>{ts}Recurring Contribution{/ts}</strong>
+          </a>
           <br/>
           {ts}Installments{/ts}: {if $recur_installments}{$recur_installments}{else}{ts}(ongoing){/ts}{/if}, {ts}Interval{/ts}: {$recur_frequency_interval} {$recur_frequency_unit}(s)
         {/if}
diff --git a/civicrm/templates/CRM/Contribute/Form/Search.tpl b/civicrm/templates/CRM/Contribute/Form/Search.tpl
index bf8c8e88c3..aa54b7f8a0 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search.tpl
@@ -34,28 +34,8 @@
       <div class="crm-accordion-body">
         {strip}
           <table class="form-layout">
-            <tr>
-              <td class="font-size12pt" colspan="2">                    {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}&nbsp;&nbsp;&nbsp;{$form.buttons.html}
-              </td>
-            </tr>
-            <tr>
-              {if $form.contact_tags}
-                <td><label>{ts}Contributor Tag(s){/ts}</label>
-                    {$form.contact_tags.html}
-                </td>
-              {else}
-                <td>&nbsp;</td>
-              {/if}
-
-              {if $form.group}
-                <td><label>{ts}Contributor Group(s){/ts}</label>
-                    {$form.group.html}
-                </td>
-              {else}
-                <td>&nbsp;</td>
-              {/if}
-            </tr>
-{include file="CRM/Contribute/Form/Search/Common.tpl"}
+            {include file="CRM/Contact/Form/Search/ContactSearchFields.tpl"}
+            {include file="CRM/Contribute/Form/Search/Common.tpl"}
             <tr>
                <td colspan="2">{$form.buttons.html}</td>
             </tr>
diff --git a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
index 9b94d9df54..2abec7d4d7 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
@@ -37,11 +37,23 @@
   <td><label>{$form.contribution_status_id.label}</label> <br />
   {$form.contribution_status_id.html} </td>
 </tr>
+<tr>
+  <td>
+    <label>{ts}Currency{/ts}</label> <br />
+    {$form.contribution_currency_type.html|crmAddClass:twenty}
+  </td>
+  {if $form.contribution_batch_id.html }
+    <td>
+      {$form.contribution_batch_id.label}<br />
+      {$form.contribution_batch_id.html}
+    </td>
+  {/if}
+</tr>
 <tr>
   <td>
     <div class="float-left">
-      <label>{$form.payment_instrument_id.label}</label> <br />
-      {$form.payment_instrument_id.html|crmAddClass:twenty}
+      <label>{$form.contribution_payment_instrument_id.label}</label> <br />
+      {$form.contribution_payment_instrument_id.html|crmAddClass:twenty}
     </div>
     <div class="float-left" id="contribution_check_number_wrapper">
       {$form.contribution_check_number.label} <br />
@@ -146,22 +158,27 @@
     {include file="CRM/Contribute/Form/PCP.js.tpl"}
   </td>
   <td>
-    {$form.contribution_pcp_display_in_roll.label}
-    {$form.contribution_pcp_display_in_roll.html}
+    {$form.contribution_cancel_reason.label}<br />
+    {$form.contribution_cancel_reason.html}
   </td>
 </tr>
-
 <tr>
   <td>
-    <label>{ts}Currency{/ts}</label> <br />
-    {$form.contribution_currency_type.html|crmAddClass:twenty}
+    {$form.contribution_pcp_display_in_roll.label}
+    {$form.contribution_pcp_display_in_roll.html}
+  </td>
+  <td>
+    <table style="width:auto">
+      <tr>
+        <td>
+          <label>{ts}Cancelled / Refunded Date{/ts}</label>
+        </td>
+      </tr>
+      <tr>
+        {include file="CRM/Core/DateRange.tpl" fieldName="contribution_cancel_date" from='_low' to='_high'}
+      </tr>
+    </table>
   </td>
-  {if $form.contribution_batch_id.html }
-    <td>
-      {$form.contribution_batch_id.label}<br />
-      {$form.contribution_batch_id.html}
-    </td>
-  {/if}
 </tr>
 
 {* campaign in contribution search *}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
index 4a9f1a5732..8e9fb84ec5 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
@@ -26,16 +26,6 @@
 {htxt id ="id-from_email-title"}
   {ts}From Address{/ts}
 {/htxt}
-{htxt id ="id-from_email"}
-<p>{ts}Select the "FROM" Email Address for this mailing from the dropdown list. Available email addresses are configurable by users with Administer CiviCRM permission. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
-{if $params.isAdmin}
-    {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
-    <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
-{else}
-    {ts}Contact your site administrator if you need to use a "FROM" Email Address which is not in the dropdown list.{/ts}
-{/if}
-{/htxt}
-
 {htxt id="content-intro-title"}
   {ts}Message Formats{/ts}
 {/htxt}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
index 6c6fa9053a..fd2a6cb918 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
@@ -36,22 +36,27 @@
 <table class="form-layout-compressed">
   {if $selectedOutput ne 'email'}
     <tr>
+      <td class="label">{$form.output.email_invoice.label}</td>
       <td>{$form.output.email_invoice.html}</td>
     </tr>
   {/if}
-  <tr class="crm-email-element">
-    <td>{$form.from_email_address.label}{$form.from_email_address.html}{help id ="id-from_email" isAdmin=$isAdmin}</td>
+  <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
+    <td class="label">{$form.from_email_address.label}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
   </tr>
   <tr class="crm-email-element">
-    <td>{$form.email_comment.label}{$form.email_comment.html}</td>
+    <td class="label">{$form.email_comment.label}</td>
+    <td>{$form.email_comment.html}</td>
   </tr>
   {if $selectedOutput ne 'email'}
     <tr>
+      <td class="label">{$form.output.pdf_invoice.label}</td>
       <td>{$form.output.pdf_invoice.html}</td>
     </tr>
   {/if}
   <tr class="crm-pdf-element">
-    <td>{$form.pdf_format_id.html} {$form.pdf_format_id.label} </td>
+    <td class="label">{$form.pdf_format_id.label}</td>
+    <td>{$form.pdf_format_id.html}</td>
   </tr>
 </table>
 
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
index 67d9934ef9..a198d00a58 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
@@ -35,8 +35,9 @@
   <tr>
     <td>{$form.output.email_receipt.html}</td>
   </tr>
-  <tr id="selectEmailFrom" style="display: none">
-    <td>{$form.fromEmailAddress.label}: {$form.fromEmailAddress.html}</td>
+  <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
+    <td class="label">{$form.from_email_address.label}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
   </tr>
   <tr>
     <td>{$form.output.pdf_receipt.html}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
index 6e9a49087f..e742876825 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
@@ -49,6 +49,10 @@
         <td class="label-left">{$form.email_options.label} {help id="id-contribution-email-print"}</td>
         <td>{$form.email_options.html}</td>
       </tr>
+      <tr>
+        <td class="label-left">{$form.from_email_address.label} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        <td>{$form.from_email_address.html}</td>
+      </tr>
     </table>
   </div><!-- /.crm-accordion-body -->
 </div><!-- /.crm-accordion-wrapper -->
diff --git a/civicrm/templates/CRM/Contribute/Form/UpdateSubscription.tpl b/civicrm/templates/CRM/Contribute/Form/UpdateSubscription.tpl
index 477eb9d9ab..dc9c72f146 100644
--- a/civicrm/templates/CRM/Contribute/Form/UpdateSubscription.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/UpdateSubscription.tpl
@@ -27,7 +27,12 @@
   {if $changeHelpText}
     <div class="help">
       {$changeHelpText}
-  </div>
+      {if $recurMembership}
+        <br/><strong> {ts}'WARNING: This recurring contribution is linked to membership:{/ts}
+        <a class="crm-hover-button" href='{crmURL p="civicrm/contact/view/membership" q="action=view&reset=1&cid=`$contactId`&id=`$recurMembership.membership_id`&context=membership&selectedChild=member"}'>{$recurMembership.membership_name}</a>
+        </strong>
+      {/if}
+    </div>
   {/if}
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
   <table class="form-layout">
diff --git a/civicrm/templates/CRM/Dashlet/Page/AllCases.tpl b/civicrm/templates/CRM/Dashlet/Page/AllCases.tpl
index fe1e781881..0431db42fa 100644
--- a/civicrm/templates/CRM/Dashlet/Page/AllCases.tpl
+++ b/civicrm/templates/CRM/Dashlet/Page/AllCases.tpl
@@ -23,10 +23,11 @@
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{if $AllCases}
-   <div class="form-item">
-       {include file="CRM/Case/Page/DashboardSelector.tpl" context="$context" list="allcases" rows=$AllCases}
-   </div>
+{if $casePresent}
+  {include file="CRM/Case/Form/CaseFilter.tpl" context="$context" list="all-cases" all="1"}
+  <div class="form-item">
+    {include file="CRM/Case/Page/DashboardSelector.tpl" context="$context" list="all-cases" all="1"}
+  </div>
 {else}
     <div class="messages status no-popup">
      {capture assign="findCasesURL"}{crmURL p='civicrm/case/search' q='reset=1'}{/capture}
diff --git a/civicrm/templates/CRM/Dashlet/Page/MyCases.tpl b/civicrm/templates/CRM/Dashlet/Page/MyCases.tpl
index b51f312677..8380910399 100644
--- a/civicrm/templates/CRM/Dashlet/Page/MyCases.tpl
+++ b/civicrm/templates/CRM/Dashlet/Page/MyCases.tpl
@@ -23,10 +23,11 @@
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{if $upcomingCases}
-   <div class="form-item">
-       {include file="CRM/Case/Page/DashboardSelector.tpl" context="$context" list="upcoming" rows=$upcomingCases}
-   </div>
+{if $casePresent}
+  {include file="CRM/Case/Form/CaseFilter.tpl" context="$context" list="my-cases" all="0"}
+  <div class="form-item">
+    {include file="CRM/Case/Page/DashboardSelector.tpl" context="$context" list="my-cases" all="0"}
+  </div>
 {else}
     <div class="messages status no-popup">
      {capture assign="findCasesURL"}{crmURL p='civicrm/case/search' q='reset=1'}{/capture}
diff --git a/civicrm/templates/CRM/Event/Form/EventFees.tpl b/civicrm/templates/CRM/Event/Form/EventFees.tpl
index 09d92e517b..41a1e385ea 100644
--- a/civicrm/templates/CRM/Event/Form/EventFees.tpl
+++ b/civicrm/templates/CRM/Event/Form/EventFees.tpl
@@ -119,7 +119,7 @@
         </tr>
   <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
             <td class="label">{$form.from_email_address.label}</td>
-            <td>{$form.from_email_address.html} {help id ="id-from_email" file="CRM/Contact/Form/Task/Email.hlp"}</td>
+            <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
       </tr>
         <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
        <td class="label">{$form.receipt_text.label}</td>
@@ -146,7 +146,7 @@
         </tr>
   <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
             <td class="label">{$form.from_email_address.label}</td>
-            <td>{$form.from_email_address.html} {help id ="id-from_email" file="CRM/Contact/Form/Task/Email.hlp"}</td>
+            <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
       </tr>
         <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
         <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
index 2423fc50c9..72403c31a4 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
@@ -175,7 +175,7 @@
     var $form = $('form.{/literal}{$form.formClass}{literal}');
     $('#template_id', $form).change(function() {
       $(this).closest('.crm-ajax-container, #crm-main-content-wrapper')
-        .crmSnippet({url: CRM.url('civicrm/event/add', {action: 'add', reset: 1, template_id: $(this).val()})})
+        .crmSnippet({url: CRM.url('civicrm/event/add', {action: 'add', reset: 1, template_id: $(this).val(), is_template: $("input[name='is_template']").val()})})
         .crmSnippet('refresh');
     })
   });
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/Location.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/Location.tpl
index 79330adfbc..f2d512138f 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/Location.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/Location.tpl
@@ -24,21 +24,16 @@
  +--------------------------------------------------------------------+
 *}
 {* this template used to build location block *}
-{if !$addBlock}
-   <div class="help">
-        {ts}Use this form to configure the location and optional contact information for the event. This information will be displayed on the Event Information page. It will also be included in online registration pages and confirmation emails if these features are enabled.{/ts}
-    </div>
-{/if}
+<div class="help">
+  {ts}Use this form to configure the location and optional contact information for the event. This information will be displayed on the Event Information page. It will also be included in online registration pages and confirmation emails if these features are enabled.{/ts}
+</div>
 
-{if $addBlock}
-{include file="CRM/Contact/Form/Edit/$blockName.tpl"}
-{else}
 <div class="crm-block crm-form-block crm-event-manage-location-form-block">
-<div class="crm-submit-buttons">
-   {include file="CRM/common/formButtons.tpl" location="top"}
-</div>
-    {if $locEvents}
-      <table class="form-layout-compressed">
+  <div class="crm-submit-buttons">
+    {include file="CRM/common/formButtons.tpl" location="top"}
+  </div>
+  {if $locEvents}
+    <table class="form-layout-compressed">
       <tr id="optionType" class="crm-event-manage-location-form-block-location_option">
         <td class="labels">
           {$form.location_option.label}
@@ -46,9 +41,9 @@
         {foreach from=$form.location_option key=key item =item}
           {if $key|is_numeric}
             <td class="value"><strong>{$item.html}</strong></td>
-            {/if}
-                {/foreach}
-       </tr>
+          {/if}
+        {/foreach}
+      </tr>
       <tr id="existingLoc" class="crm-event-manage-location-form-block-loc_event_id">
         <td class="labels">
           {$form.loc_event_id.label}
@@ -61,146 +56,114 @@
         <td id="locUsedMsg" colspan="3">
         </td>
       </tr>
-
     </table>
-    {/if}
-
-
+  {/if}
 
-    <div id="newLocation">
-      <h3>Address</h3>
-    {* Display the address block *}
-    {include file="CRM/Contact/Form/Edit/Address.tpl"}
+  {include file="CRM/Contact/Form/Edit/Address.tpl" blockId=1}
   <table class="form-layout-compressed">
-    {* Display the email block(s) *}
-    {include file="CRM/Contact/Form/Edit/Email.tpl"}
-
-    {* Display the phone block(s) *}
-    {include file="CRM/Contact/Form/Edit/Phone.tpl"}
-    </table>
-   <table class="form-layout-compressed">
-   <tr class="crm-event-is_show_location">
-    <td colspan="2">{$form.is_show_location.label}</td>
-    <td colspan="2">
-      {$form.is_show_location.html}<br />
-      <span class="description">{ts}Uncheck this box if you want to HIDE the event Address on Event Information and Registration pages as well as on email confirmations.{/ts}
-    </td>
-  </tr>
+    <tr>
+      <td><label>{ts}Email 1:{/ts}</label></td>
+      <td>{$form.email.1.email.html|crmAddClass:email}</td>
+    </tr>
+    <tr>
+      <td><label>{ts}Email 2:{/ts}</label></td>
+      <td>{$form.email.2.email.html|crmAddClass:email}</td>
+    </tr>
+    <tr>
+      <td><label>{ts}Phone 1:{/ts}</label></td>
+      <td>{$form.phone.1.phone.html|crmAddClass:phone}&nbsp;x{$form.phone.1.phone_ext.html|crmAddClass:four}&nbsp;{$form.phone.1.phone_type_id.html}</td>
+    </tr>
+    <tr>
+      <td><label>{ts}Phone 2:{/ts}</label></td>
+      <td>{$form.phone.2.phone.html|crmAddClass:phone}&nbsp;x{$form.phone.2.phone_ext.html|crmAddClass:four}&nbsp;{$form.phone.2.phone_type_id.html}</td>
+    </tr>
   </table>
-<div class="crm-submit-buttons">
-   {include file="CRM/common/formButtons.tpl" location="bottom"}
-</div>
-</div>
-
-{* Include Javascript to hide and display the appropriate blocks as directed by the php code *}
-{*include file="CRM/common/showHide.tpl"*}
-{if $locEvents}
-  {* include common additional blocks tpl *}
-  {include file="CRM/common/additionalBlocks.tpl"}
-
-<script type="text/javascript">
-{literal}
-CRM.$(function($) {
-  //FIX ME: by default load 2 blocks and hide add and delete links
-  //we should make additional block function more flexible to set max block limit
-  buildBlocks('Email');
-  buildBlocks('Phone');
 
-  var $form = $('form.{/literal}{$form.formClass}{literal}'),
-    locBlockId = {/literal}"{$form.loc_event_id.value.0}"{literal};
-
-  displayMessage({/literal}{$locUsed}{literal});
-
-  // build blocks only if it is not built
-  function buildBlocks(element) {
-    if (!$('[id='+ element +'_Block_2]').length) {
-      buildAdditionalBlocks(element, 'CRM_Event_Form_ManageEvent_Location');
-    }
-  }
-
-  hideAddDeleteLinks('Email');
-  hideAddDeleteLinks('Phone');
-  function hideAddDeleteLinks(element) {
-    $('#add'+ element, $form).hide();
-    $('[id='+ element +'_Block_2] a:last', $form).hide();
-  }
-
-  $('#loc_event_id', $form).change(function() {
-    $.ajax({
-      url: CRM.url('civicrm/ajax/locBlock', 'reset=1'),
-      data: {'lbid': $(this).val()},
-      dataType: 'json',
-      success: function(data) {
-        var selectLocBlockId = $('#loc_event_id').val();
-        // Only change state when options are loaded
-        if (data.address_1_state_province_id) {
-          var defaultState = data.address_1_state_province_id;
-          $('#address_1_state_province_id', $form).one('crmOptionsUpdated', function() {
-            $(this).val(defaultState).change();
+  {if $locEvents}
+
+    <script type="text/javascript">
+      {literal}
+      CRM.$(function($) {
+        var $form = $('form.{/literal}{$form.formClass}{literal}'),
+          locBlockId = {/literal}"{$form.loc_event_id.value.0}"{literal};
+
+        displayMessage({/literal}{$locUsed}{literal});
+
+        $('#loc_event_id', $form).change(function() {
+          $.ajax({
+            url: CRM.url('civicrm/ajax/locBlock', 'reset=1'),
+            data: {'lbid': $(this).val()},
+            dataType: 'json',
+            success: function(data) {
+              var selectLocBlockId = $('#loc_event_id').val();
+              // Only change state when options are loaded
+              if (data.address_1_state_province_id) {
+                var defaultState = data.address_1_state_province_id;
+                $('#address_1_state_province_id', $form).one('crmOptionsUpdated', function() {
+                  $(this).val(defaultState).change();
+                });
+                delete data.address_1_state_province_id;
+              }
+              for(i in data) {
+                if ( i == 'count_loc_used' ) {
+                  if ( ((selectLocBlockId == locBlockId) && data.count_loc_used > 1) ||
+                    ((selectLocBlockId != locBlockId) && data.count_loc_used > 0) ) {
+                    displayMessage(data.count_loc_used);
+                  } else {
+                    displayMessage(0);
+                  }
+                } else {
+                  $('#'+i, $form).val(data[i]).change();
+                }
+              }
+            }
           });
-          delete data.address_1_state_province_id;
-        }
-        for(i in data) {
-          if ( i == 'count_loc_used' ) {
-            if ( ((selectLocBlockId == locBlockId) && data.count_loc_used > 1) ||
-                 ((selectLocBlockId != locBlockId) && data.count_loc_used > 0) ) {
-              displayMessage(data.count_loc_used);
-            } else {
-              displayMessage(0);
+          return false;
+        });
+
+        function showLocFields(clear) {
+          var createNew = document.getElementsByName("location_option")[0].checked;
+          if (createNew) {
+            $('#existingLoc', $form).hide();
+            //clear all location fields values.
+            if (clear !== false) {
+              $(":input[id *= 'address_1_'], :input[id *= 'email_1_'], :input[id *= 'phone_1_']", $form).val("").change();
+              {/literal}{if $config->defaultContactCountry}
+              {if $config->defaultContactStateProvince}
+              // Set default state once options are loaded
+              var defaultState = {$config->defaultContactStateProvince}
+              {literal}
+                $('#address_1_state_province_id', $form).one('crmOptionsUpdated', function() {
+                  $(this).val(defaultState).change();
+                });
+              {/literal}
+              {/if}
+              // Set default country
+              $('#address_1_country_id', $form).val({$config->defaultContactCountry}).change();
+              {/if}{literal}
             }
+            displayMessage(0);
           } else {
-            $('#'+i, $form).val(data[i]).change();
+            $('#existingLoc', $form).show();
+            if (clear !== false) {
+              $('#loc_event_id', $form).change();
+            }
           }
         }
-      }
-    });
-    return false;
-  });
-
-  function showLocFields(clear) {
-    var createNew = document.getElementsByName("location_option")[0].checked;
-    if (createNew) {
-      $('#existingLoc', $form).hide();
-      //clear all location fields values.
-      if (clear !== false) {
-        $(":input[id *= 'address_1_'], :input[id *= 'email_1_'], :input[id *= 'phone_1_']", $form).val("").change();
-        {/literal}{if $config->defaultContactCountry}
-          {if $config->defaultContactStateProvince}
-            // Set default state once options are loaded
-            var defaultState = {$config->defaultContactStateProvince}
-            {literal}
-              $('#address_1_state_province_id', $form).one('crmOptionsUpdated', function() {
-                $(this).val(defaultState).change();
-              });
-            {/literal}
-          {/if}
-          // Set default country
-          $('#address_1_country_id', $form).val({$config->defaultContactCountry}).change();
-        {/if}{literal}
-      }
-      displayMessage(0);
-    } else {
-      $('#existingLoc', $form).show();
-      if (clear !== false) {
-        $('#loc_event_id', $form).change();
-      }
-    }
-  }
 
-  $('input[name=location_option]').click(showLocFields);
-  showLocFields(false);
+        $('input[name=location_option]').click(showLocFields);
+        showLocFields(false);
 
-  function displayMessage(count) {
-    if (count) {
-      var msg = {/literal}'{ts escape="js" 1="%1"}This location is used by %1 other events. Modifying location information will change values for all events.{/ts}'{literal};
-      $('#locUsedMsg', $form).text(ts(msg, {1: count})).addClass('status');
-    } else {
-      $('#locUsedMsg', $form).text(' ').removeClass('status');
-    }
-  }
-});
-{/literal}
-</script>
-{/if}
+        function displayMessage(count) {
+          if (count) {
+            var msg = {/literal}'{ts escape="js" 1="%1"}This location is used by %1 other events. Modifying location information will change values for all events.{/ts}'{literal};
+            $('#locUsedMsg', $form).text(ts(msg, {1: count})).addClass('status');
+          } else {
+            $('#locUsedMsg', $form).text(' ').removeClass('status');
+          }
+        }
+      });
+      {/literal}
+    </script>
+  {/if}
 
-{/if} {* add block if end*}
diff --git a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
index fac2134a8e..3fa67abf76 100644
--- a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
+++ b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
@@ -159,7 +159,7 @@ CRM.$(function($) {
        </tr>
        <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
          <td class="label">{$form.from_email_address.label}</td>
-         <td>{$form.from_email_address.html} {help id ="id-from_email" file="CRM/Contact/Form/Task/Email.hlp"}</td>
+         <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
        </tr>
        <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
          <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/Search.tpl b/civicrm/templates/CRM/Event/Form/Search.tpl
index 5921830790..624702e39d 100644
--- a/civicrm/templates/CRM/Event/Form/Search.tpl
+++ b/civicrm/templates/CRM/Event/Form/Search.tpl
@@ -35,18 +35,7 @@
 <div id="searchForm">
     {strip}
         <table class="form-layout">
-        <tr class="crm-event-search-form-block-sort_name">
-           <td class="font-size12pt" colspan="2">
-               {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}&nbsp;&nbsp;&nbsp;{$form.buttons.html}
-           </td>
-        </tr>
-        {if $form.deleted_contacts}
-        <tr class="crm-event-search-form-block-deleted_contacts">
-          <td colspan="2">
-            {$form.deleted_contacts.html}&nbsp;&nbsp;{$form.deleted_contacts.label}
-          </td>
-        </tr>
-        {/if}
+        {include file="CRM/Contact/Form/Search/ContactSearchFields.tpl"}
 
         {include file="CRM/Event/Form/Search/Common.tpl"}
 
diff --git a/civicrm/templates/CRM/Event/Form/SearchEvent.tpl b/civicrm/templates/CRM/Event/Form/SearchEvent.tpl
index 042e6f4d2b..afc6b080f0 100644
--- a/civicrm/templates/CRM/Event/Form/SearchEvent.tpl
+++ b/civicrm/templates/CRM/Event/Form/SearchEvent.tpl
@@ -27,11 +27,13 @@
  <h3>{ts}Find Events{/ts}</h3>
   <table class="form-layout">
     <tr class="crm-event-searchevent-form-block-title">
-        <td>{$form.title.html|crmAddClass:twenty}
-             <div class="description font-italic">
-                    {ts}Complete OR partial Event name.{/ts}
-             </div>
-             <div style="height: auto; vertical-align: bottom">{$form.eventsByDates.html}</div>
+        <td>
+          <label>{$form.title.label}</label>
+          {$form.title.html|crmAddClass:twenty}
+          <div class="description font-italic">
+                 {ts}Complete OR partial Event name.{/ts}
+          </div>
+          <div style="height: auto; vertical-align: bottom">{$form.eventsByDates.html}</div>
         </td>
         <td rowspan="2"><label>{ts}Event Type{/ts}</label>
           {$form.event_type_id.html}
diff --git a/civicrm/templates/CRM/Export/Form/Select.tpl b/civicrm/templates/CRM/Export/Form/Select.tpl
index 9eff03d891..751e4926a7 100644
--- a/civicrm/templates/CRM/Export/Form/Select.tpl
+++ b/civicrm/templates/CRM/Export/Form/Select.tpl
@@ -28,7 +28,7 @@
 <div class="crm-block crm-form-block crm-export-form-block">
 
  <div class="help">
-    <p>{ts}<strong>Export PRIMARY fields</strong> provides the most commonly used data values. This includes primary address information, preferred phone and email.{/ts}</p>
+    <p>{ts}<strong>Export {if $exportCustomSearchField}custom search{else}PRIMARY{/if} fields</strong> provides the most commonly used data values. This includes primary address information, preferred phone and email.{/ts}</p>
     <p>{ts}Click <strong>Select fields for export</strong> and then <strong>Continue</strong> to choose a subset of fields for export. This option allows you to export multiple specific locations (Home, Work, etc.) as well as custom data. You can also save your selections as a 'field mapping' so you can use it again later.{/ts}</p>
  </div>
 
diff --git a/civicrm/templates/CRM/Mailing/Form/Upload.tpl b/civicrm/templates/CRM/Mailing/Form/Upload.tpl
index fe25c530a8..838d37ca6c 100644
--- a/civicrm/templates/CRM/Mailing/Form/Upload.tpl
+++ b/civicrm/templates/CRM/Mailing/Form/Upload.tpl
@@ -34,7 +34,7 @@
 
 <table class="form-layout-compressed">
     <tr class="crm-mailing-upload-form-block-from_email_address"><td class="label">{$form.from_email_address.label}</td>
-        <td>{$form.from_email_address.html} {help id ="id-from_email" isAdmin=$isAdmin}</td>
+        <td>{$form.from_email_address.html} {help id ="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
     </tr>
     {if $trackReplies}
     <tr class="crm-mailing-upload-form-block-reply_to_address">
diff --git a/civicrm/templates/CRM/Member/Form/Membership.hlp b/civicrm/templates/CRM/Member/Form/Membership.hlp
index 5d62203578..e3d5297a2d 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.hlp
+++ b/civicrm/templates/CRM/Member/Form/Membership.hlp
@@ -36,3 +36,12 @@
     </ul>
   {/if}
 {/htxt}
+{htxt id ="id-from_email"}
+  <p>{ts}Select the "FROM" Email Address for this mailing from the dropdown list. Available email addresses are configurable by users with Administer CiviCRM permission. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
+{if $params.isAdmin}
+  {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
+  <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
+{else}
+  {ts}Contact your site administrator if you need to use a "FROM" Email Address which is not in the dropdown list.{/ts}
+{/if}
+{/htxt}
diff --git a/civicrm/templates/CRM/Member/Form/Membership.tpl b/civicrm/templates/CRM/Member/Form/Membership.tpl
index 61b5cdb950..460d3b712d 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.tpl
+++ b/civicrm/templates/CRM/Member/Form/Membership.tpl
@@ -190,9 +190,9 @@
             <span class="auto-renew-text">{ts}For auto-renewing memberships the emails are sent when each payment is received{/ts}</span>
           </tr>
         {/if}
-        <tr id="fromEmail" style="display:none;">
+        <tr id="fromEmail" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
         </tr>
         <tr id='notice' style="display:none;">
           <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
index d4e181d432..d82d42477d 100644
--- a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
+++ b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
@@ -129,7 +129,7 @@
         </tr>
         <tr id="fromEmail">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
         </tr>
         <tr id="notice" class="crm-member-membershiprenew-form-block-receipt_text_renewal">
           <td class="label">{$form.receipt_text_renewal.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/MembershipView.tpl b/civicrm/templates/CRM/Member/Form/MembershipView.tpl
index ab24c20101..bb1ee2ff3a 100644
--- a/civicrm/templates/CRM/Member/Form/MembershipView.tpl
+++ b/civicrm/templates/CRM/Member/Form/MembershipView.tpl
@@ -61,6 +61,14 @@
         <tr><td class="label">{ts}Start date{/ts}</td><td>{$start_date|crmDate}</td></tr>
         <tr><td class="label">{ts}End date{/ts}</td><td>{$end_date|crmDate}</td></tr>
         <tr><td class="label">{ts}Auto-renew{/ts}</td><td>{$auto_renew}</td></tr>
+     {if $contribution_recur_id}
+          <tr>
+            <td class="label">{ts}Recurring Contribution{/ts}</td>
+            <td>
+              <a class="crm-hover-button" href='{crmURL p="civicrm/contact/view/contributionrecur" q="reset=1&id=`$contribution_recur_id`&cid=`$contactId`&context=contribution"}'>View Recurring Contribution</a>
+            </td>
+          </tr>
+     {/if}
     </table>
 
     {include file="CRM/Custom/Page/CustomDataView.tpl"}
diff --git a/civicrm/templates/CRM/Member/Form/Search.tpl b/civicrm/templates/CRM/Member/Form/Search.tpl
index 64e805639a..705df016aa 100644
--- a/civicrm/templates/CRM/Member/Form/Search.tpl
+++ b/civicrm/templates/CRM/Member/Form/Search.tpl
@@ -31,12 +31,7 @@
   <div class="crm-accordion-body">
   {strip}
        <table class="form-layout">
-          <tr>
-              <td class="font-size12pt" colspan="2">
-                  {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}&nbsp;&nbsp;&nbsp;{$form.buttons.html}
-              </td>
-          </tr>
-
+          {include file="CRM/Contact/Form/Search/ContactSearchFields.tpl"}
           {include file="CRM/Member/Form/Search/Common.tpl"}
 
           <tr>
diff --git a/civicrm/templates/CRM/Member/Form/Selector.tpl b/civicrm/templates/CRM/Member/Form/Selector.tpl
index b2ebddc194..b5ab5f59d6 100644
--- a/civicrm/templates/CRM/Member/Form/Selector.tpl
+++ b/civicrm/templates/CRM/Member/Form/Selector.tpl
@@ -67,7 +67,13 @@
     <td class="crm-membership-end_date">{$row.membership_end_date|truncate:10:''|crmDate}</td>
     <td class="crm-membership-source">{$row.membership_source}</td>
     <td class="crm-membership-status crm-membership-status_{$row.membership_status}">{$row.membership_status}</td>
-    <td class="crm-membership-auto_renew">{if $row.auto_renew}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Auto-renew{/ts}" /> {/if}</td>
+    <td class="crm-membership-auto_renew">
+      {if $row.auto_renew eq 1}
+        <i class="fa fa-check" aria-hidden="true" title="{ts}Auto-renew active{/ts}"></i>
+      {elseif $row.auto_renew eq 2}
+        <i class="fa fa-exclamation" aria-hidden="true" title="{ts}Auto-renew error{/ts}"></i>
+      {/if}
+    </td>
     <td>
         {$row.action|replace:'xx':$row.membership_id}
         {if $row.owner_membership_id}
diff --git a/civicrm/templates/CRM/Member/Page/Tab.tpl b/civicrm/templates/CRM/Member/Page/Tab.tpl
index 6eaa36c054..05391e53b2 100644
--- a/civicrm/templates/CRM/Member/Page/Tab.tpl
+++ b/civicrm/templates/CRM/Member/Page/Tab.tpl
@@ -94,7 +94,13 @@
                 <td class="crm-membership-end_date" data-order="{$activeMember.end_date}">{$activeMember.end_date|crmDate}</td>
                 <td class="crm-membership-status">{$activeMember.status}</td>
                 <td class="crm-membership-source">{$activeMember.source}</td>
-                <td class="crm-membership-auto_renew">{if $activeMember.auto_renew}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Auto-renew{/ts}" /> {/if}</td>
+                <td class="crm-membership-auto_renew">
+                  {if $activeMember.auto_renew eq 1}
+                      <i class="fa fa-check" aria-hidden="true" title="{ts}Auto-renew active{/ts}"></i>
+                  {elseif $activeMember.auto_renew eq 2}
+                      <i class="fa fa-exclamation" aria-hidden="true" title="{ts}Auto-renew error{/ts}"></i>
+                  {/if}
+                </td>
                 <td class="crm-membership-related_count">{$activeMember.related_count}</td>
     <td>
                     {$activeMember.action|replace:'xx':$activeMember.id}
@@ -137,7 +143,13 @@
                 <td class="crm-membership-end_date" data-order="{$inActiveMember.end_date}">{$inActiveMember.end_date|crmDate}</td>
                 <td class="crm-membership-status">{$inActiveMember.status}</td>
                 <td class="crm-membership-source">{$inActiveMember.source}</td>
-                <td class="crm-membership-auto_renew">{if $inActiveMember.auto_renew}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Auto-renew{/ts}" /> {/if}</td>
+                <td class="crm-membership-auto_renew">
+                  {if $inActiveMember.auto_renew eq 1}
+                    <i class="fa fa-check" aria-hidden="true" title="{ts}Auto-renew active{/ts}"></i>
+                  {elseif $inActiveMember.auto_renew eq 2}
+                    <i class="fa fa-exclamation" aria-hidden="true" title="{ts}Auto-renew error{/ts}"></i>
+                  {/if}
+                </td>
     <td>{$inActiveMember.action|replace:'xx':$inActiveMember.id}
     {if $inActiveMember.owner_membership_id}
       <a href="{crmURL p='civicrm/membership/view' q="reset=1&id=`$inActiveMember.owner_membership_id`&action=view&context=membership&selectedChild=member"}" title="{ts}View Primary member record{/ts}" class="crm-hover-button action-item">{ts}View Primary{/ts}
diff --git a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
index 2d3fc0c72d..60ce62cbc1 100644
--- a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
@@ -118,7 +118,7 @@
         {/if}
         <tr id="fromEmail" style="display:none;">
             <td class="label">{$form.from_email_address.label}</td>
-            <td>{$form.from_email_address.html}</td>
+            <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
         </tr>
         <tr id="acknowledgeDate">
       <td class="label" class="crm-pledge-form-block-acknowledge_date">{$form.acknowledge_date.label}</td>
diff --git a/civicrm/templates/CRM/Pledge/Form/Search.tpl b/civicrm/templates/CRM/Pledge/Form/Search.tpl
index dfe749e502..d5f205f1ce 100644
--- a/civicrm/templates/CRM/Pledge/Form/Search.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Search.tpl
@@ -34,11 +34,7 @@
 <div id="searchForm">
     {strip}
         <table class="form-layout">
-        <tr>
-           <td class="font-size12pt" colspan="2">
-               {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}&nbsp;&nbsp;&nbsp;{$form.buttons.html}
-           </td>
-        </tr>
+        {include file="CRM/Contact/Form/Search/ContactSearchFields.tpl"}
         {include file="CRM/Pledge/Form/Search/Common.tpl"}
 
         <tr>
diff --git a/civicrm/templates/CRM/Report/Page/TemplateList.tpl b/civicrm/templates/CRM/Report/Page/TemplateList.tpl
index 444f7930fa..ffe2d50db6 100644
--- a/civicrm/templates/CRM/Report/Page/TemplateList.tpl
+++ b/civicrm/templates/CRM/Report/Page/TemplateList.tpl
@@ -23,10 +23,12 @@
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
+
+<div class="help">
+  {ts}Create reports for your users from any of the report templates listed below. Click on a template title to get started. Click Existing Report(s) to see any reports that have already been created from that template.{/ts}
+</div>
+
 <div class="crm-block crm-form-block crm-report-templateList-form-block">
-  <div class="help">
-    {ts}Create reports for your users from any of the report templates listed below. Click on a template title to get started. Click Existing Report(s) to see any reports that have already been created from that template.{/ts}
-  </div>
   {strip}
     {if $list}
       {counter start=0 skip=1 print=false}
diff --git a/civicrm/templates/CRM/SMS/Form/Group.hlp b/civicrm/templates/CRM/SMS/Form/Group.hlp
index c2c50d5beb..9cd389c837 100644
--- a/civicrm/templates/CRM/SMS/Form/Group.hlp
+++ b/civicrm/templates/CRM/SMS/Form/Group.hlp
@@ -62,3 +62,16 @@
 {htxt id="exclude-mailings"}
 <p>{ts}If you have sent other Mass SMS - you can additionally Include (or Exclude) contacts who received those Mass SMS. CiviCRM will eliminate any duplications so that contacts who are in an Included Group AND were recipients of an Included Mailing will only be sent one copy of this SMS.{/ts}</p>
 {/htxt}
+
+{htxt id ="id-sms_provider-title"}
+  {ts}SMS Provider{/ts}
+{/htxt}
+{htxt id ="id-sms_provider"}
+<p>{ts}Select the SMS provider for this mass message from the dropdown list.{/ts}</p>
+{if $params.isAdmin}
+    {capture assign="fromConfig"}{crmURL p="civicrm/admin/sms/provider" q="reset=1"}{/capture}
+    <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; System Settings &raquo; SMS Providers</a> to add or edit SMS Provider.{/ts}</p>
+{else}
+    {ts}Contact your site administrator if you need to use a SMS Provider which is not in the dropdown list.{/ts}
+{/if}
+{/htxt}
diff --git a/civicrm/templates/CRM/SMS/Form/Group.tpl b/civicrm/templates/CRM/SMS/Form/Group.tpl
index d434e5077a..378dddf5a4 100644
--- a/civicrm/templates/CRM/SMS/Form/Group.tpl
+++ b/civicrm/templates/CRM/SMS/Form/Group.tpl
@@ -34,6 +34,7 @@
 
   <table class="form-layout">
    <tr class="crm-mailing-group-form-block-name"><td class="label">{$form.name.label}</td><td>{$form.name.html} {help id="sms-name"}</td></tr>
+   <tr class="crm-mailing-upload-form-block-sms_provider_id"><td class="label">{$form.sms_provider_id.label}</td><td>{$form.sms_provider_id.html}  {help id ="id-sms_provider" isAdmin=$isAdmin}</td></tr>
   </table>
 
 
diff --git a/civicrm/templates/CRM/SMS/Form/Upload.hlp b/civicrm/templates/CRM/SMS/Form/Upload.hlp
index 240aff41d1..33cfb42b8c 100644
--- a/civicrm/templates/CRM/SMS/Form/Upload.hlp
+++ b/civicrm/templates/CRM/SMS/Form/Upload.hlp
@@ -23,19 +23,6 @@
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-{htxt id ="id-sms_provider-title"}
-  {ts}SMS Provider{/ts}
-{/htxt}
-{htxt id ="id-sms_provider"}
-<p>{ts}Select the SMS provider for this mass message from the dropdown list.{/ts}</p>
-{if $params.isAdmin}
-    {capture assign="fromConfig"}{crmURL p="civicrm/admin/sms/provider" q="reset=1"}{/capture}
-    <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; System Settings &raquo; SMS Providers</a> to add or edit SMS Provider.{/ts}</p>
-{else}
-    {ts}Contact your site administrator if you need to use a SMS Provider which is not in the dropdown list.{/ts}
-{/if}
-{/htxt}
-
 {htxt id="content-intro-title"}
   {ts}Message Formats{/ts}
 {/htxt}
diff --git a/civicrm/templates/CRM/SMS/Form/Upload.tpl b/civicrm/templates/CRM/SMS/Form/Upload.tpl
index 178a27fbc9..e998e2024d 100644
--- a/civicrm/templates/CRM/SMS/Form/Upload.tpl
+++ b/civicrm/templates/CRM/SMS/Form/Upload.tpl
@@ -33,10 +33,6 @@
 {include file="CRM/Mailing/Form/Count.tpl"}
 
 <table class="form-layout-compressed">
-    <tr class="crm-mailing-upload-form-block-sms_provider_id"><td class="label">{$form.sms_provider_id.label}</td>
-        <td>{$form.sms_provider_id.html} {help id ="id-sms_provider" isAdmin=$isAdmin}</td>
-    </tr>
-
     <tr class="crm-mailing-upload-form-block-template">
       <td class="label">{$form.SMStemplate.label}</td>
   <td>{$form.SMStemplate.html}</td>
diff --git a/civicrm/templates/CRM/Tag/Page/Tag.tpl b/civicrm/templates/CRM/Tag/Page/Tag.tpl
index 58ff255bc9..1651ad7f0b 100644
--- a/civicrm/templates/CRM/Tag/Page/Tag.tpl
+++ b/civicrm/templates/CRM/Tag/Page/Tag.tpl
@@ -234,6 +234,16 @@
             });
         }
 
+        function isDraggable(nodes, event) {
+          var draggable = true;
+          _.each(nodes, function(node) {
+            if (node.data.is_reserved && !CRM.checkPerm('administer reserved tags')) {
+              draggable = false;
+            }
+          });
+          return draggable;
+        }
+
         $panel
           .append('<div class="tag-tree-wrapper"><div class="tag-tree"></div><div class="tag-info"></div></div>')
           .on('change', 'input[type=color]', changeColor)
@@ -265,6 +275,9 @@
         $('.tag-tree', $panel)
           .on('changed.jstree loaded.jstree', changeSelection)
           .on('move_node.jstree', moveTag)
+          .on('search.jstree', function() {
+            $(this).unblock();
+          })
           .jstree({
             core: {
               data: {
@@ -283,16 +296,35 @@
             },
             plugins: plugins,
             dnd: {
+              is_draggable: isDraggable,
               copy: false
             }
           });
 
-        $('input[name=filter_tag_tree]', $panel).on('keyup change', function() {
-          if ($(this).val() == null) {
-            $('.tag-tree', $panel).jstree(true).refresh();
+        $('input[name=filter_tag_tree]', $panel).on('keyup change', function(e) {
+          var element = $(this);
+          var searchString = element.val();
+          if (e.type == 'change') {
+            if (window.searchedString === searchString) {
+              if (searchString === '') {
+                $('.tag-tree', $panel).jstree("clear_search");
+                $('.tag-tree', $panel).jstree("refresh", true, true);
+              }
+              else {
+                $('.tag-tree', $panel).block();
+                $(".tag-tree", $panel).jstree("search", searchString);
+                delete window.searchedString;
+              }
+            }
           }
           else {
-            $(".tag-tree", $panel).jstree("search", $(this).val());
+            if (this.timer) clearTimeout(this.timer);
+            this.timer = setTimeout(function() {
+              if (_.isEmpty(window.searchedString) || window.searchedString !== searchString) {
+                window.searchedString = searchString;
+                element.trigger('change');
+              }
+            }, 1000);
           }
         });
       }
@@ -393,6 +425,14 @@
   li.is-reserved > a:after {
     content: ' *';
   }
+  {/literal}{if !call_user_func(array('CRM_Core_Permission', 'check'), 'administer reserved tags')}{literal}
+    #tree li.is-reserved > a.crm-tag-item {
+      cursor: not-allowed;
+    }
+    li.is-reserved > a:after {
+      color: #8A1F11;
+    }
+  {/literal}{/if}{literal}
   .tag-tree-wrapper ul {
     margin: 0;
     padding: 0;
diff --git a/civicrm/templates/CRM/UF/Form/Fields.tpl b/civicrm/templates/CRM/UF/Form/Fields.tpl
index 155a936da1..77fbc9b3a0 100644
--- a/civicrm/templates/CRM/UF/Form/Fields.tpl
+++ b/civicrm/templates/CRM/UF/Form/Fields.tpl
@@ -21,7 +21,7 @@
     {/if}
 
     {if $mode ne 8 && $action ne 1028 && $action ne 4 && !$hideFieldset}
-      <fieldset class="crm-profile crm-profile-id-{$field.group_id} crm-profile-name-{$field.groupName}"><legend>{$field.groupTitle}</legend>
+      <fieldset class="crm-profile crm-profile-id-{$field.group_id} crm-profile-name-{$field.groupName}"><legend>{$field.groupDisplayTitle}</legend>
     {/if}
 
     {if ($form.formName eq 'Confirm' OR $form.formName eq 'ThankYou') AND $prefix neq 'honor'}
diff --git a/civicrm/templates/CRM/UF/Form/Group.tpl b/civicrm/templates/CRM/UF/Form/Group.tpl
index 68e1692758..68d82fcb11 100644
--- a/civicrm/templates/CRM/UF/Form/Group.tpl
+++ b/civicrm/templates/CRM/UF/Form/Group.tpl
@@ -50,6 +50,10 @@
             <td class="label">{$form.title.label} {if $action == 2}{include file='CRM/Core/I18n/Dialog.tpl' table='civicrm_uf_group' field='title' id=$gid}{/if}</td>
             <td class="html-adjust">{$form.title.html}</td>
         </tr>
+        <tr class="crm-uf_group-form-block-frontend_title">
+            <td class="label">{$form.frontend_title.label}</td>
+            <td class="html-adjust">{$form.frontend_title.html}</td>
+        </tr>
         <tr class="crm-uf_group-form-block-description">
             <td class="label">{$form.description.label} {help id='id-description' file="CRM/UF/Form/Group.hlp"}</td>
             <td class="html-adjust">{$form.description.html}</td>
diff --git a/civicrm/templates/CRM/UF/Page/Group.tpl b/civicrm/templates/CRM/UF/Page/Group.tpl
index c219dc8e1c..557d07e5d3 100644
--- a/civicrm/templates/CRM/UF/Page/Group.tpl
+++ b/civicrm/templates/CRM/UF/Page/Group.tpl
@@ -73,6 +73,7 @@
              <thead>
               <tr>
                 <th id="sortable">{ts}Profile Title{/ts}</th>
+                <th>{ts}Public Title{/ts}</th>
                 <th>{ts}Created By{/ts}</th>
                 <th>{ts}Description{/ts}</th>
                 <th>{ts}Type{/ts}</th>
@@ -86,6 +87,7 @@
             {if !$row.is_reserved }
               <tr id="UFGroup-{$row.id}" data-action="setvalue" class="crm-entity {$row.class}{if NOT $row.is_active} disabled{/if}">
                 <td class="crmf-title crm-editable">{$row.title}</td>
+                <td class="crmf-frontend_title crm-editable">{$row.frontend_title}</td>
                 <td>
                   {if $row.created_id && $row.created_by}
                     <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
@@ -116,6 +118,7 @@
              <thead>
               <tr>
                 <th id="sortable">{ts}Profile Title{/ts}</th>
+                <th>{ts}Public Title{/ts}</th>
                 <th>{ts}Created By{/ts}</th>
                 <th>{ts}Description{/ts}</th>
                 <th>{ts}Type{/ts}</th>
@@ -129,6 +132,7 @@
             {if $row.is_reserved}
               <tr id="UFGroup-{$row.id}" class="crm-entity {$row.class}{if NOT $row.is_active} disabled{/if}">
                 <td>{$row.title}</td>
+                <td>{$row.frontend_title}</td>
                 <td>
                   {if $row.created_id && $row.created_by}
                     <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
diff --git a/civicrm/templates/CRM/common/paymentBlock.tpl b/civicrm/templates/CRM/common/paymentBlock.tpl
index f509332d76..8436164bff 100644
--- a/civicrm/templates/CRM/common/paymentBlock.tpl
+++ b/civicrm/templates/CRM/common/paymentBlock.tpl
@@ -111,7 +111,7 @@
 
       var payment_instrument_id = $('#payment_instrument_id').val();
 
-      var dataUrl = "{crmURL p='civicrm/payment/form' h=0 q="&currency=`$currency`&`$urlPathVar``$isBackOfficePathVar``$profilePathVar``$contributionPageID``$preProfileID`processor_id="}" + type;
+      var dataUrl = "{crmURL p='civicrm/payment/form' h=0 q="&formName=`$form.formName`&currency=`$currency`&`$urlPathVar``$isBackOfficePathVar``$profilePathVar``$contributionPageID``$preProfileID`processor_id="}" + type;
       {literal}
       if (typeof(CRM.vars) != "undefined") {
         if (typeof(CRM.vars.coreForm) != "undefined") {
diff --git a/civicrm/templates/CRM/common/version.tpl b/civicrm/templates/CRM/common/version.tpl
index 6e930f87d7..7568d21055 100644
--- a/civicrm/templates/CRM/common/version.tpl
+++ b/civicrm/templates/CRM/common/version.tpl
@@ -1 +1 @@
-4.7.30
\ No newline at end of file
+4.7.31
\ No newline at end of file
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index 117e260cd8..9bc7f42f2c 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f::getLoader();
+return ComposerAutoloaderInitf316b582a351da126714ec1e8a967afa::getLoader();
diff --git a/civicrm/vendor/civicrm/civicrm-setup/.gitignore b/civicrm/vendor/civicrm/civicrm-setup/.gitignore
new file mode 100644
index 0000000000..4fbb073c49
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/.gitignore
@@ -0,0 +1,2 @@
+/vendor/
+/composer.lock
diff --git a/civicrm/vendor/civicrm/civicrm-setup/LICENSE b/civicrm/vendor/civicrm/civicrm-setup/LICENSE
new file mode 100644
index 0000000000..437b4110ed
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2017-2018 CiviCRM LLC
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/civicrm/vendor/civicrm/civicrm-setup/README.md b/civicrm/vendor/civicrm/civicrm-setup/README.md
new file mode 100644
index 0000000000..936926015e
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/README.md
@@ -0,0 +1,38 @@
+# civicrm-setup
+
+`civicrm-setup` is a library for writing a CiviCRM installer.  It aims to support multiple installers, such as the CLI command `cv`
+(`cv core:install` and `cv core:uninstall`) or per-CMS web-based installers (e.g.  for `civicrm-drupal` or `civicrm-wordpress`).
+
+General design:
+
+* Installers call a high-level API ([Civi\Setup](src/Setup.php)) which supports all major installation tasks/activities -- such as:
+    * Check system requirements (`$setup->checkRequirements()`)
+    * Check installation status (`$setup->checkInstalled()`)
+    * Install data files (`$setup->installFiles()`)
+    * Install database (`$setup->installDatabase()`)
+* A *data-model* ([Civi\Setup\Model](src/Setup/Model.php)) lists all the standard configuration parameters. This data-model is available when executing each task. For example, it includes:
+    * The path to CiviCRM's code (`$model->srcPath`)
+    * The system language (`$model->lang`)
+    * The DB credentials (`$model->db`)
+* Each major task corresponds to an [*event*](https://github.com/civicrm/civicrm-setup/tree/master/src/Setup/Event) -- such as:
+    * `civi.setup.checkRequirements`
+    * `civi.setup.checkInstalled`
+    * `civi.setup.installFiles`
+    * `civi.setup.installDatabase`
+* *Plugins* (`plugins/*/*.civi-setup.php`) work with the model and the events. For example:
+    * The plugin `init/WordPress.civi-setup.php` runs during initialization (`civi.setup.init`). It reads the WordPress config (e.g.`get_locale()` and `DB_HOST`) then updates the model (`$model->lang` and `$model->db`).
+    * The plugin `installDatabase/SetLanguage.civi-setup.php` runs when installing the database (`civi.setup.installDatabase`). It reads the `$model->lang` and updates various Civi settings.
+
+Key features:
+
+* The library can be used by other projects -- such as `cv`, `civicrm-drupal`, `civicrm-wordpress` -- to provide an installation process.
+* It is a *leap*. It can coexist with the old installer, and it lives in a separate project/repo which can be deployed optionally.
+    * To enable it, add the codebase to your civicrm source tree. (This can be done manually - or as part of a build process.)
+* It has minimal external dependencies. (The codebase for CiviCRM and its dependencies must be available -- but nothing else is needed.)
+
+## Documentation
+
+* [Getting started](docs/getting-started.md)
+* [Writing an installer](docs/new-installer.md)
+* [Writing a plugin](docs/new-plugin.md)
+* [Managing plugins](docs/plugins.md)
diff --git a/civicrm/vendor/civicrm/civicrm-setup/civicrm-setup-autoload.php b/civicrm/vendor/civicrm/civicrm-setup/civicrm-setup-autoload.php
new file mode 100644
index 0000000000..1959875238
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/civicrm-setup-autoload.php
@@ -0,0 +1,26 @@
+<?php
+
+if (!function_exists('_civicrm_setup_autoload')) {
+  function _civicrm_setup_autoload($class) {
+    // Facade class
+    if ($class === 'Civi\\Setup') {
+      require __DIR__ . '/src/Setup.php';
+      return;
+    }
+
+    // All other classes
+
+    $prefix = 'Civi\\Setup\\';
+    $base_dir = __DIR__ . '/src/Setup/';
+    $len = strlen($prefix);
+    if (strncmp($prefix, $class, $len) !== 0) {
+      return;
+    }
+    $relative_class = substr($class, $len);
+    $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
+    if (file_exists($file)) {
+      require $file;
+    }
+  }
+  spl_autoload_register('_civicrm_setup_autoload');
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/composer.json b/civicrm/vendor/civicrm/civicrm-setup/composer.json
new file mode 100644
index 0000000000..2c75615020
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/composer.json
@@ -0,0 +1,19 @@
+{
+    "name": "civicrm/civicrm-setup",
+    "description": "CiviCRM installation library",
+    "type": "library",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "CiviCRM LLC",
+            "email": "info@civicrm.org"
+        }
+    ],
+    "autoload": {
+        "files": ["civicrm-setup-autoload.php"]
+    },
+    "require": {
+        "psr/log": "~1.0",
+        "symfony/event-dispatcher": "^2.6.13 || ~3.0"
+    }
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.civi-setup.php
new file mode 100644
index 0000000000..7f4c0e9c91
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.civi-setup.php
@@ -0,0 +1,44 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.run', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+
+    \Civi\Setup::log()->info(sprintf('[%s] Parse inputs', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+    $values = $e->getField('advanced', array());
+
+    $placeholderDb = 'mysql://USER:PASS@HOST/DB';
+
+    if (empty($values['db']) || $values['db'] === $placeholderDb) {
+      $e->getModel()->extras['advanced']['db'] = $placeholderDb;
+    }
+    else {
+      $e->getModel()->extras['advanced']['db'] = trim($values['db']);
+      $e->getModel()->db = \Civi\Setup\DbUtil::parseDsn(trim($values['db']));
+    }
+
+  }, \Civi\Setup::PRIORITY_LATE);
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['advanced'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'advanced.tpl.php',
+      'class' => '',
+      'weight' => 60,
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.tpl.php
new file mode 100644
index 0000000000..9ff3dc16d7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/advanced.tpl.php
@@ -0,0 +1,59 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2 id="environment"><?php echo ts('Environment'); ?></h2>
+
+<p>
+  <?php echo ts('The system settings were auto-detected. CiviCRM will be installed with:'); ?>
+</p>
+
+<div style="">
+  <table class="settingsTable">
+    <tbody>
+    <tr>
+      <th><?php echo ts('CMS Database'); ?></th>
+      <td>
+        <code><?php echo htmlentities('mysql://' . $model->cmsDb['username'] . ':HIDDEN@' . $model->cmsDb['server'] . '/' . $model->cmsDb['database']); ?></code>
+      </td>
+    </tr>
+    <tr>
+      <th><?php echo ts('CiviCRM Database'); ?></th>
+      <td class="advanced-db">
+        <div class="ro">
+          <code><?php echo htmlentities('mysql://' . $model->db['username'] . ':HIDDEN@' . $model->db['server'] . '/' . $model->db['database']); ?></code>
+          <a href="" onclick="csj$('.advanced-db .ro').hide(); csj$('.advanced-db .rw').show(); return false;" title="<?php echo htmlentities(ts('Edit')) ?>"><i class="fa fa-pencil"></i></a>
+        </div>
+        <div class="rw" style="display: none;">
+          <div>
+
+          <input type="text" name="civisetup[advanced][db]" value="<?php echo htmlentities($model->extras['advanced']['db']); ?>" data-original="<?php echo htmlentities($model->extras['advanced']['db']); ?>">
+          <input id="db_apply_button" type="submit" name="civisetup[action][Start]" value="<?php echo htmlentities(ts('Apply')); ?>" />
+          <a href="" onclick="civisetupAdvancedDbCancel(); return false;" title="<?php echo htmlentities(ts('Cancel')) ?>"><i class="fa fa-close"></i></a>
+          <script type="text/javascript">
+            function civisetupAdvancedDbCancel() {
+              csj$('.advanced-db .rw').hide();
+              csj$('.advanced-db .ro').show();
+              csj$('.advanced-db .rw input[type=text]').val(csj$('.advanced-db .rw input[type=text]').attr('data-original'));
+            }
+          </script>
+          </div>
+          <p><?php echo ts('By default, CiviCRM uses the same database as your website. You may install on a separate database if you need more fine-grained control over permissions, replication, hardware capacity, etc.'); ?></p>
+          <p><?php echo ts('<strong>Example</strong>: <code>%1</code>', array(1 => 'mysql://admin:secret@localhost/civicrm')); ?></p>
+          <p><?php echo ts('<strong>Example</strong>: <code>%1</code>', array(1 => 'mysql://admin:secret@127.0.0.1:3306/otherdb')); ?></p>
+        </div>
+      </td>
+    </tr>
+    <tr>
+      <th><?php echo ts('CiviCRM Settings File'); ?></th>
+      <td><code><?php echo htmlentities($model->settingsPath); ?></code></td>
+    </tr>
+    <tr>
+      <th><?php echo ts('CiviCRM Source Code'); ?></th>
+      <td><code><?php echo htmlentities($model->srcPath); ?></code></td>
+    </tr>
+    </tbody>
+  </table>
+</div>
+
+<p class="tip">
+  <strong><?php echo ts('Tip'); ?></strong>:
+  <?php echo ts('Need more advanced control? You may alternatively use the <a href="%1" target="%2">command-line installer</a>.', array(1 => 'https://github.com/civicrm/cv', 2 => '_blank')); ?>
+</p>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.civi-setup.php
new file mode 100644
index 0000000000..9dbd16afa5
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.civi-setup.php
@@ -0,0 +1,37 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['components'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'components.tpl.php',
+      'class' => 'if-no-errors',
+      'weight' => 50,
+      'component_labels' => array(
+        'CiviContribute' => ts('Accept donations and payments'),
+        'CiviEvent' => ts('Accept event registrations'),
+        'CiviMail' => ts('Send email blasts and newsletters'),
+        'CiviMember' => ts('Manage recurring memberships'),
+        'CiviCase' => ts('Track case histories'),
+        'CiviPledge' => ts('Accept pledges'),
+        'CiviReport' => ts('Generate reports'),
+        'CiviCampaign' => ts('Organize campaigns, surveys, and petitions'),
+        'CiviGrant' => ts('Receive grant applications'),
+      ),
+    );
+
+    if ($e->getMethod() === 'POST' || is_array($e->getField('components'))) {
+      $e->getModel()->components = array_keys($e->getField('components'));
+    }
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.tpl.php
new file mode 100644
index 0000000000..27c007deeb
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/components.tpl.php
@@ -0,0 +1,17 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2 id="components"><?php echo ts('Components'); ?></h2>
+
+<div>
+  <?php foreach ($model->getField('components', 'options') as $comp => $label): ?>
+    <input class="comp-cb sr-only" style="display: none;" type="checkbox" name="civisetup[components][<?php echo $comp; ?>]" id="civisetup[components][<?php echo $comp; ?>]" <?php echo in_array($comp, $model->components) ? 'checked' : '' ?>>
+    <label class="comp-box" for="civisetup[components][<?php echo $comp; ?>]">
+      <span class="comp-label"><?php echo $label; ?></span>
+      <span class="comp-desc"><?php echo $_tpl_block['component_labels'][$comp] ?></span>
+    </label>
+  <?php endforeach; ?>
+</div>
+
+<p class="tip">
+  <strong><?php echo ts('Tip'); ?></strong>:
+  <?php echo ts('Not sure? That\'s OK. After installing, you can enable and disable components at any time.'); ?>
+</p>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.civi-setup.php
new file mode 100644
index 0000000000..f82951c684
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.civi-setup.php
@@ -0,0 +1,21 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['header'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'header.tpl.php',
+      'class' => '',
+      'weight' => 10,
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.tpl.php
new file mode 100644
index 0000000000..fe27df7dcb
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/header.tpl.php
@@ -0,0 +1,12 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<div class="civicrm-logo"><strong><?php echo ts('Version %1', array(1 => "{$civicrm_version} {$model->cms}")); ?></strong><br/>
+    <span><img src=<?php echo $installURLPath . "block_small.png"?> /></span>
+  </div>
+
+<h1><?php echo ts("CiviCRM Installer"); ?></h1>
+
+<noscript>
+<p class="error"><?php echo ts("Error: Javascipt appears to be disabled. The CiviCRM web-based installer requires Javascript.");?></p>
+</noscript>
+
+<p><?php echo ts("Thanks for choosing CiviCRM! Please follow the instructions below to install CiviCRM."); ?></p>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.civi-setup.php
new file mode 100644
index 0000000000..6e23424643
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.civi-setup.php
@@ -0,0 +1,21 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['install'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'install.tpl.php',
+      'class' => 'if-no-errors',
+      'weight' => 70,
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.tpl.php
new file mode 100644
index 0000000000..c2da1c3c1b
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/install.tpl.php
@@ -0,0 +1,10 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<div class="action-box">
+  <input id="install_button" type="submit" name="civisetup[action][Install]"
+         value="<?php echo htmlentities(ts('Install CiviCRM')); ?>"
+         onclick="document.getElementById('saving_top').style.display = ''; this.value = '<?php echo ts('Installing CiviCRM...', array('escape' => 'js')); ?>'"/>
+  <div id="saving_top" style="display: none;">
+&nbsp;   <img src="<?php echo htmlentities($installURLPath . "network-save.gif") ?>"/>
+    <?php echo ts('(this will take a few minutes)'); ?>
+  </div>
+</div>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.civi-setup.php
new file mode 100644
index 0000000000..1202323f9e
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.civi-setup.php
@@ -0,0 +1,21 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['l10n'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'l10n.tpl.php',
+      'class' => 'if-no-errors',
+      'weight' => 30,
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.tpl.php
new file mode 100644
index 0000000000..5b936b4537
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/l10n.tpl.php
@@ -0,0 +1,38 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2><?php echo ts('Localization'); ?></h2>
+
+<p><?php echo ts('CiviCRM has been translated to many languages, thanks to its community of translators. By selecting another language, the installer may be available in that language. The initial configuration of the basic data will also be set to that language (ex: individual prefixes, suffixes, activity types, etc.). <a href="%1" target="%2">Learn more about using CiviCRM in other languages.</a>', array(1 => 'http://wiki.civicrm.org/confluence/pages/viewpage.action?pageId=88408149', 2 => '_blank')); ?></p>
+
+<script>
+  function civicrmInstallerSetLanguage(language) {
+    var location = window.location.toString();
+
+    if (location.match(/lang=.._../)) {
+      location = location.replace(/lang=.._../, 'lang=' + language);
+      window.location = location;
+    }
+    else {
+      window.location += (location.indexOf('?') < 0 ? '?' : '&') + 'lang=' + language;
+    }
+  }
+</script>
+
+<p style="margin-left: 2em" id="locale">
+  <label for="lang"><span><?php echo ts('Language of basic data:'); ?></span></label>
+  <select id="lang" name="lang" onchange="civicrmInstallerSetLanguage(this.value);">
+    <?php
+    foreach ($model->getField('lang', 'options') as $locale => $language):
+      $selected = ($locale == $model->lang) ? 'selected="selected"' : '';
+      echo "<option value='$locale' $selected>$language</option>";
+    endforeach;
+    ?>
+  </select>
+
+  <span class="advancedTip">
+  <?php
+  if (count($model->getField('lang', 'options')) < 2):
+    echo "(download the civicrm-{$civicrm_version}-l10n.tar.gz file and unzip into CiviCRM’s directory to add languages here)";
+  endif;
+  ?>
+</span>
+</p>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.disabled.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.disabled.php
new file mode 100644
index 0000000000..9a9beb777b
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.disabled.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * @file
+ *
+ * Display a block with opt-in settings.
+ *
+ * The file `opt-in.disabled.php` is ignored by default. To enable, you should
+ * either rename it to `opt-in.civi-setup.php` or symlink it.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+// First pass: initialize 'settings' block.
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    $e->getCtrl()->blocks['opt-in'] = array(
+      'is_active' => TRUE, // FIXME
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'opt-in.tpl.php',
+      'class' => 'if-no-errors',
+      'weight' => 55,
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
+
+// Second pass: Parse any settings that have been approved for use in this form.
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    if (!$e->getCtrl()->blocks['opt-in']['is_active']) {
+      return;
+    }
+
+    \Civi\Setup::log()->info(sprintf('[%s] Parse inputs', basename(__FILE__)));
+    $values = $e->getField('opt-in', array());
+    $e->getModel()->extras['opt-in']['empoweredBy'] = !empty($values['empoweredBy']);
+    $e->getModel()->extras['opt-in']['versionCheck'] = !empty($values['versionCheck']);
+
+     // echo '<pre>'; print_r(['model'=> $e->getModel()->getValues(), 'v'=>$values]); echo '</pre>';
+
+  }, \Civi\Setup::PRIORITY_LATE);
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    $m = $e->getModel();
+
+    if (isset($m->extras['opt-in']['empoweredBy'])) {
+      \Civi\Setup::log()->info(sprintf('[%s] Set empoweredBy', basename(__FILE__)));
+      \Civi::settings()->set('empoweredBy', (bool) $m->extras['opt-in']['empoweredBy']);
+    }
+
+    if (isset($m->extras['opt-in']['versionCheck'])) {
+      \Civi\Setup::log()->info(sprintf('[%s] Set versionCheck', basename(__FILE__)));
+      \CRM_Core_DAO::executeQuery('UPDATE civicrm_job SET is_active = %1 WHERE api_entity LIKE "job" AND api_action LIKE "version_check"', array(
+        1 => array($m->extras['opt-in']['versionCheck'] ? 1 : 0, 'Int'),
+      ));
+    }
+  }, \Civi\Setup::PRIORITY_LATE + 100);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.tpl.php
new file mode 100644
index 0000000000..ca51a55b40
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/opt-in.tpl.php
@@ -0,0 +1,21 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2 id="settings"><?php echo ts('Opt-in'); ?></h2>
+
+<p>
+  <?php echo ts('CiviCRM is provided for free -- built with donations and volunteerism. We don\'t have the marketing or data-analytics prowess of a large corporation, so we rely on users to keep us informed -- and to spread the word.'); ?>
+  <?php echo ts('Of course, not everyone can help in these ways. But if you can, opt-in to help enrich the product and community.'); ?>
+</p>
+
+<div>
+  <input class="optin-cb sr-only" style="display: none;" type="checkbox" name="civisetup[opt-in][versionCheck]" id="civisetup[opt-in][versionCheck]" value="1" <?php echo $model->extras['opt-in']['versionCheck'] ? 'checked' : ''; ?>>
+  <label class="optin-box" for="civisetup[opt-in][versionCheck]">
+    <span class="optin-label"><?php echo ts('Version pingback'); ?></span>
+    <span class="optin-desc"><?php echo ts('Check for CiviCRM version updates. Report anonymous usage statistics.'); ?></span>
+  </label>
+
+  <input class="optin-cb sr-only" style="display: none;" type="checkbox" name="civisetup[opt-in][empoweredBy]" id="civisetup[opt-in][empoweredBy]" value="1" <?php echo $model->extras['opt-in']['empoweredBy'] ? 'checked' : ''; ?>>
+  <label class="optin-box" for="civisetup[opt-in][empoweredBy]">
+    <span class="optin-label"><?php echo ts('Empowered by CiviCRM'); ?></span>
+    <span class="optin-desc"><?php echo ts('Display "Empowered by CiviCRM" in the footer of public forms.'); ?></span>
+  </label>
+</div>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.civi-setup.php
new file mode 100644
index 0000000000..df5ebe8ec6
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.civi-setup.php
@@ -0,0 +1,30 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['requirements'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'requirements.tpl.php',
+      'class' => 'if-problems',
+      'weight' => 20,
+      'severity_labels' => array(
+        'info' => ts('Info'),
+        'warning' => ts('Warning'),
+        'error' => ts('Error'),
+      ),
+      'section_labels' => array(
+        'database' => ts('Database'),
+        'system' => ts('System'),
+      ),
+    );
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.tpl.php
new file mode 100644
index 0000000000..f33063504f
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/requirements.tpl.php
@@ -0,0 +1,52 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2 id="requirements"><?php echo ts('System Requirements'); ?></h2>
+
+<?php
+if (count($reqs->getErrors()) > 0):
+  ?><p class="error"><?php echo ts('We are not able to install the software. Please review the errors and warnings below.'); ?></p><?php
+elseif (count($reqs->getWarnings()) > 0):
+  ?><p class="warning"><?php echo ts('There are some issues that we recommend you look at before installing. However, you are still able to install the software.'); ?></p><?php
+else:
+  ?><p class="good"><?php echo ts("You're ready to install!"); ?></p><?php
+endif;
+?>
+
+<?php
+$msgs = array_filter($reqs->getMessages(), function($m) {
+  return $m['severity'] != 'info';
+});
+uasort($msgs, function($a, $b) {
+  return strcmp(
+    $a['severity'] . '-' . $a['section'] . '-' . $a['name'],
+    $b['severity'] . '-' . $b['section'] . '-' . $b['name']
+  );
+});
+?>
+
+<table class="reqTable">
+  <thead>
+  <tr>
+    <th width="10%"><?php echo ts('Severity'); ?></th>
+    <th width="10%"><?php echo ts('Section'); ?></th>
+    <th width="20%"><?php echo ts('Name'); ?></th>
+    <th width="69%"><?php echo ts('Details'); ?></th>
+  </tr>
+  </thead>
+  <tbody>
+  <?php foreach ($msgs as $msg):?>
+  <tr class="<?php echo 'reqSeverity-' . $msg['severity']; ?>">
+    <td><?php echo htmlentities($_tpl_block['severity_labels'][$msg['severity']]); ?></td>
+    <td><?php echo htmlentities(isset($_tpl_block['section_labels'][$msg['section']]) ? $_tpl_block['section_labels'][$msg['section']] : $msg['section']); ?></td>
+    <td><?php echo htmlentities($msg['name']); ?></td>
+    <td><?php echo htmlentities($msg['message']); ?></td>
+  </tr>
+  <?php endforeach; ?>
+  </tbody>
+</table>
+
+<div class="action-box">
+  <input id="recheck_button" type="submit" name="civisetup[action][Start]" value="<?php echo htmlentities(ts('Refresh')); ?>" />
+  <div class="advancedTip">
+    <?php echo ts('After updating your system, refresh to test the requirements again.'); ?>
+  </div>
+</div>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.civi-setup.php
new file mode 100644
index 0000000000..1c3e669323
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.civi-setup.php
@@ -0,0 +1,26 @@
+<?php
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.boot', function (\Civi\Setup\UI\Event\UIBootEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Register blocks', basename(__FILE__)));
+
+    /**
+     * @var \Civi\Setup\UI\SetupController $ctrl
+     */
+    $ctrl = $e->getCtrl();
+
+    $ctrl->blocks['sample-data'] = array(
+      'is_active' => TRUE,
+      'file' => __DIR__ . DIRECTORY_SEPARATOR . 'sample-data.tpl.php',
+      'class' => 'if-no-errors',
+      'weight' => 40,
+    );
+
+    if ($e->getMethod() === 'POST') {
+      $e->getModel()->loadGenerated = !empty($e->getField('loadGenerated'));
+    }
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.tpl.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.tpl.php
new file mode 100644
index 0000000000..f40b626a8b
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/blocks/sample-data.tpl.php
@@ -0,0 +1,22 @@
+<?php if (!defined('CIVI_SETUP')): exit("Installation plugins must only be loaded by the installer.\n"); endif; ?>
+<h2><?php echo ts('Sample Data'); ?></h2>
+
+<p>
+  <label for="loadGenerated"><span>Load sample data:</span><input id="loadGenerated" type="checkbox" name="civisetup[loadGenerated]" value=1 <?php echo $model->loadGenerated ? "checked='checked'" : ""; ?> /></label> <br />
+  <span class="advancedTip"><?php echo ts("Check this box to pre-populate CiviCRM with sample English contact records, online contribution pages, profile forms, etc. These examples can help you learn about CiviCRM features."); ?></span><br />
+</p>
+
+<script type="text/javascript">
+  csj$(function(){
+    function hideLang() {
+      if (csj$('[name=lang]').val() == 'en_US') {
+        csj$('#loadGenerated').prop('disabled', false);
+      }
+      else {
+        csj$('#loadGenerated').prop('disabled', true).prop('checked', false);
+      }
+      setTimeout(hideLang, 100);
+    }
+    setTimeout(hideLang, 100);
+  });
+</script>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledDatabase.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledDatabase.civi-setup.php
new file mode 100644
index 0000000000..016935251d
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledDatabase.civi-setup.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * @file
+ *
+ * Determine whether Civi has been installed.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkInstalled', function (\Civi\Setup\Event\CheckInstalledEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkInstalled'));
+    $model = $e->getModel();
+
+    if ($model->db) {
+      try {
+        $conn = \Civi\Setup\DbUtil::connect($model->db);
+      }
+      catch (\Civi\Setup\Exception\SqlException $exception) {
+        $e->setDatabaseInstalled(FALSE);
+        return;
+      }
+      $found = FALSE;
+      foreach ($conn->query('SHOW TABLES LIKE "civicrm_%"') as $result) {
+        $found = TRUE;
+      }
+      $conn->close();
+      $e->setDatabaseInstalled($found);
+    }
+    else {
+      throw new \Exception("The \"db\" is unspecified. Cannot determine whether the database schema file exists.");
+    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledFiles.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledFiles.civi-setup.php
new file mode 100644
index 0000000000..cb47e89982
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkInstalled/CheckInstalledFiles.civi-setup.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * @file
+ *
+ * Determine whether Civi has been installed.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkInstalled', function (\Civi\Setup\Event\CheckInstalledEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkInstalled'));
+
+    $model = $e->getModel();
+
+    if ($model->settingsPath) {
+      $e->setSettingInstalled(file_exists($model->settingsPath));
+    }
+    else {
+      throw new \Exception("The \"settingsPath\" is unspecified. Cannot determine whether the settings file exists.");
+    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckBaseUrl.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckBaseUrl.civi-setup.php
new file mode 100644
index 0000000000..a69fd7f128
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckBaseUrl.civi-setup.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * @file
+ *
+ * Verify that the CMS base URL is well-formed.
+ *
+ * Ex: When installing via CLI, the URL cannot be determined automatically.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements'));
+    $model = $e->getModel();
+
+    if (!$model->cmsBaseUrl || !preg_match('/^https?:/', $model->cmsBaseUrl)) {
+      $e->addError('system', 'cmsBaseUrl', "The \"cmsBaseUrl\" ($model->cmsBaseUrl) is unavailable or malformed. Consider setting it explicitly.");
+      return;
+    }
+
+    if (PHP_SAPI === 'cli' && strpos($model->cmsBaseUrl, dirname($_SERVER['PHP_SELF'])) !== FALSE) {
+      $e->addError('system', 'cmsBaseUrl', "The \"cmsBaseUrl\" ($model->cmsBaseUrl) is unavailable or malformed. Consider setting it explicitly.");
+      return;
+    }
+
+    $e->addInfo('system', 'cmsBaseUrl', 'The "cmsBaseUrl" appears well-formed.');
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckDbWellFormed.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckDbWellFormed.civi-setup.php
new file mode 100644
index 0000000000..46e00deded
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CheckDbWellFormed.civi-setup.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * @file
+ *
+ * Verify that the database parameters are well-formed.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements'));
+
+    $dbFields = array('db', 'cmsDb');
+    foreach ($dbFields as $dbField) {
+      $errors = 0;
+      $db = $e->getModel()->{$dbField};
+
+      $keys = array_keys($db);
+      sort($keys);
+      $expectedKeys = array('server', 'username', 'password', 'database');
+      sort($expectedKeys);
+      if ($keys !== $expectedKeys) {
+        $e->addError('database', $dbField, sprintf("The database credentials for \"%s\" should be specified as (%s) not (%s)",
+          $dbField,
+          implode(',', $expectedKeys),
+          implode(',', $keys)
+        ));
+        $errors++;
+      }
+
+      foreach ($db as $k => $v) {
+        if (!is_scalar($v)) {
+          $e->addError('database', "$dbField.$k", "The property \"$dbField.$k\" is not well-formed.");
+          $errors++;
+        }
+      }
+
+      if (0 == $errors) {
+        $e->addInfo('database', $dbField, "The database credentials for \"$dbField\" are well-formed.");
+      }
+    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CoreRequirementsAdapter.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CoreRequirementsAdapter.civi-setup.php
new file mode 100644
index 0000000000..5e915ffefd
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/checkRequirements/CoreRequirementsAdapter.civi-setup.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * @file
+ *
+ * Run the PHP+MySQL system requirements checks from Civi\Install\Requirements.
+ *
+ * Aesthetically, I'd sorta prefer to remove this and (instead) migrate the
+ * `Requirements.php` so that each check was its own plugin. But for now this works.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) {
+    $model = $e->getModel();
+    $r = new \Civi\Install\Requirements();
+
+    \Civi\Setup::log()->info(sprintf('[%s] Run Requirements::checkSystem()', basename(__FILE__)));
+    $systemMsgs = $r->checkSystem(array(/* we do this elsewhere */));
+    _corereqadapter_addMessages($e, 'system', $systemMsgs);
+
+    \Civi\Setup::log()->info(sprintf('[%s] Run Requirements::checkDatabase()', basename(__FILE__)));
+    list ($host, $port) = \Civi\Setup\DbUtil::decodeHostPort($model->db['server']);
+    $dbMsgs = $r->checkDatabase(array(
+      'host' => $host,
+      'port' => $port,
+      'username' => $model->db['username'],
+      'password' => $model->db['password'],
+      'database' => $model->db['database'],
+    ));
+    _corereqadapter_addMessages($e, 'database', $dbMsgs);
+  });
+
+/**
+ * @param \Civi\Setup\Event\CheckRequirementsEvent $e
+ *   Symbolic machine name for this group of messages.
+ *   Ex: 'database' or 'system'.
+ * @param array $msgs
+ *   A list of messages in the format used by \Civi\Install\Requirements
+ */
+function _corereqadapter_addMessages($e, $section, $msgs) {
+  $severityMap = array(
+    \Civi\Install\Requirements::REQUIREMENT_OK => 'info',
+    \Civi\Install\Requirements::REQUIREMENT_WARNING => 'warning',
+    \Civi\Install\Requirements::REQUIREMENT_ERROR => 'error',
+  );
+
+  foreach ($msgs as $msg) {
+    $e->addMessage($severityMap[$msg['severity']], $section, $msg['title'], $msg['details']);
+  }
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/common/LogEvents.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/common/LogEvents.civi-setup.php
new file mode 100644
index 0000000000..ad2c393117
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/common/LogEvents.civi-setup.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * @file
+ *
+ * Record a log message at the start and end of each major business operation.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+use \Civi\Setup;
+
+$setup = Setup::instance();
+
+$eventNames = array(
+  'civi.setup.init',
+  'civi.setup.checkAuthorized',
+  'civi.setup.checkRequirements',
+  'civi.setup.checkInstalled',
+  'civi.setup.installFiles',
+  'civi.setup.installDatabase',
+  'civi.setup.uninstallDatabase',
+  'civi.setup.uninstallFiles',
+  'civi.setupui.construct',
+  'civi.setupui.boot',
+);
+foreach ($eventNames as $eventName) {
+  $setup->getDispatcher()
+    ->addListener(
+      $eventName,
+      function ($event) use ($eventName, $setup) {
+        $setup->getLog()->debug("[LogEvents.civi-setup.php] Start $eventName");
+      },
+      Setup::PRIORITY_START + 1
+    );
+  $setup->getDispatcher()
+    ->addListener(
+      $eventName,
+      function ($event) use ($eventName, $setup) {
+        $setup->getLog()->debug("[LogEvents.civi-setup.php] Finish $eventName");
+      },
+      Setup::PRIORITY_END - 1
+    );
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/createForm/DefaultForm.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/createForm/DefaultForm.civi-setup.php
new file mode 100644
index 0000000000..969a569ef7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/createForm/DefaultForm.civi-setup.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * @file
+ *
+ * Generate the default web form.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setupui.construct', function (\Civi\Setup\UI\Event\UIConstructEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Construct default UI', basename(__FILE__)));
+
+    $e->setCtrl(new \Civi\Setup\UI\SetupController(\Civi\Setup::instance()));
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableComponents.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableComponents.civi-setup.php
new file mode 100644
index 0000000000..f935b4efb5
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableComponents.civi-setup.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * @file
+ *
+ * Build a list of available CiviCRM components.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    /**
+     * @var \Civi\Setup\Model $m
+     */
+    $m = $e->getModel();
+    $comps = array(
+      'CiviContribute',
+      'CiviEvent',
+      'CiviMail',
+      'CiviMember',
+      'CiviCase',
+      'CiviPledge',
+      'CiviReport',
+      'CiviCampaign',
+      'CiviGrant',
+    );
+    $m->setField('components', 'options', array_combine($comps, $comps));
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableLangs.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableLangs.civi-setup.php
new file mode 100644
index 0000000000..4eb5730d6c
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/AvailableLangs.civi-setup.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * @file
+ *
+ * Build a list of available translations.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    /**
+     * @var \Civi\Setup\Model $m
+     */
+    $m = $e->getModel();
+
+    $langs = NULL;
+    require implode(DIRECTORY_SEPARATOR, [$m->srcPath, 'install', 'langs.php']);
+    foreach ($langs as $locale => $_) {
+      if ($locale == 'en_US') {
+        continue;
+      }
+      if (!file_exists(implode(DIRECTORY_SEPARATOR, array($m->srcPath, 'sql', "civicrm_data.$locale.mysql")))) {
+        unset($langs[$locale]);
+      }
+    }
+
+    $m->setField('lang', 'options', $langs);
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Backdrop.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Backdrop.civi-setup.php
new file mode 100644
index 0000000000..df3a74bdd8
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Backdrop.civi-setup.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * @file
+ *
+ * Determine default settings for Backdrop.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkAuthorized', function (\Civi\Setup\Event\CheckAuthorizedEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'Backdrop') {
+      return;
+    }
+
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkAuthorized'));
+    $e->setAuthorized(user_access('administer modules'));
+  });
+
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'Backdrop' || !function_exists('user_access')) {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    $object = new \CRM_Utils_System_Backdrop();
+    $cmsPath = $object->cmsRootPath();
+
+    // Compute settingsPath.
+    $model->settingsPath = $cmsPath . DIRECTORY_SEPARATOR .     'civicrm.settings.php';
+
+    $model->templateCompilePath = 'FIXME';
+
+    // Compute DSN.
+    global $databases;
+    $model->db = $model->cmsDb = array(
+      'server' => \Civi\Setup\DbUtil::encodeHostPort($databases['default']['default']['host'], $databases['default']['default']['port'] ?: NULL),
+      'username' => $databases['default']['default']['username'],
+      'password' => $databases['default']['default']['password'],
+      'database' => $databases['default']['default']['database'],
+    );
+
+    // Compute URLs
+    global $base_url, $base_path;
+    $model->cmsBaseUrl = $base_url . $base_path;
+
+    // Compute general paths
+    // $model->paths['civicrm.files']['url'] = $filePublicPath;
+    $model->paths['civicrm.files']['path'] = implode(DIRECTORY_SEPARATOR,
+      [_backdrop_civisetup_getPublicFiles(), 'civicrm']);
+
+    // Compute templateCompileDir.
+    $model->templateCompilePath = implode(DIRECTORY_SEPARATOR,
+      [_backdrop_civisetup_getPrivateFiles(), 'civicrm', 'templates_c']);
+
+    // Compute default locale.
+    global $language;
+    $model->lang = \Civi\Setup\LocaleUtil::pickClosest($language->langcode, $model->getField('lang', 'options'));
+  });
+
+function _backdrop_civisetup_getPublicFiles() {
+  $filePublicPath = variable_get('file_public_path', conf_path() . '/files');
+
+  if (!CRM_Utils_File::isAbsolute($filePublicPath)) {
+    $ufSystem = new CRM_Utils_System_Backdrop();
+    $cmsPath = $ufSystem->cmsRootPath();
+    $filePublicPath = $cmsPath . DIRECTORY_SEPARATOR . $filePublicPath;
+  }
+
+  // We sometimes get `/./` in the middle. That's silly.
+  $DS = DIRECTORY_SEPARATOR;
+  $filePublicPath = str_replace("$DS.$DS", $DS, $filePublicPath);
+
+  return $filePublicPath;
+}
+
+function _backdrop_civisetup_getPrivateFiles() {
+  $filePrivatePath = variable_get('file_private_path', '');
+
+  if (!$filePrivatePath) {
+    $filePrivatePath = _backdrop_civisetup_getPublicFiles();
+  }
+  elseif ($filePrivatePath && !CRM_Utils_File::isAbsolute($filePrivatePath)) {
+    $ufSystem = new CRM_Utils_System_Backdrop();
+    $cmsPath = $ufSystem->cmsRootPath();
+
+    $filePrivatePath = $cmsPath . DIRECTORY_SEPARATOR . $filePrivatePath;
+  }
+
+  $DS = DIRECTORY_SEPARATOR;
+  $filePrivatePath = str_replace("$DS.$DS", $DS, $filePrivatePath);
+
+  return $filePrivatePath;
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/CivicrmSetup.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/CivicrmSetup.civi-setup.php
new file mode 100644
index 0000000000..c9fb66d5fb
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/CivicrmSetup.civi-setup.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * @file
+ *
+ * Build a list of available CiviCRM components.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    if (!$e->getModel()->setupPath) {
+      $e->getModel()->setupPath = dirname(dirname(__DIR__));
+    }
+
+  }, \Civi\Setup::PRIORITY_START);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Components.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Components.civi-setup.php
new file mode 100644
index 0000000000..577ecedad9
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Components.civi-setup.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * @file
+ *
+ * Specify default components.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    $e->getModel()->components = array('CiviEvent', 'CiviContribute', 'CiviMember', 'CiviMail', 'CiviReport');
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Drupal.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Drupal.civi-setup.php
new file mode 100644
index 0000000000..8f51f99032
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Drupal.civi-setup.php
@@ -0,0 +1,134 @@
+<?php
+/**
+ * @file
+ *
+ * Determine default settings for Drupal 7.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkAuthorized', function (\Civi\Setup\Event\CheckAuthorizedEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'Drupal') {
+      return;
+    }
+
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkAuthorized'));
+    $e->setAuthorized(user_access('administer modules'));
+  });
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'Drupal' || !function_exists('user_access')) {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    // Compute settingsPath.
+    $drupalSystem = new CRM_Utils_System_Drupal();
+    $cmsPath = $drupalSystem->cmsRootPath();
+    $siteDir = _drupal_civisetup_getSiteDir($cmsPath, $_SERVER['SCRIPT_FILENAME']);
+    $model->settingsPath = implode(DIRECTORY_SEPARATOR,
+      [$cmsPath, 'sites', $siteDir, 'civicrm.settings.php']);
+
+    // Compute DSN.
+    global $databases;
+    $model->db = $model->cmsDb = array(
+      'server' => \Civi\Setup\DbUtil::encodeHostPort($databases['default']['default']['host'], $databases['default']['default']['port'] ?: NULL),
+      'username' => $databases['default']['default']['username'],
+      'password' => $databases['default']['default']['password'],
+      'database' => $databases['default']['default']['database'],
+    );
+
+    // Compute cmsBaseUrl.
+    global $base_url, $base_path;
+    $model->cmsBaseUrl = $base_url . $base_path;
+
+    // Compute general paths
+    // $model->paths['civicrm.files']['url'] = $filePublicPath;
+    $model->paths['civicrm.files']['path'] = implode(DIRECTORY_SEPARATOR,
+      [_drupal_civisetup_getPublicFiles(), 'civicrm']);
+
+    // Compute templateCompileDir.
+    $model->templateCompilePath = implode(DIRECTORY_SEPARATOR,
+      [_drupal_civisetup_getPrivateFiles(), 'civicrm', 'templates_c']);
+
+    // Compute default locale.
+    global $language;
+    $model->lang = \Civi\Setup\LocaleUtil::pickClosest($language->langcode, $model->getField('lang', 'options'));
+  });
+
+function _drupal_civisetup_getPublicFiles() {
+  $filePublicPath = variable_get('file_public_path', conf_path() . '/files');
+
+  if (!CRM_Utils_File::isAbsolute($filePublicPath)) {
+    $drupalSystem = new CRM_Utils_System_Drupal();
+    $cmsPath = $drupalSystem->cmsRootPath();
+    $filePublicPath = $cmsPath . DIRECTORY_SEPARATOR . $filePublicPath;
+  }
+
+  return $filePublicPath;
+}
+
+function _drupal_civisetup_getPrivateFiles() {
+  $filePrivatePath = variable_get('file_private_path', '');
+
+  if (!$filePrivatePath) {
+    $filePrivatePath = _drupal_civisetup_getPublicFiles();
+  }
+  elseif ($filePrivatePath && !CRM_Utils_File::isAbsolute($filePrivatePath)) {
+    $drupalSystem = new CRM_Utils_System_Drupal();
+    $cmsPath = $drupalSystem->cmsRootPath();
+
+    $filePrivatePath = $cmsPath . DIRECTORY_SEPARATOR . $filePrivatePath;
+  }
+
+  return $filePrivatePath;
+}
+
+/**
+ * @param $cmsPath
+ * @param $str
+ *
+ * @return string
+ */
+function _drupal_civisetup_getSiteDir($cmsPath, $str) {
+  static $siteDir = '';
+
+  if ($siteDir) {
+    return $siteDir;
+  }
+
+  $sites = CIVICRM_DIRECTORY_SEPARATOR . 'sites' . CIVICRM_DIRECTORY_SEPARATOR;
+  $modules = CIVICRM_DIRECTORY_SEPARATOR . 'modules' . CIVICRM_DIRECTORY_SEPARATOR;
+  preg_match("/" . preg_quote($sites, CIVICRM_DIRECTORY_SEPARATOR) .
+    "([\-a-zA-Z0-9_.]+)" .
+    preg_quote($modules, CIVICRM_DIRECTORY_SEPARATOR) . "/",
+    $_SERVER['SCRIPT_FILENAME'], $matches
+  );
+  $siteDir = isset($matches[1]) ? $matches[1] : 'default';
+
+  if (strtolower($siteDir) == 'all') {
+    // For this case - use drupal's way of finding out multi-site directory
+    $uri = explode(CIVICRM_DIRECTORY_SEPARATOR, $_SERVER['SCRIPT_FILENAME']);
+    $server = explode('.', implode('.', array_reverse(explode(':', rtrim($_SERVER['HTTP_HOST'], '.')))));
+    for ($i = count($uri) - 1; $i > 0; $i--) {
+      for ($j = count($server); $j > 0; $j--) {
+        $dir = implode('.', array_slice($server, -$j)) . implode('.', array_slice($uri, 0, $i));
+        if (file_exists($cmsPath . CIVICRM_DIRECTORY_SEPARATOR .
+          'sites' . CIVICRM_DIRECTORY_SEPARATOR . $dir
+        )) {
+          $siteDir = $dir;
+          return $siteDir;
+        }
+      }
+    }
+    $siteDir = 'default';
+  }
+
+  return $siteDir;
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Example.disabled.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Example.disabled.php
new file mode 100644
index 0000000000..1640a4f9e6
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/Example.disabled.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * @file
+ *
+ * This is an example plugin which manipulates the installation options.
+ *
+ * Note: The filename `Example.disabled.php` indicates that the example is
+ * a disabled. A real plugin must end in `*.civi-setup.php`.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    // Override the default list of Civi components.
+    $e->getModel()->components = array('CiviEvent', 'CiviContribute', 'CiviMember', 'CiviMail');
+
+    // Activate some extensions during installation.
+    $e->getModel()->extensions[] = 'org.civicrm.flexmailer';
+
+    // Manipulate some settings during installation.
+    $e->getModel()->settings['max_attachments'] = 10;
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/init/WordPress.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/WordPress.civi-setup.php
new file mode 100644
index 0000000000..21294a6e2a
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/init/WordPress.civi-setup.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * @file
+ *
+ * Determine default settings for WordPress.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkAuthorized', function (\Civi\Setup\Event\CheckAuthorizedEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'WordPress') {
+      return;
+    }
+
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkAuthorized'));
+    $e->setAuthorized(current_user_can('activate_plugins'));
+  });
+
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.init', function (\Civi\Setup\Event\InitEvent $e) {
+    $model = $e->getModel();
+    if ($model->cms !== 'WordPress' || !function_exists('current_user_can')) {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'init'));
+
+    // Note: We know WP is bootstrapped, but we don't know if the `civicrm` plugin is active,
+    // so we have to make an educated guess.
+    $civicrmPluginFile = implode(DIRECTORY_SEPARATOR, [WP_PLUGIN_DIR, 'civicrm', 'civicrm.php']);
+
+    // Compute settingsPath.
+    $uploadDir = wp_upload_dir();
+    $preferredSettingsPath = $uploadDir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm.settings.php';
+    $oldSettingsPath = plugin_dir_path($civicrmPluginFile) . 'civicrm.settings.php';
+    if (file_exists($preferredSettingsPath)) {
+      $model->settingsPath = $preferredSettingsPath;
+    }
+    elseif (file_exists($oldSettingsPath)) {
+      $model->settingsPath = $oldSettingsPath;
+    }
+    else {
+      $model->settingsPath = $preferredSettingsPath;
+    }
+
+    $model->templateCompilePath = implode(DIRECTORY_SEPARATOR, [$uploadDir['basedir'], 'civicrm', 'templates_c']);
+
+    // Compute DSN.
+    $model->db = $model->cmsDb = array(
+      'server' => DB_HOST,
+      'username' => DB_USER,
+      'password' => DB_PASSWORD,
+      'database' => DB_NAME,
+    );
+
+    // Compute URLs
+    $model->cmsBaseUrl = site_url();
+    $model->paths['wp.frontend.base']['url'] = home_url() . '/';
+    $model->paths['wp.backend.base']['url'] = admin_url();
+    $model->mandatorySettings['userFrameworkResourceURL'] = plugin_dir_url($civicrmPluginFile) . 'civicrm';
+
+    // Compute default locale.
+    $langs = $model->getField('lang', 'options');
+    $wpLang = get_locale();
+    $model->lang = isset($langs[$wpLang]) ? $wpLang : 'en_US';
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/BootstrapCivi.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/BootstrapCivi.civi-setup.php
new file mode 100644
index 0000000000..f7c8f08a16
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/BootstrapCivi.civi-setup.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * @file
+ *
+ * Perform the first system bootstrap.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Bootstrap CiviCRM', basename(__FILE__)));
+
+    if (!defined('CIVICRM_SETTINGS_PATH')) {
+      define('CIVICRM_SETTINGS_PATH', $e->getModel()->settingsPath);
+    }
+
+    if (CIVICRM_SETTINGS_PATH !== $e->getModel()->settingsPath) {
+      throw new \RuntimeException(sprintf("Cannot boot: The civicrm.settings.php path appears inconsistent (%s vs %s)", CIVICRM_SETTINGS_PATH, $e->getModel()->settingsPath));
+    }
+
+    include_once CIVICRM_SETTINGS_PATH;
+
+    require_once 'CRM/Core/ClassLoader.php';
+    CRM_Core_ClassLoader::singleton()->register();
+
+    CRM_Core_Config::singleton(TRUE);
+
+  }, \Civi\Setup::PRIORITY_MAIN - 200);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushBackdrop.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushBackdrop.civi-setup.php
new file mode 100644
index 0000000000..90a6df7174
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushBackdrop.civi-setup.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * @file
+ *
+ * Configure settings on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    if ($e->getModel()->cms !== 'Backdrop') {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Flush CMS metadata', basename(__FILE__)));
+
+    system_rebuild_module_data();
+    module_enable(array('civicrm', 'civicrmtheme'));
+    backdrop_flush_all_caches();
+    civicrm_install_set_backdrop_perms();
+  }, \Civi\Setup::PRIORITY_LATE + 50);
+
+function civicrm_install_set_backdrop_perms() {
+  $perms = array(
+    'access all custom data',
+    'access uploaded files',
+    'make online contributions',
+    'profile create',
+    'profile edit',
+    'profile view',
+    'register for events',
+    'view event info',
+    'view event participants',
+    'access CiviMail subscribe/unsubscribe pages',
+  );
+
+  // Adding a permission that has not yet been assigned to a module by
+  // a hook_permission implementation results in a database error.
+  // CRM-9042
+  $allPerms = array_keys(module_invoke_all('permission'));
+  foreach (array_diff($perms, $allPerms) as $perm) {
+    watchdog('civicrm',
+      'Cannot grant the %perm permission because it does not yet exist.',
+      array('%perm' => $perm),
+      WATCHDOG_ERROR
+    );
+  }
+  $perms = array_intersect($perms, $allPerms);
+  user_role_grant_permissions(BACKDROP_AUTHENTICATED_ROLE, $perms);
+  user_role_grant_permissions(BACKDROP_ANONYMOUS_ROLE, $perms);
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushDrupal.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushDrupal.civi-setup.php
new file mode 100644
index 0000000000..d761cb7a33
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushDrupal.civi-setup.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * @file
+ *
+ * Finalize any extra CMS changes in Drupal.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    if ($e->getModel()->cms !== 'Drupal') {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Flush CMS metadata', basename(__FILE__)));
+
+    system_rebuild_module_data();
+    module_enable(array('civicrm', 'civicrmtheme'));
+    drupal_flush_all_caches();
+    civicrm_install_set_drupal_perms();
+
+  }, \Civi\Setup::PRIORITY_LATE - 50);
+
+function civicrm_install_set_drupal_perms() {
+  if (!function_exists('db_select')) {
+    db_query('UPDATE {permission} SET perm = CONCAT( perm, \', access CiviMail subscribe/unsubscribe pages, access all custom data, access uploaded files, make online contributions, profile listings and forms, register for events, view event info, view event participants\') WHERE rid IN (1, 2)');
+  }
+  else {
+    $perms = array(
+      'access all custom data',
+      'access uploaded files',
+      'make online contributions',
+      'profile create',
+      'profile edit',
+      'profile view',
+      'register for events',
+      'view event info',
+      'view event participants',
+      'access CiviMail subscribe/unsubscribe pages',
+    );
+
+    // Adding a permission that has not yet been assigned to a module by
+    // a hook_permission implementation results in a database error.
+    // CRM-9042
+    $allPerms = array_keys(module_invoke_all('permission'));
+    foreach (array_diff($perms, $allPerms) as $perm) {
+      watchdog('civicrm',
+        'Cannot grant the %perm permission because it does not yet exist.',
+        array('%perm' => $perm),
+        WATCHDOG_ERROR
+      );
+    }
+    $perms = array_intersect($perms, $allPerms);
+    user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, $perms);
+    user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, $perms);
+  }
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushWordPress.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushWordPress.civi-setup.php
new file mode 100644
index 0000000000..ac8a8a7015
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/FlushWordPress.civi-setup.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * @file
+ *
+ * Configure settings on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    if ($e->getModel()->cms !== 'WordPress') {
+      return;
+    }
+    \Civi\Setup::log()->info(sprintf('[%s] Flush CMS metadata', basename(__FILE__)));
+
+    // Should we set the default permissions -- like in Drupal?
+  }, \Civi\Setup::PRIORITY_LATE + 50);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallComponents.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallComponents.civi-setup.php
new file mode 100644
index 0000000000..e5a6b0b5d6
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallComponents.civi-setup.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * @file
+ *
+ * Activate Civi components on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    \Civi\Setup::log()->info('[InstallComponents.civi-setup.php] Activate components: ' . implode(" ", $e->getModel()->components));
+
+    if (empty($e->getModel()->components)) {
+      throw new \Exception("System must have at least one active component.");
+    }
+
+    \Civi::settings()->set('enable_components', $e->getModel()->components);
+  }, \Civi\Setup::PRIORITY_LATE + 300);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallExtensions.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallExtensions.civi-setup.php
new file mode 100644
index 0000000000..94b5f7068e
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallExtensions.civi-setup.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * @file
+ *
+ * Activate Civi extensions on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    if (!$e->getModel()->extensions) {
+      \Civi\Setup::log()->info('[InstallExtensions.civi-setup.php] No extensions to activate.');
+      return;
+    }
+
+    \Civi\Setup::log()->info('[InstallExtensions.civi-setup.php] Activate extensions: ' . implode(' ', $e->getModel()->extensions));
+    \civicrm_api3('Extension', 'enable', array(
+      'keys' => $e->getModel()->extensions,
+    ));
+  }, \Civi\Setup::PRIORITY_LATE + 200);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSchema.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSchema.civi-setup.php
new file mode 100644
index 0000000000..79c798c29e
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSchema.civi-setup.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * @file
+ *
+ * Populate the database schema.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements'));
+    $seedLanguage = $e->getModel()->lang;
+    $sqlPath = $e->getModel()->srcPath . DIRECTORY_SEPARATOR . 'sql';
+
+    if (!$seedLanguage || $seedLanguage === 'en_US') {
+      $e->addInfo('system', 'lang', "Default language is allowed");
+      return;
+    }
+
+    if (!preg_match('/^[a-z][a-z]_[A-Z][A-Z]$/', $seedLanguage)) {
+      $e->addError('system', 'langMalformed', 'Language name is malformed.');
+      return;
+    }
+
+    $files = array(
+      $sqlPath . DIRECTORY_SEPARATOR . "civicrm_data.{$seedLanguage}.mysql",
+      $sqlPath . DIRECTORY_SEPARATOR . "civicrm_acl.{$seedLanguage}.mysql",
+    );
+
+    foreach ($files as $file) {
+      if (!file_exists($file)) {
+        $e->addError('system', 'langMissing', "Language schema file is missing: \"$file\"");
+        return;
+      }
+    }
+
+    $e->addInfo('system', 'lang', "Language $seedLanguage is allowed.");
+  });
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Install database schema', basename(__FILE__)));
+
+    $model = $e->getModel();
+
+    $sqlPath = $model->srcPath . DIRECTORY_SEPARATOR . 'sql';
+
+    \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . 'civicrm.mysql');
+
+    if (!empty($model->loadGenerated)) {
+      \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . 'civicrm_generated.mysql', TRUE);
+    }
+    else {
+      $seedLanguage = $model->lang;
+      if ($seedLanguage && $seedLanguage !== 'en_US') {
+        \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . "civicrm_data.{$seedLanguage}.mysql");
+        \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . "civicrm_acl.{$seedLanguage}.mysql");
+      }
+      else {
+        \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . 'civicrm_data.mysql');
+        \Civi\Setup\DbUtil::sourceSQL($model->db, $sqlPath . DIRECTORY_SEPARATOR . 'civicrm_acl.mysql');
+      }
+    }
+
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSettings.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSettings.civi-setup.php
new file mode 100644
index 0000000000..8191798c21
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/InstallSettings.civi-setup.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * @file
+ *
+ * Configure settings on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    foreach ($e->getModel()->settings as $settingKey => $settingValue) {
+      \Civi\Setup::log()->info(sprintf('[%s] Set value of %s', basename(__FILE__), $settingKey));
+
+      \Civi::settings()->set($settingKey, $settingValue);
+    }
+  }, \Civi\Setup::PRIORITY_LATE + 100);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/SetLanguage.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/SetLanguage.civi-setup.php
new file mode 100644
index 0000000000..62543fd29c
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installDatabase/SetLanguage.civi-setup.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * @file
+ *
+ * Configure settings on the newly populated database.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) {
+    if ($e->getModel()->lang) {
+      \Civi\Setup::log()->info('[SetLanguage.civi-setup.php] Set default language to ' . $e->getModel()->lang);
+      \Civi::settings()->set('lcMessages', $e->getModel()->lang);
+    }
+  }, \Civi\Setup::PRIORITY_LATE + 400);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/CreateTemplateCompilePath.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/CreateTemplateCompilePath.civi-setup.php
new file mode 100644
index 0000000000..4d29d9cec6
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/CreateTemplateCompilePath.civi-setup.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * @file
+ *
+ * Validate and create the template compile folder.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements'));
+    $m = $e->getModel();
+
+    if (empty($m->templateCompilePath)) {
+      $e->addError('system', 'templateCompilePath', sprintf('The templateCompilePath is undefined.'));
+    }
+    else {
+      $e->addInfo('system', 'templateCompilePath', 'The templateCompilePath is defined.');
+    }
+
+    if (!\Civi\Setup\FileUtil::isCreateable($m->templateCompilePath)) {
+      $e->addError('system', 'templateCompilePathWritable', sprintf('The template compile dir "%s" cannot be created. Ensure the parent folder is writable.', $m->templateCompilePath));
+    }
+    else {
+      $e->addInfo('system', 'templateCompilePathWritable', sprintf('The template compile dir "%s" can be created.', $m->templateCompilePath));
+    }
+  });
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installFiles', function (\Civi\Setup\Event\InstallFilesEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'installFiles'));
+    $m = $e->getModel();
+
+    if (!file_exists($m->templateCompilePath)) {
+      Civi\Setup::log()->info('[CreateTemplateCompilePath.civi-setup.php] mkdir "{path}"', [
+        'path' => $m->templateCompilePath,
+      ]);
+      mkdir($m->templateCompilePath, 0777, TRUE);
+      \Civi\Setup\FileUtil::makeWebWriteable($m->templateCompilePath);
+    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/GenerateSiteKey.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/GenerateSiteKey.civi-setup.php
new file mode 100644
index 0000000000..c4c099844b
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/GenerateSiteKey.civi-setup.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * @file
+ *
+ * Generate the site key.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installFiles', function (\Civi\Setup\Event\InstallFilesEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'installFiles'));
+
+    $e->getModel()->siteKey = \CRM_Utils_String::createRandom(32, \CRM_Utils_String::ALPHANUMERIC);
+
+  }, \Civi\Setup::PRIORITY_PREPARE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/InstallSettingsFile.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/InstallSettingsFile.civi-setup.php
new file mode 100644
index 0000000000..330f0e3e1d
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/installFiles/InstallSettingsFile.civi-setup.php
@@ -0,0 +1,107 @@
+<?php
+/**
+ * @file
+ *
+ * Generate the civicrm.settings.php file.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+/**
+ * Validate the $model.
+ */
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.checkRequirements', function(\Civi\Setup\Event\CheckRequirementsEvent $e){
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements'));
+
+    /**
+     * @var \Civi\Setup\Model $m
+     */
+    $m = $e->getModel();
+
+    if (empty($m->settingsPath)) {
+      $e->addError('system', 'settingsPath', sprintf('The settingsPath is undefined.'));
+    }
+    else {
+      $e->addInfo('system', 'settingsPath', sprintf('The settingsPath is defined.'));
+    }
+
+    if (!\Civi\Setup\FileUtil::isCreateable($m->settingsPath)) {
+      $e->addError('system', 'settingsWritable', sprintf('The settings file "%s" cannot be created. Ensure the parent folder is writable.', $m->settingsPath));
+    }
+    else {
+      $e->addInfo('system', 'settingsWritable', sprintf('The settings file "%s" can be created.', $m->settingsPath));
+    }
+  });
+
+/**
+ * Read the $model and create the "civicrm.settings.php".
+ */
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.installFiles', function (\Civi\Setup\Event\InstallFilesEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'installFiles'));
+
+    /**
+     * @var \Civi\Setup\Model $m
+     */
+    $m = $e->getModel();
+
+    // Map from the logical $model to civicrm.settings.php variables.
+    $params = array();
+    $params['crmRoot'] = addslashes(rtrim($m->srcPath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR);
+    $params['templateCompileDir'] = addslashes($m->templateCompilePath);
+    $params['frontEnd'] = 0; // ??why??
+    $params['baseURL'] = addslashes(rtrim($m->cmsBaseUrl, '/'));
+    $params['dbUser'] = addslashes($m->db['username']);
+    $params['dbPass'] = addslashes($m->db['password']);
+    $params['dbHost'] = addslashes($m->db['server']);
+    $params['dbName'] = addslashes($m->db['database']);
+    $params['cms'] = addslashes($m->cms);
+    $params['CMSdbUser'] = addslashes($m->cmsDb['username']);
+    $params['CMSdbPass'] = addslashes($m->cmsDb['password']);
+    $params['CMSdbHost'] = addslashes($m->cmsDb['server']);
+    $params['CMSdbName'] = addslashes($m->cmsDb['database']);
+    $params['siteKey'] = addslashes($m->siteKey);
+
+    $extraSettings = array();
+
+    foreach ($m->paths as $key => $aspects) {
+      foreach ($aspects as $aspect => $value) {
+        $extraSettings[] = sprintf('$civicrm_paths[%s][%s] = %s;', var_export($key, 1), var_export($aspect, 1), var_export($value, 1));
+      }
+    }
+
+    foreach ($m->mandatorySettings as $key => $value) {
+      $extraSettings[] = sprintf('$civicrm_setting[%s][%s] = %s;', '\'domain\'', var_export($key, 1), var_export($value, 1));
+    }
+
+    // FIXME $m->defaultSettings, $m->components, $m->extensions, $m->callbacks
+
+    if ($extraSettings) {
+      $params['extraSettings'] = "Additional settings generated by installer:\n" . implode("\n", $extraSettings);
+    }
+    else {
+      $params['extraSettings'] = "";
+    }
+
+    $parent = dirname($m->settingsPath);
+    if (!file_exists($parent)) {
+      Civi\Setup::log()->info('[InstallSettingsFile.civi-setup.php] mkdir "{path}"', ['path' => $parent]);
+      mkdir($parent, 0777, TRUE);
+      \Civi\Setup\FileUtil::makeWebWriteable($parent);
+    }
+
+    // And persist it...
+    $tplPath = implode(DIRECTORY_SEPARATOR,
+      [$m->srcPath, 'templates', 'CRM', 'common', 'civicrm.settings.php.template']
+    );
+    $str = file_get_contents($tplPath);
+    foreach ($params as $key => $value) {
+      $str = str_replace('%%' . $key . '%%', $value, $str);
+    }
+    $str = trim($str) . "\n";
+    file_put_contents($m->settingsPath, $str);
+
+  }, \Civi\Setup::PRIORITY_LATE);
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/CleanupDrupalSession.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/CleanupDrupalSession.civi-setup.php
new file mode 100644
index 0000000000..cfd3999bd3
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/CleanupDrupalSession.civi-setup.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * @file
+ *
+ * Cleanup any CiviCRM session state after uninstallation.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.uninstallDatabase', function (\Civi\Setup\Event\UninstallDatabaseEvent $e) {
+    $supportedCms = array('Drupal', 'Backdrop');
+    if (!in_array($e->getModel()->cms, $supportedCms)) {
+      return;
+    }
+    \Civi\Setup::log()->info('[CleanupDrupalSession.civi-setup.php] Purge Drupal session state which have stale CiviCRM references');
+
+    // This keeps the Drupal user logged in, but it purges any data.
+
+    // It's a bit ham-handed, but no one provides an API like this, and a
+    // more surgical approach would get messy (due to variations of session-encoding),
+    // and... it seems to work...
+
+    db_query('UPDATE sessions SET session = NULL');
+
+    //    foreach(db_query('SELECT sid FROM sessions') as $sid) {
+    //      $sessionResult = db_query('SELECT session FROM sessions WHERE sid = :sid', array(
+    //        'sid' => $sid->sid,
+    //      ));
+    //      foreach ($sessionResult as $session) {
+    //        $data = session_decode($session->session); // blerg, nothign does this right :(
+    //        print_r(['sr'=>$session, 'data'=>$data]);
+    //        if (!empty($data['CiviCRM'])) {
+    //          echo "must clear " . $sid->sid . "\n";
+    //          unset($data['CiviCRM']);
+    //          reserialize and write back to DB
+    //        }
+    //        else {
+    //          echo "ignore " . $sid->sid . "\n";
+    //        }
+    //
+    //      }
+    //    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/UninstallSchema.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/UninstallSchema.civi-setup.php
new file mode 100644
index 0000000000..3857b4a40c
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallDatabase/UninstallSchema.civi-setup.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * @file
+ *
+ * Populate the database schema.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.uninstallDatabase', function (\Civi\Setup\Event\UninstallDatabaseEvent $e) {
+    \Civi\Setup::log()->info('[UninstallSchema.civi-setup.php] Remove all tables and views (civicrm_* and log_civicrm_*)');
+    $model = $e->getModel();
+
+    $conn = \Civi\Setup\DbUtil::connect($model->db);
+    \Civi\Setup\DbUtil::execute($conn, 'SET FOREIGN_KEY_CHECKS=0;');
+
+    foreach (\Civi\Setup\DbUtil::findViews($conn, $model->db['database']) as $view) {
+      if (preg_match('/^(civicrm_|log_civicrm_)/', $view)) {
+        \Civi\Setup\DbUtil::execute($conn, sprintf('DROP VIEW `%s`', $conn->escape_string($view)));
+      }
+    }
+
+    foreach (\Civi\Setup\DbUtil::findTables($conn, $model->db['database']) as $table) {
+      if (preg_match('/^(civicrm_|log_civicrm_)/', $table)) {
+        \Civi\Setup\DbUtil::execute($conn, sprintf('DROP TABLE `%s`', $conn->escape_string($table)));
+      }
+    }
+
+    // TODO Perhaps we should also remove stored-procedures/functions?
+
+    $conn->close();
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallFiles/UninstallSettingsFile.civi-setup.php b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallFiles/UninstallSettingsFile.civi-setup.php
new file mode 100644
index 0000000000..aec95b0514
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/plugins/uninstallFiles/UninstallSettingsFile.civi-setup.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * @file
+ *
+ * Remove the civicrm.settings.php file.
+ */
+
+if (!defined('CIVI_SETUP')) {
+  exit("Installation plugins must only be loaded by the installer.\n");
+}
+
+\Civi\Setup::dispatcher()
+  ->addListener('civi.setup.uninstallFiles', function (\Civi\Setup\Event\UninstallFilesEvent $e) {
+    \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'uninstallFiles'));
+
+    $file = $e->getModel()->settingsPath;
+    if (file_exists($file)) {
+      if (!\Civi\Setup\FileUtil::isDeletable($file)) {
+        throw new \Exception("Cannot remove $file");
+      }
+      unlink($file);
+    }
+  });
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/block_small.png b/civicrm/vendor/civicrm/civicrm-setup/res/block_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..83495a2a790c8ffeefe5bc73befee8d3b43781d3
GIT binary patch
literal 8900
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
C#yKAV

literal 0
HcmV?d00001

diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/error.html b/civicrm/vendor/civicrm/civicrm-setup/res/error.html
new file mode 100644
index 0000000000..9bfe8e56de
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/error.html
@@ -0,0 +1,17 @@
+<?php \Civi\Setup::assertRunning(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title><?php echo $errorTitle ?></title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href=<?php echo $installURLPath . "template.css"?> />
+</head>
+
+<body>
+<div id="All">
+  <h1><?php echo $errorTitle ?></h1>
+
+  <?php echo $errorMsg ?>
+
+</div>
+</body>
+</html>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/finished.Backdrop.php b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Backdrop.php
new file mode 100644
index 0000000000..d62cdc6d62
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Backdrop.php
@@ -0,0 +1,39 @@
+<?php \Civi\Setup::assertRunning(); ?>
+<?php
+throw new \Exception("A draft copy of this file is available but has not been tested. Please edit " . __FILE__);
+
+// FIXME: Compute URL's with backdrop functions (e.g. 'url(...)')
+// FIXME: Just echo instead of doing $output silliness.
+// FIXME: Use finished.Common.php instead of $commonOutputMessage.
+
+$registerSiteURL = "https://civicrm.org/register-site";
+$commonOutputMessage = "<li>" . ts("Have you registered this site at CiviCRM.org? If not, please help strengthen the CiviCRM ecosystem by taking a few minutes to <a %1>fill out the site registration form</a>. The information collected will help us prioritize improvements, target our communications and build the community. If you have a technical role for this site, be sure to check Keep in Touch to receive technical updates (a low volume mailing list).", array(1 => "href='$registerSiteURL' target='_blank'")) . "</li>"
+. "<li>" . ts("We have integrated KCFinder with CKEditor and TinyMCE. This allows a user to upload images. All uploaded images are public.") . "</li>";
+
+$output = NULL;
+$output .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
+$output .= '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">';
+$output .= '<head>';
+$output .= '<title>' . ts('CiviCRM Installed') . '</title>';
+$output .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
+$output .= '<link rel="stylesheet" type="text/css" href="template.css" />';
+$output .= '</head>';
+$output .= '<body>';
+$output .= '<div style="padding: 1em;"><p class="good">' . ts('CiviCRM has been successfully installed') . '</p>';
+$output .= '<ul>';
+
+$backdropURL = civicrm_cms_base();
+$backdropPermissionsURL = "{$backdropURL}index.php?q=admin/config/people/permissions";
+$backdropURL .= "index.php?q=civicrm/admin/configtask&reset=1";
+
+$output .= "<li>" . ts("Backdrop user permissions have been automatically set - giving anonymous and authenticated users access to public CiviCRM forms and features. We recommend that you <a %1>review these permissions</a> to ensure that they are appropriate for your requirements (<a %2>learn more...</a>)", array(
+  1 => "target='_blank' href='{$backdropPermissionsURL}'",
+  2 => "target='_blank' href='http://wiki.civicrm.org/confluence/display/CRMDOC/Default+Permissions+and+Roles'",
+  )) . "</li>";
+$output .= "<li>" . ts("Use the <a %1>Configuration Checklist</a> to review and configure settings for your new site", array(1 => "target='_blank' href='$backdropURL'")) . "</li>";
+$output .= $commonOutputMessage;
+$output .= '</ul>';
+$output .= '</div>';
+$output .= '</body>';
+$output .= '</html>';
+echo $output;
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/finished.Common.php b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Common.php
new file mode 100644
index 0000000000..90c7af7f71
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Common.php
@@ -0,0 +1,5 @@
+<?php \Civi\Setup::assertRunning(); ?>
+<?php
+$registerSiteURL = "https://civicrm.org/register-site";
+echo "<li>" . ts("Have you registered this site at CiviCRM.org? If not, please help strengthen the CiviCRM ecosystem by taking a few minutes to <a %1>fill out the site registration form</a>. The information collected will help us prioritize improvements, target our communications and build the community. If you have a technical role for this site, be sure to check Keep in Touch to receive technical updates (a low volume mailing list).", array(1 => "href='$registerSiteURL' target='_blank'")) . "</li>";
+echo "<li>" . ts("We have integrated KCFinder with CKEditor and TinyMCE. This allows a user to upload images. All uploaded images are public.") . "</li>";
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/finished.Drupal.php b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Drupal.php
new file mode 100644
index 0000000000..1785f7ad41
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/finished.Drupal.php
@@ -0,0 +1,33 @@
+<?php \Civi\Setup::assertRunning(); ?>
+<?php
+throw new \Exception("A draft copy of this file is available but has not been tested. Please edit " . __FILE__);
+
+$drupalPermissionsURL = url('admin/people/permissions');
+$drupalURL = url('civicrm/admin/configtask', array(
+  'query' => array(
+    'reset' => 1,
+  ),
+));
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title><?php echo ts('CiviCRM Installed'); ?></title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+  <link rel="stylesheet" type="text/css" href="template.css"/>
+</head>
+<body>
+<div style="padding: 1em;">
+  <h1><?php echo ts('CiviCRM Installed'); ?></h1>
+  <p class="good"><?php echo ts('CiviCRM has been successfully installed'); ?></p>
+  <ul>
+    <li><?php echo ts("Drupal user permissions have been automatically set - giving anonymous and authenticated users access to public CiviCRM forms and features. We recommend that you <a %1>review these permissions</a> to ensure that they are appropriate for your requirements (<a %2>learn more...</a>)", array(
+        1 => "target='_blank' href='{$drupalPermissionsURL}'",
+        2 => "target='_blank' href='http://wiki.civicrm.org/confluence/display/CRMDOC/Default+Permissions+and+Roles'",
+      )); ?></li>
+    <li><?php echo ts("Use the <a %1>Configuration Checklist</a> to review and configure settings for your new site", array(1 => "target='_blank' href='$drupalURL'")); ?></li>
+    <?php include 'finished.Common.php'; ?>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/finished.WordPress.php b/civicrm/vendor/civicrm/civicrm-setup/res/finished.WordPress.php
new file mode 100644
index 0000000000..58b036b0b7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/finished.WordPress.php
@@ -0,0 +1,30 @@
+<?php \Civi\Setup::assertRunning(); ?>
+<?php
+// I don't really understand the behavior here -- seems to spend a lot of work
+// building a page, and then it immediately redirects away...
+
+$cmsURL = admin_url('admin.php?page=CiviCRM&q=civicrm/admin/configtask&reset=1');
+$wpPermissionsURL = admin_url('admin.php?page=CiviCRM&q=civicrm/admin/access/wp-permissions&reset=1');
+$wpInstallRedirect = admin_url('admin.php?page=CiviCRM&q=civicrm&reset=1');
+?>
+<h1><?php echo ts('CiviCRM Installed'); ?></h1>
+<div style="padding: 1em;">
+  <p style="background-color: #0C0; border: 1px #070 solid; color: white;">
+    <?php echo ts("CiviCRM has been successfully installed"); ?>
+  </p>
+  <ul>
+    <li><?php
+      echo ts("WordPress user permissions have been automatically set - giving Anonymous and Subscribers access to public CiviCRM forms and features. We recommend that you <a %1>review these permissions</a> to ensure that they are appropriate for your requirements (<a %2>learn more...</a>)", array(
+        1 => "target='_blank' href='{$wpPermissionsURL}'",
+        2 => "target='_blank' href='http://wiki.civicrm.org/confluence/display/CRMDOC/Default+Permissions+and+Roles'",
+      ));
+      ?></li>
+    <li><?php
+    echo ts("Use the <a %1>Configuration Checklist</a> to review and configure settings for your new site", array(1 => "target='_blank' href='$cmsURL'"));
+    ?></li>
+    <?php include 'finished.Common.php'; ?>
+  </ul>
+</div>
+<script>
+  window.location = <?php echo json_encode($wpInstallRedirect); ?>;
+</script>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/network-save.gif b/civicrm/vendor/civicrm/civicrm-setup/res/network-save.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d42f72c723644bbf8cf8d6e1b7ff0bea7ddd305a
GIT binary patch
literal 1849
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

literal 0
HcmV?d00001

diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/template.css b/civicrm/vendor/civicrm/civicrm-setup/res/template.css
new file mode 100644
index 0000000000..f1cda3c10d
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/template.css
@@ -0,0 +1,170 @@
+body {
+  background: #eee;
+}
+
+.civicrm-setup-body #All {
+  font-family: Arial, sans-serif;
+  width: auto;
+  margin: 0.5em auto;
+  padding: 1em;
+  border: 1px #ccc solid;
+  border-radius: 10px;
+  background: #fff;
+  max-width: 1200px;
+}
+
+.civicrm-setup-body .civicrm-logo {
+  float: right;
+}
+
+.civicrm-setup-body form {
+  margin: 0;
+}
+
+.civicrm-setup-body h1 {
+  margin-top: 0;
+}
+
+.civicrm-setup-body li {
+  padding-bottom: 1.5em;
+}
+
+.civicrm-setup-body label span {
+  float: left;
+  width: 14em;
+}
+
+.civicrm-setup-body p.error {
+  padding: 0.5em;
+  background-color: #c00;
+  border: 1px #700 solid;
+  color: white;
+  clear: both;
+}
+
+.civicrm-setup-body p.warning {
+  padding: 0.5em;
+  background-color: #e70;
+  border: 1px #a70 solid;
+  color: white;
+  clear: both;
+}
+
+.civicrm-setup-body p.good {
+  padding: 0.5em;
+  background-color: #0c0;
+  border: 1px #070 solid;
+  color: white;
+  clear: both;
+}
+
+.civicrm-setup-body p.error a {
+  color: #FFF;
+  font-weight: bold;
+}
+
+.civicrm-setup-body p.tip {
+  background: #ffb;
+  padding: 0.5em;
+  margin: 1em auto;
+  width: 50%
+}
+
+.civicrm-setup-body .advancedTip {
+  border-collapse: collapse;
+  font-size: 80%;
+}
+
+.civicrm-setup-body .reqTable {
+  border-collapse: collapse;
+  width: 100%;
+}
+
+.civicrm-setup-body .reqTable td {
+  border: 1px #ccc solid;
+}
+
+.civicrm-setup-body .reqSeverity-info { color: green; }
+.civicrm-setup-body .reqSeverity-warning { color: #a70; }
+.civicrm-setup-body .reqSeverity-error { color: #c00; }
+
+.civicrm-setup-body .settingsTable {
+  border-collapse: collapse;
+  margin: 2em
+}
+
+.civicrm-setup-body th, .civicrm-setup-body td {
+  text-align: left;
+  padding: 0.25em;
+  vertical-align: top;
+}
+
+.civicrm-setup-body .comp-box {
+  height: 3.5em;
+  width: 30%;
+  display: inline-block;
+  padding: 0.5em;
+  margin: 0.25em;
+  border: 1px dashed #aaa;
+  background: #eee;
+  text-align: center;
+}
+.civicrm-setup-body .comp-box:hover { background: #ddd; cursor: hand; }
+.civicrm-setup-body .comp-box > span {  width: 100%;  }
+.civicrm-setup-body .comp-label {  font-size: 1.5em; }
+.civicrm-setup-body .comp-desc { font-style: italic; }
+.civicrm-setup-body .comp-cb:checked + label { background: #dfd; }
+.civicrm-setup-body .comp-cb:checked + label:hover { background: #cec; }
+
+.civicrm-setup-body .optin-box {
+  height: 3.5em;
+  width: 45%;
+  display: inline-block;
+  padding: 0.5em;
+  margin: 0.75em;
+  border: 1px dashed #aaa;
+  background: #eee;
+  text-align: center;
+}
+.civicrm-setup-body .optin-box:hover { background: #ddd; cursor: hand; }
+.civicrm-setup-body .optin-box > span {  width: 100%; }
+.civicrm-setup-body .optin-label {  font-size: 1.5em; }
+.civicrm-setup-body .optin-desc { font-style: italic; }
+.civicrm-setup-body .optin-cb:checked + label { background: #dfd; }
+.civicrm-setup-body .optin-cb:checked + label:hover { background: #cec; }
+
+.civicrm-setup-body .sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+}
+
+.civicrm-setup-body.has-errors .if-no-errors {display: none;}
+.civicrm-setup-body.has-warnings .if-no-warnings {display: none;}
+.civicrm-setup-body.has-problems .if-no-problems {display: none;}
+.civicrm-setup-body.has-no-problems .if-problems {display: none;}
+
+.civicrm-setup-body .action-box {
+  width: 100%;
+  text-align: center;
+  margin: 2em 0.5em;
+}
+.civicrm-setup-body input[type=submit] {
+  padding:5px 15px;
+  background:#44f;
+  color: white;
+  border:0 none;
+  cursor:pointer;
+  -webkit-border-radius: 5px;
+  border-radius: 5px;
+}
+.civicrm-setup-body input[type=submit]:hover {
+  background: #33e;
+}
+
+.civicrm-setup-body .settingsTable input[type=text] { width: 80%; }
diff --git a/civicrm/vendor/civicrm/civicrm-setup/res/template.php b/civicrm/vendor/civicrm/civicrm-setup/res/template.php
new file mode 100644
index 0000000000..4af55b0d3c
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/res/template.php
@@ -0,0 +1,41 @@
+<?php \Civi\Setup::assertRunning(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $short_lang_code; ?>" lang="<?php echo $short_lang_code; ?>" dir="<?php echo $text_direction; ?>">
+<head>
+  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+  <title><?php echo ts('CiviCRM Installer'); ?></title>
+  <script type="text/javascript" src="<?php echo $ctrl->getUrl('jquery.js'); ?>"></script>
+  <script type="text/javascript">
+    window.csj$ = jQuery.noConflict();
+  </script>
+  <link rel="stylesheet" type="text/css" href=<?php echo $installURLPath . "template.css"?> />
+  <link rel="stylesheet" type="text/css" href=<?php echo $ctrl->getUrl('font-awesome.css') ?> />
+<?php
+if ($text_direction == 'rtl') {
+  echo "  <link rel='stylesheet' type='text/css' href='{$installURLPath}template-rtl.css' />\n";
+}
+?>
+</head>
+<body>
+
+<?php
+$mainClasses = array(
+  'civicrm-setup-body',
+  count($reqs->getErrors()) ? 'has-errors' : '',
+  count($reqs->getWarnings()) ? 'has-warnings' : '',
+  (count($reqs->getErrors()) + count($reqs->getWarnings()) > 0) ? 'has-problems' : '',
+  (count($reqs->getErrors()) + count($reqs->getWarnings()) === 0) ? 'has-no-problems' : '',
+);
+?>
+
+<div class="<?php echo implode(' ', $mainClasses); ?>">
+<div id="All">
+
+<form name="civicrm_form" method="post" action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?>">
+
+  <?php echo $ctrl->renderBlocks($_tpl_params); ?>
+
+</form>
+</div>
+</div>
+</body>
+</html>
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup.php
new file mode 100644
index 0000000000..ffb1a292ca
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup.php
@@ -0,0 +1,260 @@
+<?php
+namespace Civi;
+
+use Civi\Setup\Event\CheckAuthorizedEvent;
+use Civi\Setup\Event\CheckRequirementsEvent;
+use Civi\Setup\Event\CheckInstalledEvent;
+use Civi\Setup\UI\Event\UIConstructEvent;
+use Civi\Setup\Event\InitEvent;
+use Civi\Setup\Event\InstallDatabaseEvent;
+use Civi\Setup\Event\InstallFilesEvent;
+use Civi\Setup\Event\UninstallDatabaseEvent;
+use Civi\Setup\Event\UninstallFilesEvent;
+use Civi\Setup\Exception\InitException;
+use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
+use Symfony\Component\EventDispatcher\EventDispatcher;
+
+class Setup {
+
+  const PROTOCOL = '1.0';
+
+  const PRIORITY_START = 2000;
+  const PRIORITY_PREPARE = 1000;
+  const PRIORITY_MAIN = 0;
+  const PRIORITY_LATE = -1000;
+  const PRIORITY_END = -2000;
+
+  private static $instance;
+
+  /**
+   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
+   */
+  protected $dispatcher;
+
+  /**
+   * @var \Civi\Setup\Model
+   */
+  protected $model;
+
+  /**
+   * @var LoggerInterface
+   */
+  protected $log;
+
+  // ----- Static initialization -----
+
+  /**
+   * The initialization process loads any `*.civi-setup.php` files and
+   * fires the `civi.setup.init` event.
+   *
+   * @param array $modelValues
+   *   List of default configuration options.
+   *   Recommended fields: 'srcPath', 'cms'
+   * @param callable $pluginCallback
+   *   Function which manipulates the list of plugin files.
+   *   Use this to add, remove, or re-order callbacks.
+   *   function(array $files) => array
+   *   Ex: ['hello' => '/var/www/plugins/hello.civi-setup.php']
+   * @param LoggerInterface $log
+   */
+  public static function init($modelValues = array(), $pluginCallback = NULL, $log = NULL) {
+    if (!defined('CIVI_SETUP')) {
+      define('CIVI_SETUP', 1);
+    }
+
+    self::$instance = new Setup();
+    self::$instance->model = new \Civi\Setup\Model();
+    self::$instance->model->setValues($modelValues);
+    self::$instance->dispatcher = new EventDispatcher();
+    self::$instance->log = $log ? $log : new NullLogger();
+
+    $pluginDir = dirname(__DIR__) . '/plugins';
+    $pluginFiles = array();
+    foreach (['*.civi-setup.php', '*/*.civi-setup.php'] as $pattern) {
+      foreach ((array) glob("$pluginDir/$pattern") as $file) {
+        $key = substr($file, strlen($pluginDir) + 1);
+        $key = preg_replace('/\.civi-setup\.php$/', '', $key);
+        $pluginFiles[$key] = $file;
+      }
+    }
+    ksort($pluginFiles);
+
+    if ($pluginCallback) {
+      $pluginFiles = $pluginCallback($pluginFiles);
+    }
+
+    foreach ($pluginFiles as $pluginFile) {
+      self::$instance->log->debug('[Setup.php] Load plugin {file}', array(
+        'file' => $pluginFile,
+      ));
+      require $pluginFile;
+    }
+
+    $event = new InitEvent(self::$instance->getModel());
+    self::$instance->getDispatcher()->dispatch('civi.setup.init', $event);
+    // return $event; ...or... return self::$instance;
+  }
+
+  /**
+   * Assert that this copy of civicrm-setup is compatible with the client.
+   *
+   * @param string $expectedVersion
+   * @throws \Exception
+   */
+  public static function assertProtocolCompatibility($expectedVersion) {
+    if (version_compare(self::PROTOCOL, $expectedVersion, '<')) {
+      throw new InitException(sprintf("civicrm-setup is running protocol v%s. This application expects civicrm-setup to support protocol v%s.", self::PROTOCOL, $expectedVersion));
+    }
+    list ($actualFirst) = explode('.', self::PROTOCOL);
+    list ($expectedFirst) = explode('.', $expectedVersion);
+    if ($actualFirst > $expectedFirst) {
+      throw new InitException(sprintf("civicrm-setup is running protocol v%s. This application expects civicrm-setup to support protocol v%s.", self::PROTOCOL, $expectedVersion));
+    }
+  }
+
+  /**
+   * Assert that the "Setup" subsystem is running.
+   *
+   * This function is mostly just a placeholder -- in practice, if
+   * someone makes a failed call to `assertRunning()`, it will probably
+   * manifest as an unknown class/function. But this gives us a pretty,
+   * one-line, syntactically-valid way to make the assertion.
+   */
+  public static function assertRunning() {
+    if (!defined('CIVI_SETUP')) {
+      exit("Installation plugins must only be loaded by the installer.\n");
+    }
+  }
+
+  /**
+   * @return Setup
+   */
+  public static function instance() {
+    if (self::$instance === NULL) {
+      throw new InitException('\Civi\Setup has not been initialized.');
+    }
+    return self::$instance;
+  }
+
+  /**
+   * @return \Psr\Log\LoggerInterface
+   */
+  public static function log() {
+    return self::instance()->getLog();
+  }
+
+  /**
+   * @return \Symfony\Component\EventDispatcher\EventDispatcherInterface
+   */
+  public static function dispatcher() {
+    return self::instance()->getDispatcher();
+  }
+
+  // ----- Logic ----
+
+  /**
+   * Determine whether the current CMS user is authorized to perform
+   * installation.
+   *
+   * @return \Civi\Setup\Event\CheckAuthorizedEvent
+   */
+  public function checkAuthorized() {
+    $event = new CheckAuthorizedEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.checkAuthorized', $event);
+  }
+
+  /**
+   * Determine whether the local environment meets system requirements.
+   *
+   * @return \Civi\Setup\Event\CheckRequirementsEvent
+   */
+  public function checkRequirements() {
+    $event = new CheckRequirementsEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.checkRequirements', $event);
+  }
+
+  /**
+   * Determine whether the setting and/or schema are already installed.
+   *
+   * @return \Civi\Setup\Event\CheckInstalledEvent
+   */
+  public function checkInstalled() {
+    $event = new CheckInstalledEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.checkInstalled', $event);
+  }
+
+  /**
+   * Create the settings file.
+   *
+   * @return \Civi\Setup\Event\InstallFilesEvent
+   */
+  public function installFiles() {
+    $event = new InstallFilesEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.installFiles', $event);
+  }
+
+  /**
+   * Create the database schema.
+   *
+   * @return \Civi\Setup\Event\InstallDatabaseEvent
+   */
+  public function installDatabase() {
+    $event = new InstallDatabaseEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.installDatabase', $event);
+  }
+
+  /**
+   * Remove the settings file.
+   *
+   * @return \Civi\Setup\Event\UninstallFilesEvent
+   */
+  public function uninstallFiles() {
+    $event = new UninstallFilesEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.uninstallFiles', $event);
+  }
+
+  /**
+   * Remove the database schema.
+   *
+   * @return \Civi\Setup\Event\UninstallDatabaseEvent
+   */
+  public function uninstallDatabase() {
+    $event = new UninstallDatabaseEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setup.uninstallDatabase', $event);
+  }
+
+  /**
+   * Create a page-controller for a web-based installation form.
+   *
+   * @return \Civi\Setup\UI\Event\UIConstructEvent
+   */
+  public function createController() {
+    $event = new UIConstructEvent($this->getModel());
+    return $this->getDispatcher()->dispatch('civi.setupui.construct', $event);
+  }
+
+  // ----- Accessors -----
+
+  /**
+   * @return \Symfony\Component\EventDispatcher\EventDispatcherInterface
+   */
+  public function getDispatcher() {
+    return $this->dispatcher;
+  }
+
+  /**
+   * @return \Civi\Setup\Model
+   */
+  public function getModel() {
+    return $this->model;
+  }
+
+  /**
+   * @return \Psr\Log\LoggerInterface
+   */
+  public function getLog() {
+    return $this->log;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/BasicRunner.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/BasicRunner.php
new file mode 100644
index 0000000000..f0aaaefb16
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/BasicRunner.php
@@ -0,0 +1,26 @@
+<?php
+namespace Civi\Setup;
+
+class BasicRunner {
+
+  /**
+   * Execute the controller and display the output.
+   *
+   * Note: This is really just an example which handles input and output using
+   * stock PHP variables and functions. Depending on the environment,
+   * it may be easier to work directly with `getCtrl()->run(...)` which
+   * handles inputs/outputs in a more abstract fashion.
+   *
+   * @param object $ctrl
+   *    A web controller.
+   */
+  public static function run($ctrl) {
+    $method = $_SERVER['REQUEST_METHOD'];
+    list ($headers, $body) = $ctrl->run($method, ($method === 'GET' ? $_GET : $_POST));
+    foreach ($headers as $k => $v) {
+      header("$k: $v");
+    }
+    echo $body;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/DbUtil.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/DbUtil.php
new file mode 100644
index 0000000000..15c8a3e4b7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/DbUtil.php
@@ -0,0 +1,241 @@
+<?php
+namespace Civi\Setup;
+
+use Civi\Setup\Exception\SqlException;
+
+class DbUtil {
+
+  /**
+   * @param string $dsn
+   * @return array
+   */
+  public static function parseDsn($dsn) {
+    $parsed = parse_url($dsn);
+    return array(
+      'server' => self::encodeHostPort($parsed['host'], $parsed['port']),
+      'username' => $parsed['user'] ?: NULL,
+      'password' => $parsed['pass'] ?: NULL,
+      'database' => $parsed['path'] ? ltrim($parsed['path'], '/') : NULL,
+    );
+  }
+
+  /**
+   * Convert an datasource from array notation to URL notation.
+   *
+   * @param array $db
+   * @return string
+   */
+  public static function encodeDsn($db) {
+    return sprintf('mysql://%s:%s@%s/%s',
+      $db['username'],
+      $db['password'],
+      self::encodeHostPort($db['host'], $db['port']),
+      $db['database']
+    );
+  }
+
+  /**
+   * @param array $db
+   * @return \mysqli
+   */
+  public static function softConnect($db) {
+    list($host, $port) = self::decodeHostPort($db['server']);
+    $conn = @mysqli_connect($host, $db['username'], $db['password'], $db['database'], $port);
+    return $conn;
+  }
+
+  /**
+   * @param array $db
+   * @return \mysqli
+   * @throws SqlException
+   */
+  public static function connect($db) {
+    $conn = self::softConnect($db);
+    if (mysqli_connect_errno()) {
+      throw new SqlException(sprintf("Connection failed: %s\n", mysqli_connect_error()));
+    }
+    return $conn;
+  }
+
+  /**
+   * @param string $host
+   *   Ex: 'localhost',
+   *   Ex: 'localhost:123'
+   *   Ex: '127.0.0.1:123'
+   *   Ex: '[1234:abcd]'
+   *   Ex: '[1234:abcd]:123'
+   * @return array
+   *   Combination: [0 => string $host, 1 => numeric|NULL $port].
+   *   Ex: ['localhost', NULL].
+   *   Ex: ['127.0.0.1', 3306]
+   */
+  public static function decodeHostPort($host) {
+    $hostParts = explode(':', $host);
+    if (count($hostParts) > 1 && strrpos($host, ']') !== strlen($host) - 1) {
+      $port = array_pop($hostParts);
+      $host = implode(':', $hostParts);
+    }
+    else {
+      $port = NULL;
+    }
+    return array($host, $port);
+  }
+
+  /**
+   * Combine a host and port number.
+   *
+   * @param string $host
+   * @param int|NULL $port
+   * @return string
+   *   Ex: 'localhost'.
+   *   Ex: '127.0.0.1:3307'.
+   */
+  public static function encodeHostPort($host, $port) {
+    return $host . ($port ? (':' . $port) : '');
+  }
+
+  /**
+   * @param array $db
+   * @param string $fileName
+   * @param bool $lineMode
+   *   What does this mean? Seems weird.
+   */
+  public static function sourceSQL($db, $fileName, $lineMode = FALSE) {
+    $conn = self::connect($db);
+
+    $conn->query('SET NAMES utf8');
+
+    if (!$lineMode) {
+      $string = file_get_contents($fileName);
+
+      // change \r\n to fix windows issues
+      $string = str_replace("\r\n", "\n", $string);
+
+      //get rid of comments starting with # and --
+
+      $string = preg_replace("/^#[^\n]*$/m", "\n", $string);
+      $string = preg_replace("/^(--[^-]).*/m", "\n", $string);
+
+      $queries = preg_split('/;\s*$/m', $string);
+      foreach ($queries as $query) {
+        $query = trim($query);
+        if (!empty($query)) {
+          if ($result = $conn->query($query)) {
+            if (is_object($result)) {
+              mysqli_free_result($result);
+            }
+          }
+          else {
+            throw new SqlException("Cannot execute $query: " . mysqli_error($conn));
+          }
+        }
+      }
+    }
+    else {
+      $fd = fopen($fileName, "r");
+      while ($string = fgets($fd)) {
+        $string = preg_replace("/^#[^\n]*$/m", "\n", $string);
+        $string = preg_replace("/^(--[^-]).*/m", "\n", $string);
+
+        $string = trim($string);
+        if (!empty($string)) {
+          if ($result = $conn->query($string)) {
+            if (is_object($result)) {
+              mysqli_free_result($result);
+            }
+          }
+          else {
+            throw new SqlException("Cannot execute $string: " . mysqli_error($conn));
+          }
+        }
+      }
+    }
+  }
+
+  /**
+   * Execute query. Ignore the results.
+   *
+   * @param \mysqli|array $conn
+   *   The DB to query. Either a mysqli connection, or credentials for
+   *    establishing one.
+   * @param string $sql
+   * @throws SqlException
+   */
+  public static function execute($conn, $sql) {
+    $conn = is_array($conn) ? self::connect($conn) : $conn;
+    $result = $conn->query($sql);
+    if (!$result) {
+      throw new SqlException("Cannot execute $sql: " . $conn->error);
+    }
+
+    if ($result && $result !== TRUE) {
+      $result->free_result();
+    }
+
+  }
+
+  /**
+   * Get all the results of a SQL query, as an array.
+   *
+   * @param \mysqli|array $conn
+   *   The DB to query. Either a mysqli connection, or credentials for
+   *    establishing one.
+   * @param string $sql
+   * @return array
+   * @throws \Exception
+   */
+  public static function fetchAll($conn, $sql) {
+    $conn = is_array($conn) ? self::connect($conn) : $conn;
+    $result = $conn->query($sql);
+    if (!$result) {
+      throw new SqlException("Cannot execute $sql: " . $conn->error);
+    }
+
+    $rows = array();
+    while ($row = $result->fetch_assoc()) {
+      $rows[] = $row;
+    }
+    $result->free_result();
+
+    return $rows;
+  }
+
+  /**
+   * Get a list of views in the given database.
+   *
+   * @param \mysqli|array $conn
+   *   The DB to query. Either a mysqli connection, or credentials for
+   *    establishing one.
+   * @param string $databaseName
+   * @return array
+   *   Ex: ['civicrm_view1', 'civicrm_view2']
+   */
+  public static function findViews($conn, $databaseName) {
+    $sql = sprintf("SELECT table_name FROM information_schema.TABLES  WHERE TABLE_SCHEMA='%s' AND TABLE_TYPE = 'VIEW'",
+      $conn->escape_string($databaseName));
+
+    return array_map(function($arr){
+      return $arr['table_name'];
+    }, self::fetchAll($conn, $sql));
+  }
+
+  /**
+   * Get a list of concrete tables in the given database.
+   *
+   * @param \mysqli|array $conn
+   *   The DB to query. Either a mysqli connection, or credentials for
+   *    establishing one.
+   * @param string $databaseName
+   * @return array
+   *   Ex: ['civicrm_view1', 'civicrm_view2']
+   */
+  public static function findTables($conn, $databaseName) {
+    $sql = sprintf("SELECT table_name FROM information_schema.TABLES  WHERE TABLE_SCHEMA='%s' AND TABLE_TYPE = 'BASE TABLE'",
+      $conn->escape_string($databaseName));
+
+    return array_map(function($arr){
+      return $arr['table_name'];
+    }, self::fetchAll($conn, $sql));
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/BaseSetupEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/BaseSetupEvent.php
new file mode 100644
index 0000000000..6e89315bda
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/BaseSetupEvent.php
@@ -0,0 +1,35 @@
+<?php
+namespace Civi\Setup\Event;
+
+use Symfony\Component\EventDispatcher\Event;
+
+class BaseSetupEvent extends Event {
+
+  /**
+   * @var \Civi\Setup\Model
+   */
+  protected $model;
+
+  /**
+   * BaseSetupEvent constructor.
+   * @param \Civi\Setup\Model $model
+   */
+  public function __construct(\Civi\Setup\Model $model) {
+    $this->model = $model;
+  }
+
+  /**
+   * @return \Civi\Setup\Model
+   */
+  public function getModel() {
+    return $this->model;
+  }
+
+  /**
+   * @param \Civi\Setup\Model $model
+   */
+  public function setModel($model) {
+    $this->model = $model;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckAuthorizedEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckAuthorizedEvent.php
new file mode 100644
index 0000000000..97232cdbb3
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckAuthorizedEvent.php
@@ -0,0 +1,30 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Check if the current user is authorized to perform installations.
+ *
+ * Event Name: 'civi.setup.checkAuthorized'
+ */
+class CheckAuthorizedEvent extends BaseSetupEvent {
+
+  /**
+   * @var bool
+   */
+  private $authorized = FALSE;
+
+  /**
+   * @return bool
+   */
+  public function isAuthorized() {
+    return $this->authorized;
+  }
+
+  /**
+   * @param bool $authorized
+   */
+  public function setAuthorized($authorized) {
+    $this->authorized = $authorized;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckInstalledEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckInstalledEvent.php
new file mode 100644
index 0000000000..06e409244e
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckInstalledEvent.php
@@ -0,0 +1,44 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Check if CiviCRM is already installed.
+ *
+ * Event Name: 'civi.setup.checkInstalled'
+ */
+class CheckInstalledEvent extends BaseSetupEvent {
+
+  /**
+   * @var bool
+   */
+  private $settingInstalled = NULL, $databaseInstalled = NULL;
+
+  /**
+   * @return bool
+   */
+  public function isSettingInstalled() {
+    return $this->settingInstalled;
+  }
+
+  /**
+   * @param bool $settingInstalled
+   */
+  public function setSettingInstalled($settingInstalled) {
+    $this->settingInstalled = $settingInstalled;
+  }
+
+  /**
+   * @return bool
+   */
+  public function isDatabaseInstalled() {
+    return $this->databaseInstalled;
+  }
+
+  /**
+   * @param bool $databaseInstalled
+   */
+  public function setDatabaseInstalled($databaseInstalled) {
+    $this->databaseInstalled = $databaseInstalled;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckRequirementsEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckRequirementsEvent.php
new file mode 100644
index 0000000000..9d172c003a
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/CheckRequirementsEvent.php
@@ -0,0 +1,83 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Check if the local system meets the installation requirements.
+ *
+ * Event Name: 'civi.setup.checkRequirements'
+ */
+class CheckRequirementsEvent extends BaseSetupEvent {
+
+  protected $messages;
+
+  /**
+   * @param string $severity
+   *   Severity/level.
+   *   Ex: 'info', 'warning', 'error'.
+   * @param string $section
+   *   Symbolic machine name for this group of messages.
+   *   Ex: 'database' or 'system'.
+   * @param string $name
+   *   Symbolic machine name for this particular message.
+   *   Ex: 'mysqlThreadstack'
+   * @param string $message
+   *   Displayable explanation.
+   *   Ex: 'The MySQL thread stack is too small.'
+   * @return $this
+   */
+  public function addMessage($severity, $section, $name, $message) {
+    $this->messages[$name] = array(
+      'section' => $section,
+      'name' => $name,
+      'message' => $message,
+      'severity' => $severity,
+    );
+    return $this;
+  }
+
+  public function addInfo($section, $name, $message = '') {
+    return $this->addMessage('info', $section, $name, $message);
+  }
+
+  public function addError($section, $name, $message = '') {
+    return $this->addMessage('error', $section, $name, $message);
+  }
+
+  public function addWarning($section, $name, $message = '') {
+    return $this->addMessage('warning', $section, $name, $message);
+  }
+
+  /**
+   * @param string|NULL $severity
+   *   Filter by severity of the message.
+   *   Ex: 'info', 'error', 'warning'.
+   * @return array
+   *   List of messages. Each has fields:
+   *     - name: string, symbolic name.
+   *     - message: string, displayable message.
+   *     - severity: string, ex: 'info', 'warning', 'error'.
+   */
+  public function getMessages($severity = NULL) {
+    if ($severity === NULL) {
+      return $this->messages;
+    }
+    else {
+      return array_filter($this->messages, function ($m) use ($severity) {
+        return $m['severity'] == $severity;
+      });
+    }
+  }
+
+  public function getInfos() {
+    return $this->getMessages('info');
+  }
+
+  public function getErrors() {
+    return $this->getMessages('error');
+  }
+
+  public function getWarnings() {
+    return $this->getMessages('warning');
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InitEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InitEvent.php
new file mode 100644
index 0000000000..6b41c4fcd7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InitEvent.php
@@ -0,0 +1,10 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Initialize a "Setup" subsystem. This is useful for populating the model with default settings.
+ *
+ * Event Name: 'civi.setup.init'
+ */
+class InitEvent extends BaseSetupEvent {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallDatabaseEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallDatabaseEvent.php
new file mode 100644
index 0000000000..43aca216eb
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallDatabaseEvent.php
@@ -0,0 +1,10 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Initialize the CiviCRM database.
+ *
+ * Event Name: 'civi.setup.installDatabase'
+ */
+class InstallDatabaseEvent extends BaseSetupEvent {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallFilesEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallFilesEvent.php
new file mode 100644
index 0000000000..ba56ba8b52
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/InstallFilesEvent.php
@@ -0,0 +1,10 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Initialize the CiviCRM support files, such as `civicrm.settings.php` or `templateCompileDir`
+ *
+ * Event Name: 'civi.setup.installFiles'
+ */
+class InstallFilesEvent extends BaseSetupEvent {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallDatabaseEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallDatabaseEvent.php
new file mode 100644
index 0000000000..cea3c40eca
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallDatabaseEvent.php
@@ -0,0 +1,10 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Purge any CiviCRM schema (tables, views, functions) from the database.
+ *
+ * Event Name: 'civi.setup.uninstallDatabase'
+ */
+class UninstallDatabaseEvent extends BaseSetupEvent {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallFilesEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallFilesEvent.php
new file mode 100644
index 0000000000..129430718d
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Event/UninstallFilesEvent.php
@@ -0,0 +1,10 @@
+<?php
+namespace Civi\Setup\Event;
+
+/**
+ * Purge any CiviCRM support files, such as `civicrm.settings.php` or `templateCompileDir`
+ *
+ * Event Name: 'civi.setup.uninstallFiles'
+ */
+class UninstallFilesEvent extends BaseSetupEvent {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/InitException.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/InitException.php
new file mode 100644
index 0000000000..de4476c896
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/InitException.php
@@ -0,0 +1,5 @@
+<?php
+namespace Civi\Setup\Exception;
+
+class InitException extends \RuntimeException {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/SqlException.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/SqlException.php
new file mode 100644
index 0000000000..e36f8a5413
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Exception/SqlException.php
@@ -0,0 +1,5 @@
+<?php
+namespace Civi\Setup\Exception;
+
+class SqlException extends \Exception {
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/FileUtil.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/FileUtil.php
new file mode 100644
index 0000000000..0842be88da
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/FileUtil.php
@@ -0,0 +1,33 @@
+<?php
+namespace Civi\Setup;
+
+class FileUtil {
+
+  public static function isCreateable($file) {
+    if (file_exists($file)) {
+      return is_writable($file);
+    }
+
+    $next = dirname($file);
+    do {
+      $current = $next;
+      if (file_exists($current)) {
+        return is_writable($current);
+      }
+      $next = dirname($current);
+    } while ($current && $next && $current != $next);
+
+    return FALSE;
+  }
+
+  public static function makeWebWriteable($path) {
+    // Blerg: Setting world-writable works as a default, but
+    // it 'sprone to break systems that rely on umask's or facl's.
+    chmod($path, 0777);
+  }
+
+  public static function isDeletable($path) {
+    return is_writable(dirname($path));
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/LocaleUtil.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/LocaleUtil.php
new file mode 100644
index 0000000000..e54ed98a27
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/LocaleUtil.php
@@ -0,0 +1,52 @@
+<?php
+namespace Civi\Setup;
+
+class LocaleUtil {
+
+  /**
+   * Figure out which of $langs is the closest to $lang.
+   *
+   * @param string $preferredLang
+   *   The user's preferred language.
+   *   Ex: `en`, `fr`, or `fr_CA`.
+   * @param array $availLangs
+   *   List of available languages.
+   *   Ex: ['en_US' => 'English (US)', 'fr_CA' => 'French (Canadian)'].
+   * @return string
+   *   Ex: 'en_US'.
+   */
+  public static function pickClosest($preferredLang, $availLangs, $default = 'en_US') {
+    // Perhaps we have this exact language?
+    if (isset($availLangs[$preferredLang])) {
+      return $preferredLang;
+    }
+
+    list ($first) = explode('_', $preferredLang);
+
+    // Do we have a hard-coded preference? Use this for real oddballs.
+    $overrides = array(
+      'en' => 'en_US',
+    );
+    if (isset($overrides[$preferredLang]) && isset($availLangs[$overrides[$preferredLang]])) {
+      return $overrides[$preferredLang];
+    }
+
+    // Perhaps we have the canonical variant (e.g. `fr` => `fr_FR`)?
+    $canon = $first . '_' . strtoupper($first);
+    if (isset($availLangs[$canon])) {
+      return $canon;
+    }
+
+    // Is there anything else that looks remotely close? (e.g. `cy` => `cy_GB`)
+    ksort($availLangs);
+    foreach ($availLangs as $availLang => $availLabel) {
+      if (strpos($availLang, $first) === 0) {
+        return $availLang;
+      }
+    }
+
+    // Nothing worked.
+    return $default;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Model.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Model.php
new file mode 100644
index 0000000000..abacfb07cc
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/Model.php
@@ -0,0 +1,255 @@
+<?php
+namespace Civi\Setup;
+
+/**
+ * Class Model
+ * @package Civi\Setup
+ *
+ * The `Model` defines the main options and inputs that are used to configure
+ * the installer.
+ *
+ * @property string $srcPath
+ *   Path to CiviCRM-core source tree.
+ *   Ex: '/var/www/sites/all/modules/civicrm'.
+ * @property string $setupPath
+ *   Path to CiviCRM-setup source tree.
+ *   Ex: '/var/www/sites/all/modules/civicrm/setup'.
+ * @property string $settingsPath
+ *   Ex: '/var/www/sites/default/civicrm.settings.php'.
+ * @property string $templateCompilePath
+ *   Ex: '/var/www/sites/default/files/civicrm/templates_c'.
+ * @property string $cms
+ *   Ex: 'Backdrop', 'Drupal', 'Drupal8', 'Joomla', 'WordPress'.
+ * @property string $cmsBaseUrl
+ *   Ex: 'http://example.org/'.
+ * @property array $db
+ *   Ex: ['server'=>'localhost:3306', 'username'=>'admin', 'password'=>'s3cr3t', 'database'=>'mydb']
+ * @property array $cmsDb
+ *   Ex: ['server'=>'localhost:3306', 'username'=>'admin', 'password'=>'s3cr3t', 'database'=>'mydb']
+ * @property string $siteKey
+ *   Ex: 'abcd1234ABCD9876'.
+ * @property string|NULL $lang
+ *   The language of the default dataset.
+ *   Ex: 'fr_FR'.
+ * @property bool $loadGenerated
+ *   UNSUPPORTED: Load example dataset (in lieu of the standard dataset).
+ *   This was copied-in from the previous installer code, but it should probably be
+ *   reconceived.
+ * @property array $components
+ *   Ex: ['CiviMail', 'CiviContribute', 'CiviEvent', 'CiviMember', 'CiviReport']
+ * @property array $extensions
+ *   Ex: ['org.civicrm.flexmailer', 'org.civicrm.shoreditch'].
+ * @property array $paths
+ *   List of hard-coded path-overrides.
+ *   Ex: ['wp.frontend.base'=>['url'=>'http://example.org/']].
+ * @property array $settings
+ *   List of domain settings to apply.
+ *   These are defaults during installation; they could be changed by the admin post-install via GUI or API.
+ *   Ex: ['ajaxPopupsEnabled' => 0].
+ * @property array $mandatorySettings
+ *   List of hard-coded setting-overrides.
+ *   These are mandatory settings which are hard-coded into the config file. Changing requires editing the file.
+ *   This makes sense for path/URL settings that are generally system-local and not migrated between dev/prod/etc.
+ *   Ex: ['ajaxPopupsEnabled' => 0].
+ * @property array $extras
+ *   Open-ended list of private, adhoc fields/flags/tags.
+ *   Keys should be prefixed based on which plugin manages the field.
+ *   Values must only be scalars (bool/int/string) and arrays.
+ *   Ex: ['opt-in.version-check' => TRUE].
+ */
+class Model {
+
+  protected $sorted = FALSE;
+  protected $fields = array();
+  protected $values = array();
+
+  public function __construct() {
+    $this->addField(array(
+      'description' => 'Local path of the CiviCRM-core tree',
+      'name' => 'srcPath',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Local path of the CiviCRM-setup tree',
+      'name' => 'setupPath',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Local path to civicrm.settings.php',
+      'name' => 'settingsPath',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Local path to the PHP compilation cache',
+      'name' => 'templateCompilePath',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Symbolic name of the CMS/user-framework',
+      'name' => 'cms',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'The CMS base URL',
+      'name' => 'cmsBaseUrl',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Credentials for Civi database',
+      'name' => 'db',
+      'type' => 'dsn',
+    ));
+    $this->addField(array(
+      'description' => 'Credentials for CMS database',
+      'name' => 'cmsDb',
+      'type' => 'dsn',
+    ));
+    $this->addField(array(
+      'description' => 'Site key',
+      'name' => 'siteKey',
+      'type' => 'string',
+    ));
+    $this->addField(array(
+      'description' => 'Load example data',
+      'name' => 'loadGenerated',
+      'type' => 'bool',
+    ));
+    $this->addField(array(
+      'description' => 'Language',
+      'name' => 'lang',
+      'type' => 'string',
+      'options' => array(),
+    ));
+    $this->addField(array(
+      'description' => 'List of CiviCRM components to enable',
+      'name' => 'components',
+      'type' => 'array',
+      'value' => array(),
+    ));
+    $this->addField(array(
+      'description' => 'List of CiviCRM extensions to enable',
+      'name' => 'extensions',
+      'type' => 'array',
+      'value' => array(),
+    ));
+    $this->addField(array(
+      'description' => 'List of mandatory path overrides.',
+      'name' => 'paths',
+      'type' => 'array',
+      'value' => array(),
+    ));
+    $this->addField(array(
+      'description' => 'List of setting overrides.',
+      'name' => 'settings',
+      'type' => 'array',
+      'value' => array(),
+    ));
+    $this->addField(array(
+      'description' => 'Open-ended list of private, adhoc fields/flags/tags',
+      'name' => 'extras',
+      'type' => 'array',
+      'value' => array(),
+    ));
+  }
+
+  /**
+   * @param array $field
+   *   - name: string
+   *   - description: string
+   *   - type: string. One of "checkbox", "string".
+   *   - weight: int. (Default: 0)
+   *   - visible: bool. (Default: TRUE)
+   *   - value: mixed. (Default: NULL)
+   * @return $this
+   */
+  public function addField($field) {
+    $defaults = array(
+      'weight' => 0,
+      'visible' => TRUE,
+    );
+    $field = array_merge($defaults, $field);
+
+    if (array_key_exists('value', $field) || !array_key_exists($field['name'], $this->values)) {
+      $this->values[$field['name']] = isset($field['value']) ? $field['value'] : NULL;
+      unset($field['value']);
+    }
+
+    $this->fields[$field['name']] = $field;
+
+    $this->sorted = FALSE;
+    return $this;
+  }
+
+  public function setField($field, $property, $value) {
+    $this->fields[$field][$property] = $value;
+    return $this;
+  }
+
+  /**
+   * @param string $field
+   *   The name of the field.
+   *   Ex: 'cmsDb', 'lang'.
+   * @param string $property
+   *   A specific property of the field to load.
+   *   Ex: 'name', 'description', 'type', 'options'.
+   * @return mixed|NULL
+   */
+  public function getField($field, $property = NULL) {
+    if ($property) {
+      return isset($this->fields[$field][$property]) ? $this->fields[$field][$property] : NULL;
+    }
+    else {
+      return isset($this->fields[$field]) ? $this->fields[$field] : NULL;
+    }
+  }
+
+  public function getFields() {
+    if (!$this->sorted) {
+      uasort($this->fields, function ($a, $b) {
+        if ($a['weight'] < $b['weight']) {
+          return -1;
+        }
+        if ($a['weight'] > $b['weight']) {
+          return 1;
+        }
+        return strcmp($a['name'], $b['name']);
+      });
+    }
+    return $this->fields;
+  }
+
+  /**
+   * Set the values of multiple fields.
+   *
+   * @param array $values
+   *   Ex: array('root' => '/var/www/sites/default/files/civicrm')
+   * @return $this
+   */
+  public function setValues($values) {
+    foreach ($values as $key => $value) {
+      $this->values[$key] = $value;
+    }
+    return $this;
+  }
+
+  public function getValues() {
+    return $this->values;
+  }
+
+  public function &__get($name) {
+    return $this->values[$name];
+  }
+
+  public function __set($name, $value) {
+    $this->values[$name] = $value;
+  }
+
+  public function __isset($name) {
+    return isset($this->values[$name]);
+  }
+
+  public function __unset($name) {
+    unset($this->values[$name]);
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/BaseUIEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/BaseUIEvent.php
new file mode 100644
index 0000000000..0fb1bf4403
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/BaseUIEvent.php
@@ -0,0 +1,72 @@
+<?php
+namespace Civi\Setup\UI\Event;
+
+use Symfony\Component\EventDispatcher\Event;
+
+class BaseUIEvent extends Event {
+
+  /**
+   * @var \Civi\Setup\UI\SetupController
+   */
+  protected $ctrl;
+
+  /**
+   * @var string
+   *   Ex: 'POST', 'GET'.
+   */
+  protected $method;
+
+  /**
+   * @var array
+   */
+  protected $fields;
+
+  /**
+   * RunControllerEvent constructor.
+   *
+   * @param \Civi\Setup\UI\SetupController $ctrl
+   * @param $method
+   * @param $fields
+   */
+  public function __construct($ctrl, $method, $fields) {
+    $this->ctrl = $ctrl;
+    $this->method = $method;
+    $this->fields = $fields;
+  }
+
+  /**
+   * @return \Civi\Setup\UI\SetupController
+   */
+  public function getCtrl() {
+    return $this->ctrl;
+  }
+
+  /**
+   * @return mixed
+   */
+  public function getMethod() {
+    return $this->method;
+  }
+
+  /**
+   * @return mixed
+   */
+  public function getFields() {
+    return $this->fields[\Civi\Setup\UI\SetupController::PREFIX];
+  }
+
+  public function getField($name, $default = NULL) {
+    if (isset($this->fields[\Civi\Setup\UI\SetupController::PREFIX][$name])) {
+      return $this->fields[\Civi\Setup\UI\SetupController::PREFIX][$name];
+    }
+    return $default;
+  }
+
+  /**
+   * @return \Civi\Setup\Model
+   */
+  public function getModel() {
+    return $this->ctrl->getSetup()->getModel();
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIBootEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIBootEvent.php
new file mode 100644
index 0000000000..12bdf67ccd
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIBootEvent.php
@@ -0,0 +1,11 @@
+<?php
+namespace Civi\Setup\UI\Event;
+
+/**
+ * Run the stock web-based UI.
+ *
+ * Event Name: 'civi.setupui.boot'
+ */
+class UIBootEvent extends BaseUIEvent {
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIConstructEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIConstructEvent.php
new file mode 100644
index 0000000000..d3740587d7
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIConstructEvent.php
@@ -0,0 +1,31 @@
+<?php
+namespace Civi\Setup\UI\Event;
+
+use Civi\Setup\Event\BaseSetupEvent;
+use Civi\Setup\Event\SetupControllerInterface;
+use Civi\Setup\UI\SetupController;
+
+/**
+ * Create a web-based UI for handling the installation.
+ *
+ * Event Name: 'civi.setupui.construct'
+ */
+class UIConstructEvent extends BaseSetupEvent {
+
+  protected $ctrl;
+
+  /**
+   * @return SetupControllerInterface
+   */
+  public function getCtrl() {
+    return $this->ctrl;
+  }
+
+  /**
+   * @param SetupControllerInterface $ctrl
+   */
+  public function setCtrl($ctrl) {
+    $this->ctrl = $ctrl;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIRunEvent.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIRunEvent.php
new file mode 100644
index 0000000000..1f8c0b7924
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/Event/UIRunEvent.php
@@ -0,0 +1,11 @@
+<?php
+namespace Civi\Setup\UI\Event;
+
+/**
+ * Run the stock web-based UI.
+ *
+ * Event Name: 'civi.setupui.run'
+ */
+class UIRunEvent extends BaseUIEvent {
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupController.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupController.php
new file mode 100644
index 0000000000..4c54db7dfa
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupController.php
@@ -0,0 +1,288 @@
+<?php
+namespace Civi\Setup\UI;
+
+use Civi\Setup\UI\Event\UIBootEvent;
+
+class SetupController implements SetupControllerInterface {
+
+  const PREFIX = 'civisetup';
+
+  /**
+   * @var \Civi\Setup
+   */
+  protected $setup;
+
+  /**
+   * @var array
+   *   Some mix of the following:
+   *     - res: The base URL for loading resource files (images/javascripts) for this
+   *       project. Includes trailing slash.
+   *     - ctrl: The URL of this setup controller. May be used for POST-backs.
+   */
+  protected $urls;
+
+  /**
+   * @var array
+   *   A list of blocks to display on the setup page. Each item has:
+   *    - file: string, relative path
+   *    - class: string, a space-delimited list of CSS classes
+   *    - is_active: bool
+   *
+   * Note: When rendering a block, content of the block's definition
+   * will be available as `$_tpl_block`. For example, `$_tpl_block['is_active']`
+   * would be the same boolean.
+   */
+  public $blocks;
+
+  /**
+   * SetupController constructor.
+   * @param \Civi\Setup $setup
+   */
+  public function __construct(\Civi\Setup $setup) {
+    $this->setup = $setup;
+    $this->blocks = array();
+  }
+
+  /**
+   * @param string $method
+   *   Ex: 'GET' or 'POST'.
+   * @param array $fields
+   *   List of any HTTP GET/POST fields.
+   * @return array
+   *   The HTTP headers and response text.
+   *   [0 => array $headers, 1 => string $body].
+   */
+  public function run($method, $fields = array()) {
+    $this->setup->getDispatcher()->dispatch('civi.setupui.run', new UIBootEvent($this, $method, $fields));
+    if (!$this->setup->checkAuthorized()->isAuthorized()) {
+      return $this->createError("Not authorized to perform installation");
+    }
+
+    $this->boot($method, $fields);
+    $action = $this->parseAction($fields, 'Start');
+    $func = 'run' . $action;
+    if (!preg_match('/^[a-zA-Z0-9_]+$/', $action) || !is_callable([$this, $func])) {
+      return $this->createError("Invalid action");
+    }
+    return call_user_func([$this, $func], $method, $fields);
+  }
+
+  /**
+   * Run the main installer page.
+   *
+   * @param string $method
+   *   Ex: 'GET' or 'POST'.
+   * @param array $fields
+   *   List of any HTTP GET/POST fields.
+   * @return array
+   *   The HTTP headers and response text.
+   *   [0 => array $headers, 1 => string $body].
+   */
+  public function runStart($method, $fields) {
+    $checkInstalled = $this->setup->checkInstalled();
+    if ($checkInstalled->isDatabaseInstalled() || $checkInstalled->isSettingInstalled()) {
+      return $this->createError("CiviCRM is already installed");
+    }
+
+    /**
+     * @var \Civi\Setup\Model $model
+     */
+    $model = $this->setup->getModel();
+
+    $tplFile = $this->getResourcePath('template.php');
+    $tplVars = [
+      'ctrl' => $this,
+      'civicrm_version' => \CRM_Utils_System::version(),
+      'installURLPath' => $this->urls['res'],
+      'short_lang_code' => \CRM_Core_I18n_PseudoConstant::shortForLong($GLOBALS['tsLocale']),
+      'text_direction' => (\CRM_Core_I18n::isLanguageRTL($GLOBALS['tsLocale']) ? 'rtl' : 'ltr'),
+      'model' => $model,
+      'reqs' => $this->setup->checkRequirements(),
+    ];
+
+    // $body = "<pre>" . htmlentities(print_r(['method' => $method, 'urls' => $this->urls, 'data' => $fields], 1)) . "</pre>";
+    $body = $this->render($tplFile, $tplVars);
+
+    return array(array(), $body);
+  }
+
+  /**
+   * Perform the installation action.
+   *
+   * @param string $method
+   *   Ex: 'GET' or 'POST'.
+   * @param array $fields
+   *   List of any HTTP GET/POST fields.
+   * @return array
+   *   The HTTP headers and response text.
+   *   [0 => array $headers, 1 => string $body].
+   */
+  public function runInstall($method, $fields) {
+    $checkInstalled = $this->setup->checkInstalled();
+    if ($checkInstalled->isDatabaseInstalled() || $checkInstalled->isSettingInstalled()) {
+      return $this->createError("CiviCRM is already installed");
+    }
+
+    $reqs = $this->setup->checkRequirements();
+    if (count($reqs->getErrors())) {
+      return $this->runStart($method, $fields);
+    }
+
+    $this->setup->installFiles();
+    $this->setup->installDatabase();
+
+    $m = $this->setup->getModel();
+    $tplFile = $this->getResourcePath('finished.' . $m->cms . '.php');
+    if (file_exists($tplFile)) {
+      $tplVars = array();
+      return array(array(), $this->render($tplFile, $tplVars));
+    }
+    else {
+      return $this->createError("Installation succeeded. However, the final page ($tplFile) was not available.");
+    }
+  }
+
+  /**
+   * Partially bootstrap Civi services (such as localization).
+   */
+  protected function boot($method, $fields) {
+    $model = $this->setup->getModel();
+
+    define('CIVICRM_UF', $model->cms);
+
+    // Set the Locale (required by CRM_Core_Config)
+    global $tsLocale;
+    $tsLocale = 'en_US';
+
+    // CRM-16801 This validates that lang is valid by looking in $langs.
+    // NB: the variable is initial a $_REQUEST for the initial page reload,
+    // then becomes a $_POST when the installation form is submitted.
+    $langs = $model->getField('lang', 'options');
+    if (array_key_exists('lang', $fields)) {
+      $model->lang = $fields['lang'];
+    }
+    if ($model->lang and isset($langs[$model->lang])) {
+      $tsLocale = $model->lang;
+    }
+
+    \CRM_Core_Config::singleton(FALSE);
+    $GLOBALS['civicrm_default_error_scope'] = NULL;
+
+    // The translation files are in the parent directory (l10n)
+    \CRM_Core_I18n::singleton();
+
+    $this->setup->getDispatcher()->dispatch('civi.setupui.boot', new UIBootEvent($this, $method, $fields));
+  }
+
+  public function createError($message, $title = 'Error') {
+    return array(array(), $this->render($this->getResourcePath('error.html'), [
+      'errorTitle' => htmlentities($title),
+      'errorMsg' => htmlentities($message),
+      'installURLPath' => $this->urls['res'],
+    ]));
+  }
+
+  /**
+   * Render a *.php template file.
+   *
+   * @param string $_tpl_file
+   *   The path to the file.
+   * @param array $_tpl_params
+   *   Any variables that should be exported to the scope of the template.
+   * @return string
+   */
+  public function render($_tpl_file, $_tpl_params = array()) {
+    extract($_tpl_params);
+    ob_start();
+    require $_tpl_file;
+    return ob_get_clean();
+  }
+
+  public function getResourcePath($parts) {
+    $parts = (array) $parts;
+    array_unshift($parts, 'res');
+    array_unshift($parts, $this->setup->getModel()->setupPath);
+    return implode(DIRECTORY_SEPARATOR, $parts);
+  }
+
+  public function getUrl($name) {
+    return isset($this->urls[$name]) ? $this->urls[$name] : NULL;
+  }
+
+  /**
+   * @inheritdoc
+   */
+  public function setUrls($urls) {
+    foreach ($urls as $k => $v) {
+      $this->urls[$k] = $v;
+    }
+    return $this;
+  }
+
+  /**
+   * Given an HTML submission, determine the name.
+   *
+   * @param array $fields
+   *   HTTP inputs -- e.g. with a form element like this:
+   *   `<input type="submit" name="civisetup[action][Foo]" value="Do the foo">`
+   * @return string
+   *   The name of the action.
+   *   Ex: 'Foo'.
+   */
+  protected function parseAction($fields, $default) {
+    if (empty($fields[self::PREFIX]['action'])) {
+      return $default;
+    }
+    else {
+      if (is_array($fields[self::PREFIX]['action'])) {
+        foreach ($fields[self::PREFIX]['action'] as $name => $label) {
+          return $name;
+        }
+      }
+      elseif (is_string($fields[self::PREFIX]['action'])) {
+        return $fields[self::PREFIX]['action'];
+      }
+    }
+    return NULL;
+  }
+
+  public function renderBlocks($_tpl_params) {
+    $buf = '';
+
+    // Cleanup - Ensure 'name' is present.
+    foreach (array_keys($this->blocks) as $name) {
+      $this->blocks[$name]['name'] = $name;
+    }
+
+    // Sort by weight+name.
+    uasort($this->blocks, function($a, $b) {
+      if ($a['weight'] != $b['weight']) {
+        return $a['weight'] - $b['weight'];
+      }
+      return strcmp($a['name'], $b['name']);
+    });
+
+    foreach ($this->blocks as $name => $block) {
+      if (!$block['is_active']) {
+        continue;
+      }
+      $buf .= sprintf("<div class=\"civicrm-setup-block-%s %s\">%s</div>",
+        $name,
+        $block['class'],
+        $this->render(
+          $block['file'],
+          $_tpl_params + array('_tpl_block' => $block)
+        )
+      );
+    }
+    return $buf;
+  }
+
+  /**
+   * @return \Civi\Setup
+   */
+  public function getSetup() {
+    return $this->setup;
+  }
+
+}
diff --git a/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupControllerInterface.php b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupControllerInterface.php
new file mode 100644
index 0000000000..e0ab680c54
--- /dev/null
+++ b/civicrm/vendor/civicrm/civicrm-setup/src/Setup/UI/SetupControllerInterface.php
@@ -0,0 +1,27 @@
+<?php
+namespace Civi\Setup\UI;
+
+interface SetupControllerInterface {
+
+  /**
+   * @param string $method
+   *   Ex: 'GET' or 'POST'.
+   * @param array $fields
+   *   List of any HTTP POST fields.
+   * @return array
+   *   The HTTP headers and response text.
+   *   [0 => $headers, 1 => $body].
+   */
+  public function run($method, $fields = array());
+
+  /**
+   * @param array $urls
+   *   Some mix of the following:
+   *     - res: The base URL for loading resource files (images/javascripts) for this
+   *       project. Includes trailing slash.
+   *     - ctrl: The URL of this setup controller. May be used for POST-backs.
+   * @return $this
+   */
+  public function setUrls($urls);
+
+}
diff --git a/civicrm/vendor/composer/autoload_files.php b/civicrm/vendor/composer/autoload_files.php
index df6710bb44..af13a03ad6 100644
--- a/civicrm/vendor/composer/autoload_files.php
+++ b/civicrm/vendor/composer/autoload_files.php
@@ -8,4 +8,5 @@ $baseDir = dirname($vendorDir);
 return array(
     'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
     '3919eeb97e98d4648304477f8ef734ba' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Random.php',
+    '5636a0a89fc28f9cfa8624493b142015' => $vendorDir . '/civicrm/civicrm-setup/civicrm-setup-autoload.php',
 );
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index 773e7320e3..2f109becf7 100644
--- a/civicrm/vendor/composer/autoload_real.php
+++ b/civicrm/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f
+class ComposerAutoloaderInitf316b582a351da126714ec1e8a967afa
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitf316b582a351da126714ec1e8a967afa', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitf316b582a351da126714ec1e8a967afa', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         array_push($includePaths, get_include_path());
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInitf316b582a351da126714ec1e8a967afa::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit57d37bb730f97ffe68800793ac2ae81f
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInitf316b582a351da126714ec1e8a967afa::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire57d37bb730f97ffe68800793ac2ae81f($fileIdentifier, $file);
+            composerRequiref316b582a351da126714ec1e8a967afa($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire57d37bb730f97ffe68800793ac2ae81f($fileIdentifier, $file)
+function composerRequiref316b582a351da126714ec1e8a967afa($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         require $file;
diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php
index 17482086e2..67afe7a058 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,11 +4,12 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f
+class ComposerStaticInitf316b582a351da126714ec1e8a967afa
 {
     public static $files = array (
         'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
         '3919eeb97e98d4648304477f8ef734ba' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/Crypt/Random.php',
+        '5636a0a89fc28f9cfa8624493b142015' => __DIR__ . '/..' . '/civicrm/civicrm-setup/civicrm-setup-autoload.php',
     );
 
     public static $prefixLengthsPsr4 = array (
@@ -344,10 +345,10 @@ class ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::$prefixesPsr0;
-            $loader->classMap = ComposerStaticInit57d37bb730f97ffe68800793ac2ae81f::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInitf316b582a351da126714ec1e8a967afa::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInitf316b582a351da126714ec1e8a967afa::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInitf316b582a351da126714ec1e8a967afa::$prefixesPsr0;
+            $loader->classMap = ComposerStaticInitf316b582a351da126714ec1e8a967afa::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/vendor/composer/installed.json b/civicrm/vendor/composer/installed.json
index 2bf054e1b2..cf3834ce38 100644
--- a/civicrm/vendor/composer/installed.json
+++ b/civicrm/vendor/composer/installed.json
@@ -179,6 +179,106 @@
         ],
         "description": "RPC library for CiviConnect"
     },
+    {
+        "name": "symfony/event-dispatcher",
+        "version": "v2.6.13",
+        "version_normalized": "2.6.13.0",
+        "target-dir": "Symfony/Component/EventDispatcher",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/event-dispatcher.git",
+            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02",
+            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "psr/log": "~1.0",
+            "symfony/config": "~2.0,>=2.0.5",
+            "symfony/dependency-injection": "~2.6",
+            "symfony/expression-language": "~2.6",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/stopwatch": "~2.3"
+        },
+        "suggest": {
+            "symfony/dependency-injection": "",
+            "symfony/http-kernel": ""
+        },
+        "time": "2015-05-02 15:18:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.6-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Symfony\\Component\\EventDispatcher\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony EventDispatcher Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "civicrm/civicrm-setup",
+        "version": "v0.2.0",
+        "version_normalized": "0.2.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/civicrm/civicrm-setup.git",
+            "reference": "e7991aff516c3fff952bed8f90832804a134358a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/civicrm/civicrm-setup/zipball/e7991aff516c3fff952bed8f90832804a134358a",
+            "reference": "e7991aff516c3fff952bed8f90832804a134358a",
+            "shasum": ""
+        },
+        "require": {
+            "psr/log": "~1.0",
+            "symfony/event-dispatcher": "^2.6.13 || ~3.0"
+        },
+        "time": "2018-01-23 06:26:55",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "files": [
+                "civicrm-setup-autoload.php"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "CiviCRM LLC",
+                "email": "info@civicrm.org"
+            }
+        ],
+        "description": "CiviCRM installation library"
+    },
     {
         "name": "sabberworm/php-css-parser",
         "version": "6.0.1",
@@ -1260,67 +1360,6 @@
         "description": "Symfony DependencyInjection Component",
         "homepage": "https://symfony.com"
     },
-    {
-        "name": "symfony/event-dispatcher",
-        "version": "v2.6.13",
-        "version_normalized": "2.6.13.0",
-        "target-dir": "Symfony/Component/EventDispatcher",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/event-dispatcher.git",
-            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02",
-            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/config": "~2.0,>=2.0.5",
-            "symfony/dependency-injection": "~2.6",
-            "symfony/expression-language": "~2.6",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/stopwatch": "~2.3"
-        },
-        "suggest": {
-            "symfony/dependency-injection": "",
-            "symfony/http-kernel": ""
-        },
-        "time": "2015-05-02 15:18:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\EventDispatcher\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony EventDispatcher Component",
-        "homepage": "https://symfony.com"
-    },
     {
         "name": "symfony/finder",
         "version": "v2.6.13",
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.html b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.html
deleted file mode 100644
index de149d16ae..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div>
-	<span>Hello World!</span>
-	<span>ąśżźć</span>
-</div>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xhtml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xhtml
deleted file mode 100644
index 78c4aafaac..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
- <br />
- <p>Test: &nbsp; żźć</p>
- <p>This is an example of an
- <abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
- <img id="validation-icon"
-   src="http://www.w3.org/Icons/valid-xhtml10"
-   alt="Valid XHTML 1.0 Strict" /><br />
- <object id="pdf-object"
-   name="pdf-object"
-   type="application/pdf"
-   data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
-   width="100%"
-   height="500">
- </object>
- </p>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xml
deleted file mode 100644
index 0ae3826da4..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-fragment-utf8.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<instructions>
-  <step>Mix all ingredients together.</step>
-  <step>Knead thoroughly.</step>
-  <step>Cover with a cloth, and leave for one hour in warm room.</step>
-  <step>Knead again.</step>
-  <step>Place in a bread baking tin.</step>
-  <step>Cover with a cloth, and leave for one hour in warm room.</step>
-  <step>Bake in the oven at 180(degrees)C for 30 minutes.</step>
-  <step>Charset test: ąśżźć</step>
-</instructions>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.html b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.html
deleted file mode 100644
index 57b9b216f3..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-	<head>
-		<title>HTML document without charset (encoded in ISO-8859-2)</title>
-	</head>
-	<body>
-		<span>Hello World!</span>
-		<span>±¶¿¼æ</span>
-	</body>
-</html>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xhtml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xhtml
deleted file mode 100644
index 009478710d..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xhtml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<!--	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">-->
- <head>
- <title>XHTML 1.0 Example</title>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
-   function loadpdf() {
-   document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
- }
- //--><!]]>
- </script>
- </head>
- <body onload="loadpdf()">
- <p>Test: &nbsp; ¿¼æ</p>
- <p>This is an example of an
- <abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
- <img id="validation-icon"
-   src="http://www.w3.org/Icons/valid-xhtml10"
-   alt="Valid XHTML 1.0 Strict" /><br />
- <object id="pdf-object"
-   name="pdf-object"
-   type="application/pdf"
-   data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
-   width="100%"
-   height="500">
- </object>
- </p>
- </body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xml
deleted file mode 100644
index 2f2b426ce8..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592-nocharset.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<recipe name="bread" prep_time="5 mins" cook_time="3 hours">
-  <title>Basic bread</title>
-  <ingredient amount="8" unit="dL">Flour</ingredient>
-  <ingredient amount="10" unit="grams">Yeast</ingredient>
-  <ingredient amount="4" unit="dL" state="warm">Water</ingredient>
-  <ingredient amount="1" unit="teaspoon">Salt</ingredient>
-  <instructions>
-    <step>Mix all ingredients together.</step>
-    <step>Knead thoroughly.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Knead again.</step>
-    <step>Place in a bread baking tin.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Bake in the oven at 180(degrees)C for 30 minutes.</step>
-    <step>Charset test: ±¶¿¼æ</step>
-  </instructions>
-</recipe>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.html b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.html
deleted file mode 100644
index bef1a9faf7..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-	<head>
-		<title>HTML document with ISO-8859-2 charset</title>
-		<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-2">
-	</head>
-	<body>
-		<span>Hello World!</span>
-		<span>±¶¿¼æ</span>
-	</body>
-</html>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xhtml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xhtml
deleted file mode 100644
index a32e9b5e50..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xhtml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-2"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<!--	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">-->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
- <title>XHTML 1.0 Example</title>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
-   function loadpdf() {
-   document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
- }
- //--><!]]>
- </script>
- </head>
- <body onload="loadpdf()">
- <p>Test: &nbsp; ¿¼æ</p>
- <p>This is an example of an
- <abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
- <img id="validation-icon"
-   src="http://www.w3.org/Icons/valid-xhtml10"
-   alt="Valid XHTML 1.0 Strict" /><br />
- <object id="pdf-object"
-   name="pdf-object"
-   type="application/pdf"
-   data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
-   width="100%"
-   height="500">
- </object>
- </p>
- </body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xml
deleted file mode 100644
index 0b85c104c9..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-iso88592.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-2"?>
-<recipe name="bread" prep_time="5 mins" cook_time="3 hours">
-  <title>Basic bread</title>
-  <ingredient amount="8" unit="dL">Flour</ingredient>
-  <ingredient amount="10" unit="grams">Yeast</ingredient>
-  <ingredient amount="4" unit="dL" state="warm">Water</ingredient>
-  <ingredient amount="1" unit="teaspoon">Salt</ingredient>
-  <instructions>
-    <step>Mix all ingredients together.</step>
-    <step>Knead thoroughly.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Knead again.</step>
-    <step>Place in a bread baking tin.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Bake in the oven at 180(degrees)C for 30 minutes.</step>
-    <step>Charset test: ±¶¿¼æ</step>
-  </instructions>
-</recipe>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.html b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.html
deleted file mode 100644
index 280e63412c..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-	<head>
-		<title>HTML document without charset (encoded in UTF-8)</title>
-	</head>
-	<body>
-		<span>Hello World!</span>
-		<span>ąśżźć</span>
-	</body>
-</html>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xhtml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xhtml
deleted file mode 100644
index a12ccda0df..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xhtml
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<!--	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">-->
- <head>
- <title>XHTML 1.0 Example</title>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
-   function loadpdf() {
-   document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
- }
- //--><!]]>
- </script>
- </head>
- <body onload="loadpdf()">
- <p>Test: &nbsp; żźć</p>
- <p>This is an example of an
- <abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
- <img id="validation-icon"
-   src="http://www.w3.org/Icons/valid-xhtml10"
-   alt="Valid XHTML 1.0 Strict" /><br />
- <object id="pdf-object"
-   name="pdf-object"
-   type="application/pdf"
-   data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
-   width="100%"
-   height="500">
- </object>
- </p>
- </body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xml
deleted file mode 100644
index acc35be1a4..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8-nocharset.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<recipe name="bread" prep_time="5 mins" cook_time="3 hours">
-  <title>Basic bread</title>
-  <ingredient amount="8" unit="dL">Flour</ingredient>
-  <ingredient amount="10" unit="grams">Yeast</ingredient>
-  <ingredient amount="4" unit="dL" state="warm">Water</ingredient>
-  <ingredient amount="1" unit="teaspoon">Salt</ingredient>
-  <instructions>
-    <step>Mix all ingredients together.</step>
-    <step>Knead thoroughly.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Knead again.</step>
-    <step>Place in a bread baking tin.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Bake in the oven at 180(degrees)C for 30 minutes.</step>
-    <step>Charset test: ąśżźć</step>
-  </instructions>
-</recipe>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.html b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.html
deleted file mode 100644
index 0bbe9143e6..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-	<head>
-		<title>HTML document with UTF-8 charset ąśżźć</title>
-		<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-	</head>
-	<body>
-		<span>Hello World!</span>
-		<span>ąśżźć</span>
-	</body>
-</html>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.php b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.php
deleted file mode 100644
index 35353c74c7..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-	<head>
-		<title>HTML document with UTF-8 charset</title>
-		<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-		<?php print '<title>foob\'"bar</title>'; ?>
-	</head>
-	<body>
-		<span>Hello World!</span>
-		<span>ąśżźć</span>
-		<a href='<?php foreach($foo as $bar} { print $foo['1'] } ?>'>Attr test</a>
-	</body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xhtml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xhtml
deleted file mode 100644
index 90c957b4a4..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xhtml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<!--	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">-->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>XHTML 1.0 Example</title>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
-   function loadpdf() {
-   document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
- }
- //--><!]]>
- </script>
- </head>
- <body onload="loadpdf()">
- <select name='test'></select>
- <textarea name='test'></textarea>
- <br />
- <p>Test: &nbsp; żźć</p>
- <p>This is an example of an
-	<abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
-	<img id="validation-icon"
-		src="http://www.w3.org/Icons/valid-xhtml10"
-		alt="Valid XHTML 1.0 Strict" /><br />
-	<object id="pdf-object"
-		name="pdf-object"
-		type="application/pdf"
-		data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
-		width="100%"
-		height="500">
-	</object>
- </p>
- </body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xml b/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xml
deleted file mode 100644
index 718be8b576..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document-types/document-utf8.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<recipe name="bread" prep_time="5 mins" cook_time="3 hours">
-  <title>Basic bread</title>
-  <ingredient amount="8" unit="dL">Flour</ingredient>
-  <ingredient amount="10" unit="grams">Yeast</ingredient>
-  <ingredient amount="4" unit="dL" state="warm">Water</ingredient>
-  <ingredient amount="1" unit="teaspoon">Salt</ingredient>
-  <instructions>
-    <step>Mix all ingredients together.</step>
-    <step>Knead thoroughly.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Knead again.</step>
-    <step>Place in a bread baking tin.</step>
-    <step>Cover with a cloth, and leave for one hour in warm room.</step>
-    <step>Bake in the oven at 180(degrees)C for 30 minutes.</step>
-    <step>Charset test: ąśżźć</step>
-  </instructions>
-</recipe>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/document_types.php b/civicrm/vendor/electrolinux/phpquery/test-cases/document_types.php
deleted file mode 100644
index e094007f86..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/document_types.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/**
- * Charset and document types test.
- *
- * Remember:
- * - never test charset with htmlentities ! Use htmlspecialchars (or define charset as parameter)
- *
- * TODO:
- * - document fragments tests (with all 4 charset scenarios)
- *
- */
-class phpQuery {
-	static $defaultDocumentID;
-	static $debug = 0;
-	static $documents = array();
-	static $defaultCharset = 'utf-8';
-	static function debug($text) {
-		if (self::$debug)
-			print var_dump($text);
-	}
-}
-require_once('../phpQuery/DOMDocumentWrapper.php');
-phpQuery::$debug = 2;
-
-/* ENCODINGS */
-//print '<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-2">';
-print '<meta http-equiv="Content-Type" content="text/html;charset=utf-8">';
-
-/* HTML */
-
-//$htmlIso = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592.html')
-//);
-//$htmlIsoNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592-nocharset.html'),
-//	'text/html;charset=iso-8859-2'
-//);
-$htmlUtf = new DOMDocumentWrapper(
-	file_get_contents('document-types/document-utf8.html')
-);
-var_dump($htmlUtf->markup());
-//$htmlUtfNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-utf8-nocharset.html'),
-//	'text/html;charset=utf-8'
-//);
-//print htmlspecialchars($htmlIso->markup(
-//	$htmlIso->document->getElementsByTagName('span'))
-//);
-//print htmlspecialchars($htmlIsoNoCharset->markup(
-//	$htmlIsoNoCharset->document->getElementsByTagName('p'))
-//);
-//print htmlspecialchars($htmlUtf->markup());
-//print htmlspecialchars($htmlUtfNoCharset->markup());
-
-/* XML */
-
-//$xmlIso = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592.xml')
-//);
-//$xmlIsoNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592-nocharset.xml'),
-//	'text/xml;charset=iso-8859-2'
-//);
-//$xmlUtf = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-utf8.xml')
-//);
-//$xmlUtfNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-utf8-nocharset.xml'),
-//	'text/xml;charset=utf-8'
-//);
-//print var_dump($xmlIso->markup(
-//	$xmlIso->document->getElementsByTagName('step')->item(0)
-//));
-//print htmlspecialchars($xmlIsoNoCharset->markup());
-//print htmlspecialchars($xmlUtf->markup());
-//print htmlspecialchars($xmlUtfNoCharset->markup());
-
-/* XHTML */
-
-//$xhtmlIso = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592.xhtml')
-//);
-//$xhtmlIsoNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-iso88592-nocharset.xhtml'),
-//	'application/xhtml+xml;charset=iso-8859-2'
-//);
-//$xhtmlUtf = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-utf8.xhtml')
-//);
-//$xhtmlUtfNoCharset = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-utf8-nocharset.xhtml'),
-//	'application/xhtml+xml'
-//);
-//print htmlspecialchars($xhtmlIso->markup());
-//print var_dump($xhtmlIsoNoCharset->markup());
-//print var_dump($xhtmlIsoNoCharset->markup(
-//	$xhtmlIsoNoCharset->document->getElementsByTagName('p')
-//));
-//print var_dump($xhtmlUtf->markup());
-//print var_dump($xhtmlUtf->markup(
-//	$xhtmlUtf->document->getElementsByTagName('p')
-//));
-//print htmlspecialchars($xhtmlUtfNoCharset->markup());
-
-/** FRAGMETNS **/
-
-/* HTML fragment */
-
-//$htmlFragmentUtf = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-fragment-utf8.html')
-//);
-//$htmlFragmentUtf->markup();
-//$htmlFragmentUtf->markup(
-//	$htmlFragmentUtf->document->getElementsByTagName('span')
-//);
-
-/* XML fragment */
-
-//$xmlFragmentUtf = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-fragment-utf8.xml'),
-//	'text/xml'nt var_dump($xhtmlFragmentUtf->document->saveXML());
-//$xhtmlFragmentUtf->markup();
-//$xhtmlFragmentUtf->markup(
-//	$xhtmlFragmentUtf->document->getElementsByTagName('p')
-//);
-//);
-//$xmlFragmentUtf->markup();
-//$xmlFragmentUtf->markup(
-//	$xmlFragmentUtf->document->getElementsByTagName('step')
-//);
-
-/* XHTML fragment */
-
-//$xhtmlFragmentUtf = new DOMDocumentWrapper(
-//	file_get_contents('document-types/document-fragment-utf8.xhtml'),
-//	'application/xhtml+xml'
-//);
-//print var_dump($xhtmlFragmentUtf->document->saveXML());
-//$xhtmlFragmentUtf->markup();
-//$xhtmlFragmentUtf->markup(
-//	$xhtmlFragmentUtf->document->getElementsByTagName('p')
-//);
-
-/* Test template */
-//$result = pq('p:eq(1)');
-//if ( $result->hasClass('newTitle') )
-//	print "Test '{$testName}' PASSED :)";
-//else
-//	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-//$result->dump();
-//print "\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/run.php b/civicrm/vendor/electrolinux/phpquery/test-cases/run.php
deleted file mode 100644
index eb33fa0990..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/run.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-// TODO move them into directory
-include 'test_1.php';
-include 'test_2.php';
-include 'test_3.php';
-include 'test_4.php';
-include 'test_5.php';
-include 'test_wrap.php';
-include 'test_replace.php';
-include 'test_multidoc.php';
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test.html b/civicrm/vendor/electrolinux/phpquery/test-cases/test.html
deleted file mode 100644
index 03d7c78359..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-	<head>
-		<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
-		<title>
-			plainTemplate test
-		</title>
-		<script src="../jQueryServer/demo/jquery.js" type="text/javascript" charset="utf-8"></script>
-		<script src="<?php print $js_src; ?>" type="text/javascript" charset="utf-8"></script>
-	</head>
-	<body>
-        <div class='articles'>
-			div.articles text node
-				<
-            <ul>
-                <li>
-                	  <p>This is paragraph of first LI</p>
-                    <p class='title'>
-                        this is example title
-                    </p>
-                    <p class='body'>
-                        this is example body
-                    </p>
-                </li>
-                <li id='testID'>
-                	  <p rel='test'>This is paragraph of second LI</p>
-                    <p class='title'>
-                        this is example title 2
-                    </p>
-                    <p class='body'>
-                        this is example body 2
-                    </p>
-                </li>
-                <li>
-                	  <p rel='test'>This is paragraph of third LI</p>
-                    <p class='noTitle'>There isnt any title</p>
-                    <p class='body'>
-                        this is example body 3
-                    </p>
-                </li>
-            </ul>
-			<p class='after'>paragraph after UL</p>
-        </div>
-		<ul>
-			<li id='i_have_nested_list'>
-				<ul>
-					<li class='nested'></li>
-				</ul>
-			</li>
-			<li class='second'>
-			</li>
-		</ul>
-    </body>
-</html>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_2.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_2.php
deleted file mode 100644
index f1e2ec4400..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_2.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-
-$testName = 'Filter with pseudoclass';
-$testResult = array(
-	'p.body',
-);
-$result = phpQuery::newDocumentFile('test.html');
-$result = $result->find('p')
-	->filter('.body:gt(1)');
-if ( $result->whois() == $testResult )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-print_r($result->whois());
-print "\n";
-
-
-$testName = 'Filter with multiplie selectors';
-$testResult = array(
-	'p.body',
-);
-$testDOM = phpQuery::newDocumentFile('test.html');
-$single = $testDOM->find('p')->filter('.body')
-	->add(
-		$testDOM->find('p')->filter('.title')
-	)
-;
-$double = $testDOM->find('p')
-	->filter('.body, .title');
-if ($single->length == count($double))
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-print "\n";
-print_r($single->whois());
-print "\n";
-print_r($double->whois());
-print "\n";
-
-
-$testName = 'Attributes in HTML element';
-$validResult = 'testValue';
-$result = phpQuery::newDocumentFile('test.html')->find('html')
-	->empty()
-	->attr('test', $validResult);
-$result = phpQuery::newDocument($result->htmlOuter())->find('html')
-	->attr('test');
-//similar_text($result->htmlOuter(), $validResult, $similarity);
-if ( $result == $validResult )
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print $result;
-	print "</pre>\n";
-}
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_4.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_4.php
deleted file mode 100755
index f54515c055..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_4.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-// SLICE1
-$testResult = array(
-	'li#testID',
-);
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li')
-		->slice(1, 2);
-if ( $result->whois() == $testResult )
-	print "Test 'Slice1' PASSED :)";
-else {
-	print "Test 'Slice1' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print_r($result->whois());
-	print "</pre>\n";
-}
-print "\n";
-
-// SLICE2
-$testResult = array(
-	'li#testID',
-	'li',
-	'li#i_have_nested_list',
-	'li.nested',
-);
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li')
-		->slice(1, -1);
-if ( $result->whois() == $testResult )
-	print "Test 'Slice2' PASSED :)";
-else {
-	print "Test 'Slice2' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print_r($result->whois());
-	print "</pre>\n";
-}
-print "\n";
-
-// Multi-insert
-$result = phpQuery::newDocument('<li><span class="field1"></span><span class="field1"></span></li>')
-	->find('.field1')
-		->php('longlongtest');
-$validResult = '<li><span class="field1"><php>longlongtest</php></span><span class="field1"><php>longlongtest</php></span></li>';
-similar_text($result->htmlOuter(), $validResult, $similarity);
-if ( $similarity > 80 )
-	print "Test 'Multi-insert' PASSED :)";
-else {
-	print "Test 'Multi-insert' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	var_dump($result->htmlOuter());
-	print "</pre>\n";
-}
-print "\n";
-
-// INDEX
-$testResult = 1;
-$result = phpQuery::newDocumentFile('test.html')
-	->find('p')
-		->index(pq('p.title:first'));
-if ( $result == $testResult )
-	print "Test 'Index' PASSED :)";
-else {
-	print "Test 'Index' <strong>FAILED</strong> !!! ";
-}
-print "\n";
-
-// CLONE
-$testName = 'Clone';
-$testResult = 3;
-$document;
-$p = phpQuery::newDocumentFile('test.html')
-	->toReference($document)
-	->find('p:first');
-foreach(array(0,1,2) as $i) {
-	$p->clone()
-		->addClass("clone-test")
-		->addClass("class-$i")
-		->insertBefore($p);
-}
-if (pq('.clone-test')->size() == $testResult)
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-}
-print "\n";
-
-// SIBLINGS
-$testName = 'Next';
-$testResult = 3;
-$document;
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-	->next()
-	->next()
-	->prev()
-	->is('#testID');
-if ($result)
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-}
-print "\n";
-?>
-
-
-<?php die();
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_5.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_5.php
deleted file mode 100755
index 13a7c440d5..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_5.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-// CALLBACKS
-class callbackClass {
-	static function staticMethodCallback($node) {
-		pq($node)->addClass('newClass');
-	}
-	function methodCallback($node) {
-		pq($node)->addClass('newClass');
-	}
-}
-function functionCallback($node) {
-	pq($node)->addClass('newClass');
-}
-$testResult = array(
-	'li.newClass',
-	'li#testID.newClass',
-	'li.newClass',
-	'li#i_have_nested_list.newClass',
-	'li.nested.newClass',
-	'li.second.newClass',
-);
-$tests = array(
-	'functionCallback',
-	array('callbackClass', 'staticMethodCallback'),
-	array(new callbackClass, 'methodCallback')
-);
-foreach($tests as $test) {
-	$result = phpQuery::newDocumentFile('test.html')
-		->find('li')
-			->each($test);
-	$testName = is_array($test)
-		? $test[1]
-		: $test;
-	if ( $result->whois() == $testResult )
-		print "Test '$testName' PASSED :)";
-	else {
-		print "Test '$testName' <strong>FAILED</strong> !!! ";
-		print "<pre>";
-		print_r($result->whois());
-		print "</pre>\n";
-	}
-	print "\n";
-}
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax.php
deleted file mode 100755
index 5058e587e4..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-//error_reporting(E_ALL);
-set_include_path(
-	get_include_path().PATH_SEPARATOR
-	.'zend-framework/'
-);
-
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-phpQuery::$ajaxAllowedHosts[] = 'wikipedia.org';
-phpQuery::$ajaxAllowedHosts[] = 'google.com';
-phpQuery::$ajaxAllowedHosts[] = 'code.google.com';
-phpQuery::$ajaxAllowedHosts[] = 'www.google.com';
-
-//$pq = phpQuery::ajax(array(
-//	'url' => 'http://wikipedia.org/',
-//	'success' => 'v87shs79d8fhs9d'
-//));
-//function v87shs79d8fhs9d($html) {
-//	$title = phpQuery::newDocument($html)->find('title');
-//	$testName = 'Simple AJAX';
-//	if ( strpos(strtolower($title->html()), 'wikipedia') !== false )
-//		print "Test '$testName' PASSED :)";
-//	else {
-//		print "Test '$testName' <strong>FAILED</strong> !!! ";
-//		print "<pre>";
-//		print_r($title->whois());
-//		print "</pre>\n";
-//	}
-//	print "\n";
-//}
-
-
-$testName = 'Load';
-$test = phpQuery::newDocumentFile('test.html')
-	->find('div:first')
-	->load('http://wikipedia.org/ div[lang]');
-if (pq('div[lang]')->size())
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print "</pre>\n";
-}
-print "\n";
-
-
-// http://code.google.com/p/phpquery/issues/detail?id=130
-$pq = phpQuery::ajax(array(
-	'url' => 'http://'.$_SERVER['SERVER_NAME'].preg_replace('@/[^/]+$@', '/test_ajax_data_1', $_SERVER['REQUEST_URI']),
-	'success' => 'a789fhasdui3124',
-	'error' => 'jhdbg786213u8dsfg7y'
-));
-function a789fhasdui3124($html) {
-	$testName = 'AJAX request text node';
-	if ( $html == 'hello world' )
-		print "Test '$testName' PASSED :)";
-	else {
-		print "Test '$testName' <strong>FAILED</strong> !!! ";
-	}
-	print "\n";
-}
-
-function jhdbg786213u8dsfg7y() {
-	$testName = 'AJAX request text node';
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-}
-
-
-//$testName = 'gdata plugin';
-//phpQuery::extend('gdata');
-//$xhr = phpQuery::$plugins->gdata('tobiasz.cudnik@gmail.com', 'XXX');
-//$url = 'http://code.google.com/p/phpquery/w/edit/Callbacks';
-//phpQuery::ajax(array('url' => $url, 'success' => 'ksjsdgh892jh23'), $xhr);
-//function ksjsdgh892jh23($html) {
-//	print $html;
-//	print pq($html)->find('script')->remove()->end();
-//	if (pq('div[lang]')->size())
-//		print "Test '$testName' PASSED :)";
-//	else {
-//		print "Test '$testName' <strong>FAILED</strong> !!! ";
-//		print "<pre>";
-//		print "</pre>\n";
-//	}
-//	print "\n";
-//}
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax_data_1 b/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax_data_1
deleted file mode 100644
index 95d09f2b10..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_ajax_data_1
+++ /dev/null
@@ -1 +0,0 @@
-hello world
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_arrayaccess.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_arrayaccess.php
deleted file mode 100755
index fb31098bff..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_arrayaccess.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-//error_reporting(E_ALL);
-set_include_path(
-	get_include_path()
-	.':/home/bob/Sources/PHP/zend-framework/'
-);
-
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-$testHtml = phpQuery::newDocumentFile('test.html');
-$testHtml['li:first']->append('<span class="just-added">test</span>');
-$testName = 'Array Access get';
-if (trim($testHtml['.just-added']->html()) == 'test')
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print_r($testHtml['.just-added']->whois());
-	print "</pre>\n";
-}
-print "\n";
-
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-$testHtml = phpQuery::newDocumentFile('test.html');
-$testHtml['li:first'] = 'new inner html';
-$testName = 'Array Access set';
-if (trim($testHtml['li:first']->html()) == 'new inner html')
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	print_r($testHtml['.just-added']->whois());
-	print "</pre>\n";
-}
-print "\n";
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_attr.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_attr.php
deleted file mode 100644
index 4e808c07af..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_attr.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-$testName = 'Attribute change';
-$expected = 'new attr value';
-$result = phpQuery::newDocumentFile('test.html')
-	->find('p[rel]:first')
-		->attr('rel', $expected);
-if ($result->attr('rel') == $expected)
-	print "Test '{$testName}' passed :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!!";
-print "\n";
-
-
-$testName = 'Attribute change in iteration';
-$expected = 'new attr value';
-$doc = phpQuery::newDocumentFile('test.html');
-foreach($doc['p[rel]:first'] as $p)
-	pq($p)->attr('rel', $expected);
-if ($doc['p[rel]:first']->attr('rel') == $expected)
-	print "Test '{$testName}' passed :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!!";
-print "\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_callback.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_callback.php
deleted file mode 100644
index a854ab500f..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_callback.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-//if (PHP_VERSION < 5.3)
-//	throw new Exception("This test case is only for PHP 5.3 and above.");
-require('/home/bob/Sources/php/simpletest/simpletest/trunk/autorun.php');
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-class CallbackTest extends UnitTestCase {
-	public function callback2() {
-		return 'callback2';
-	}
-	public function callback1($self) {
-		return $self;
-	}	
-	public function testExtend() {
-		$newMethods = array(
-			'newMethod1' => array($this, 'callback1'),
-			'newMethod2' => array($this, 'callback2'),
-		);
-		phpQuery::extend('phpQueryObject', $newMethods);
-		$doc = phpQuery::newDocumentXML("<div/>");
-		$this->assertTrue($doc->newMethod1() == $doc,
-			'$doc->newMethod1 == $doc');
-		$this->assertTrue($doc->newMethod2() == "callback2",
-			'$doc->newMethod1 == "callback2"');  
-	}
-}
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_charset.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_charset.php
deleted file mode 100644
index a0b4768ce9..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_charset.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
-<?php
-require_once('../phpQuery/phpQuery.php');
-// phpQuery::$debug = true;
-
-$testName = 'Text node append';
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-		->find('p:first')
-			->html('żźć');
-if (trim($result->html()) == 'żźć')
-	print "Test '{$testName}' passed :)<br />\n";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n";
-print "\n";
-
-$testName = 'Text node HTML entite append';
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-		->find('p:first')
-			->_empty()
-			->append('&eacute;');
-if (trim($result->html()) == 'é')
-	print "Test '{$testName}' passed :)<br />\n";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n";
-	print $result->html();
-}
-print "\n";
-
-$testName = 'DOMElement node HTML entite append';
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-		->find('p:first')
-			->empty()
-			->append('<span>&eacute;</span>');
-if (trim($result->html()) == '<span>é</span>')
-	print "Test '{$testName}' passed :)<br />\n";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n";
-	print $result->html();
-}
-print "\n";
-
-$testName = 'Append and move';
-$result = phpQuery::newDocumentFile('test.html');
-$li = $result->find('li:first');
-$result->find('div')->_empty();
-$li->html('test1-&eacute;-test1')
-	->append('test2-é-test2')
-	->appendTo(
-		$result->find('div:first')
-	);
-$result = $result->find('div:first li:first');
-$expected = 'test1-é-test1test2-é-test2';
-if (trim(str_replace("\n", '', $result->html())) == $expected)
-	print "Test '{$testName}' passed :)<br />\n";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n";
-	print "'".trim($result->html())."'";
-}
-print "\n";
-
-$testName = 'Attr charset';
-$result = phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-		->attr('test', 'foo &eacute; żźć bar');
-if (trim($result->attr('test')) == 'foo &eacute; żźć bar')
-	print "Test '{$testName}' passed :)<br />\n";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n";
-	print $result->attr('test');
-}
-print "\n";
-
-
-//$testName = 'Loading document without meta charset';
-//$result = phpQuery::newDocumentFile('test.html')
-//	->_empty();
-////var_dump((string)$result->htmlOuter());
-//$result = phpQuery::newDocument($result->htmlOuter());
-//$validResult = <<<EOF
-//<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-//<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /></head></html>
-//EOF;
-//$similarity = 0;
-//similar_text($result->htmlOuter(), $validResult, $similarity);
-//if ( $similarity > 90 )
-//	print "Test '{$testName}' passed :)<br />\n";
-//else
-//	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-//print "<pre>";
-//print $result;
-//print "</pre>\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_document.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_document.php
deleted file mode 100644
index 901b90279f..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_document.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-//error_reporting(E_ALL);
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-
-$testName = 'HTML document load';
-$doc = phpQuery::newDocumentFile('test.html');
-print $doc->find('li:first')->html('foo <p>bar</p> foo <b><i>foo</i</b>')->html();
-die();
-$testResult = 10;
-if ($doc->script('example', 'p')->length == $testResult)
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	var_dump($doc->whois());
-	print "</pre>\n";
-}
-print "\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_events.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_events.php
deleted file mode 100755
index f4ebcd9bad..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_events.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-// phpQuery::$debug = true;
-$form = <<<EOF
-<form>
-  <input name='input-example'>
-  <input name='array[array-example]'>
-  <textarea name='textarea-example'></textarea>
-	<select name='select-example'>
-    <option value='first'></option>
-	</select>
-  <input type='radio' name='radio-example' value='foo'>
-  <input type='checkbox' name='checkbox-example' value='foo'>
-</form>
-EOF;
-$doc = phpQuery::newDocumentHTML($form);
-$inputs = $doc['form > *'];
-// creates array from input names
-// $results = $inputs->get(null,
-// 	create_function('$node', 'return $node->getAttribute("name");')
-// );
-$results = array();
-foreach($inputs as $node) {
-	$node = pq($node);
-	$name = $node->attr('name');
-	$results[$name] = false;
-	$node->change(
-		new CallbackReference($results[$name])
-	);
-}
-$inputs
-	->not('select,:checkbox,:radio')
-		->val('new value')
-	->end()
-	->filter('select')
-		->val('first')
-	->end()
-	->filter(':checkbox')
-		->val(array('foo'))
-	->end()
-	->filter(':radio')
-		->val(array('foo'))
-	->end()
-;
-foreach($results as $name => $result) {
-	print $result
-		? "Test for '$name' PASSED :)<br />\n"
-		: "Test for '$name' <strong>FAILED</strong> !!!<br />\n";
-}
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_insert.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_insert.php
deleted file mode 100644
index ff2e7e2d73..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_insert.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = 2;
-
-
-$testName = 'HTML insertion';
-$doc = phpQuery::newDocumentFile('document-types/document-utf8.xhtml');
-//$doc = phpQuery::newDocumentFile('document-types/document-utf8.html');
-//$doc = phpQuery::newDocumentFile('document-types/document-utf8.xml');
-//print $doc->find('step');
-print $doc->find('p');
-$markup = "test<br />test<p>test p</p>";
-$doc['body > p:last']->append($markup);
-if ($doc['body > p:last p']->length == 1)
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print $doc->htmlOuter('htmlspecialchars');
-}
-print "\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_manipulation.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_manipulation.php
deleted file mode 100644
index 8ef5173fbc..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_manipulation.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-
-$testName = 'Simple data insertion';
-$testResult = <<<EOF
-<div class="articles">
-			div.articles text node
-            <ul>
-
-            <li>
-                	<p>This is paragraph of first LI</p>
-                    <p class="title">News 1 title</p>
-                    <p class="body">News 1 body</p>
-                </li>
-
-<li>
-                	<p>This is paragraph of first LI</p>
-                    <p class="title">News 2 title</p>
-                    <p class="body">News 2 body</p>
-                </li>
-<li>
-                	<p>This is paragraph of first LI</p>
-                    <p class="title">News 3</p>
-                    <p class="body">News 3 body</p>
-                </li>
-</ul>
-<p>paragraph after UL</p>
-        </div>
-EOF;
-$rows = array(
-	array(
-		'title' => 'News 1 title',
-		'body'	=> 'News 1 body',
-	),
-	array(
-		'title' => 'News 2 title',
-		'body'	=> 'News 2 body',
-	),
-	array(
-		'title' => 'News 3',
-		'body'	=> 'News 3 body',
-	),
-);
-phpQuery::newDocumentFile('test.html');
-$articles = pq('.articles ul');
-$rowSrc = $articles->find('li')
-	->remove()
-	->eq(0);
-foreach( $rows as $r ) {
-	$row = $rowSrc->_clone();
-	foreach( $r as $field => $value ) {
-		$row->find(".{$field}")
-			->html($value);
-//		die($row->htmlOuter());
-	}
-	$row->appendTo($articles);
-}
-$result = pq('.articles')->htmlOuter();
-//print htmlspecialchars("<pre>{$result}</pre>").'<br />';
-$similarity = 0.0;
-similar_text($testResult, $result, $similarity);
-if ($similarity > 90)
-	print "Test '{$testName}' passed :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> ($similarity) !!!";
-print "\n";
-
-
-$testName = 'Parent && children';
-$result = phpQuery::newDocumentFile('test.html');
-$parent = $result->find('ul:first');
-$children = $parent->find('li:first');
-$e = null;
-try {
-	$children->before('<li>test</li>');
-} catch(Exception $e) {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-}
-if (! $e) {
-	print "Test '{$testName}' PASSED :)";
-}
-print "\n";
-
-
-$testName = 'HTML insertion';
-$doc = phpQuery::newDocument('<div><p/></div>');
-$string = "La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie. Température: entre <b>0°C et 210°C</b>.";
-$doc->find('p')->html($string);
-if (pq('p')->length == 1)
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print $doc->htmlOuter('htmlentities');
-}
-print "\n";
-
-
-$testName = 'HTML insertion 2';
-$doc = phpQuery::newDocument('<div><p/></div>');
-$string = "<div>La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie. Température: entre <b>0°C et 210°C</b>.</div>";
-$doc->find('p')->html($string);
-if (pq('div')->length == 2) {
-	print "Test '{$testName}' PASSED :)";
-} else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print $doc->htmlOuter('htmlentities');
-}
-print "\n";
-
-
-$testName = 'HTML insertion 3';
-$doc = phpQuery::newDocument('<div><p/></div>');
-$string = 'Hors paragraphe.
-<img align="right" src="http://www.stlouisstpierre.com/institution/images/plan.jpg">
-<p>Éditorial de l\'institution Saint-Pierre.</p>
- Hors paragraphe.';
-$doc->find('p')->html($string);
-if (pq('img')->length == 1) {
-	print "Test '{$testName}' PASSED :)";
-	print $doc->htmlOuter();
-} else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print $doc->htmlOuter('htmlentities');
-}
-print "\n";
-
-
-
-
-$testName = 'Text insertion';
-$doc = phpQuery::newDocument('<div><p/></div>');
-$string = "La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie";
-$doc->find('p')->html($string);
-if (trim(pq('p:first')->html()) == $string)
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-	print $doc->htmlOuter('htmlentities');
-}
-print "\n";
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_manual.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_manual.php
deleted file mode 100644
index fe81cc7123..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_manual.php
+++ /dev/null
@@ -1,301 +0,0 @@
-<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
-<?php
-require_once('../phpQuery/phpQuery.php');
-//phpQuery::$debug = 2;
-phpQuery::plugin('Scripts');
-
-
-//$doc = phpQuery::newDocumentXML('<article><someMarkupStuff/><p>p</p></article>');
-//print $doc['article']->children(':empty')->get(0)->tagName;
-
-//$doc = phpQuery::newDocumentFile('test.html');
-//setlocale(LC_ALL, 'pl_PL.UTF-8');
-//$string =  strftime('%B %Y', time());
-//$doc['p:first']->append($string)->dump();
-
-/*
- *
-$doc1 = phpQuery::newDocumentFileXHTML('doc1.html');
-$doc2 = phpQuery::newDocumentFileXHTML('doc2.html');
-$doc3 = phpQuery::newDocumentFileXHTML('doc3.html');
-$doc4 = phpQuery::newDocumentFileXHTML('doc4.html');
-$doc2['body']
-	->append($doc3['body >*'])
-	->append($doc4['body >*']);
-$doc1['body']
-	->append($doc2['body >*']);
-print $doc1->plugin('Scripts')->script('safe_print');
-*/
-//$doc = phpQuery::newDocument('<p> p1 <b> b1 </b> <b> b2 </b> </p><p> p2 </p>');
-//print $doc['p']->contents()->not('[nodeType=1]');
-
-//print phpQuery::newDocumentFileXML('tmp.xml');
-
-
-//$doc = phpQuery::newDocumentXML('text<node>node</node>test');
-//pq('<p/>', $doc)->insertBefore(pq('node'))->append(pq('node'));
-//$doc->contents()->wrap('<p/>');
-//$doc['node']->wrapAll('<p/>');
-//	->contents()
-//	->wrap('<p></p>');
-//print $doc;
-
-// http://code.google.com/p/phpquery/issues/detail?id=66
-//$doc = phpQuery::newDocumentXML('<p>123<span/>123</p>');
-//$doc->dump();
-//$doc->children()->wrapAll('<div/>')->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=69
-//$doc = phpQuery::newDocumentXML('<p class="test">123<span/>123</p>');
-//$doc['[class^="test"]']->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=71
-// $doc = phpQuery::newDocument('<input value=""/>');
-// print $doc['input']->val('new')->val();
-
-// http://code.google.com/p/phpquery/issues/detail?id=71
-// $doc = phpQuery::newDocument('<select><option value="10">10</option><option value="10">20</option></select>');
-// $doc['select']->val('20')->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=73
-// $doc = phpQuery::newDocument('<input value=""/>');
-// var_dump($doc['input']->val(0)->val());
-
-// $a = null;
-// new CallbackReference($a);
-// phpQuery::callbackRun(new CallbackReference($a), array('new $a value'));
-// var_dump($a);
-
-// check next() inside (also, but separatly)
-// $inputs->dump();
-// foreach($inputs as $node) {
-// }
-// $inputs->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=74
-// http://code.google.com/p/phpquery/issues/detail?id=31
-//$doc = phpQuery::newDocument('<div class="class1 class2"/><div class="class1"/><div class="class2"/>');
-//$doc['div']->filter('.class1, .class2')->dump()->dumpWhois();
-
-// http://code.google.com/p/phpquery/issues/detail?id=76
-// mb_internal_encoding("UTF-8");
-// mb_regex_encoding("UTF-8");
-// $xml = phpQuery::newDocumentXML('<документа/>');
-//
-// $xml['документа']->append('<список></список>');
-// $xml['документа список'] = '<эл>1</эл><эл>2</эл><эл>3</эл>';
-// print "<xmp>$xml</xmp>";
-
-// zeromski 0.9.5 vs 0.9.1
-// phpQuery::newDocumentXML('<xml><b></xml>')->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=77
-// phpQuery::newDocumentFile('http://google.com/')
-// 	->find('body > *')->dumpWhois();
-/*$XHTML = <<<EOF
-		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
-       <head>
-               <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-               <meta http-equiv="Content-Language" content="fr" />
-       </head>
-       <body>
-               <div id="contenu_volets">
-                       <div id="contenu_voletGauche">
-                               <div id="contenu_navigation" class="bloc_arrondi blanc_10_10 administrable">
-                                       <div class="bloc_arrondi_haut">
-                                               <div class="bloc_arrondi_haut_gauche"></div>
-                                               <div class="bloc_arrondi_haut_droit"></div>
-                                       </div>
-                                       <div class="bloc_arrondi_centre">
-                                               <div class="bloc_arrondi_centre1">
-                                                       <div class="bloc_arrondi_centre2 bloc_contenu administrable_contenu"></div>
-                                               </div>
-                                       </div>
-                                       <div class="bloc_arrondi_bas">
-                                               <div class="bloc_arrondi_bas_gauche"></div>
-                                               <div class="bloc_arrondi_bas_droit"></div>
-                                       </div>
-                               </div>
-                       </div>
-                       <div id="contenu_voletDroit">
-                               <div id="contenu_article" class="bloc_arrondi grisDegrade_10_10_341 administrable
-redimensionnable">
-                                       <div class="bloc_arrondi_haut">
-                                               <div class="bloc_arrondi_haut_gauche"></div>
-                                               <div class="bloc_arrondi_haut_droit"></div>
-                                       </div>
-                                       <div class="bloc_arrondi_centre">
-                                               <div class="bloc_arrondi_centre1">
-                                                       <div class="bloc_arrondi_centre2 bloc_contenu administrable_contenu
-WAI_element-40-WAI_principal-30 WAI_contenu">
-                                                               <p class="contenu_filAriane justifier_non">
-                                                                       Vous êtes ici : <span class="filAriane_contenu"></span>
-                                                               </p>
-                                                               <h1 id="IDcmsRef-page-titre">Editorial</h1>
-                                                               <div id="IDcmsTag_article"></div>
-                                                               <div class="nettoyeur"></div>
-                                                       </div>
-                                               </div>
-                                       </div>
-                                       <div class="bloc_arrondi_bas">
-                                               <div class="bloc_arrondi_bas_gauche"></div>
-                                               <div class="bloc_arrondi_bas_droit"></div>
-                                       </div>
-                               </div>
-                       </div>
-                       <div id="contenu_voletPied"></div>
-               </div>
-       </body>
-</html>
-EOF;
-phpQuery::newDocumentXHTML($XHTML)
-	->find('body:first > *')->dumpWhois();*/
-
-// http://code.google.com/p/phpquery/issues/detail?id=83
-//$doc = phpQuery::newDocument('<select
-//name="toto"><option></option><option value="1">1</option></select><div><input
-//type="hidden" name="toto"/></div>');
-//print $doc['[name=toto]']->val('1');
-
-//$doc = phpQuery::newDocumentFile('http://www.google.pl/search?hl=en&q=test&btnG=Google+Search');
-//print $doc;
-
-// http://code.google.com/p/phpquery/issues/detail?id=88
-//$doc = phpQuery::newDocumentXML('<foo><bar/></foo>');
-//$doc['foo']->find('bar')->andSelf()->addClass('test');
-//$doc->dump();
-
-// http://code.google.com/p/phpquery/issues/detail?id=90
-//print phpQuery::newDocument('<html><body></body></html>')
-//	->find('body')
-//	->load('http://localhost/phpinfo.php');
-
-// http://code.google.com/p/phpquery/issues/detail?id=91
-// phpQuery::newDocumentXML('<foo bar="abc"/><foo bar="bca"/>');
-// print pq('foo')->filter('[bar$=c]');
-
-// FIXME http://code.google.com/p/phpquery/issues/detail?id=93
-//$doc = '<head><title>SomeTitle</title>
-//</head>
-//<body bgcolor="#ffffff" text="#000000" topmargin="1" leftmargin="0">blah
-//</body>';
-//$pq = phpQuery::newDocument($doc);
-//echo $pq;
-
-# http://code.google.com/p/phpquery/issues/detail?id=94#makechanges
-//$doc = phpQuery::newDocument();
-//$test = pq(
-//'
-//<li>
-//	<label>Fichier : </label>
-//	<input type="file" name="pjModification_fichier[0]"/>
-//	<br/>
-//	<label>Titre : </label>
-//	<input type="text" name="pjModification_titre[0]" class="pieceJointe_titre"/>
-//</li>
-//'
-//);
-
-// http://code.google.com/p/phpquery/issues/detail?id=96
-//$doc = phpQuery::newDocument('<select name="section"><option
-//value="-1">Niveau</option><option value="1">6°</option><option
-//value="2">5°</option><option
-//value="3">4°</option><option value="4">3°</option></select>');
-//$doc = phpQuery::newDocument('<select name="section"><option
-//value="-1">Niveau</option><option value="1">6°</option><option
-//value="2">5°</option><option
-//value="3">4°</option><option value="4">3&deg;</option></select>');
-//print $doc['select']->val(3)->end()->script('print_source');
-//(16:27:56) jomofcw:        $option_element =
-//(16:27:56) jomofcw:         pq('<option/>')
-//(16:27:56) jomofcw:          ->attr('value',$section['id'])
-//(16:27:56) jomofcw:          ->html($section['libelle'])
-//(16:27:56) jomofcw:        ;
-//(16:29:27) jomofcw: where $section['libelle'] is from a database UTF-8
-//16:30
-//(16:30:20) jomofcw: the value of $section['libelle'] is exactly "3&deg;" in database...
-
-# http://code.google.com/p/phpquery/issues/detail?id=98
-//$doc = phpQuery::newDocument('<select id="test"><option value="0">a</option><option
-//value="10">b</option><option value="20">c</option></select>');
-//print $doc['select']->val(0)->end()->script('print_source');
-
-// http://groups.google.com/group/phpquery/browse_thread/thread/1c78f7e41fc5808c?hl=en
-//$doc = phpQuery::newDocumentXML("
-//<s:Schema id='RowsetSchema'>
-//        <s:ElementType name='row' content='eltOnly'>
-//                <s:AttributeType name='ComparteElementoComun_ID' rs:number='1'
-//rs:maydefer='true' rs:writeunknown='true'>
-//                        <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
-//rs:fixedlength='true'/>
-//                </s:AttributeType>
-//                <s:AttributeType name='ComparteElementoComun' rs:number='2'
-//rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
-//                        <s:datatype dt:type='string' dt:maxLength='100'/>
-//                </s:AttributeType>
-//                <s:extends type='rs:rowbase'/>
-//        </s:ElementType>
-//</s:Schema>");
-//foreach($doc['Schema ElementType AttributeType'] as $campo){
-//        if( count(pq($campo)->find('datatype'))==1 ){
-//                var_dump(pq($campo)->find('datatype')->attr('dt:type')); // Should print "string" but prints ""
-//        }
-//}
-
-// http://code.google.com/p/phpquery/issues/detail?id=97
-//function jsonSuccess($data) {
-//	var_dump($data);
-//}
-//$url = 'http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json';
-//phpQuery::ajaxAllowHost('api.flickr.com');
-//phpQuery::getJSON($url, array('jsoncallback' => '?'), 'jsonSuccess');
-//var_dump(json_decode($json));
-//require_once('../phpQuery/Zend/Json/Decoder.php');
-//var_dump(Zend_Json_Decoder::decode($json));
-
-#var_dump(''.phpQuery::newDocumentFile("http://www.chefkoch.de/magazin/artikel/943,0/AEG-Electrolux/Frischer-Saft-aus-dem-Dampfgarer.html"));
-// var_dump(phpQuery::newDocument(
-// 	str_replace('<!DOCTYPE html public "-//W3C//DTD HTML 4.0 Transitional//EN">
-// ', '',
-// 		file_get_contents("http://www.chefkoch.de/magazin/artikel/943,0/AEG-Electrolux/Frischer-Saft-aus-dem-Dampfgarer.html"
-// 										 ))));
-
-// http://code.google.com/p/phpquery/issues/detail?id=102
-// $doc = phpQuery::newDocumentFileHTML('http://www.google.de'); 
-// //$doc = phpQuery::newDocument('');
-// $images = $doc['img']->dump();
-// 
-// $foo = 'aaa';
-// var_dump(mb_ereg_match('^[\w|\||-]+$', $foo) || $foo == '*');
-// var_dump(preg_match('@^[\w|\||-]+$@', $foo) || $foo == '*');
-
-// http://code.google.com/p/phpquery/issues/detail?id=67
-//$doc = phpQuery::newDocumentXML("<node1/><node2/>");
-//$doc['node1']->data('foo', 'bar');
-//var_dump($doc['node1']->data('foo'));
-//$doc['node1']->removeData('foo');
-//var_dump($doc['node1']->data('foo'));
-//$doc['node1']->data('foo.bar', 'bar');
-//var_dump($doc['node1']->data('foo.bar'));
-//var_dump(phpQuery::$documents[$doc->getDocumentID()]->data);
-
-// xhtml fragments
-//$doc = phpQuery::newDocumentXHTML("<p><br/></p>");
-//print $doc;
-
-$doc = phpQuery::newDocument('<div id="content"></div><div id="content"></div>');
-//$content_string = str_repeat('a', 99988);
-$content_string = str_repeat(str_repeat('a', 350)."\n", 350);
-//var_dump(strlen($content_string));
-?><pre class='1'><?php
-//print $content_string;
-?></pre><?php
-pq('#content')->php('echo $content_string;');
-//pq('#content')->php('echo '.var_export($content_string, true));
-$doc->dumpTree();
-?><pre class='2'><?php
-var_dump($doc->php());
-?></pre><?php
-eval('?>'.$doc->php()); 
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_multidoc.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_multidoc.php
deleted file mode 100644
index dc30e42a14..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_multidoc.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-$testName = 'Multi document append phpQuery object';
-$testResult = array(
-	'p.body',
-);
-$doc1 = phpQuery::newDocumentFile('test.html');
-$doc2 = phpQuery::newDocumentFile('test.html');
-
-foreach ($doc1->find('p') as $node)
-   $doc2->find('body')->append(pq($node));
-$testResult = $doc2->find('p');
-if ( $testResult->size() == 2*$doc1->find('p')->size() )
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />";
-	$testResult->whois();
-}
-
-$testName = 'Multi document append DOMNode';
-$testResult = array(
-	'p.body',
-);
-$doc1 = phpQuery::newDocumentFile('test.html');
-$doc2 = phpQuery::newDocumentFile('test.html');
-foreach ($doc1->find('p') as $node)
-   $doc2->find('body')->append($node);
-$testResult = $doc2->find('p');
-if ( $testResult->size() == 2*$doc1->find('p')->size() )
-	print "Test '{$testName}' PASSED :)";
-else {
-	print "Test '{$testName}' <strong>FAILED</strong> !!!<br />";
-	$testResult->whois();
-}
-?>
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_php.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_php.php
deleted file mode 100644
index 728cb9fa8f..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_php.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-$testName = 'PHP Code output';
-$expected = <<<EOF
-<?php  print \$r  ?><a href="<?php print \$array['key']; if ("abc'd'") {}; ?>"></a>
-EOF;
-$result = phpQuery::newDocumentPHP(null, 'text/html;charset=utf-8')
-	->appendPHP('print $r')
-	->append('<a/>')
-		->find('a')
-			->attrPHP('href', 'print $array[\'key\']; if ("abc\'d\'") {};')
-		->end();
-if (trim($result->php()) == $expected)
-	print "Test '{$testName}' passed :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!!";
-print "\n";
-
-$testName = 'PHP file open';
-$result = phpQuery::newDocumentFilePHP('document-types/document-utf8.php');
-var_dump($result->php());
-/*
-	->appendPHP('print $r')
-	->append('<a/>')
-		->find('a')
-			->attrPHP('href', 'print $array[\'key\']; if ("abc\'d\'") {};')
-		->end();
-if (trim($result->php()) == $expected)
-	print "Test '{$testName}' passed :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!!";
-print "\n";
-*/
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_replace.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_replace.php
deleted file mode 100644
index bd96eaa181..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_replace.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-$testName = 'ReplaceWith';
-phpQuery::newDocumentFile('test.html')
-	->find('p:eq(1)')
-		->replaceWith("<p class='newTitle'>
-                        this is example title
-                    </p>");
-$result = pq('p:eq(1)');
-if ( $result->hasClass('newTitle') )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-$result->dump();
-print "\n";
-
-
-
-$testName = 'ReplaceAll';
-$testResult = 3;
-phpQuery::newDocumentFile('test.html');
-pq('<div class="replacer">')
-	->replaceAll('li:first p');
-$result = pq('.replacer');
-if ( $result->size() == $testResult )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-$result->dump();
-print "\n";
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_scripts.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_scripts.php
deleted file mode 100644
index c87c9c7787..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_scripts.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-//error_reporting(E_ALL);
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-phpQuery::plugin('Scripts');
-
-
-$testName = 'Scripts/example';
-$doc = phpQuery::newDocumentFile('test.html');
-$testResult = 10;
-if ($doc->script('example', 'p')->length == $testResult)
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	var_dump($doc->whois());
-	print "</pre>\n";
-}
-print "\n";
-
-
-$testName = 'Scripts/gmail_login';
-$testResult = 1;
-$url = 'http://code.google.com/p/phpquery/w/edit/MultiDocumentSupport';
-//phpQuery::ajaxAllowURL($url);
-$editor = phpQuery::newDocument('<div/>')
-	->script('google_login')
-	->location($url);
-if ($editor->find('textarea#content')->length == $testResult)
-	print "Test '$testName' PASSED :)";
-else {
-	print "Test '$testName' <strong>FAILED</strong> !!! ";
-	print "<pre>";
-	var_dump($doc->whois());
-	print "</pre>\n";
-}
-print "\n";
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_selectors.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_selectors.php
deleted file mode 100644
index 1aad964beb..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_selectors.php
+++ /dev/null
@@ -1,302 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-$testName = 'Selectors';
-$tests = array(
-	array(
-		'div:first',
-		array(
-			'div.articles',
-		)
-	),
-	array(
-		"p:contains('title')",
-		array(
-			'p.title',
-			'p.title',
-			'p.noTitle',
-		)
-	),
-	array(
-		"p:contains('title 2')",
-		array(
-			'p.title',
-		)
-	),
-	array(
-		'li:eq(1)',
-		array(
-			'li#testID',
-		)
-	),
-	array(
-		'li:eq(1) p:eq(1)',
-		array(
-			'p.title',
-		)
-	),
-	array(
-		'*[rel="test"]',
-		array(
-			'p',
-			'p'
-		)
-	),
-	array(
-		'#testID p:first',
-		array(
-			'p'
-		)
-	),
-	array(
-		"p:not('.title'):not('.body')",
-		array(
-			'p',
-			'p',
-			'p',
-			'p.noTitle',
-			'p.after',
-		)
-	),
-	array(
-		"[content*=html]",
-		array(
-			'meta'
-		)
-	),
-	array(
-		"li#testID, div.articles",
-		array(
-			'li#testID',
-			'div.articles'
-		)
-	),
-	array(
-		"script[src]:not([src^=<?php])",
-		array(
-			'script'
-		)
-	),
-//	array(
-//		'li:not([ul/li])',
-//		array(
-//			'li',
-//			'li#testID',
-//			'li',
-//			'li.nested',
-//			'li.second',
-//		)
-//	),
-	array(
-		'li:has(ul)',
-		array(
-			'li#i_have_nested_list',
-		)
-	),
-	array(
-		'p[rel] + p',
-		array(
-			'p.title',
-			'p.noTitle',
-		)
-	),
-	array(
-		'ul:first > li:first ~ *',
-		array(
-			'li#testID',
-			'li',
-		)
-	),
-	// CSS3 pseudoclasses
-	array(
-		'li:only-child',
-		array(
-			'li.nested',
-		)
-	),
-	array(
-		'p[rel=test]:parent',
-		array(
-			'p',
-			'p',
-		)
-	),
-	array(
-		'li:first-child',
-		array(
-			'li',
-			'li#i_have_nested_list',
-			'li.nested',
-		)
-	),
-	array(
-		':last-child',
-		array(
-			'html',
-			'script',
-			'body',
-			'p.body',
-			'p.body',
-			'li',
-			'p.body',
-			'p.after',
-			'ul',
-			'ul',
-			'li.nested',
-			'li.second',
-		)
-	),
-	array(
-		':nth-child(1n+1)',
-		array(
-			'html',
-			'head',
-			'meta',
-			'div.articles',
-			'ul',
-			'li',
-			'p',
-			'p',
-			'p',
-			'li#i_have_nested_list',
-			'ul',
-			'li.nested',
-		)
-	),
-	array(
-		':nth-child(3n+6)',
-		array(
-			'script',
-			'p.body',
-			'p.body',
-			'li',
-			'p.body',
-		)
-	),
-	array(
-		':nth-child(2n)',
-		array(
-			'title',
-			'script',
-			'body',
-			'p.title',
-			'li#testID',
-			'p.title',
-			'p.noTitle',
-			'p.after',
-			'ul',
-			'li.second',
-		)
-	),
-	array(
-		':nth-child(1)',
-		array(
-			'html',
-			'head',
-			'meta',
-			'div.articles',
-			'ul',
-			'li',
-			'p',
-			'p',
-			'p',
-			'li#i_have_nested_list',
-			'ul',
-			'li.nested',
-		)
-	),
-	array(
-		':nth-child(odd)',
-		array(
-			'html',
-			'head',
-			'meta',
-			'script',
-			'div.articles',
-			'ul',
-			'li',
-			'p',
-			'p.body',
-			'p',
-			'p.body',
-			'li',
-			'p',
-			'p.body',
-			'li#i_have_nested_list',
-			'ul',
-			'li.nested',
-		)
-	),
-	array(
-		':nth-child(even)',
-		array(
-			'title',
-			'script',
-			'body',
-			'p.title',
-			'li#testID',
-			'p.title',
-			'p.noTitle',
-			'p.after',
-			'ul',
-			'li.second',
-		)
-	),
-	array(
-		':empty',
-		array(
-			'meta',
-			'script',
-			'script',
-			'li.nested',
-		)
-	),
-
-
-//	array(
-//		'',
-//		array(
-//			'',
-//		)
-//	),
-//	array(
-//		'',
-//		array(
-//			'',
-//		)
-//	),
-//	array(
-//		'',
-//		array(
-//			'',
-//		)
-//	),
-);
-
-phpQuery::newDocumentFile('test.html');
-foreach( $tests as $k => $test ) {
-	$tests[ $k ][2] = pq( $test[0] )->whois();
-}
-foreach( $tests as $test ) {
-	if ( $test[1] == $test[2] )
-		print "Test '{$test[0]}' PASSED :)";
-	else {
-		print "Test '{$test[0]}' <strong>FAILED</strong> !!!";
-		print_r($test[2]);
-	}
-	print "<br /><br />";
-}
-
-//
-$testName = 'Complicated selector 1';
-phpQuery::newDocumentFile('test.html');
-pq('<select name="test[]"><option value=3>test</option></select>')
-	->appendTo('body');
-$result = pq('select[name="test[]"]:has(option[value=3])');
-if ( $result->size() == 1 )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-$result->dump();
-print "\n";
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_webbrowser.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_webbrowser.php
deleted file mode 100755
index b41981c279..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_webbrowser.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-phpQuery::extend('WebBrowser');
-
-phpQuery::$ajaxAllowedHosts[] = 'gmail.com';
-phpQuery::$ajaxAllowedHosts[] = 'google.com';
-phpQuery::$ajaxAllowedHosts[] = 'www.google.com';
-phpQuery::$ajaxAllowedHosts[] = 'www.google.pl';
-phpQuery::$ajaxAllowedHosts[] = 'mail.google.com';
-
-// Google search results
-if (0) {
-	phpQuery::$plugins->browserGet('http://google.com/', 'success1');
-	/**
-	*
-	* @param $pq phpQueryObject
-	* @return unknown_type
-	*/
-	function success1($pq) {
-		print 'success1 callback';
-		$pq
-			->WebBrowser('success2')
-				->find('input[name=q]')
-				->val('phpQuery')
-				->parents('form')
-					->submit()
-		;
-	}
-	/**
-	*
-	* @param $html phpQueryObject
-	* @return unknown_type
-	*/
-	function success2($pq) {
-		print 'success2 callback';
-		print $pq
-			->find('script')->remove()->end();
-	}
-}
-
-// Gmail login (not working...)
-if (0) {
-	phpQuery::plugin("Scripts");
-	phpQuery::newDocument('<div/>')
-		->script('google_login')
-		->location('http://mail.google.com/')
-		->toReference($pq);
-	if ($pq) {
-		print $pq->script('print_websafe');
-	}
-}
-
-// Gmail login v2 (not working...)
-if (0) {
-	$browser = null;
-	$browserCallback = new CallbackReference($browser);
-	phpQuery::browserGet('http://mail.google.com/', $browserCallback);
-	if ($browser) {
-		$browser
-			->WebBrowser($browserCallback)
-			->find('#Email')
-				->val('XXX@gmail.com')->end()
-			->find('#Passwd')
-				->val('XXX')
-				->parents('form')
-					->submit();
-		if ($browser) {
-			print $browser->script('print_websafe');
-		}
-	}
-}
-
-//	if ( $result->whois() == $testResult )
-//		print "Test '$testName' PASSED :)";
-//	else {
-//		print "Test '$testName' <strong>FAILED</strong> !!! ";
-//		print "<pre>";
-//		print_r($result->whois());
-//		print "</pre>\n";
-//	}
-//	print "\n";
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/test_wrap.php b/civicrm/vendor/electrolinux/phpquery/test-cases/test_wrap.php
deleted file mode 100644
index b84558001f..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/test_wrap.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-require_once('../phpQuery/phpQuery.php');
-phpQuery::$debug = true;
-
-$testName = 'Wrap';
-$p = phpQuery::newDocumentFile('test.html')
-	->find('p')
-		->slice(1, 3);
-$p->wrap('<div class="wrapper">');
-$result = true;
-foreach($p as $node) {
-	if (! pq($node)->parent()->is('.wrapper'))
-		$result = false;
-}
-if ($result)
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-$p->dump();
-print "\n";
-
-
-
-$testName = 'WrapAll';
-$testResult = 1;
-phpQuery::newDocumentFile('test.html')
-	->find('p')
-		->slice(1, 3)
-			->wrapAll('<div class="wrapper">');
-$result = pq('.wrapper');
-if ( $result->size() == $testResult )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-$result->dump();
-print "\n";
-
-
-
-$testName = 'WrapInner';
-$testResult = 3;
-phpQuery::newDocumentFile('test.html')
-	->find('li:first')
-		->wrapInner('<div class="wrapper">');
-$result = pq('.wrapper p');
-if ( $result->size() == $testResult )
-	print "Test '{$testName}' PASSED :)";
-else
-	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-print $result->dump();
-print "\n";
-
-
-// TODO !
-$testName = 'WrapAllTest';
-/*
-$doc = phpQuery::newDocumentHTML('<div id="myDiv"></div>');
-$doc['#myDiv']->append('hors paragraphe<p>Test</p>hors paragraphe')
-	->contents()
-		->not('[nodeType=1]')
-			->wrap('<p/>');
-var_dump((string)$doc);
-*/
-//$testResult = 3;
-//phpQuery::newDocumentFile('test.html')
-//	->find('li:first')
-//		->wrapInner('<div class="wrapper">');
-//$result = pq('.wrapper p');
-//if ( $result->size() == $testResult )
-//	print "Test '{$testName}' PASSED :)";
-//else
-//	print "Test '{$testName}' <strong>FAILED</strong> !!! ";
-//print $result->dump();
-//print "\n";
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/electrolinux/phpquery/test-cases/xpath.php b/civicrm/vendor/electrolinux/phpquery/test-cases/xpath.php
deleted file mode 100644
index aaa05d19e9..0000000000
--- a/civicrm/vendor/electrolinux/phpquery/test-cases/xpath.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-// here you can directly run xpath queries to debug your tests
-$Query = "//*[local-name()='p']";
-
-$DOM = new DOMDocument();
-$DOM->loadHTMLFile('test.html');
-$X = new DOMXPath($DOM);
-print $Query;
-whois($X->query($Query));
-function whois($nodeList) {
-	$return = array();
-	foreach( $nodeList as $node ) {
-		$return[] = (
-			$node->tagName
-			.($node->getAttribute('id')
-				? '#'.$node->getAttribute('id'):'')
-			.($node->getAttribute('class')
-				? '.'.join('.', split(' ', $node->getAttribute('class'))):'')
-		);
-	}
-	print "<pre>";
-	print_r($return);
-	print "</pre>";
-}
-?>
\ No newline at end of file
diff --git a/civicrm/vendor/marcj/topsort/.gitignore b/civicrm/vendor/marcj/topsort/.gitignore
new file mode 100644
index 0000000000..18899606d4
--- /dev/null
+++ b/civicrm/vendor/marcj/topsort/.gitignore
@@ -0,0 +1,2 @@
+./vendor
+./report
\ No newline at end of file
-- 
GitLab