From 826f5292f227d6bc2f6a465ee70cc05c0bbe72da Mon Sep 17 00:00:00 2001 From: Andrew Hutton Date: Mon, 24 Oct 2016 12:24:49 -0500 Subject: [PATCH] Updated to latest development version --- .gitignore | 1 + about.php | 51 + calendar.php | 28 + careers.php | 35 + common/footer.php | 5 + common/head-includes.php | 9 + common/menu.php | 50 + composer.json | 5 + composer.lock | 74 + config.php | 10 + contact.php | 33 + css/index.css | 131 + css/index.pyp | 111 + css/master.css | 201 + dues.php | 73 + favicon.ico | Bin 0 -> 81356 bytes groups.php | 74 + images/icons/add-to-slack.png | Bin 0 -> 5777 bytes images/logo-bordered.png | Bin 0 -> 13395 bytes images/logo.png | Bin 0 -> 81356 bytes images/officer_photos/bennett.jpg | Bin 0 -> 113303 bytes images/officer_photos/default-pimg.jpg | Bin 0 -> 39976 bytes index.php | 34 + join.php | 41 + officers.php | 240 + process_dues.php | 41 + tools/pypros.py | 229 + vendor/autoload.php | 7 + vendor/composer/ClassLoader.php | 413 ++ vendor/composer/LICENSE | 21 + vendor/composer/autoload_classmap.php | 9 + vendor/composer/autoload_namespaces.php | 9 + vendor/composer/autoload_psr4.php | 10 + vendor/composer/autoload_real.php | 52 + vendor/composer/autoload_static.php | 31 + vendor/composer/installed.json | 59 + vendor/stripe/stripe-php/.coveralls.yml | 4 + vendor/stripe/stripe-php/.gitignore | 14 + vendor/stripe/stripe-php/.travis.yml | 17 + vendor/stripe/stripe-php/CHANGELOG.md | 376 ++ vendor/stripe/stripe-php/LICENSE | 21 + vendor/stripe/stripe-php/README.md | 129 + vendor/stripe/stripe-php/VERSION | 1 + vendor/stripe/stripe-php/build.php | 36 + vendor/stripe/stripe-php/composer.json | 36 + .../stripe-php/data/ca-certificates.crt | 3919 +++++++++++++++++ vendor/stripe/stripe-php/data/test.png | Bin 0 -> 95 bytes vendor/stripe/stripe-php/init.php | 69 + vendor/stripe/stripe-php/lib/Account.php | 131 + .../stripe/stripe-php/lib/AlipayAccount.php | 13 + vendor/stripe/stripe-php/lib/ApiRequestor.php | 276 ++ vendor/stripe/stripe-php/lib/ApiResource.php | 205 + vendor/stripe/stripe-php/lib/ApiResponse.php | 32 + .../stripe/stripe-php/lib/ApplePayDomain.php | 65 + .../stripe/stripe-php/lib/ApplicationFee.php | 69 + .../stripe-php/lib/ApplicationFeeRefund.php | 44 + .../stripe/stripe-php/lib/AttachedObject.php | 31 + vendor/stripe/stripe-php/lib/Balance.php | 26 + .../stripe-php/lib/BalanceTransaction.php | 57 + vendor/stripe/stripe-php/lib/BankAccount.php | 25 + .../stripe/stripe-php/lib/BitcoinReceiver.php | 85 + .../stripe-php/lib/BitcoinTransaction.php | 13 + vendor/stripe/stripe-php/lib/Card.php | 13 + vendor/stripe/stripe-php/lib/Charge.php | 184 + vendor/stripe/stripe-php/lib/Collection.php | 87 + vendor/stripe/stripe-php/lib/CountrySpec.php | 44 + vendor/stripe/stripe-php/lib/Coupon.php | 77 + vendor/stripe/stripe-php/lib/Customer.php | 190 + vendor/stripe/stripe-php/lib/Dispute.php | 83 + vendor/stripe/stripe-php/lib/Error/Api.php | 7 + .../stripe-php/lib/Error/ApiConnection.php | 7 + .../stripe-php/lib/Error/Authentication.php | 7 + vendor/stripe/stripe-php/lib/Error/Base.php | 60 + vendor/stripe/stripe-php/lib/Error/Card.php | 41 + .../stripe-php/lib/Error/InvalidRequest.php | 23 + .../stripe/stripe-php/lib/Error/RateLimit.php | 7 + vendor/stripe/stripe-php/lib/Event.php | 43 + .../stripe/stripe-php/lib/ExternalAccount.php | 89 + vendor/stripe/stripe-php/lib/FileUpload.php | 61 + .../lib/HttpClient/ClientInterface.php | 18 + .../stripe-php/lib/HttpClient/CurlClient.php | 298 ++ vendor/stripe/stripe-php/lib/Invoice.php | 92 + vendor/stripe/stripe-php/lib/InvoiceItem.php | 77 + .../stripe-php/lib/JsonSerializable.php | 18 + vendor/stripe/stripe-php/lib/Order.php | 87 + vendor/stripe/stripe-php/lib/OrderReturn.php | 33 + vendor/stripe/stripe-php/lib/Plan.php | 77 + vendor/stripe/stripe-php/lib/Product.php | 77 + vendor/stripe/stripe-php/lib/Recipient.php | 92 + vendor/stripe/stripe-php/lib/Refund.php | 79 + vendor/stripe/stripe-php/lib/SKU.php | 77 + .../stripe-php/lib/SingletonApiResource.php | 36 + vendor/stripe/stripe-php/lib/Source.php | 44 + vendor/stripe/stripe-php/lib/Stripe.php | 126 + vendor/stripe/stripe-php/lib/StripeObject.php | 293 ++ vendor/stripe/stripe-php/lib/Subscription.php | 97 + vendor/stripe/stripe-php/lib/ThreeDSecure.php | 25 + vendor/stripe/stripe-php/lib/Token.php | 43 + vendor/stripe/stripe-php/lib/Transfer.php | 115 + .../stripe-php/lib/TransferReversal.php | 53 + .../lib/Util/AutoPagingIterator.php | 61 + .../stripe-php/lib/Util/RequestOptions.php | 79 + vendor/stripe/stripe-php/lib/Util/Set.php | 44 + vendor/stripe/stripe-php/lib/Util/Util.php | 142 + .../stripe/stripe-php/phpunit.no_autoload.xml | 15 + vendor/stripe/stripe-php/phpunit.xml | 15 + .../stripe/stripe-php/tests/AccountTest.php | 300 ++ .../stripe-php/tests/ApiRequestorTest.php | 68 + .../stripe-php/tests/ApplePayDomainTest.php | 72 + .../tests/ApplicationFeeRefundTest.php | 18 + .../stripe-php/tests/ApplicationFeeTest.php | 22 + .../tests/AuthenticationErrorTest.php | 16 + .../stripe/stripe-php/tests/BalanceTest.php | 15 + .../tests/BalanceTransactionTest.php | 13 + .../stripe-php/tests/BankAccountTest.php | 32 + .../stripe-php/tests/BitcoinReceiverTest.php | 120 + .../stripe/stripe-php/tests/CardErrorTest.php | 40 + vendor/stripe/stripe-php/tests/ChargeTest.php | 204 + .../stripe-php/tests/CollectionTest.php | 105 + .../stripe-php/tests/CountrySpecTest.php | 31 + vendor/stripe/stripe-php/tests/CouponTest.php | 29 + .../stripe-php/tests/CurlClientTest.php | 92 + .../stripe/stripe-php/tests/CustomerTest.php | 278 ++ .../stripe/stripe-php/tests/DiscountTest.php | 31 + .../stripe/stripe-php/tests/DisputeTest.php | 91 + vendor/stripe/stripe-php/tests/ErrorTest.php | 61 + .../stripe-php/tests/ExternalAccountTest.php | 30 + .../stripe-php/tests/FileUploadTest.php | 44 + .../tests/InvalidRequestErrorTest.php | 26 + .../stripe/stripe-php/tests/InvoiceTest.php | 56 + vendor/stripe/stripe-php/tests/PlanTest.php | 51 + .../stripe/stripe-php/tests/ProductTest.php | 158 + .../stripe-php/tests/RateLimitErrorTest.php | 22 + .../stripe/stripe-php/tests/RecipientTest.php | 112 + vendor/stripe/stripe-php/tests/RefundTest.php | 131 + .../stripe-php/tests/RequestOptionsTest.php | 69 + vendor/stripe/stripe-php/tests/SourceTest.php | 24 + .../stripe-php/tests/StripeObjectTest.php | 108 + .../stripe-php/tests/SubscriptionTest.php | 101 + vendor/stripe/stripe-php/tests/TestCase.php | 224 + .../stripe-php/tests/ThreeDSecureTest.php | 31 + vendor/stripe/stripe-php/tests/TokenTest.php | 13 + .../stripe-php/tests/TransferReversalTest.php | 15 + .../stripe/stripe-php/tests/TransferTest.php | 110 + vendor/stripe/stripe-php/tests/UtilTest.php | 45 + .../tests/bootstrap.no_autoload.php | 4 + vendor/stripe/stripe-php/tests/bootstrap.php | 3 + 147 files changed, 14032 insertions(+) create mode 100644 .gitignore create mode 100644 about.php create mode 100644 calendar.php create mode 100644 careers.php create mode 100644 common/footer.php create mode 100644 common/head-includes.php create mode 100644 common/menu.php create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config.php create mode 100644 contact.php create mode 100644 css/index.css create mode 100644 css/index.pyp create mode 100644 css/master.css create mode 100644 dues.php create mode 100644 favicon.ico create mode 100644 groups.php create mode 100644 images/icons/add-to-slack.png create mode 100644 images/logo-bordered.png create mode 100644 images/logo.png create mode 100644 images/officer_photos/bennett.jpg create mode 100755 images/officer_photos/default-pimg.jpg create mode 100644 index.php create mode 100644 join.php create mode 100644 officers.php create mode 100644 process_dues.php create mode 100644 tools/pypros.py create mode 100644 vendor/autoload.php create mode 100644 vendor/composer/ClassLoader.php create mode 100644 vendor/composer/LICENSE create mode 100644 vendor/composer/autoload_classmap.php create mode 100644 vendor/composer/autoload_namespaces.php create mode 100644 vendor/composer/autoload_psr4.php create mode 100644 vendor/composer/autoload_real.php create mode 100644 vendor/composer/autoload_static.php create mode 100644 vendor/composer/installed.json create mode 100644 vendor/stripe/stripe-php/.coveralls.yml create mode 100644 vendor/stripe/stripe-php/.gitignore create mode 100644 vendor/stripe/stripe-php/.travis.yml create mode 100644 vendor/stripe/stripe-php/CHANGELOG.md create mode 100644 vendor/stripe/stripe-php/LICENSE create mode 100644 vendor/stripe/stripe-php/README.md create mode 100644 vendor/stripe/stripe-php/VERSION create mode 100755 vendor/stripe/stripe-php/build.php create mode 100644 vendor/stripe/stripe-php/composer.json create mode 100644 vendor/stripe/stripe-php/data/ca-certificates.crt create mode 100644 vendor/stripe/stripe-php/data/test.png create mode 100644 vendor/stripe/stripe-php/init.php create mode 100644 vendor/stripe/stripe-php/lib/Account.php create mode 100644 vendor/stripe/stripe-php/lib/AlipayAccount.php create mode 100644 vendor/stripe/stripe-php/lib/ApiRequestor.php create mode 100644 vendor/stripe/stripe-php/lib/ApiResource.php create mode 100644 vendor/stripe/stripe-php/lib/ApiResponse.php create mode 100644 vendor/stripe/stripe-php/lib/ApplePayDomain.php create mode 100644 vendor/stripe/stripe-php/lib/ApplicationFee.php create mode 100644 vendor/stripe/stripe-php/lib/ApplicationFeeRefund.php create mode 100644 vendor/stripe/stripe-php/lib/AttachedObject.php create mode 100644 vendor/stripe/stripe-php/lib/Balance.php create mode 100644 vendor/stripe/stripe-php/lib/BalanceTransaction.php create mode 100644 vendor/stripe/stripe-php/lib/BankAccount.php create mode 100644 vendor/stripe/stripe-php/lib/BitcoinReceiver.php create mode 100644 vendor/stripe/stripe-php/lib/BitcoinTransaction.php create mode 100644 vendor/stripe/stripe-php/lib/Card.php create mode 100644 vendor/stripe/stripe-php/lib/Charge.php create mode 100644 vendor/stripe/stripe-php/lib/Collection.php create mode 100644 vendor/stripe/stripe-php/lib/CountrySpec.php create mode 100644 vendor/stripe/stripe-php/lib/Coupon.php create mode 100644 vendor/stripe/stripe-php/lib/Customer.php create mode 100644 vendor/stripe/stripe-php/lib/Dispute.php create mode 100644 vendor/stripe/stripe-php/lib/Error/Api.php create mode 100644 vendor/stripe/stripe-php/lib/Error/ApiConnection.php create mode 100644 vendor/stripe/stripe-php/lib/Error/Authentication.php create mode 100644 vendor/stripe/stripe-php/lib/Error/Base.php create mode 100644 vendor/stripe/stripe-php/lib/Error/Card.php create mode 100644 vendor/stripe/stripe-php/lib/Error/InvalidRequest.php create mode 100644 vendor/stripe/stripe-php/lib/Error/RateLimit.php create mode 100644 vendor/stripe/stripe-php/lib/Event.php create mode 100644 vendor/stripe/stripe-php/lib/ExternalAccount.php create mode 100644 vendor/stripe/stripe-php/lib/FileUpload.php create mode 100644 vendor/stripe/stripe-php/lib/HttpClient/ClientInterface.php create mode 100644 vendor/stripe/stripe-php/lib/HttpClient/CurlClient.php create mode 100644 vendor/stripe/stripe-php/lib/Invoice.php create mode 100644 vendor/stripe/stripe-php/lib/InvoiceItem.php create mode 100644 vendor/stripe/stripe-php/lib/JsonSerializable.php create mode 100644 vendor/stripe/stripe-php/lib/Order.php create mode 100644 vendor/stripe/stripe-php/lib/OrderReturn.php create mode 100644 vendor/stripe/stripe-php/lib/Plan.php create mode 100644 vendor/stripe/stripe-php/lib/Product.php create mode 100644 vendor/stripe/stripe-php/lib/Recipient.php create mode 100644 vendor/stripe/stripe-php/lib/Refund.php create mode 100644 vendor/stripe/stripe-php/lib/SKU.php create mode 100644 vendor/stripe/stripe-php/lib/SingletonApiResource.php create mode 100644 vendor/stripe/stripe-php/lib/Source.php create mode 100644 vendor/stripe/stripe-php/lib/Stripe.php create mode 100644 vendor/stripe/stripe-php/lib/StripeObject.php create mode 100644 vendor/stripe/stripe-php/lib/Subscription.php create mode 100644 vendor/stripe/stripe-php/lib/ThreeDSecure.php create mode 100644 vendor/stripe/stripe-php/lib/Token.php create mode 100644 vendor/stripe/stripe-php/lib/Transfer.php create mode 100644 vendor/stripe/stripe-php/lib/TransferReversal.php create mode 100644 vendor/stripe/stripe-php/lib/Util/AutoPagingIterator.php create mode 100644 vendor/stripe/stripe-php/lib/Util/RequestOptions.php create mode 100644 vendor/stripe/stripe-php/lib/Util/Set.php create mode 100644 vendor/stripe/stripe-php/lib/Util/Util.php create mode 100644 vendor/stripe/stripe-php/phpunit.no_autoload.xml create mode 100644 vendor/stripe/stripe-php/phpunit.xml create mode 100644 vendor/stripe/stripe-php/tests/AccountTest.php create mode 100644 vendor/stripe/stripe-php/tests/ApiRequestorTest.php create mode 100644 vendor/stripe/stripe-php/tests/ApplePayDomainTest.php create mode 100644 vendor/stripe/stripe-php/tests/ApplicationFeeRefundTest.php create mode 100644 vendor/stripe/stripe-php/tests/ApplicationFeeTest.php create mode 100644 vendor/stripe/stripe-php/tests/AuthenticationErrorTest.php create mode 100644 vendor/stripe/stripe-php/tests/BalanceTest.php create mode 100644 vendor/stripe/stripe-php/tests/BalanceTransactionTest.php create mode 100644 vendor/stripe/stripe-php/tests/BankAccountTest.php create mode 100644 vendor/stripe/stripe-php/tests/BitcoinReceiverTest.php create mode 100644 vendor/stripe/stripe-php/tests/CardErrorTest.php create mode 100644 vendor/stripe/stripe-php/tests/ChargeTest.php create mode 100644 vendor/stripe/stripe-php/tests/CollectionTest.php create mode 100644 vendor/stripe/stripe-php/tests/CountrySpecTest.php create mode 100644 vendor/stripe/stripe-php/tests/CouponTest.php create mode 100644 vendor/stripe/stripe-php/tests/CurlClientTest.php create mode 100644 vendor/stripe/stripe-php/tests/CustomerTest.php create mode 100644 vendor/stripe/stripe-php/tests/DiscountTest.php create mode 100644 vendor/stripe/stripe-php/tests/DisputeTest.php create mode 100644 vendor/stripe/stripe-php/tests/ErrorTest.php create mode 100644 vendor/stripe/stripe-php/tests/ExternalAccountTest.php create mode 100644 vendor/stripe/stripe-php/tests/FileUploadTest.php create mode 100644 vendor/stripe/stripe-php/tests/InvalidRequestErrorTest.php create mode 100644 vendor/stripe/stripe-php/tests/InvoiceTest.php create mode 100644 vendor/stripe/stripe-php/tests/PlanTest.php create mode 100644 vendor/stripe/stripe-php/tests/ProductTest.php create mode 100644 vendor/stripe/stripe-php/tests/RateLimitErrorTest.php create mode 100644 vendor/stripe/stripe-php/tests/RecipientTest.php create mode 100644 vendor/stripe/stripe-php/tests/RefundTest.php create mode 100644 vendor/stripe/stripe-php/tests/RequestOptionsTest.php create mode 100644 vendor/stripe/stripe-php/tests/SourceTest.php create mode 100644 vendor/stripe/stripe-php/tests/StripeObjectTest.php create mode 100644 vendor/stripe/stripe-php/tests/SubscriptionTest.php create mode 100644 vendor/stripe/stripe-php/tests/TestCase.php create mode 100644 vendor/stripe/stripe-php/tests/ThreeDSecureTest.php create mode 100644 vendor/stripe/stripe-php/tests/TokenTest.php create mode 100644 vendor/stripe/stripe-php/tests/TransferReversalTest.php create mode 100644 vendor/stripe/stripe-php/tests/TransferTest.php create mode 100644 vendor/stripe/stripe-php/tests/UtilTest.php create mode 100644 vendor/stripe/stripe-php/tests/bootstrap.no_autoload.php create mode 100644 vendor/stripe/stripe-php/tests/bootstrap.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..03c88fd --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.htaccess diff --git a/about.php b/about.php new file mode 100644 index 0000000..71e062d --- /dev/null +++ b/about.php @@ -0,0 +1,51 @@ + + + + + About Us | Association for Computing Machinery UTSA + + + +
+
+
+

About ACM UTSA

+

+ We at The Association for Computing Machinery at UTSA are dedicated + to giving our members and students the opportunity to gain experience, + network, socialize, learn, and grow outside of the classroom in all fields + of technology and computing. +

+

+ We are first and foremost an official UTSA student organization, and an + official university chapter of the national Association for Computing Machinery. +

+

Our History

+

+ The UTSA chapter of ACM was founded by Danny Tsang and Kurt King in the Fall of 2015, + who saw the need for a student organization for nearly one thousand computer science + students. Since then, the chapter has grown at a remarkable pace into a huge organization + that provides a valuable social environment for a once-fragmented group. +

+

What We Offer

+

+ As UTSA's premier computer science student organization, ACM offers: +

+
    +
  • Career development and opportunities
  • +
  • Technical hands-on workshops on various technologies
  • +
  • Social events, hackathons, and competitions
  • +
  • A fun & welcoming atmosphere for all members
  • +
+
+
+
+ + + diff --git a/calendar.php b/calendar.php new file mode 100644 index 0000000..3ab7b26 --- /dev/null +++ b/calendar.php @@ -0,0 +1,28 @@ + + + + + Calendar | Association for Computing Machinery UTSA + + + +
+
+
+ +
+ +
+
+
+
+ + + diff --git a/careers.php b/careers.php new file mode 100644 index 0000000..45d6d8a --- /dev/null +++ b/careers.php @@ -0,0 +1,35 @@ + + + + + Careers | Association for Computing Machinery UTSA + + + +
+
+
+

Career Opportunity 1

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+

Opportunity at ...

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+

Career Opportunity

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+
+
+ + + diff --git a/common/footer.php b/common/footer.php new file mode 100644 index 0000000..07e1470 --- /dev/null +++ b/common/footer.php @@ -0,0 +1,5 @@ + diff --git a/common/head-includes.php b/common/head-includes.php new file mode 100644 index 0000000..19ca0cb --- /dev/null +++ b/common/head-includes.php @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/common/menu.php b/common/menu.php new file mode 100644 index 0000000..971a6f3 --- /dev/null +++ b/common/menu.php @@ -0,0 +1,50 @@ + diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..a2994dc --- /dev/null +++ b/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "stripe/stripe-php": "3.*" + } +} \ No newline at end of file diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..30a50e6 --- /dev/null +++ b/composer.lock @@ -0,0 +1,74 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "058a8906449b8dd9978093ba0dbd8775", + "content-hash": "89fbe44a7795c75e00b25ec13b677dcd", + "packages": [ + { + "name": "stripe/stripe-php", + "version": "v3.23.0", + "source": { + "type": "git", + "url": "https://github.com/stripe/stripe-php.git", + "reference": "c702a2ed92f4b39603c4a796492d87bcc16c819c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/c702a2ed92f4b39603c4a796492d87bcc16c819c", + "reference": "c702a2ed92f4b39603c4a796492d87bcc16c819c", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6.1", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Stripe\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stripe and contributors", + "homepage": "https://github.com/stripe/stripe-php/contributors" + } + ], + "description": "Stripe PHP Library", + "homepage": "https://stripe.com/", + "keywords": [ + "api", + "payment processing", + "stripe" + ], + "time": "2016-09-15 18:16:59" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/config.php b/config.php new file mode 100644 index 0000000..1c83029 --- /dev/null +++ b/config.php @@ -0,0 +1,10 @@ + "sk_test_EHk5qcfpLuiUFbXsIsxJILl6", + "publishable_key" => "pk_test_iJfHyrP1BhsIvaWJEsQ7ojby" +); + +\Stripe\Stripe::setApiKey($stripe['secret_key']); +?> \ No newline at end of file diff --git a/contact.php b/contact.php new file mode 100644 index 0000000..82d64a9 --- /dev/null +++ b/contact.php @@ -0,0 +1,33 @@ + + + + + Contact Us | Association for Computing Machinery UTSA + + + +
+
+
+ +

Contact Us

+

+ ACM's primary form of communication is Slack (acm-utsa.slack.com). +

+ [add to slack button] +

+ For any general inquiries, comments, questions, or any other business, please + contact us at acm.utsa@gmail.com. +

+
+
+
+ + + diff --git a/css/index.css b/css/index.css new file mode 100644 index 0000000..4413f29 --- /dev/null +++ b/css/index.css @@ -0,0 +1,131 @@ +* { + transition: all .2s ease; +} + +#main-menu-container { + background-color: #204972; + color: #fff; + height: 130px; +} + +.navbar-collapse { + background-color: #204972; +} + +.navbar, .navbar > div, .navbar-header { + height: 130px; +} + +.navbar { + margin-bottom: 0; + border-style: none; +} + +.navbar-brand { + padding: 0; + height: 130px; +} + +#logo { + width: 160px; + margin: 0; +} + +#menu-container { + postion: fixed; + top: 0; + left: 0; + right: 0; +} + +.nav { +} + +.nav>li { +} + +.nav>li>a { + color: #fff; +} + +.nav>li>a:hover { + background-color: #296097; +} + +.icon-bar { + background-color: #fff; +} + +#sub-menu-container { + padding: 0; +} + +#sub-menu { + background-color: #ccc; + padding: 0; + margin: 0; +} + +.sub-menu-item { + margin:0px 0px 0px -4px; + padding:20px; + display:inline-block; + color:white; + text-shadow:0px 0px 1px #000; +} + +.sub-menu-item:hover { + color: #fff; + text-decoration: none; +} + +#sub-menu-item-1 { + background-color:#217dba; +} + +#sub-menu-item-1:hover { + background-color:#3498db; +} + +#sub-menu-item-2 { + background-color:#007184; +} + +#sub-menu-item-2:hover { + background-color:#009cb8; +} + +#sub-menu-item-3 { + background-color:#2a844a; +} + +#sub-menu-item-3:hover { + background-color:#36ab5f; +} + +#sub-menu-item-4 { + background-color:#87c115; +} + +#sub-menu-item-4:hover { + background-color:#a5e723; +} + +#content { + margin-top: 50px; + background-color: #ccc; + min-height: 1000px; +} + +@media (min-width: 833px) and (max-width: 992px), (min-width: 1057px) and (max-width: 1200px), (min-width: 1265px) { + .navbar-brand { + margin-left: -65px !important; + } + +} +@media (max-width: 767px) { + #sub-menu-container { + display: none; + } + +} diff --git a/css/index.pyp b/css/index.pyp new file mode 100644 index 0000000..ae80091 --- /dev/null +++ b/css/index.pyp @@ -0,0 +1,111 @@ +* + transition: all .2s ease; + +#main-menu-container + background-color: #204972; + color: #fff; + height: 130px; + +.navbar-collapse + background-color: #204972; + +.navbar, .navbar > div, .navbar-header + height: 130px; + +.navbar + margin-bottom: 0; + border-style: none; + +.navbar-brand + padding: 0; + height: 130px; + +#logo + width: 160px; + margin: 0; + +#menu-container + postion: fixed; + top: 0; + left: 0; + right: 0; + +.nav + &>li + &>a + color: #fff; + &:hover + background-color: #296097; + +.icon-bar + background-color: #fff; + +@media (min-width: 833px) and (max-width: 992px), (min-width: 1057px) and (max-width: 1200px), (min-width: 1265px) + .navbar-brand + margin-left: -65px !important; + + +@media (max-width: 767px) + #logo + height: 129px; + width: 129px; + .navbar-brand + margin: 0 auto !important; + #menu-container + position: absolute; + +#sub-menu-container + padding: 0; + +@media (max-width: 767px) + #sub-menu-container + display: none; + +#sub-menu + background-color: #ccc; + padding: 0; + margin: 0; + +.sub-menu-item + margin:0px 0px 0px -4px; + padding:20px; + display:inline-block; + color:white; + text-shadow:0px 0px 1px #000; + + &:hover + color: #fff; + text-decoration: none; + + +#sub-menu-item-1 + background-color:#217dba; + +#sub-menu-item-1:hover + background-color:#3498db; + + +#sub-menu-item-2 + background-color:#007184; + +#sub-menu-item-2:hover + background-color:#009cb8; + + +#sub-menu-item-3 + background-color:#2a844a; + +#sub-menu-item-3:hover + background-color:#36ab5f; + + +#sub-menu-item-4 + background-color:#87c115; + +#sub-menu-item-4:hover + background-color:#a5e723; + +#content + margin-top: 50px; + background-color: #ccc; + min-height: 1000px; diff --git a/css/master.css b/css/master.css new file mode 100644 index 0000000..b2a375a --- /dev/null +++ b/css/master.css @@ -0,0 +1,201 @@ +/**************************** + Global styles +****************************/ +* { + transition: all .2s ease; +} + +/**************************** + Header & main navbar +****************************/ +#main-menu-container { + background-color: #204972; + color: #ffffff; + height: 130px; +} + +.navbar-collapse { + background-color: #204972; +} + +.navbar, .navbar > div, .navbar-header { + height: 130px; +} + +.navbar { + margin-bottom: 0; + border-style: none; +} + +.navbar-brand { + padding: 0; + height: 130px; +} + +#logo { + width:160px; + margin: 0; +} + +#menu-container { + z-index: 1000; + position:fixed; + top:0px; + left:0px; + right:0px; +} + +.nav>li>a{ + color:#ffffff; + background-color: inherit; +} + +.nav>li>a:hover{ + background-color: #296097; +} + +.icon-bar{ + background-color: #ffffff; +} + +/* width >= 768px (tablet, laptop, desktop) */ +@media (min-width: 768px) { + .navbar-right { + position: relative; + top: 80px !important; + margin-right: -30px; + } + /* Hide sub-menu entries on the main navbar unless collapsed */ + .main-sub-menu-item { + display: none !important; + } +} + +/* width >= (breakpoint + 65px) (prevents logo from being pushed off the page on tablet, laptop, desktop) */ +@media (min-width: 833px) and (max-width: 992px), (min-width: 1057px) and (max-width: 1200px), (min-width: 1265px){ + .navbar-brand{ + margin-left: -65px !important; + } +} + +/* width < 768px (mobile) */ +@media (max-width: 767px) { + #logo { + height: 50px; + width: 50px; + } + .navbar-brand { + margin: 0 auto !important; + } + #main-menu-container, .navbar, .navbar > div, .navbar-header, .navbar-brand { + height: 50px !important; + } + + #menu-container{ + position: absolute; + } + + +} + +/**************************** + Colorful sub-navbar +****************************/ +#sub-menu-container { + padding: 0; +} + +@media (max-width: 767px) { + #sub-menu-container { + display: none; + } +} + +#sub-menu { + background-color:#ccc; + padding:0px; + margin:0px; +} + +.sub-menu-item { + margin:0px 0px 0px -4px; + padding:20px; + display:inline-block; + color:white; + text-shadow:0px 0px 1px #000; +} +.sub-menu-item:hover { + color:#fff; + text-decoration:none; +} + +#sub-menu-item-1 { + background-color:#217dba; /* 10% darker than on hover */ +} +#sub-menu-item-1:hover { + background-color:#3498db; +} + +#sub-menu-item-2 { + background-color:#007184; /* 10% darker than on hover */ +} +#sub-menu-item-2:hover { + background-color:#009cb8; +} + +#sub-menu-item-3 { + background-color:#2a844a; /* 10% darker than on hover */ +} +#sub-menu-item-3:hover { + background-color:#36ab5f; +} + +#sub-menu-item-4 { + background-color:#87c115; /* 10% darker than on hover */ +} +#sub-menu-item-4:hover { + background-color:#a5e723; +} + +/**************************** + Page content +****************************/ +#content { + margin-top: 130px; + padding: 54px 30px 20px 30px; /* min padding-top:54px; */ + min-height: 500px; /* for demonstration */ + box-shadow:0px 0px 15px -10px #000; /* for demonstration */ +} +/* width < 768px (mobile) */ +@media (max-width: 767px) { + #content { + margin-top: 50px; + padding-top: 10px; + } +} + +button, input[type=button], input[type=submit], .strip-button{ + position: relative; + top: 0px; + box-shadow: 0px 0px 0px #000000; + border-style: none; + background-color: #1a4a86; + color: #ffffff; + padding: 10px; + margin: 10px; + border-radius: 2px; +} + +button:hover, input[type=button]:hover, input[type=submit]:hover, .strip-button:hover{ + top: -3px; + box-shadow: 0px 3px 10px -3px #000000; + background-color: #1a4a86; + color: #ffffff; +} + +/**************************** + Footer +****************************/ +#footer { + padding: 20px 30px; +} diff --git a/dues.php b/dues.php new file mode 100644 index 0000000..d086c95 --- /dev/null +++ b/dues.php @@ -0,0 +1,73 @@ + + + + + Pay Dues | Association for Computing Machinery UTSA + + + +
+
+
+ + +
+ +
+
+ +
+
+
+
+
+
+
+
+
+

+ We think it's awesome to have snacks at meetings. Prizes, travel reimbursements, t-shirts, + and a myriad of other benefits provided to ACM members are all funded by our dues. We believe + that it's important to give back to members, so we take every opportunity to make ACM awesome. +

+
+
+
+
+ +
+
+
+
+
+ + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f0f654160cf6a24ca49a4c24fb87752c3e0363f0 GIT binary patch literal 81356 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≻>n@fk)59@DNfw0Uprv0#J2V- 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 A5&!@I literal 0 HcmV?d00001 diff --git a/groups.php b/groups.php new file mode 100644 index 0000000..1e8e29f --- /dev/null +++ b/groups.php @@ -0,0 +1,74 @@ + + + + + Groups | Association for Computing Machinery UTSA + + + +
+
+
+

ACM Groups & Committees

+

+ +

+
+

Linux

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+
+

Web Development

+

+ The ACM Web Development group is dedicated to designing, developing, and + publishing the chapter's website and any associated web content. +

+

+ For more information, join the #web-dev channel on Slack. +

+

Meeting Times

+

+ Weekly, every Tuesday at 11:30am in the CS Main Lab (Linux section) +

+
+
+

ACM-W

+

+ The Association for Computing Machinery — Women chapter is + ACM's sister organization dedicated to the advancement of women + and other underrepresented groups in the field of computer + science. +

+
+
+

RowdyHacks Planning

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+
+

ACM-ICPC

+

+ The ACM-ICPC, or International Collegiate Programming Contest, is + a world-wide programming contest where thousands of 3-person teams + compete by solving around 8-12 difficult algorithm problems. +

+

+ If you are interested in joining the UTSA ICPC team for the 2017-2018 school year, + join us on Slack at [slack link]. +

+
+
+
+
+ + + diff --git a/images/icons/add-to-slack.png b/images/icons/add-to-slack.png new file mode 100644 index 0000000000000000000000000000000000000000..0c269aa1b4f76667c91ff4ca406244cc1ada908b GIT binary patch literal 5777 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 WaHn^%C7R;kA1%$p8fkk>ef|dxGJm@O literal 0 HcmV?d00001 diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f654160cf6a24ca49a4c24fb87752c3e0363f0 GIT binary patch literal 81356 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≻>n@fk)59@DNfw0Uprv0#J2V- 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 A5&!@I literal 0 HcmV?d00001 diff --git a/images/officer_photos/bennett.jpg b/images/officer_photos/bennett.jpg new file mode 100644 index 0000000000000000000000000000000000000000..95c65e7b30415a628ef712d9ec338e77c521e8e5 GIT binary patch literal 113303 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 UWV2jAw-I9OHwBqUu>T$Y9~h||a{vGU literal 0 HcmV?d00001 diff --git a/images/officer_photos/default-pimg.jpg b/images/officer_photos/default-pimg.jpg new file mode 100755 index 0000000000000000000000000000000000000000..8f9397c55e98b4a7bb67f29dc006f6b8a6375aa5 GIT binary patch literal 39976 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 + + + + The Association for Computing Machinery — UTSA + + + +
+
+
+

Upcoming Events

+

+ Meeting on ... +

+

Announcements

+

+ Remember to pay your dues! +

+ + + +
+
+
+ + + diff --git a/join.php b/join.php new file mode 100644 index 0000000..eb6779a --- /dev/null +++ b/join.php @@ -0,0 +1,41 @@ + + + + + Join Us | Association for Computing Machinery UTSA + + + +
+
+
+ +

Joining ACM

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + Membership in ACM UTSA is on a semester-basis. + There are only two simple membership requirements: +

+ +

+ Once you pay your dues, you will become a full member of + ACM UTSA and enjoy all of the benefits. We strongly believe + that membership participation is vital to creating a fun + and engaging experience, so the only thing we ask of our + members is to actively participate in our meetings and events. +

+
+
+
+ + + diff --git a/officers.php b/officers.php new file mode 100644 index 0000000..8919b85 --- /dev/null +++ b/officers.php @@ -0,0 +1,240 @@ + + + + + + Officers | Association for Computing Machinery UTSA + + + + + +
+
+
+ +
+
+
+ +
+

+ King of ACM +

+

+ Nishant Grover +

+ +

+ utsa.acm@gmail.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Public Relations Chair +

+

+ Andrew Bennett +

+ +

+ abennett0322@gmail.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+ +
+

+ Officer +

+

+ First Last +

+ +

+ user@example.com +

+
+
+
+
+
+
+ + + diff --git a/process_dues.php b/process_dues.php new file mode 100644 index 0000000..87577f3 --- /dev/null +++ b/process_dues.php @@ -0,0 +1,41 @@ + 'customer@example.com', + 'source' => $token + )); + + $charge = \Stripe\Charge::create(array( + 'customer' => $customer->id, + 'amount' => 1000, + 'currency' => 'usd' + )); +?> + + + + + Pay Dues | Association for Computing Machinery UTSA + + + +
+
+
+ + Payment Successful +
+
+ Thank you! +
+
+
+ + diff --git a/tools/pypros.py b/tools/pypros.py new file mode 100644 index 0000000..243daef --- /dev/null +++ b/tools/pypros.py @@ -0,0 +1,229 @@ +from collections import deque +import sys, hashlib, time, operator +import pprint + +def stack_string(stack): + out = "" + for i in stack: + out += i.lstrip().rstrip() + ' ' + return out + + +def indent_string(levels): + out = "" + for i in levels: + out += i + return out + +def check_indent(levels, line): + indent = line[:line.find(line.lstrip())] + return indent == indent_string(levels) + +def build(filename): + + f = open(filename, 'r') + + + output = {0:{}} + indent_level = [''] + selector_stack = deque() + depth_inc = False + encounter = 0 + key = 0 + + for line in f: + if not line.isspace(): + + if check_indent(indent_level, line) and not depth_inc: + if line.find(';') == -1: + selector_stack.append(line.rstrip().lstrip()) + selector = stack_string(selector_stack) + if selector not in output[key]: + output[key][stack_string(selector_stack)] = [encounter, []] + encounter += 1 + + depth_inc = True + if line.find('@') != -1: + if selector in output[0]: + del output[0][selector] + selector_stack.pop() + + key = line.lstrip().rstrip() + output[key] = {} + depth_inc = True + else: + output[key][stack_string(selector_stack)][1].append(line.rstrip().lstrip()) + else: + + indent = line[:line.find(line.lstrip())] + if depth_inc and len(indent_string(indent_level)) >= len(indent): + + selector_stack.pop() + + if line.find(';') == -1: + selector_stack.append(line.rstrip().lstrip()) + selector = stack_string(selector_stack) + if selector not in output[key]: + output[key][stack_string(selector_stack)] = [encounter, []] + encounter += 1 + depth_inc = True + if line.find('@') != -1: + if selector in output[0]: + del output[0][selector] + + + key = line.lstrip().rstrip() + output[key] = {} + depth_inc = True + else: + depth_inc = False + elif depth_inc and len(indent_string(indent_level)) < len(indent): + + if line.find(';') == -1: + selector_stack.append(line.rstrip().lstrip()) + selector = stack_string(selector_stack) + if selector not in output[key]: + output[key][stack_string(selector_stack)] = [encounter, []] + encounter += 1 + + added_indent = indent[len(indent_string(indent_level)):] + + indent_level.append(added_indent) + + depth_inc = True + if line.find('@') != -1: + + if selector in output[0]: + del output[0][selector] + + selector_stack.pop() + key = line.lstrip().rstrip() + output[key] = {} + depth_inc = True + else: + added_indent = indent[len(indent_string(indent_level)):] + + indent_level.append(added_indent) + output[key][stack_string(selector_stack)][1].append(line.rstrip().lstrip()) + depth_inc = False + elif depth_inc: + + + selector_stack.pop() + depth_inc = False + + + else: + + while indent_string(indent_level) != indent: + if indent_string(indent_level) == '': + break + + indent_level.pop() + if len(selector_stack) > 0: + selector_stack.pop() + if indent_string(indent_level) == '': + + indent_level = [''] + selector_stack = deque() + depth_inc = False + key = 0 + if line.find(';') == -1: + selector_stack.append(line.rstrip().lstrip()) + selector = stack_string(selector_stack) + if selector not in output[key]: + output[key][stack_string(selector_stack)] = [encounter, []] + encounter += 1 + + depth_inc = True + if line.find('@') != -1: + + if selector in output[0]: + del output[0][selector] + selector_stack.pop() + key = line.lstrip().rstrip() + output[key] = {} + depth_inc = True + else: + output[key][stack_string(selector_stack)][1].append(line.rstrip().lstrip()) + + f.close() + return output + +def write(filename, data): + + f = open(filename, 'w') + out = '' + #pprint.pprint(data) + + for key in data.keys(): + tab = '' + if key != 0: + tab = '\t' + out += key + " {\n" + keys = sorted(data[key].items(), key=operator.itemgetter(1)) + for selector, _ in keys: + sel = selector.replace(' &', '') + out += tab + sel + '{\n' + for i in data[key][selector][1]: + + out += tab + '\t' + i.lstrip().rstrip() + '\n' + out += tab + '}\n\n' + if key != 0: + out += '}\n' + + f.write(out) + f.close() + +def process(filename): + print('Processing', filename+'...') + css_file = filename+'.css' if not filename.endswith('.pyp') else filename[:filename.index('.pyp')]+'.css' + pyp_file = filename+'.pyp' if not filename.endswith('.pyp') else filename + write(css_file, build(pyp_file)) + +if __name__ == '__main__': + + watched = {} + watch = False + + for arg in sys.argv[1:]: + if arg.startswith('-'): + flags = arg[1:].split() + for flag in flags: + if flag == 'w': + watch = True + else: + if watch: + key = arg if arg.endswith('.pyp') else arg + '.pyp' + f = open(key, 'rb') + hash_obj = hashlib.md5() + hash_obj.update(f.read()) + digest = hash_obj.hexdigest() + watched[key] = digest + + f.close() + process(arg) + + while watch: + + for filename in watched: + name = filename if filename.endswith('.pyp') else filename + '.pyp' + f = open(name, 'rb') + data = f.read() + f.close() + hash_obj = hashlib.md5() + hash_obj.update(data) + digest = hash_obj.hexdigest() + if watched[name] != digest: + + process(name) + watched[name] = digest + + time.sleep(1) + + + + + + + diff --git a/vendor/autoload.php b/vendor/autoload.php new file mode 100644 index 0000000..09c6e94 --- /dev/null +++ b/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + + private $classMapAuthoritative = false; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 + if ('\\' == $class[0]) { + $class = substr($class, 1); + } + + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative) { + return false; + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if ($file === null && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if ($file === null) { + // Remember that this class does not exist. + return $this->classMap[$class] = false; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) { + if (0 === strpos($class, $prefix)) { + foreach ($this->prefixDirsPsr4[$prefix] as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE new file mode 100644 index 0000000..1a28124 --- /dev/null +++ b/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2016 Nils Adermann, Jordi Boggiano + +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/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000..7a91153 --- /dev/null +++ b/vendor/composer/autoload_classmap.php @@ -0,0 +1,9 @@ + array($vendorDir . '/stripe/stripe-php/lib'), +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php new file mode 100644 index 0000000..8c8e7dd --- /dev/null +++ b/vendor/composer/autoload_real.php @@ -0,0 +1,52 @@ += 50600 && !defined('HHVM_VERSION'); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInitc61725e3ba8a7d85bd590553bf2634a5::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + return $loader; + } +} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php new file mode 100644 index 0000000..07fa98b --- /dev/null +++ b/vendor/composer/autoload_static.php @@ -0,0 +1,31 @@ + + array ( + 'Stripe\\' => 7, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Stripe\\' => + array ( + 0 => __DIR__ . '/..' . '/stripe/stripe-php/lib', + ), + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitc61725e3ba8a7d85bd590553bf2634a5::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitc61725e3ba8a7d85bd590553bf2634a5::$prefixDirsPsr4; + + }, null, ClassLoader::class); + } +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json new file mode 100644 index 0000000..c08e136 --- /dev/null +++ b/vendor/composer/installed.json @@ -0,0 +1,59 @@ +[ + { + "name": "stripe/stripe-php", + "version": "v3.23.0", + "version_normalized": "3.23.0.0", + "source": { + "type": "git", + "url": "https://github.com/stripe/stripe-php.git", + "reference": "c702a2ed92f4b39603c4a796492d87bcc16c819c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/c702a2ed92f4b39603c4a796492d87bcc16c819c", + "reference": "c702a2ed92f4b39603c4a796492d87bcc16c819c", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6.1", + "squizlabs/php_codesniffer": "~2.0" + }, + "time": "2016-09-15 18:16:59", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Stripe\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stripe and contributors", + "homepage": "https://github.com/stripe/stripe-php/contributors" + } + ], + "description": "Stripe PHP Library", + "homepage": "https://stripe.com/", + "keywords": [ + "api", + "payment processing", + "stripe" + ] + } +] diff --git a/vendor/stripe/stripe-php/.coveralls.yml b/vendor/stripe/stripe-php/.coveralls.yml new file mode 100644 index 0000000..a343c9a --- /dev/null +++ b/vendor/stripe/stripe-php/.coveralls.yml @@ -0,0 +1,4 @@ +service_name: travis-ci +src_dir: . +coverage_clover: clover.xml +json_path: coveralls-upload.json diff --git a/vendor/stripe/stripe-php/.gitignore b/vendor/stripe/stripe-php/.gitignore new file mode 100644 index 0000000..93251c9 --- /dev/null +++ b/vendor/stripe/stripe-php/.gitignore @@ -0,0 +1,14 @@ +# Mac OS X dumps these all over the place. +.DS_Store + +# Ignore the SimpleTest library if it is installed to /test/. +/test/simpletest/ + +# Ignore the /vendor/ directory for people using composer +/vendor/ + +# If the vendor directory isn't being commited the composer.lock file should also be ignored +composer.lock + +# Ignore PHPUnit coverage file +clover.xml diff --git a/vendor/stripe/stripe-php/.travis.yml b/vendor/stripe/stripe-php/.travis.yml new file mode 100644 index 0000000..e46e1f3 --- /dev/null +++ b/vendor/stripe/stripe-php/.travis.yml @@ -0,0 +1,17 @@ +language: php + +php: + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - hhvm + +env: + - AUTOLOAD=1 + - AUTOLOAD=0 + +script: ./build.php ${AUTOLOAD} +after_script: ./vendor/bin/coveralls -v +sudo: false diff --git a/vendor/stripe/stripe-php/CHANGELOG.md b/vendor/stripe/stripe-php/CHANGELOG.md new file mode 100644 index 0000000..e5513e2 --- /dev/null +++ b/vendor/stripe/stripe-php/CHANGELOG.md @@ -0,0 +1,376 @@ +### 3.23.0 2016-09-15 + +* Add support for Apple Pay domains + +### 3.22.0 2016-09-13 + +* Add `Stripe::setAppInfo` to allow plugins to register user agent information + +### 3.21.0 2016-08-25 + +* Add `Source` model for generic payment sources + +### 3.20.0 2016-08-08 + +* Add `getDeclineCode` to card errors + +### 3.19.0 2016-07-29 + +* Opt requests directly into TLS 1.2 where OpenSSL >= 1.0.1 (see #277 for context) + +### 3.18.0 2016-07-28 + +* Add new `STATUS_` constants for subscriptions + +### 3.17.1 2016-07-28 + +* Fix auto-paging iterator so that it plays nicely with `iterator_to_array` + +### 3.17.0 2016-07-14 + +* Add field annotations to model classes for better editor hinting + +### 3.16.0 2016-07-12 + +* Add `ThreeDSecure` model for 3-D secure payments + +### 3.15.0 2016-06-29 + +* Add static `update` method to all resources that can be changed. + +### 3.14.3 2016-06-20 + +* Make sure that cURL never sends `Expects: 100-continue`, even on large request bodies + +### 3.14.2 2016-06-03 + +* Add `inventory` under `SKU` to list of keys that have nested data and can be updated + +### 3.14.1 2016-05-27 + +* Fix some inconsistencies in PHPDoc + +### 3.14.0 2016-05-25 + +* Add support for returning Relay orders + +### 3.13.0 2016-05-04 + +* Add `list`, `create`, `update`, `retrieve`, and `delete` methods to the Subscription class + +### 3.12.1 2016-04-07 + +* Additional check on value arrays for some extra safety + +### 3.12.0 2016-03-31 + +* Fix bug `refreshFrom` on `StripeObject` would not take an `$opts` array +* Fix bug where `$opts` not passed to parent `save` method in `Account` +* Fix bug where non-existent variable was referenced in `reverse` in `Transfer` +* Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1 + +### 3.11.0 2016-03-22 + +* Allow `CurlClient` to be initialized with default `CURLOPT_*` options + +### 3.10.1 2016-03-22 + +* Fix bug where request params and options were ignored in `ApplicationFee`'s `refund.` + +### 3.10.0 2016-03-15 + +* Add `reject` on `Account` to support the new API feature + +### 3.9.2 2016-03-04 + +* Fix error when an object's metadata is set more than once + +### 3.9.1 2016-02-24 + +* Fix encoding behavior of nested arrays for requests (see #227) + +### 3.9.0 2016-02-09 + +* Add automatic pagination mechanism with `autoPagingIterator()` +* Allow global account ID to be set with `Stripe::setAccountId()` + +### 3.8.0 2016-02-08 + +* Add `CountrySpec` model for looking up country payment information + +### 3.7.1 2016-02-01 + +* Update bundled CA certs + +### 3.7.0 2016-01-27 + +* Support deleting Relay products and SKUs + +### 3.6.0 2016-01-05 + +* Allow configuration of HTTP client timeouts + +### 3.5.0 2015-12-01 + +* Add a verification routine for external accounts + +### 3.4.0 2015-09-14 + +* Products, SKUs, and Orders -- https://stripe.com/relay + +### 3.3.0 2015-09-11 + +* Add support for 429 Rate Limit response + +### 3.2.0 2015-08-17 + +* Add refund listing and retrieval without an associated charge + +### 3.1.0 2015-08-03 + +* Add dispute listing and retrieval +* Add support for manage account deletion + +### 3.0.0 2015-07-28 + +* Rename `\Stripe\Object` to `\Stripe\StripeObject` (PHP 7 compatibility) +* Rename `getCode` and `getParam` in exceptions to `getStripeCode` and `getStripeParam` +* Add support for calling `json_encode` on Stripe objects in PHP 5.4+ +* Start supporting/testing PHP 7 + +### 2.3.0 2015-07-06 + +* Add request ID to all Stripe exceptions + +### 2.2.0 2015-06-01 + +* Add support for Alipay accounts as sources +* Add support for bank accounts as sources (private beta) +* Add support for bank accounts and cards as external_accounts on Account objects + +### 2.1.4 2015-05-13 + +* Fix CA certificate file path (thanks @lphilps & @matthewarkin) + +### 2.1.3 2015-05-12 + +* Fix to account updating to permit `tos_acceptance` and `personal_address` to be set properly +* Fix to Transfer reversal creation (thanks @neatness!) +* Network requests are now done through a swappable class for easier mocking + +### 2.1.2 2015-04-10 + +* Remove SSL cert revokation checking (all pre-Heartbleed certs have expired) +* Bug fixes to account updating + +### 2.1.1 2015-02-27 +* Support transfer reversals + +### 2.1.0 2015-02-19 + +* Support new API version (2015-02-18) +* Added Bitcoin Receiever update and delete actions +* Edited tests to prefer "source" over "card" as per new API version + +### 2.0.1 2015-02-16 + +* Fix to fetching endpoints that use a non-default baseUrl (`FileUpload`) + +### 2.0.0 2015-02-14 + +* Bumped minimum version to 5.3.3 +* Switched to Stripe namespace instead of Stripe_ class name prefiexes (thanks @chadicus!) +* Switched tests to PHPUnit (thanks @chadicus!) +* Switched style guide to PSR2 (thanks @chadicus!) +* Added $opts hash to the end of most methods: this permits passing 'idempotency_key', 'stripe_account', or 'stripe_version'. The last 2 will persist across multiple object loads. +* Added support for retrieving Account by ID + +### 1.18.0 2015-01-21 + +* Support making bitcoin charges through BitcoinReceiver source object + +### 1.17.5 2014-12-23 + +* Adding support for creating file uploads. + +### 1.17.4 2014-12-15 + +* Saving objects fetched with a custom key now works (thanks @JustinHook & @jpasilan) +* Added methods for reporting charges as safe or fraudulent and for specifying the reason for refunds + +### 1.17.3 2014-11-06 + +* Better handling of HHVM support for SSL certificate blacklist checking. + +### 1.17.2 2014-09-23 + +* Coupons now are backed by a `Stripe_Coupon` instead of `Stripe_Object`, and support updating metadata +* Running operations (`create`, `retrieve`, `all`) on upcoming invoice items now works + +### 1.17.1 2014-07-31 + +* Requests now send Content-Type header + +### 1.17.0 2014-07-29 + +* Application Fee refunds now a list instead of array +* HHVM now works +* Small bug fixes (thanks @bencromwell & @fastest963) +* __toString now returns the name of the object in addition to its JSON representation + +### 1.16.0 2014-06-17 + +* Add metadata for refunds and disputes + +### 1.15.0 2014-05-28 + +* Support canceling transfers + +### 1.14.1 2014-05-21 + +* Support cards for recipients. + +### 1.13.1 2014-05-15 + +* Fix bug in account resource where `id` wasn't in the result + +### 1.13.0 2014-04-10 + +* Add support for certificate blacklisting +* Update ca bundle +* Drop support for HHVM (Temporarily) + +### 1.12.0 2014-04-01 + +* Add Stripe_RateLimitError for catching rate limit errors. +* Update to Zend coding style (thanks, @jpiasetz) + +### 1.11.0 2014-01-29 + +* Add support for multiple subscriptions per customer + +### 1.10.1 2013-12-02 + +* Add new ApplicationFee + +### 1.9.1 2013-11-08 + +* Fix a bug where a null nestable object causes warnings to fire. + +### 1.9.0 2013-10-16 + +* Add support for metadata API. + +### 1.8.4 2013-09-18 + +* Add support for closing disputes. + +### 1.8.3 2013-08-13 + +* Add new Balance and BalanceTransaction + +### 1.8.2 2013-08-12 + +* Add support for unsetting attributes by updating to NULL. + Setting properties to a blank string is now an error. + +### 1.8.1 2013-07-12 + +* Add support for multiple cards API (Stripe API version 2013-07-12: https://stripe.com/docs/upgrades#2013-07-05) + +### 1.8.0 2013-04-11 + +* Allow Transfers to be creatable +* Add new Recipient resource + +### 1.7.15 2013-02-21 + +* Add 'id' to the list of permanent object attributes + +### 1.7.14 2013-02-20 + +* Don't re-encode strings that are already encoded in UTF-8. If you + were previously using plan or coupon objects with UTF-8 IDs, they + may have been treated as ISO-8859-1 (Latin-1) and encoded to UTF-8 a + 2nd time. You may now need to pass the IDs to utf8_encode before + passing them to Stripe_Plan::retrieve or Stripe_Coupon::retrieve. +* Ensure that all input is encoded in UTF-8 before submitting it to + Stripe's servers. (github issue #27) + +### 1.7.13 2013-02-01 + +* Add support for passing options when retrieving Stripe objects + e.g., Stripe_Charge::retrieve(array("id"=>"foo", "expand" => array("customer"))) + Stripe_Charge::retrieve("foo") will continue to work + +### 1.7.12 2013-01-15 + +* Add support for setting a Stripe API version override + +### 1.7.11 2012-12-30 + +* Version bump to cleanup constants and such (github issue #26) + +### 1.7.10 2012-11-08 + +* Add support for updating charge disputes. +* Fix bug preventing retrieval of null attributes + +### 1.7.9 2012-11-08 + +* Fix usage under autoloaders such as the one generated by composer + (github issue #22) + +### 1.7.8 2012-10-30 +* Add support for creating invoices. +* Add support for new invoice lines return format +* Add support for new list objects + +### 1.7.7 2012-09-14 + +* Get all of the various version numbers in the repo in sync (no other + changes) + +### 1.7.6 2012-08-31 + +* Add update and pay methods to Invoice resource + +### 1.7.5 2012-08-23 + +* Change internal function names so that Stripe_SingletonApiRequest is + E_STRICT-clean (github issue #16) + +### 1.7.4 2012-08-21 + +* Bugfix so that Stripe objects (e.g. Customer, Charge objects) used + in API calls are transparently converted to their object IDs + +### 1.7.3 2012-08-15 + +* Add new Account resource + +### 1.7.2 2012-06-26 + +* Make clearer that you should be including lib/Stripe.php, not + test/Stripe.php (github issue #14) + +### 1.7.1 2012-05-24 + +* Add missing argument to Stripe_InvalidRequestError constructor in + Stripe_ApiResource::instanceUrl. Fixes a warning when + Stripe_ApiResource::instanceUrl is called on a resource with no ID + (github issue #12) + +### 1.7.0 2012-05-17 + +* Support Composer and Packagist (github issue #9) + +* Add new deleteDiscount method to Stripe_Customer + +* Add new Transfer resource + +* Switch from using HTTP Basic auth to Bearer auth. (Note: Stripe will + support Basic auth for the indefinite future, but recommends Bearer + auth when possible going forward) + +* Numerous test suite improvements diff --git a/vendor/stripe/stripe-php/LICENSE b/vendor/stripe/stripe-php/LICENSE new file mode 100644 index 0000000..a21757e --- /dev/null +++ b/vendor/stripe/stripe-php/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2010-2015 Stripe + +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/vendor/stripe/stripe-php/README.md b/vendor/stripe/stripe-php/README.md new file mode 100644 index 0000000..bb27fab --- /dev/null +++ b/vendor/stripe/stripe-php/README.md @@ -0,0 +1,129 @@ +# Stripe PHP bindings + +[![Build Status](https://travis-ci.org/stripe/stripe-php.svg?branch=master)](https://travis-ci.org/stripe/stripe-php) +[![Latest Stable Version](https://poser.pugx.org/stripe/stripe-php/v/stable.svg)](https://packagist.org/packages/stripe/stripe-php) +[![Total Downloads](https://poser.pugx.org/stripe/stripe-php/downloads.svg)](https://packagist.org/packages/stripe/stripe-php) +[![License](https://poser.pugx.org/stripe/stripe-php/license.svg)](https://packagist.org/packages/stripe/stripe-php) +[![Code Coverage](https://coveralls.io/repos/stripe/stripe-php/badge.svg?branch=master)](https://coveralls.io/r/stripe/stripe-php?branch=master) + +You can sign up for a Stripe account at https://stripe.com. + +## Requirements + +PHP 5.3.3 and later. + +## Composer + +You can install the bindings via [Composer](http://getcomposer.org/). Run the following command: + +```bash +composer require stripe/stripe-php +``` + +To use the bindings, use Composer's [autoload](https://getcomposer.org/doc/00-intro.md#autoloading): + +```php +require_once('vendor/autoload.php'); +``` + +## Manual Installation + +If you do not wish to use Composer, you can download the [latest release](https://github.com/stripe/stripe-php/releases). Then, to use the bindings, include the `init.php` file. + +```php +require_once('/path/to/stripe-php/init.php'); +``` + +## Dependencies + +The bindings require the following extension in order to work properly: + +- [`curl`](https://secure.php.net/manual/en/book.curl.php), although you can use your own non-cURL client if you prefer +- [`json`](https://secure.php.net/manual/en/book.json.php) +- [`mbstring`](https://secure.php.net/manual/en/book.mbstring.php) (Multibyte String) + +If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available. + +## Getting Started + +Simple usage looks like: + +```php +\Stripe\Stripe::setApiKey('d8e8fca2dc0f896fd7cb4cb0031ba249'); +$myCard = array('number' => '4242424242424242', 'exp_month' => 8, 'exp_year' => 2018); +$charge = \Stripe\Charge::create(array('card' => $myCard, 'amount' => 2000, 'currency' => 'usd')); +echo $charge; +``` + +## Documentation + +Please see https://stripe.com/docs/api for up-to-date documentation. + +## Legacy Version Support + +If you are using PHP 5.2, you can download v1.18.0 ([zip](https://github.com/stripe/stripe-php/archive/v1.18.0.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v1.18.0.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses. + +This legacy version may be included via `require_once("/path/to/stripe-php/lib/Stripe.php");`, and used like: + +```php +Stripe::setApiKey('d8e8fca2dc0f896fd7cb4cb0031ba249'); +$myCard = array('number' => '4242424242424242', 'exp_month' => 8, 'exp_year' => 2018); +$charge = Stripe_Charge::create(array('card' => $myCard, 'amount' => 2000, 'currency' => 'usd')); +echo $charge; +``` + +## Custom Request Timeouts + +*NOTE:* We do not recommend decreasing the timeout for non-read-only calls (e.g. charge creation), since even if you locally timeout, the request on Stripe's side can still complete. If you are decreasing timeouts on these calls, make sure to use [idempotency tokens](https://stripe.com/docs/api/php#idempotent_requests) to avoid executing the same transaction twice as a result of timeout retry logic. + +To modify request timeouts (connect or total, in seconds) you'll need to tell the API client to use a CurlClient other than its default. You'll set the timeouts in that CurlClient. + +```php +// set up your tweaked Curl client +$curl = new \Stripe\HttpClient\CurlClient(); +$curl->setTimeout(10); // default is \Stripe\HttpClient\CurlClient::DEFAULT_TIMEOUT +$curl->setConnectTimeout(5); // default is \Stripe\HttpClient\CurlClient::DEFAULT_CONNECT_TIMEOUT + +echo $curl->getTimeout(); // 10 +echo $curl->getConnectTimeout(); // 5 + +// tell Stripe to use the tweaked client +\Stripe\ApiRequestor::setHttpClient($curl); + +// use the Stripe API client as you normally would +``` + +## Custom cURL Options (e.g. proxies) + +Need to set a proxy for your requests? Pass in the requisite `CURLOPT_*` array to the CurlClient constructor, using the same syntax as `curl_stopt_array()`. This will set the default cURL options for each HTTP request made by the SDK, though many more common options (e.g. timeouts; see above on how to set those) will be overridden by the client even if set here. + +```php +// set up your tweaked Curl client +$curl = new \Stripe\HttpClient\CurlClient(array(CURLOPT_PROXY => 'proxy.local:80')); +// tell Stripe to use the tweaked client +\Stripe\ApiRequestor::setHttpClient($curl); +``` + +Alternately, a callable can be passed to the CurlClient constructor that returns the above array based on request inputs. See `testDefaultOptions()` in `tests/CurlClientTest.php` for an example of this behavior. Note that the callable is called at the beginning of every API request, before the request is sent. + +## Development + +Install dependencies: + +``` bash +composer install +``` + +## Tests + +Install dependencies as mentioned above (which will resolve [PHPUnit](http://packagist.org/packages/phpunit/phpunit)), then you can run the test suite: + +```bash +./vendor/bin/phpunit +``` + +Or to run an individual test file: + +```bash +./vendor/bin/phpunit tests/UtilTest.php +``` diff --git a/vendor/stripe/stripe-php/VERSION b/vendor/stripe/stripe-php/VERSION new file mode 100644 index 0000000..ee893b7 --- /dev/null +++ b/vendor/stripe/stripe-php/VERSION @@ -0,0 +1 @@ +3.23.0 diff --git a/vendor/stripe/stripe-php/build.php b/vendor/stripe/stripe-php/build.php new file mode 100755 index 0000000..4401bb4 --- /dev/null +++ b/vendor/stripe/stripe-php/build.php @@ -0,0 +1,36 @@ +#!/usr/bin/env php +=5.3.3", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6.1", + "squizlabs/php_codesniffer": "~2.0" + }, + "autoload": { + "psr-4": { "Stripe\\" : "lib/" } + }, + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + } +} diff --git a/vendor/stripe/stripe-php/data/ca-certificates.crt b/vendor/stripe/stripe-php/data/ca-certificates.crt new file mode 100644 index 0000000..1c4e5b2 --- /dev/null +++ b/vendor/stripe/stripe-php/data/ca-certificates.crt @@ -0,0 +1,3919 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Fri Jan 22 20:39:57 2016 +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.25. +## SHA1: 0ab47e2f41518f8d223eab517cb799e5b071231e +## + + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ +KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy +T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT +J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e +nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +AddTrust Low-Value Services Root +================================ +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU +cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw +CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO +ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 +54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr +oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 +Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui +GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w +HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT +RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw +HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt +ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph +iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr +mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj +ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +AddTrust Public Services Root +============================= +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU +cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ +BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l +dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu +nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i +d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG +Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw +HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G +A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G +A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 +JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL ++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao +GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 +Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H +EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= +-----END CERTIFICATE----- + +AddTrust Qualified Certificates Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU +cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx +CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ +IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx +64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 +KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o +L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR +wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU +MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE +BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y +azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG +GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X +dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze +RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB +iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +RSA Security 2048 v3 +==================== +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK +ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy +MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb +BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 +Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb +WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH +KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP ++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E +FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY +v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj +0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj +VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 +nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA +pKnXwiJPZ9d37CAFYd4= +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Global CA 2 +==================== +-----BEGIN CERTIFICATE----- +MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw +MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ +NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k +LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA +Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b +HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH +K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 +srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh +ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL +OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC +x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF +H4z1Ir+rzoPz4iIprn2DQKi6bA== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Certum Root CA +============== +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK +ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla +Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u +by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x +wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL +kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ +89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K +Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P +NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ +GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg +GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ +0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS +qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +Comodo Secure Services root +=========================== +-----BEGIN CERTIFICATE----- +MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw +MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu +Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi +BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP +9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc +rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC +oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V +p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E +FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj +YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm +aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm +4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj +Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL +DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw +pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H +RR3B7Hzs/Sk= +-----END CERTIFICATE----- + +Comodo Trusted Services root +============================ +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw +MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h +bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw +IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 +3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y +/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 +juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS +ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud +DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp +ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl +cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw +uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 +pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA +BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l +R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O +9y5Xt5hwXsjEeLBi +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA +============================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE +ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w +HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh +bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt +vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P +jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca +C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth +vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 +22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV +HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v +dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN +BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR +EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw +MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y +nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR +iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== +-----END CERTIFICATE----- + +UTN USERFirst Hardware Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd +BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx +OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 +eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz +ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI +wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd +tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 +i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf +Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw +gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF +lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF +UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF +BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM +//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW +XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 +lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn +iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 +nfhmqA== +-----END CERTIFICATE----- + +Camerfirma Chambers of Commerce Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx +NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp +cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn +MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC +AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU +xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH +NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW +DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV +d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud +EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v +cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P +AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh +bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD +VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi +fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD +L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN +UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n +ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 +erfutGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- + +Camerfirma Global Chambersign Root +================================== +-----BEGIN CERTIFICATE----- +MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx +NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt +YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg +MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw +ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J +1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O +by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl +6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c +8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ +BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j +aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B +Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj +aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y +ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh +bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA +PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y +gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ +PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 +IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes +t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== +-----END CERTIFICATE----- + +NetLock Notary (Class A) Root +============================= +-----BEGIN CERTIFICATE----- +MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI +EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j +ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX +DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH +EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD +VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz +cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM +D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ +z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC +/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 +tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 +4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG +A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC +Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv +bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu +IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn +LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 +ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz +IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh +IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu +b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh +bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg +Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp +bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 +ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP +ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB +CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr +KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM +8CgHrTwXZoi1/baI +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE +FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 +Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj +YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH +AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw +Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg +U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 +LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh +cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT +dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC +AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh +3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm +vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk +fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 +fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ +EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq +yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl +1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ +lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro +g14= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +Swisscom Root CA 1 +================== +-----BEGIN CERTIFICATE----- +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 +NY6E0F/6MBr1mmz0DlP5OlvRHA== +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +DST ACES CA X6 +============== +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT +MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha +MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE +CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI +DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa +pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow +GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy +MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu +Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy +dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU +CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 +5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t +Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq +nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs +vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 +oKfN5XozNmr6mis= +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X +DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 +aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 +N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm ++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH +6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu +MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h +qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 +FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs +ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc +celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X +CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB +tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P +4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F +kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L +3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx +/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa +DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP +e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu +WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ +DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub +DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +WellsSecure Public Root Certificate Authority +============================================= +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM +F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw +NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl +bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD +VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 +iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 +i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 +bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB +K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB +AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu +cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm +lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB +i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww +GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI +K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 +bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj +qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es +E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ +tylv2G0xffX8oRAHh84vWdw+WNs= +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +IGC/A +===== +-----BEGIN CERTIFICATE----- +MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD +VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE +Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy +MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI +EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT +STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 +TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW +So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy +HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd +frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ +tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB +egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC +iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK +q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q +MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg +Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI +lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF +0mBWWg== +-----END CERTIFICATE----- + +Security Communication EV RootCA1 +================================= +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE +BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl +Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO +/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX +WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z +ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 +bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK +9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm +iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG +Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW +mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW +T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE +BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL +EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 +MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz +dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT +GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG +d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N +oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc +QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ +PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb +MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG +IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD +VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 +LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A +dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn +AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA +4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg +AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA +egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 +Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO +PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv +c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h +cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw +IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT +WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV +MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp +Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal +HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT +nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE +aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a +86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK +yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB +S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 +============================================================================================================================= +-----BEGIN CERTIFICATE----- +MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH +DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q +aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry +b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV +BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg +S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 +MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl +IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF +n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl +IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft +dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl +cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO +Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 +xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR +6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL +hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd +BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 +N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT +y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh +LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M +dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= +-----END CERTIFICATE----- + +Buypass Class 2 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 +MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M +cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 +0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 +0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R +uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV +1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt +7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 +fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w +wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho +-----END CERTIFICATE----- + +EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 +========================================================================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +CNNIC ROOT +========== +-----BEGIN CERTIFICATE----- +MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE +ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw +OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD +o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz +VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT +VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or +czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK +y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC +wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S +lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 +Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM +O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 +BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 +G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m +mxE= +-----END CERTIFICATE----- + +ApplicationCA - Japanese Government +=================================== +-----BEGIN CERTIFICATE----- +MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT +SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw +MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl +cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 +fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN +wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE +jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu +nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU +WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV +BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD +vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs +o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g +/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD +io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW +dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL +rosot4LKGAfmt1t06SAZf7IbiVQ= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +============================================ +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +CA Disig +======== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK +QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw +MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz +bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm +GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD +Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo +hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt +ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w +gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P +AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz +aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff +ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa +BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t +WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 +mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ +CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K +ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA +4Z7CRneC9VkGjCFMhwnN5ag= +-----END CERTIFICATE----- + +Juur-SK +======= +-----BEGIN CERTIFICATE----- +MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA +c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw +DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG +SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy +aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf +TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC ++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw +UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa +Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF +MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD +HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh +AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA +cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr +AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw +cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE +FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G +A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo +ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL +abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 +IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh +Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 +yyqcjg== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +ACEDICOM Root +============= +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +Certinomis - Autorité Racine +============================= +-----BEGIN CERTIFICATE----- +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ +vgt2Fl43N+bYdJeimUV5 +-----END CERTIFICATE----- + +Root CA Generalitat Valenciana +============================== +-----BEGIN CERTIFICATE----- +MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE +ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 +IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 +WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE +CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 +F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B +ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ +D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte +JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB +AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n +dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB +ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl +AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA +YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy +AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA +aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt +AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA +YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu +AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA +OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 +dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV +BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G +A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S +b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh +TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz +Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 +NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH +iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt ++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ +Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 +dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu +c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv +bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 +aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG +cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 +fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm +N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN +Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T +tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX +e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA +2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs +HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE +JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib +D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= +-----END CERTIFICATE----- + +StartCom Certification Authority G2 +=================================== +-----BEGIN CERTIFICATE----- +MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE +ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O +o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG +4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi +Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul +Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs +O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H +vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L +nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS +FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa +z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ +KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K +2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk +J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ +JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG +/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc +nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld +blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc +l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm +7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm +obp573PYtlNXLfbQ4ddI +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 2007 +================================================= +-----BEGIN CERTIFICATE----- +MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X +DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl +a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N +YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv +KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya +KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT +rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC +AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s +Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I +aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO +Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb +BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK +poRq0Tl9 +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +PSCProcert +========== +-----BEGIN CERTIFICATE----- +MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk +ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ +MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz +dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl +cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw +IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw +MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w +DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD +ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp +Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC +wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA +3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh +RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO +EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2 +0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH +0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU +td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw +Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp +r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/ +AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz +Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId +xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp +ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH +EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h +Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k +ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG +9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG +MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG +LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52 +ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy +YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v +Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o +dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq +T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN +g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q +uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1 +n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn +FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo +5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq +3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5 +poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y +eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km +-----END CERTIFICATE----- + +China Internet Network Information Center EV Certificates Root +============================================================== +-----BEGIN CERTIFICATE----- +MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D +aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg +Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG +A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM +PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl +cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y +jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV +98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H +klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23 +KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC +7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD +glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5 +0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM +7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws +ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0 +5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8= +-----END CERTIFICATE----- + +Swisscom Root CA 2 +================== +-----BEGIN CERTIFICATE----- +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 +5OfNeOI5wSsSnqaeG8XmDtkx2Q== +-----END CERTIFICATE----- + +Swisscom Root EV CA 2 +===================== +-----BEGIN CERTIFICATE----- +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 +l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc= +-----END CERTIFICATE----- + +CA Disig Root R1 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy +3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8 +u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2 +m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk +CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa +YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6 +vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL +LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX +ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is +XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ +04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR +xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B +LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM +CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb +VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85 +YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS +ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix +lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N +UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ +a7+h89n07eLw4+1knj0vllJPgFOL +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +E-Tugra Certification Authority +=============================== +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w +DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls +ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw +NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx +QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl +cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD +DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd +hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K +CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g +ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ +BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 +E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz +rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq +jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 +dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG +MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK +kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO +XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 +VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo +a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc +dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV +KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT +Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 +8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G +C7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +WoSign +====== +-----BEGIN CERTIFICATE----- +MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g +QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ +BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO +CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX +2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5 +KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR ++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez +EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk +lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2 +8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY +yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C +AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R +8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1 +LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq +T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj +y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC +2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes +5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/ +EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh +mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx +kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi +kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w== +-----END CERTIFICATE----- + +WoSign China +============ +-----BEGIN CERTIFICATE----- +MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv +geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD +VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k +8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5 +uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85 +dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5 +Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy +b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc +76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m ++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6 +yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX +GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA +A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6 +yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY +r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115 +j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A +kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97 +qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y +jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB +ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv +T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO +kI26oQ== +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +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 +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +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 +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl +OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV +MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF +JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G3 +================================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y +olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t +x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy +EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K +Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur +mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 +1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp +07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo +FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE +41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu +yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq +KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 +v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA +8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b +8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r +mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq +1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI +JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV +tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= +-----END CERTIFICATE----- + +Staat der Nederlanden EV Root CA +================================ +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M +MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl +cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk +SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW +O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r +0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 +Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV +XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr +08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV +0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd +74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx +fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa +ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu +c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq +5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN +b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN +f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi +5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 +WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK +DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy +eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5 +========================================================= +-----BEGIN CERTIFICATE----- +MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg +RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw +ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w +SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE +n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp +ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537 +jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m +ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP +9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV +4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH +HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo +BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq +URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl +lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8 +B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU= +-----END CERTIFICATE----- + +TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6 +========================================================= +-----BEGIN CERTIFICATE----- +MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQGEwJUUjEPMA0G +A1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls +acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg2MB4XDTEzMTIxODA5 +MDQxMFoXDTIzMTIxNjA5MDQxMFowgbExCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExTTBL +BgNVBAoMRFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2ZW5sacSf +aSBIaXptZXRsZXJpIEEuxZ4uMUIwQAYDVQQDDDlUw5xSS1RSVVNUIEVsZWt0cm9uaWsgU2VydGlm +aWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLEgSDYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCdsGjW6L0UlqMACprx9MfMkU1xeHe59yEmFXNRFpQJRwXiM/VomjX/3EsvMsew7eKC5W/a +2uqsxgbPJQ1BgfbBOCK9+bGlprMBvD9QFyv26WZV1DOzXPhDIHiTVRZwGTLmiddk671IUP320EED +wnS3/faAz1vFq6TWlRKb55cTMgPp1KtDWxbtMyJkKbbSk60vbNg9tvYdDjTu0n2pVQ8g9P0pu5Fb +HH3GQjhtQiht1AH7zYiXSX6484P4tZgvsycLSF5W506jM7NE1qXyGJTtHB6plVxiSvgNZ1GpryHV ++DKdeboaX+UEVU0TRv/yz3THGmNtwx8XEsMeED5gCLMxAgMBAAGjQjBAMB0GA1UdDgQWBBTdVRcT +9qzoSCHK77Wv0QAy7Z6MtTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG +9w0BAQsFAAOCAQEAb1gNl0OqFlQ+v6nfkkU/hQu7VtMMUszIv3ZnXuaqs6fvuay0EBQNdH49ba3R +fdCaqaXKGDsCQC4qnFAUi/5XfldcEQlLNkVS9z2sFP1E34uXI9TDwe7UU5X+LEr+DXCqu4svLcsy +o4LyVN/Y8t3XSHLuSqMplsNEzm61kod2pLv0kmzOLBQJZo6NrRa1xxsJYTvjIKIDgI6tflEATseW +hvtDmHd9KMeP2Cpu54Rvl0EpABZeTeIT6lnAY2c6RPuY/ATTMHKm9ocJV612ph1jmv3XZch4gyt1 +O6VbuA1df74jrlZVlFjvH4GMKrLN5ptjnhi85WsGtAuYSyher4hYyw== +-----END CERTIFICATE----- + +Certinomis - Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg +LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx +EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD +ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos +P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo +d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap +z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00 +8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x +RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE +6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t +FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV +PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH +i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj +YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I +6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV +WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw +Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX +lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ +y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9 +Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng +DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi +I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM +cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr +hkIGuUE= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +Certification Authority of WoSign G2 +==================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g +QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx +CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai +XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du +W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9 +5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK +v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI +hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY +P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3 +TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu ++sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+ +7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg= +-----END CERTIFICATE----- + +CA WoSign ECC Root +================== +-----BEGIN CERTIFICATE----- +MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD +TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v +dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK +ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI +zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU +t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw +QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R +MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0 +Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu +a/GRspBl9JrmkO5K +-----END CERTIFICATE----- + +================================================================ +C: US +O: GTE Corporation +OU: GTE CyberTrust Solutions, Inc. +CN: GTE CyberTrust Global Root +-- +Not Before: 1998-08-13 +Not After: 2018-08-13 +Signature: md5WithRSAEncryption +Key: RSA:1024 +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD +VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv +bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv +b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH +iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS +r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 +04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r +GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 +3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P +lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----END CERTIFICATE----- diff --git a/vendor/stripe/stripe-php/data/test.png b/vendor/stripe/stripe-php/data/test.png new file mode 100644 index 0000000000000000000000000000000000000000..1914264c08781d1f30ee0b8482bccf44586f2dc1 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?ju0VQumF+E%TuG2$FoVOh l8)-lem#2$k2*>s01R$Gz9%CSj!PC{xWt~$(697H@6ZHT9 literal 0 HcmV?d00001 diff --git a/vendor/stripe/stripe-php/init.php b/vendor/stripe/stripe-php/init.php new file mode 100644 index 0000000..81bd77d --- /dev/null +++ b/vendor/stripe/stripe-php/init.php @@ -0,0 +1,69 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Account The deleted account. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Account The rejected account. + */ + public function reject($params = null, $opts = null) + { + $url = $this->instanceUrl() . '/reject'; + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of Accounts + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/AlipayAccount.php b/vendor/stripe/stripe-php/lib/AlipayAccount.php new file mode 100644 index 0000000..1ba34bf --- /dev/null +++ b/vendor/stripe/stripe-php/lib/AlipayAccount.php @@ -0,0 +1,13 @@ +_apiKey = $apiKey; + if (!$apiBase) { + $apiBase = Stripe::$apiBase; + } + $this->_apiBase = $apiBase; + } + + private static function _encodeObjects($d) + { + if ($d instanceof ApiResource) { + return Util\Util::utf8($d->id); + } elseif ($d === true) { + return 'true'; + } elseif ($d === false) { + return 'false'; + } elseif (is_array($d)) { + $res = array(); + foreach ($d as $k => $v) { + $res[$k] = self::_encodeObjects($v); + } + return $res; + } else { + return Util\Util::utf8($d); + } + } + + /** + * @param string $method + * @param string $url + * @param array|null $params + * @param array|null $headers + * + * @return array An array whose first element is an API response and second + * element is the API key used to make the request. + */ + public function request($method, $url, $params = null, $headers = null) + { + if (!$params) { + $params = array(); + } + if (!$headers) { + $headers = array(); + } + list($rbody, $rcode, $rheaders, $myApiKey) = + $this->_requestRaw($method, $url, $params, $headers); + $json = $this->_interpretResponse($rbody, $rcode, $rheaders); + $resp = new ApiResponse($rbody, $rcode, $rheaders, $json); + return array($resp, $myApiKey); + } + + /** + * @param string $rbody A JSON string. + * @param int $rcode + * @param array $rheaders + * @param array $resp + * + * @throws Error\InvalidRequest if the error is caused by the user. + * @throws Error\Authentication if the error is caused by a lack of + * permissions. + * @throws Error\Card if the error is the error code is 402 (payment + * required) + * @throws Error\RateLimit if the error is caused by too many requests + * hitting the API. + * @throws Error\Api otherwise. + */ + public function handleApiError($rbody, $rcode, $rheaders, $resp) + { + if (!is_array($resp) || !isset($resp['error'])) { + $msg = "Invalid response object from API: $rbody " + . "(HTTP response code was $rcode)"; + throw new Error\Api($msg, $rcode, $rbody, $resp, $rheaders); + } + + $error = $resp['error']; + $msg = isset($error['message']) ? $error['message'] : null; + $param = isset($error['param']) ? $error['param'] : null; + $code = isset($error['code']) ? $error['code'] : null; + + switch ($rcode) { + case 400: + // 'rate_limit' code is deprecated, but left here for backwards compatibility + // for API versions earlier than 2015-09-08 + if ($code == 'rate_limit') { + throw new Error\RateLimit($msg, $param, $rcode, $rbody, $resp, $rheaders); + } + + // intentional fall-through + case 404: + throw new Error\InvalidRequest($msg, $param, $rcode, $rbody, $resp, $rheaders); + case 401: + throw new Error\Authentication($msg, $rcode, $rbody, $resp, $rheaders); + case 402: + throw new Error\Card($msg, $param, $code, $rcode, $rbody, $resp, $rheaders); + case 429: + throw new Error\RateLimit($msg, $param, $rcode, $rbody, $resp, $rheaders); + default: + throw new Error\Api($msg, $rcode, $rbody, $resp, $rheaders); + } + } + + private static function _formatAppInfo($appInfo) + { + if ($appInfo !== null) { + $string = $appInfo['name']; + if ($appInfo['version'] !== null) { + $string .= '/' . $appInfo['version']; + } + if ($appInfo['url'] !== null) { + $string .= ' (' . $appInfo['url'] . ')'; + } + return $string; + } else { + return null; + } + } + + private static function _defaultHeaders($apiKey) + { + $appInfo = Stripe::getAppInfo(); + + $uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION; + + $langVersion = phpversion(); + $uname = php_uname(); + $appInfo = Stripe::getAppInfo(); + $ua = array( + 'bindings_version' => Stripe::VERSION, + 'lang' => 'php', + 'lang_version' => $langVersion, + 'publisher' => 'stripe', + 'uname' => $uname, + ); + if ($appInfo !== null) { + $uaString .= ' ' . self::_formatAppInfo($appInfo); + $ua['application'] = $appInfo; + } + + $defaultHeaders = array( + 'X-Stripe-Client-User-Agent' => json_encode($ua), + 'User-Agent' => $uaString, + 'Authorization' => 'Bearer ' . $apiKey, + ); + return $defaultHeaders; + } + + private function _requestRaw($method, $url, $params, $headers) + { + $myApiKey = $this->_apiKey; + if (!$myApiKey) { + $myApiKey = Stripe::$apiKey; + } + + if (!$myApiKey) { + $msg = 'No API key provided. (HINT: set your API key using ' + . '"Stripe::setApiKey()". You can generate API keys from ' + . 'the Stripe web interface. See https://stripe.com/api for ' + . 'details, or email support@stripe.com if you have any questions.'; + throw new Error\Authentication($msg); + } + + $absUrl = $this->_apiBase.$url; + $params = self::_encodeObjects($params); + $defaultHeaders = $this->_defaultHeaders($myApiKey); + if (Stripe::$apiVersion) { + $defaultHeaders['Stripe-Version'] = Stripe::$apiVersion; + } + + if (Stripe::$accountId) { + $defaultHeaders['Stripe-Account'] = Stripe::$accountId; + } + + $hasFile = false; + $hasCurlFile = class_exists('\CURLFile', false); + foreach ($params as $k => $v) { + if (is_resource($v)) { + $hasFile = true; + $params[$k] = self::_processResourceParam($v, $hasCurlFile); + } elseif ($hasCurlFile && $v instanceof \CURLFile) { + $hasFile = true; + } + } + + if ($hasFile) { + $defaultHeaders['Content-Type'] = 'multipart/form-data'; + } else { + $defaultHeaders['Content-Type'] = 'application/x-www-form-urlencoded'; + } + + $combinedHeaders = array_merge($defaultHeaders, $headers); + $rawHeaders = array(); + + foreach ($combinedHeaders as $header => $value) { + $rawHeaders[] = $header . ': ' . $value; + } + + list($rbody, $rcode, $rheaders) = $this->httpClient()->request( + $method, + $absUrl, + $rawHeaders, + $params, + $hasFile + ); + return array($rbody, $rcode, $rheaders, $myApiKey); + } + + private function _processResourceParam($resource, $hasCurlFile) + { + if (get_resource_type($resource) !== 'stream') { + throw new Error\Api( + 'Attempted to upload a resource that is not a stream' + ); + } + + $metaData = stream_get_meta_data($resource); + if ($metaData['wrapper_type'] !== 'plainfile') { + throw new Error\Api( + 'Only plainfile resource streams are supported' + ); + } + + if ($hasCurlFile) { + // We don't have the filename or mimetype, but the API doesn't care + return new \CURLFile($metaData['uri']); + } else { + return '@'.$metaData['uri']; + } + } + + private function _interpretResponse($rbody, $rcode, $rheaders) + { + try { + $resp = json_decode($rbody, true); + } catch (Exception $e) { + $msg = "Invalid response body from API: $rbody " + . "(HTTP response code was $rcode)"; + throw new Error\Api($msg, $rcode, $rbody); + } + + if ($rcode < 200 || $rcode >= 300) { + $this->handleApiError($rbody, $rcode, $rheaders, $resp); + } + return $resp; + } + + public static function setHttpClient($client) + { + self::$_httpClient = $client; + } + + private function httpClient() + { + if (!self::$_httpClient) { + self::$_httpClient = HttpClient\CurlClient::instance(); + } + return self::$_httpClient; + } +} diff --git a/vendor/stripe/stripe-php/lib/ApiResource.php b/vendor/stripe/stripe-php/lib/ApiResource.php new file mode 100644 index 0000000..f10b948 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ApiResource.php @@ -0,0 +1,205 @@ + true, 'Stripe-Version' => true); + + public static function baseUrl() + { + return Stripe::$apiBase; + } + + /** + * @return ApiResource The refreshed resource. + */ + public function refresh() + { + $requestor = new ApiRequestor($this->_opts->apiKey, static::baseUrl()); + $url = $this->instanceUrl(); + + list($response, $this->_opts->apiKey) = $requestor->request( + 'get', + $url, + $this->_retrieveOptions, + $this->_opts->headers + ); + $this->setLastResponse($response); + $this->refreshFrom($response->json, $this->_opts); + return $this; + } + + /** + * @return string The name of the class, with namespacing and underscores + * stripped. + */ + public static function className() + { + $class = get_called_class(); + // Useful for namespaces: Foo\Charge + if ($postfixNamespaces = strrchr($class, '\\')) { + $class = substr($postfixNamespaces, 1); + } + // Useful for underscored 'namespaces': Foo_Charge + if ($postfixFakeNamespaces = strrchr($class, '')) { + $class = $postfixFakeNamespaces; + } + if (substr($class, 0, strlen('Stripe')) == 'Stripe') { + $class = substr($class, strlen('Stripe')); + } + $class = str_replace('_', '', $class); + $name = urlencode($class); + $name = strtolower($name); + return $name; + } + + /** + * @return string The endpoint URL for the given class. + */ + public static function classUrl() + { + $base = static::className(); + return "/v1/${base}s"; + } + + /** + * @return string The instance endpoint URL for the given class. + */ + public static function resourceUrl($id) + { + if ($id === null) { + $class = get_called_class(); + $message = "Could not determine which URL to request: " + . "$class instance has invalid ID: $id"; + throw new Error\InvalidRequest($message, null); + } + $id = Util\Util::utf8($id); + $base = static::classUrl(); + $extn = urlencode($id); + return "$base/$extn"; + } + + /** + * @return string The full API URL for this API resource. + */ + public function instanceUrl() + { + return static::resourceUrl($this['id']); + } + + private static function _validateParams($params = null) + { + if ($params && !is_array($params)) { + $message = "You must pass an array as the first argument to Stripe API " + . "method calls. (HINT: an example call to create a charge " + . "would be: \"Stripe\\Charge::create(array('amount' => 100, " + . "'currency' => 'usd', 'card' => array('number' => " + . "4242424242424242, 'exp_month' => 5, 'exp_year' => 2015)))\")"; + throw new Error\Api($message); + } + } + + protected function _request($method, $url, $params = array(), $options = null) + { + $opts = $this->_opts->merge($options); + list($resp, $options) = static::_staticRequest($method, $url, $params, $opts); + $this->setLastResponse($resp); + return array($resp->json, $options); + } + + protected static function _staticRequest($method, $url, $params, $options) + { + $opts = Util\RequestOptions::parse($options); + $requestor = new ApiRequestor($opts->apiKey, static::baseUrl()); + list($response, $opts->apiKey) = $requestor->request($method, $url, $params, $opts->headers); + foreach ($opts->headers as $k => $v) { + if (!array_key_exists($k, self::$HEADERS_TO_PERSIST)) { + unset($opts->headers[$k]); + } + } + return array($response, $opts); + } + + protected static function _retrieve($id, $options = null) + { + $opts = Util\RequestOptions::parse($options); + $instance = new static($id, $opts); + $instance->refresh(); + return $instance; + } + + protected static function _all($params = null, $options = null) + { + self::_validateParams($params); + $url = static::classUrl(); + + list($response, $opts) = static::_staticRequest('get', $url, $params, $options); + $obj = Util\Util::convertToStripeObject($response->json, $opts); + if (!is_a($obj, 'Stripe\\Collection')) { + $class = get_class($obj); + $message = "Expected type \"Stripe\\Collection\", got \"$class\" instead"; + throw new Error\Api($message); + } + $obj->setLastResponse($response); + $obj->setRequestParams($params); + return $obj; + } + + protected static function _create($params = null, $options = null) + { + self::_validateParams($params); + $base = static::baseUrl(); + $url = static::classUrl(); + + list($response, $opts) = static::_staticRequest('post', $url, $params, $options); + $obj = Util\Util::convertToStripeObject($response->json, $opts); + $obj->setLastResponse($response); + return $obj; + } + + /** + * @param string $id The ID of the API resource to update. + * @param array|null $params + * @param array|string|null $opts + * + * @return ApiResource the updated API resource + */ + protected static function _update($id, $params = null, $options = null) + { + self::_validateParams($params); + $base = static::baseUrl(); + $url = static::resourceUrl($id); + + list($response, $opts) = static::_staticRequest('post', $url, $params, $options); + $obj = Util\Util::convertToStripeObject($response->json, $opts); + $obj->setLastResponse($response); + return $obj; + } + + protected function _save($options = null) + { + $params = $this->serializeParameters(); + if (count($params) > 0) { + $url = $this->instanceUrl(); + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom($response, $opts); + } + return $this; + } + + protected function _delete($params = null, $options = null) + { + self::_validateParams($params); + + $url = $this->instanceUrl(); + list($response, $opts) = $this->_request('delete', $url, $params, $options); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/ApiResponse.php b/vendor/stripe/stripe-php/lib/ApiResponse.php new file mode 100644 index 0000000..31f54a5 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ApiResponse.php @@ -0,0 +1,32 @@ +body = $body; + $this->code = $code; + $this->headers = $headers; + $this->json = $json; + } +} diff --git a/vendor/stripe/stripe-php/lib/ApplePayDomain.php b/vendor/stripe/stripe-php/lib/ApplePayDomain.php new file mode 100644 index 0000000..8c522c8 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ApplePayDomain.php @@ -0,0 +1,65 @@ +_delete($params, $opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of ApplePayDomains + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/ApplicationFee.php b/vendor/stripe/stripe-php/lib/ApplicationFee.php new file mode 100644 index 0000000..8145541 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ApplicationFee.php @@ -0,0 +1,69 @@ +refunds->create($params, $opts); + $this->refresh(); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/ApplicationFeeRefund.php b/vendor/stripe/stripe-php/lib/ApplicationFeeRefund.php new file mode 100644 index 0000000..44695ef --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ApplicationFeeRefund.php @@ -0,0 +1,44 @@ +_save($opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/AttachedObject.php b/vendor/stripe/stripe-php/lib/AttachedObject.php new file mode 100644 index 0000000..489517d --- /dev/null +++ b/vendor/stripe/stripe-php/lib/AttachedObject.php @@ -0,0 +1,31 @@ +_values), array_keys($properties)); + // Don't unset, but rather set to null so we send up '' for deletion. + foreach ($removed as $k) { + $this->$k = null; + } + + foreach ($properties as $k => $v) { + $this->$k = $v; + } + } +} diff --git a/vendor/stripe/stripe-php/lib/Balance.php b/vendor/stripe/stripe-php/lib/Balance.php new file mode 100644 index 0000000..56c2681 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Balance.php @@ -0,0 +1,26 @@ +instanceUrl() . '/verify'; + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/BitcoinReceiver.php b/vendor/stripe/stripe-php/lib/BitcoinReceiver.php new file mode 100644 index 0000000..3f2c835 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/BitcoinReceiver.php @@ -0,0 +1,85 @@ +instanceUrl() . '/refund'; + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/BitcoinTransaction.php b/vendor/stripe/stripe-php/lib/BitcoinTransaction.php new file mode 100644 index 0000000..6b8e542 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/BitcoinTransaction.php @@ -0,0 +1,13 @@ +_save($options); + } + + /** + * @param array|null $params + * @param array|string|null $options + * + * @return Charge The refunded charge. + */ + public function refund($params = null, $options = null) + { + $url = $this->instanceUrl() . '/refund'; + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|null $params + * @param array|string|null $options + * + * @return Charge The captured charge. + */ + public function capture($params = null, $options = null) + { + $url = $this->instanceUrl() . '/capture'; + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|null $params + * @param array|string|null $options + * + * @deprecated Use the `save` method on the Dispute object + * + * @return array The updated dispute. + */ + public function updateDispute($params = null, $options = null) + { + $url = $this->instanceUrl() . '/dispute'; + list($response, $opts) = $this->_request('post', $url, $params, $options); + $this->refreshFrom(array('dispute' => $response), $opts, true); + return $this->dispute; + } + + /** + * @param array|string|null $options + * + * @deprecated Use the `close` method on the Dispute object + * + * @return Charge The updated charge. + */ + public function closeDispute($options = null) + { + $url = $this->instanceUrl() . '/dispute/close'; + list($response, $opts) = $this->_request('post', $url, null, $options); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|string|null $opts + * + * @return Charge The updated charge. + */ + public function markAsFraudulent($opts = null) + { + $params = array('fraud_details' => array('user_report' => 'fraudulent')); + $url = $this->instanceUrl(); + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|string|null $opts + * + * @return Charge The updated charge. + */ + public function markAsSafe($opts = null) + { + $params = array('fraud_details' => array('user_report' => 'safe')); + $url = $this->instanceUrl(); + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/Collection.php b/vendor/stripe/stripe-php/lib/Collection.php new file mode 100644 index 0000000..61b01e0 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Collection.php @@ -0,0 +1,87 @@ +_requestParams = $params; + } + + public function all($params = null, $opts = null) + { + list($url, $params) = $this->extractPathAndUpdateParams($params); + + list($response, $opts) = $this->_request('get', $url, $params, $opts); + $this->_requestParams = $params; + return Util\Util::convertToStripeObject($response, $opts); + } + + public function create($params = null, $opts = null) + { + list($url, $params) = $this->extractPathAndUpdateParams($params); + + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->_requestParams = $params; + return Util\Util::convertToStripeObject($response, $opts); + } + + public function retrieve($id, $params = null, $opts = null) + { + list($url, $params) = $this->extractPathAndUpdateParams($params); + + $id = Util\Util::utf8($id); + $extn = urlencode($id); + list($response, $opts) = $this->_request( + 'get', + "$url/$extn", + $params, + $opts + ); + $this->_requestParams = $params; + return Util\Util::convertToStripeObject($response, $opts); + } + + /** + * @return AutoPagingIterator An iterator that can be used to iterate + * across all objects across all pages. As page boundaries are + * encountered, the next page will be fetched automatically for + * continued iteration. + */ + public function autoPagingIterator() + { + return new Util\AutoPagingIterator($this, $this->_requestParams); + } + + private function extractPathAndUpdateParams($params) + { + $url = parse_url($this->url); + if (!isset($url['path'])) { + throw new Error\Api("Could not parse list url into parts: $url"); + } + + if (isset($url['query'])) { + // If the URL contains a query param, parse it out into $params so they + // don't interact weirdly with each other. + $query = array(); + parse_str($url['query'], $query); + // PHP 5.2 doesn't support the ?: operator :( + $params = array_merge($params ? $params : array(), $query); + } + + return array($url['path'], $params); + } +} diff --git a/vendor/stripe/stripe-php/lib/CountrySpec.php b/vendor/stripe/stripe-php/lib/CountrySpec.php new file mode 100644 index 0000000..dabb88b --- /dev/null +++ b/vendor/stripe/stripe-php/lib/CountrySpec.php @@ -0,0 +1,44 @@ +_delete($params, $opts); + } + + /** + * @param array|string|null $opts + * + * @return Coupon The saved coupon. + */ + public function save($opts = null) + { + return $this->_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of Coupons + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/Customer.php b/vendor/stripe/stripe-php/lib/Customer.php new file mode 100644 index 0000000..1dfbfc6 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Customer.php @@ -0,0 +1,190 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Customer The deleted customer. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } + + /** + * @param array|null $params + * + * @return InvoiceItem The resulting invoice item. + */ + public function addInvoiceItem($params = null) + { + if (!$params) { + $params = array(); + } + $params['customer'] = $this->id; + $ii = InvoiceItem::create($params, $this->_opts); + return $ii; + } + + /** + * @param array|null $params + * + * @return array An array of the customer's Invoices. + */ + public function invoices($params = null) + { + if (!$params) { + $params = array(); + } + $params['customer'] = $this->id; + $invoices = Invoice::all($params, $this->_opts); + return $invoices; + } + + /** + * @param array|null $params + * + * @return array An array of the customer's InvoiceItems. + */ + public function invoiceItems($params = null) + { + if (!$params) { + $params = array(); + } + $params['customer'] = $this->id; + $iis = InvoiceItem::all($params, $this->_opts); + return $iis; + } + + /** + * @param array|null $params + * + * @return array An array of the customer's Charges. + */ + public function charges($params = null) + { + if (!$params) { + $params = array(); + } + $params['customer'] = $this->id; + $charges = Charge::all($params, $this->_opts); + return $charges; + } + + /** + * @param array|null $params + * + * @return Subscription The updated subscription. + */ + public function updateSubscription($params = null) + { + $url = $this->instanceUrl() . '/subscription'; + list($response, $opts) = $this->_request('post', $url, $params); + $this->refreshFrom(array('subscription' => $response), $opts, true); + return $this->subscription; + } + + /** + * @param array|null $params + * + * @return Subscription The cancelled subscription. + */ + public function cancelSubscription($params = null) + { + $url = $this->instanceUrl() . '/subscription'; + list($response, $opts) = $this->_request('delete', $url, $params); + $this->refreshFrom(array('subscription' => $response), $opts, true); + return $this->subscription; + } + + /** + * @return Customer The updated customer. + */ + public function deleteDiscount() + { + $url = $this->instanceUrl() . '/discount'; + list($response, $opts) = $this->_request('delete', $url); + $this->refreshFrom(array('discount' => null), $opts, true); + } +} diff --git a/vendor/stripe/stripe-php/lib/Dispute.php b/vendor/stripe/stripe-php/lib/Dispute.php new file mode 100644 index 0000000..ce70d49 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Dispute.php @@ -0,0 +1,83 @@ +_save($options); + } + + /** + * @param array|string|null $options + * + * @return Dispute The closed dispute. + */ + public function close($options = null) + { + $url = $this->instanceUrl() . '/close'; + list($response, $opts) = $this->_request('post', $url, null, $options); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/Error/Api.php b/vendor/stripe/stripe-php/lib/Error/Api.php new file mode 100644 index 0000000..dc7d069 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Error/Api.php @@ -0,0 +1,7 @@ +httpStatus = $httpStatus; + $this->httpBody = $httpBody; + $this->jsonBody = $jsonBody; + $this->httpHeaders = $httpHeaders; + $this->requestId = null; + + if ($httpHeaders && isset($httpHeaders['Request-Id'])) { + $this->requestId = $httpHeaders['Request-Id']; + } + } + + public function getHttpStatus() + { + return $this->httpStatus; + } + + public function getHttpBody() + { + return $this->httpBody; + } + + public function getJsonBody() + { + return $this->jsonBody; + } + + public function getHttpHeaders() + { + return $this->httpHeaders; + } + + public function getRequestId() + { + return $this->requestId; + } + + public function __toString() + { + $id = $this->requestId ? " from API request '{$this->requestId}'": ""; + $message = explode("\n", parent::__toString()); + $message[0] .= $id; + return implode("\n", $message); + } +} diff --git a/vendor/stripe/stripe-php/lib/Error/Card.php b/vendor/stripe/stripe-php/lib/Error/Card.php new file mode 100644 index 0000000..9004db2 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Error/Card.php @@ -0,0 +1,41 @@ +stripeParam = $stripeParam; + $this->stripeCode = $stripeCode; + + // This one is not like the others because it was added later and we're + // trying to do our best not to change the public interface of this class' + // constructor. We should consider changing its implementation on the + // next major version bump of this library. + $this->declineCode = isset($jsonBody["error"]["decline_code"]) ? $jsonBody["error"]["decline_code"] : null; + } + + public function getDeclineCode() + { + return $this->declineCode; + } + + public function getStripeCode() + { + return $this->stripeCode; + } + + public function getStripeParam() + { + return $this->stripeParam; + } +} diff --git a/vendor/stripe/stripe-php/lib/Error/InvalidRequest.php b/vendor/stripe/stripe-php/lib/Error/InvalidRequest.php new file mode 100644 index 0000000..493bc18 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Error/InvalidRequest.php @@ -0,0 +1,23 @@ +stripeParam = $stripeParam; + } + + public function getStripeParam() + { + return $this->stripeParam; + } +} diff --git a/vendor/stripe/stripe-php/lib/Error/RateLimit.php b/vendor/stripe/stripe-php/lib/Error/RateLimit.php new file mode 100644 index 0000000..2fa3be4 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Error/RateLimit.php @@ -0,0 +1,7 @@ +_delete($params, $opts); + } + + /** + * @param array|string|null $opts + * + * @return ExternalAccount The saved external account. + */ + public function save($opts = null) + { + return $this->_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return ExternalAccount The verified (or not) external account. + */ + public function verify($params = null, $opts = null) + { + if ($this['customer']) { + $url = $this->instanceUrl() . '/verify'; + list($response, $options) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $options); + return $this; + } else { + $message = 'Only customer external accounts can be verified in this manner.'; + throw new Error\Api($message); + } + } +} diff --git a/vendor/stripe/stripe-php/lib/FileUpload.php b/vendor/stripe/stripe-php/lib/FileUpload.php new file mode 100644 index 0000000..7dc98c7 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/FileUpload.php @@ -0,0 +1,61 @@ +defaultOptions = $defaultOptions; + } + + public function getDefaultOptions() + { + return $this->defaultOptions; + } + + // USER DEFINED TIMEOUTS + + const DEFAULT_TIMEOUT = 80; + const DEFAULT_CONNECT_TIMEOUT = 30; + + private $timeout = self::DEFAULT_TIMEOUT; + private $connectTimeout = self::DEFAULT_CONNECT_TIMEOUT; + + public function setTimeout($seconds) + { + $this->timeout = (int) max($seconds, 0); + return $this; + } + + public function setConnectTimeout($seconds) + { + $this->connectTimeout = (int) max($seconds, 0); + return $this; + } + + public function getTimeout() + { + return $this->timeout; + } + + public function getConnectTimeout() + { + return $this->connectTimeout; + } + + // END OF USER DEFINED TIMEOUTS + + public function request($method, $absUrl, $headers, $params, $hasFile) + { + $curl = curl_init(); + $method = strtolower($method); + + $opts = array(); + if (is_callable($this->defaultOptions)) { // call defaultOptions callback, set options to return value + $opts = call_user_func_array($this->defaultOptions, func_get_args()); + if (!is_array($opts)) { + throw new Error\Api("Non-array value returned by defaultOptions CurlClient callback"); + } + } elseif (is_array($this->defaultOptions)) { // set default curlopts from array + $opts = $this->defaultOptions; + } + + if ($method == 'get') { + if ($hasFile) { + throw new Error\Api( + "Issuing a GET request with a file parameter" + ); + } + $opts[CURLOPT_HTTPGET] = 1; + if (count($params) > 0) { + $encoded = self::encode($params); + $absUrl = "$absUrl?$encoded"; + } + } elseif ($method == 'post') { + $opts[CURLOPT_POST] = 1; + $opts[CURLOPT_POSTFIELDS] = $hasFile ? $params : self::encode($params); + } elseif ($method == 'delete') { + $opts[CURLOPT_CUSTOMREQUEST] = 'DELETE'; + if (count($params) > 0) { + $encoded = self::encode($params); + $absUrl = "$absUrl?$encoded"; + } + } else { + throw new Error\Api("Unrecognized method $method"); + } + + // Create a callback to capture HTTP headers for the response + $rheaders = array(); + $headerCallback = function ($curl, $header_line) use (&$rheaders) { + // Ignore the HTTP request line (HTTP/1.1 200 OK) + if (strpos($header_line, ":") === false) { + return strlen($header_line); + } + list($key, $value) = explode(":", trim($header_line), 2); + $rheaders[trim($key)] = trim($value); + return strlen($header_line); + }; + + // By default for large request body sizes (> 1024 bytes), cURL will + // send a request without a body and with a `Expect: 100-continue` + // header, which gives the server a chance to respond with an error + // status code in cases where one can be determined right away (say + // on an authentication problem for example), and saves the "large" + // request body from being ever sent. + // + // Unfortunately, the bindings don't currently correctly handle the + // success case (in which the server sends back a 100 CONTINUE), so + // we'll error under that condition. To compensate for that problem + // for the time being, override cURL's behavior by simply always + // sending an empty `Expect:` header. + array_push($headers, 'Expect: '); + + $absUrl = Util\Util::utf8($absUrl); + $opts[CURLOPT_URL] = $absUrl; + $opts[CURLOPT_RETURNTRANSFER] = true; + $opts[CURLOPT_CONNECTTIMEOUT] = $this->connectTimeout; + $opts[CURLOPT_TIMEOUT] = $this->timeout; + $opts[CURLOPT_HEADERFUNCTION] = $headerCallback; + $opts[CURLOPT_HTTPHEADER] = $headers; + if (!Stripe::$verifySslCerts) { + $opts[CURLOPT_SSL_VERIFYPEER] = false; + } + + // @codingStandardsIgnoreStart + // PSR2 requires all constants be upper case. Sadly, the CURL_SSLVERSION + // constants to not abide by those rules. + // + // Explicitly set a TLS version for cURL to use now that we're starting + // to block 1.0 and 1.1 requests. + // + // If users are on OpenSSL >= 1.0.1, we know that they support TLS 1.2, + // so set that explicitly because on some older Linux distros, clients may + // default to TLS 1.0 even when they have TLS 1.2 available. + // + // For users on much older versions of OpenSSL, set a valid range of + // TLS 1.0 to 1.2 (CURL_SSLVERSION_TLSv1). Note that this may result in + // their requests being blocked unless they're specially flagged into + // being able to use an old TLS version. + // + // Note: The int on the right is pulled from the source of OpenSSL 1.0.1a. + if (OPENSSL_VERSION_NUMBER >= 0x1000100f) { + if (!defined('CURL_SSLVERSION_TLSv1_2')) { + // Note the value 6 comes from its position in the enum that + // defines it in cURL's source code. + define('CURL_SSLVERSION_TLSv1_2', 6); // constant not defined in PHP < 5.5 + } + $opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1_2; + } else { + if (!defined('CURL_SSLVERSION_TLSv1')) { + define('CURL_SSLVERSION_TLSv1', 1); // constant not defined in PHP < 5.5 + } + $opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1; + } + // @codingStandardsIgnoreEnd + + curl_setopt_array($curl, $opts); + $rbody = curl_exec($curl); + + if (!defined('CURLE_SSL_CACERT_BADFILE')) { + define('CURLE_SSL_CACERT_BADFILE', 77); // constant not defined in PHP + } + + $errno = curl_errno($curl); + if ($errno == CURLE_SSL_CACERT || + $errno == CURLE_SSL_PEER_CERTIFICATE || + $errno == CURLE_SSL_CACERT_BADFILE + ) { + array_push( + $headers, + 'X-Stripe-Client-Info: {"ca":"using Stripe-supplied CA bundle"}' + ); + $cert = self::caBundle(); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + curl_setopt($curl, CURLOPT_CAINFO, $cert); + $rbody = curl_exec($curl); + } + + if ($rbody === false) { + $errno = curl_errno($curl); + $message = curl_error($curl); + curl_close($curl); + $this->handleCurlError($absUrl, $errno, $message); + } + + $rcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + curl_close($curl); + return array($rbody, $rcode, $rheaders); + } + + /** + * @param number $errno + * @param string $message + * @throws Error\ApiConnection + */ + private function handleCurlError($url, $errno, $message) + { + switch ($errno) { + case CURLE_COULDNT_CONNECT: + case CURLE_COULDNT_RESOLVE_HOST: + case CURLE_OPERATION_TIMEOUTED: + $msg = "Could not connect to Stripe ($url). Please check your " + . "internet connection and try again. If this problem persists, " + . "you should check Stripe's service status at " + . "https://twitter.com/stripestatus, or"; + break; + case CURLE_SSL_CACERT: + case CURLE_SSL_PEER_CERTIFICATE: + $msg = "Could not verify Stripe's SSL certificate. Please make sure " + . "that your network is not intercepting certificates. " + . "(Try going to $url in your browser.) " + . "If this problem persists,"; + break; + default: + $msg = "Unexpected error communicating with Stripe. " + . "If this problem persists,"; + } + $msg .= " let us know at support@stripe.com."; + + $msg .= "\n\n(Network error [errno $errno]: $message)"; + throw new Error\ApiConnection($msg); + } + + private static function caBundle() + { + return dirname(__FILE__) . '/../../data/ca-certificates.crt'; + } + + /** + * @param array $arr An map of param keys to values. + * @param string|null $prefix + * + * Only public for testability, should not be called outside of CurlClient + * + * @return string A querystring, essentially. + */ + public static function encode($arr, $prefix = null) + { + if (!is_array($arr)) { + return $arr; + } + + $r = array(); + foreach ($arr as $k => $v) { + if (is_null($v)) { + continue; + } + + if ($prefix) { + if ($k !== null && (!is_int($k) || is_array($v))) { + $k = $prefix."[".$k."]"; + } else { + $k = $prefix."[]"; + } + } + + if (is_array($v)) { + $enc = self::encode($v, $k); + if ($enc) { + $r[] = $enc; + } + } else { + $r[] = urlencode($k)."=".urlencode($v); + } + } + + return implode("&", $r); + } +} diff --git a/vendor/stripe/stripe-php/lib/Invoice.php b/vendor/stripe/stripe-php/lib/Invoice.php new file mode 100644 index 0000000..e994566 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Invoice.php @@ -0,0 +1,92 @@ +json, $opts); + $obj->setLastResponse($response); + return $obj; + } + + /** + * @param array|string|null $opts + * + * @return Invoice The saved invoice. + */ + public function save($opts = null) + { + return $this->_save($opts); + } + + /** + * @return Invoice The paid invoice. + */ + public function pay($opts = null) + { + $url = $this->instanceUrl() . '/pay'; + list($response, $opts) = $this->_request('post', $url, null, $opts); + $this->refreshFrom($response, $opts); + return $this; + } +} diff --git a/vendor/stripe/stripe-php/lib/InvoiceItem.php b/vendor/stripe/stripe-php/lib/InvoiceItem.php new file mode 100644 index 0000000..ab9c4ba --- /dev/null +++ b/vendor/stripe/stripe-php/lib/InvoiceItem.php @@ -0,0 +1,77 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return InvoiceItem The deleted invoice item. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/JsonSerializable.php b/vendor/stripe/stripe-php/lib/JsonSerializable.php new file mode 100644 index 0000000..2fdf852 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/JsonSerializable.php @@ -0,0 +1,18 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of Orders + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } + + /** + * @return Order The paid order. + */ + public function pay($params = null, $opts = null) + { + $url = $this->instanceUrl() . '/pay'; + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @return OrderReturn The newly created return. + */ + public function returnOrder($params = null, $opts = null) + { + $url = $this->instanceUrl() . '/returns'; + list($response, $opts) = $this->_request('post', $url, $params, $opts); + return Util\Util::convertToStripeObject($response, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/OrderReturn.php b/vendor/stripe/stripe-php/lib/OrderReturn.php new file mode 100644 index 0000000..aa7fd4e --- /dev/null +++ b/vendor/stripe/stripe-php/lib/OrderReturn.php @@ -0,0 +1,33 @@ +_delete($params, $opts); + } + + /** + * @param array|string|null $opts + * + * @return Plan The saved plan. + */ + public function save($opts = null) + { + return $this->_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of Plans + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/Product.php b/vendor/stripe/stripe-php/lib/Product.php new file mode 100644 index 0000000..2fdd22a --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Product.php @@ -0,0 +1,77 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of Products + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Product The deleted product. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/Recipient.php b/vendor/stripe/stripe-php/lib/Recipient.php new file mode 100644 index 0000000..04bcb7b --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Recipient.php @@ -0,0 +1,92 @@ +_save($opts); + } + + /** + * @param array|null $params + * + * @return Recipient The deleted recipient. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } + + + /** + * @param array|null $params + * + * @return Collection of the Recipient's Transfers + */ + public function transfers($params = null) + { + if ($params === null) { + $params = array(); + } + $params['recipient'] = $this->id; + $transfers = Transfer::all($params, $this->_opts); + return $transfers; + } +} diff --git a/vendor/stripe/stripe-php/lib/Refund.php b/vendor/stripe/stripe-php/lib/Refund.php new file mode 100644 index 0000000..b4e0e76 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Refund.php @@ -0,0 +1,79 @@ +_save($opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/SKU.php b/vendor/stripe/stripe-php/lib/SKU.php new file mode 100644 index 0000000..7089604 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/SKU.php @@ -0,0 +1,77 @@ +_save($opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return Collection of SKUs + */ + public static function all($params = null, $opts = null) + { + return self::_all($params, $opts); + } + + /** + * @param array|null $params + * @param array|string|null $opts + * + * @return SKU The deleted sku. + */ + public function delete($params = null, $opts = null) + { + return $this->_delete($params, $opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/SingletonApiResource.php b/vendor/stripe/stripe-php/lib/SingletonApiResource.php new file mode 100644 index 0000000..c6de444 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/SingletonApiResource.php @@ -0,0 +1,36 @@ +refresh(); + return $instance; + } + + /** + * @return string The endpoint associated with this singleton class. + */ + public static function classUrl() + { + $base = static::className(); + return "/v1/${base}"; + } + + /** + * @return string The endpoint associated with this singleton API resource. + */ + public function instanceUrl() + { + return static::classUrl(); + } +} diff --git a/vendor/stripe/stripe-php/lib/Source.php b/vendor/stripe/stripe-php/lib/Source.php new file mode 100644 index 0000000..a40619c --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Source.php @@ -0,0 +1,44 @@ +_lastResponse; + } + + /** + * @param ApiResponse + * + * @return void Set the last response from the Stripe API + */ + public function setLastResponse($resp) + { + $this->_lastResponse = $resp; + } + + protected $_opts; + protected $_values; + protected $_unsavedValues; + protected $_transientValues; + protected $_retrieveOptions; + protected $_lastResponse; + + public function __construct($id = null, $opts = null) + { + $this->_opts = $opts ? $opts : new Util\RequestOptions(); + $this->_values = array(); + $this->_unsavedValues = new Util\Set(); + $this->_transientValues = new Util\Set(); + + $this->_retrieveOptions = array(); + if (is_array($id)) { + foreach ($id as $key => $value) { + if ($key != 'id') { + $this->_retrieveOptions[$key] = $value; + } + } + $id = $id['id']; + } + + if ($id !== null) { + $this->id = $id; + } + } + + // Standard accessor magic methods + public function __set($k, $v) + { + if ($v === "") { + throw new InvalidArgumentException( + 'You cannot set \''.$k.'\'to an empty string. ' + .'We interpret empty strings as NULL in requests. ' + .'You may set obj->'.$k.' = NULL to delete the property' + ); + } + + if (self::$nestedUpdatableAttributes->includes($k) + && isset($this->$k) && $this->$k instanceof AttachedObject && is_array($v)) { + $this->$k->replaceWith($v); + } else { + // TODO: may want to clear from $_transientValues (Won't be user-visible). + $this->_values[$k] = $v; + } + if (!self::$permanentAttributes->includes($k)) { + $this->_unsavedValues->add($k); + } + } + + public function __isset($k) + { + return isset($this->_values[$k]); + } + public function __unset($k) + { + unset($this->_values[$k]); + $this->_transientValues->add($k); + $this->_unsavedValues->discard($k); + } + public function &__get($k) + { + // function should return a reference, using $nullval to return a reference to null + $nullval = null; + if (!empty($this->_values) && array_key_exists($k, $this->_values)) { + return $this->_values[$k]; + } else if (!empty($this->_transientValues) && $this->_transientValues->includes($k)) { + $class = get_class($this); + $attrs = join(', ', array_keys($this->_values)); + $message = "Stripe Notice: Undefined property of $class instance: $k. " + . "HINT: The $k attribute was set in the past, however. " + . "It was then wiped when refreshing the object " + . "with the result returned by Stripe's API, " + . "probably as a result of a save(). The attributes currently " + . "available on this object are: $attrs"; + error_log($message); + return $nullval; + } else { + $class = get_class($this); + error_log("Stripe Notice: Undefined property of $class instance: $k"); + return $nullval; + } + } + + // ArrayAccess methods + public function offsetSet($k, $v) + { + $this->$k = $v; + } + + public function offsetExists($k) + { + return array_key_exists($k, $this->_values); + } + + public function offsetUnset($k) + { + unset($this->$k); + } + public function offsetGet($k) + { + return array_key_exists($k, $this->_values) ? $this->_values[$k] : null; + } + + public function keys() + { + return array_keys($this->_values); + } + + /** + * This unfortunately needs to be public to be used in Util\Util + * + * @param array $values + * @param array $opts + * + * @return StripeObject The object constructed from the given values. + */ + public static function constructFrom($values, $opts) + { + $obj = new static(isset($values['id']) ? $values['id'] : null); + $obj->refreshFrom($values, $opts); + return $obj; + } + + /** + * Refreshes this object using the provided values. + * + * @param array $values + * @param array|Util\RequestOptions $opts + * @param boolean $partial Defaults to false. + */ + public function refreshFrom($values, $opts, $partial = false) + { + if (is_array($opts)) { + $opts = Util\RequestOptions::parse($opts); + } + + $this->_opts = $opts; + + // Wipe old state before setting new. This is useful for e.g. updating a + // customer, where there is no persistent card parameter. Mark those values + // which don't persist as transient + if ($partial) { + $removed = new Util\Set(); + } else { + $removed = array_diff(array_keys($this->_values), array_keys($values)); + } + + foreach ($removed as $k) { + if (self::$permanentAttributes->includes($k)) { + continue; + } + + unset($this->$k); + } + + foreach ($values as $k => $v) { + if (self::$permanentAttributes->includes($k) && isset($this[$k])) { + continue; + } + + if (self::$nestedUpdatableAttributes->includes($k) && is_array($v)) { + $this->_values[$k] = AttachedObject::constructFrom($v, $opts); + } else { + $this->_values[$k] = Util\Util::convertToStripeObject($v, $opts); + } + + $this->_transientValues->discard($k); + $this->_unsavedValues->discard($k); + } + } + + /** + * @return array A recursive mapping of attributes to values for this object, + * including the proper value for deleted attributes. + */ + public function serializeParameters() + { + $params = array(); + if ($this->_unsavedValues) { + foreach ($this->_unsavedValues->toArray() as $k) { + $v = $this->$k; + if ($v === null) { + $v = ''; + } + + $params[$k] = $v; + } + } + + // Get nested updates. + foreach (self::$nestedUpdatableAttributes->toArray() as $property) { + if (isset($this->$property)) { + if ($this->$property instanceof StripeObject) { + $serialized = $this->$property->serializeParameters(); + if ($serialized) { + $params[$property] = $serialized; + } + } + } + } + + return $params; + } + + public function jsonSerialize() + { + return $this->__toArray(true); + } + + public function __toJSON() + { + if (defined('JSON_PRETTY_PRINT')) { + return json_encode($this->__toArray(true), JSON_PRETTY_PRINT); + } else { + return json_encode($this->__toArray(true)); + } + } + + public function __toString() + { + $class = get_class($this); + return $class . ' JSON: ' . $this->__toJSON(); + } + + public function __toArray($recursive = false) + { + if ($recursive) { + return Util\Util::convertStripeObjectToArray($this->_values); + } else { + return $this->_values; + } + } +} + +StripeObject::init(); diff --git a/vendor/stripe/stripe-php/lib/Subscription.php b/vendor/stripe/stripe-php/lib/Subscription.php new file mode 100644 index 0000000..a95ab09 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Subscription.php @@ -0,0 +1,97 @@ +_delete($params, $opts); + } + + /** + * @param array|string|null $opts + * + * @return Subscription The saved subscription. + */ + public function save($opts = null) + { + return $this->_save($opts); + } + + /** + * @return Subscription The updated subscription. + */ + public function deleteDiscount() + { + $url = $this->instanceUrl() . '/discount'; + list($response, $opts) = $this->_request('delete', $url); + $this->refreshFrom(array('discount' => null), $opts, true); + } +} diff --git a/vendor/stripe/stripe-php/lib/ThreeDSecure.php b/vendor/stripe/stripe-php/lib/ThreeDSecure.php new file mode 100644 index 0000000..a7dcc5a --- /dev/null +++ b/vendor/stripe/stripe-php/lib/ThreeDSecure.php @@ -0,0 +1,25 @@ +instanceUrl() . '/reversals'; + list($response, $opts) = $this->_request('post', $url, $params, $opts); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @return Transfer The canceled transfer. + */ + public function cancel() + { + $url = $this->instanceUrl() . '/cancel'; + list($response, $opts) = $this->_request('post', $url); + $this->refreshFrom($response, $opts); + return $this; + } + + /** + * @param array|string|null $opts + * + * @return Transfer The saved transfer. + */ + public function save($opts = null) + { + return $this->_save($opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/TransferReversal.php b/vendor/stripe/stripe-php/lib/TransferReversal.php new file mode 100644 index 0000000..33948c9 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/TransferReversal.php @@ -0,0 +1,53 @@ +_save($opts); + } +} diff --git a/vendor/stripe/stripe-php/lib/Util/AutoPagingIterator.php b/vendor/stripe/stripe-php/lib/Util/AutoPagingIterator.php new file mode 100644 index 0000000..80877e6 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Util/AutoPagingIterator.php @@ -0,0 +1,61 @@ +page = $collection; + $this->params = $params; + } + + public function rewind() + { + // Actually rewinding would require making a copy of the original page. + } + + public function current() + { + $item = current($this->page->data); + $this->lastId = $item !== false ? $item['id'] : null; + + return $item; + } + + public function key() + { + return key($this->page->data) + $this->pageOffset; + } + + public function next() + { + $item = next($this->page->data); + if ($item === false) { + // If we've run out of data on the current page, try to fetch another one + // and increase the offset the new page would start at + $this->pageOffset += count($this->page->data); + if ($this->page['has_more']) { + $this->params = array_merge( + $this->params ? $this->params : array(), + array('starting_after' => $this->lastId) + ); + $this->page = $this->page->all($this->params); + } else { + return false; + } + } + } + + public function valid() + { + $key = key($this->page->data); + $valid = ($key !== null && $key !== false); + return $valid; + } +} diff --git a/vendor/stripe/stripe-php/lib/Util/RequestOptions.php b/vendor/stripe/stripe-php/lib/Util/RequestOptions.php new file mode 100644 index 0000000..14af2b8 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Util/RequestOptions.php @@ -0,0 +1,79 @@ +apiKey = $key; + $this->headers = $headers; + } + + /** + * Unpacks an options array and merges it into the existing RequestOptions + * object. + * @param array|string|null $options a key => value array + * + * @return RequestOptions + */ + public function merge($options) + { + $other_options = self::parse($options); + if ($other_options->apiKey === null) { + $other_options->apiKey = $this->apiKey; + } + $other_options->headers = array_merge($this->headers, $other_options->headers); + return $other_options; + } + + /** + * Unpacks an options array into an RequestOptions object + * @param array|string|null $options a key => value array + * + * @return RequestOptions + */ + public static function parse($options) + { + if ($options instanceof self) { + return $options; + } + + if (is_null($options)) { + return new RequestOptions(null, array()); + } + + if (is_string($options)) { + return new RequestOptions($options, array()); + } + + if (is_array($options)) { + $headers = array(); + $key = null; + if (array_key_exists('api_key', $options)) { + $key = $options['api_key']; + } + if (array_key_exists('idempotency_key', $options)) { + $headers['Idempotency-Key'] = $options['idempotency_key']; + } + if (array_key_exists('stripe_account', $options)) { + $headers['Stripe-Account'] = $options['stripe_account']; + } + if (array_key_exists('stripe_version', $options)) { + $headers['Stripe-Version'] = $options['stripe_version']; + } + return new RequestOptions($key, $headers); + } + + $message = 'The second argument to Stripe API method calls is an ' + . 'optional per-request apiKey, which must be a string, or ' + . 'per-request options, which must be an array. (HINT: you can set ' + . 'a global apiKey by "Stripe::setApiKey()")'; + throw new Error\Api($message); + } +} diff --git a/vendor/stripe/stripe-php/lib/Util/Set.php b/vendor/stripe/stripe-php/lib/Util/Set.php new file mode 100644 index 0000000..2a500cd --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Util/Set.php @@ -0,0 +1,44 @@ +_elts = array(); + foreach ($members as $item) { + $this->_elts[$item] = true; + } + } + + public function includes($elt) + { + return isset($this->_elts[$elt]); + } + + public function add($elt) + { + $this->_elts[$elt] = true; + } + + public function discard($elt) + { + unset($this->_elts[$elt]); + } + + public function toArray() + { + return array_keys($this->_elts); + } + + public function getIterator() + { + return new ArrayIterator($this->toArray()); + } +} diff --git a/vendor/stripe/stripe-php/lib/Util/Util.php b/vendor/stripe/stripe-php/lib/Util/Util.php new file mode 100644 index 0000000..99691d7 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Util/Util.php @@ -0,0 +1,142 @@ + $v) { + // FIXME: this is an encapsulation violation + if ($k[0] == '_') { + continue; + } + if ($v instanceof StripeObject) { + $results[$k] = $v->__toArray(true); + } elseif (is_array($v)) { + $results[$k] = self::convertStripeObjectToArray($v); + } else { + $results[$k] = $v; + } + } + return $results; + } + + /** + * Converts a response from the Stripe API to the corresponding PHP object. + * + * @param array $resp The response from the Stripe API. + * @param array $opts + * @return StripeObject|array + */ + public static function convertToStripeObject($resp, $opts) + { + $types = array( + 'account' => 'Stripe\\Account', + 'alipay_account' => 'Stripe\\AlipayAccount', + 'apple_pay_domain' => 'Stripe\\ApplePayDomain', + 'bank_account' => 'Stripe\\BankAccount', + 'balance_transaction' => 'Stripe\\BalanceTransaction', + 'card' => 'Stripe\\Card', + 'charge' => 'Stripe\\Charge', + 'country_spec' => 'Stripe\\CountrySpec', + 'coupon' => 'Stripe\\Coupon', + 'customer' => 'Stripe\\Customer', + 'dispute' => 'Stripe\\Dispute', + 'list' => 'Stripe\\Collection', + 'invoice' => 'Stripe\\Invoice', + 'invoiceitem' => 'Stripe\\InvoiceItem', + 'event' => 'Stripe\\Event', + 'file' => 'Stripe\\FileUpload', + 'token' => 'Stripe\\Token', + 'transfer' => 'Stripe\\Transfer', + 'order' => 'Stripe\\Order', + 'order_return' => 'Stripe\\OrderReturn', + 'plan' => 'Stripe\\Plan', + 'product' => 'Stripe\\Product', + 'recipient' => 'Stripe\\Recipient', + 'refund' => 'Stripe\\Refund', + 'sku' => 'Stripe\\SKU', + 'source' => 'Stripe\\Source', + 'subscription' => 'Stripe\\Subscription', + 'three_d_secure' => 'Stripe\\ThreeDSecure', + 'fee_refund' => 'Stripe\\ApplicationFeeRefund', + 'bitcoin_receiver' => 'Stripe\\BitcoinReceiver', + 'bitcoin_transaction' => 'Stripe\\BitcoinTransaction', + ); + if (self::isList($resp)) { + $mapped = array(); + foreach ($resp as $i) { + array_push($mapped, self::convertToStripeObject($i, $opts)); + } + return $mapped; + } elseif (is_array($resp)) { + if (isset($resp['object']) && is_string($resp['object']) && isset($types[$resp['object']])) { + $class = $types[$resp['object']]; + } else { + $class = 'Stripe\\StripeObject'; + } + return $class::constructFrom($resp, $opts); + } else { + return $resp; + } + } + + /** + * @param string|mixed $value A string to UTF8-encode. + * + * @return string|mixed The UTF8-encoded string, or the object passed in if + * it wasn't a string. + */ + public static function utf8($value) + { + if (self::$isMbstringAvailable === null) { + self::$isMbstringAvailable = function_exists('mb_detect_encoding'); + + if (!self::$isMbstringAvailable) { + trigger_error("It looks like the mbstring extension is not enabled. " . + "UTF-8 strings will not properly be encoded. Ask your system " . + "administrator to enable the mbstring extension, or write to " . + "support@stripe.com if you have any questions.", E_USER_WARNING); + } + } + + if (is_string($value) && self::$isMbstringAvailable && mb_detect_encoding($value, "UTF-8", true) != "UTF-8") { + return utf8_encode($value); + } else { + return $value; + } + } +} diff --git a/vendor/stripe/stripe-php/phpunit.no_autoload.xml b/vendor/stripe/stripe-php/phpunit.no_autoload.xml new file mode 100644 index 0000000..f418611 --- /dev/null +++ b/vendor/stripe/stripe-php/phpunit.no_autoload.xml @@ -0,0 +1,15 @@ + + + + tests + + + + + lib + + + + + + diff --git a/vendor/stripe/stripe-php/phpunit.xml b/vendor/stripe/stripe-php/phpunit.xml new file mode 100644 index 0000000..7a73276 --- /dev/null +++ b/vendor/stripe/stripe-php/phpunit.xml @@ -0,0 +1,15 @@ + + + + tests + + + + + lib + + + + + + diff --git a/vendor/stripe/stripe-php/tests/AccountTest.php b/vendor/stripe/stripe-php/tests/AccountTest.php new file mode 100644 index 0000000..994ba6f --- /dev/null +++ b/vendor/stripe/stripe-php/tests/AccountTest.php @@ -0,0 +1,300 @@ + $id, + 'currencies_supported' => array('usd', 'aed', 'afn', '...'), + 'object' => 'account', + 'business_name' => 'Stripe.com', + 'bank_accounts' => array( + 'object' => 'list', + 'total_count' => 0, + 'has_more' => false, + 'url' => '/v1/accounts/' . $id . '/bank_accounts', + 'data' => array() + ), + 'verification' => array( + 'fields_needed' => array( + 'product_description', + 'business_url', + 'support_phone', + 'bank_account', + 'tos_acceptance.ip', + 'tos_acceptance.date' + ), + 'due_by' => null, + 'contacted' => false + ), + 'tos_acceptance' => array( + 'ip' => null, + 'date' => null, + 'user_agent' => null + ), + 'legal_entity' => array( + 'type' => null, + 'business_name' => null, + 'address' => array( + 'line1' => null, + 'line2' => null, + 'city' => null, + 'state' => null, + 'postal_code' => null, + 'country' => 'US' + ), + 'first_name' => null, + 'last_name' => null, + 'additional_owners' => null, + 'verification' => array( + 'status' => 'unverified', + 'document' => null, + 'details' => null + ) + ) + ); + } + + private function deletedAccountResponse($id) + { + return array( + 'id' => $id, + 'deleted' => true + ); + } + + public function testBasicRetrieve() + { + $this->mockRequest('GET', '/v1/account', array(), $this->managedAccountResponse('acct_ABC')); + $account = Account::retrieve(); + $this->assertSame($account->id, 'acct_ABC'); + } + + public function testIDRetrieve() + { + $this->mockRequest('GET', '/v1/accounts/acct_DEF', array(), $this->managedAccountResponse('acct_DEF')); + $account = Account::retrieve('acct_DEF'); + $this->assertSame($account->id, 'acct_DEF'); + } + + public function testCreate() + { + $this->mockRequest( + 'POST', + '/v1/accounts', + array('managed' => 'true'), + $this->managedAccountResponse('acct_ABC') + ); + $account = Account::create(array( + 'managed' => true + )); + $this->assertSame($account->id, 'acct_ABC'); + } + + public function testDelete() + { + $account = self::createTestAccount(); + + $this->mockRequest( + 'DELETE', + '/v1/accounts/' . $account->id, + array(), + $this->deletedAccountResponse('acct_ABC') + ); + $deleted = $account->delete(); + $this->assertSame($deleted->id, $account->id); + $this->assertTrue($deleted->deleted); + } + + public function testReject() + { + $account = self::createTestAccount(); + + $this->mockRequest( + 'POST', + '/v1/accounts/' . $account->id . '/reject', + array('reason' => 'fraud'), + $this->deletedAccountResponse('acct_ABC') + ); + $rejected = $account->reject(array('reason' => 'fraud')); + $this->assertSame($rejected->id, $account->id); + } + + public function testSaveLegalEntity() + { + $response = $this->managedAccountResponse('acct_ABC'); + $this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response); + + $response['legal_entity']['first_name'] = 'Bob'; + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('first_name' => 'Bob')), + $response + ); + + $account = Account::create(array('managed' => true)); + $account->legal_entity->first_name = 'Bob'; + $account->save(); + + $this->assertSame('Bob', $account->legal_entity->first_name); + } + + public function testUpdateLegalEntity() + { + $response = $this->managedAccountResponse('acct_ABC'); + $this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response); + + $response['legal_entity']['first_name'] = 'Bob'; + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('first_name' => 'Bob')), + $response + ); + + $account = Account::create(array('managed' => true)); + $account = Account::update($account['id'], array( + 'legal_entity' => array( + 'first_name' => 'Bob' + ) + )); + + $this->assertSame('Bob', $account->legal_entity->first_name); + } + + public function testCreateAdditionalOwners() + { + $request = array( + 'managed' => true, + 'country' => 'GB', + 'legal_entity' => array( + 'additional_owners' => array( + 0 => array( + 'dob' => array( + 'day' => 12, + 'month' => 5, + 'year' => 1970, + ), + 'first_name' => 'xgvukvfrde', + 'last_name' => 'rtcyvubhy', + ), + 1 => array( + 'dob' => array( + 'day' => 8, + 'month' => 4, + 'year' => 1979, + ), + 'first_name' => 'yutreuk', + 'last_name' => 'dfcgvhbjihmv', + ), + ), + ), + ); + + $acct = Account::create($request); + $response = $acct->__toArray(true); + + $req_ao = $request['legal_entity']['additional_owners']; + $resp_ao = $response['legal_entity']['additional_owners']; + + $this->assertSame($req_ao[0]['dob'], $resp_ao[0]['dob']); + $this->assertSame($req_ao[1]['dob'], $resp_ao[1]['dob']); + + $this->assertSame($req_ao[0]['first_name'], $resp_ao[0]['first_name']); + $this->assertSame($req_ao[1]['first_name'], $resp_ao[1]['first_name']); + } + + public function testUpdateAdditionalOwners() + { + $response = $this->managedAccountResponse('acct_ABC'); + $this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response); + + $response['legal_entity']['additional_owners'] = array(array( + 'first_name' => 'Bob', + 'last_name' => null, + 'address' => array( + 'line1' => null, + 'line2' => null, + 'city' => null, + 'state' => null, + 'postal_code' => null, + 'country' => null + ), + 'verification' => array( + 'status' => 'unverified', + 'document' => null, + 'details' => null + ) + )); + + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('additional_owners' => array(array('first_name' => 'Bob')))), + $response + ); + + $response['legal_entity']['additional_owners'][0]['last_name'] = 'Smith'; + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('additional_owners' => array(array('last_name' => 'Smith')))), + $response + ); + + $response['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson'; + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('additional_owners' => array(array('last_name' => 'Johnson')))), + $response + ); + + $response['legal_entity']['additional_owners'][0]['verification']['document'] = 'file_123'; + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('additional_owners' => array(array('verification' => array('document' => 'file_123'))))), + $response + ); + + $response['legal_entity']['additional_owners'][1] = array( + 'first_name' => 'Jane', + 'last_name' => 'Doe' + ); + $this->mockRequest( + 'POST', + '/v1/accounts/acct_ABC', + array('legal_entity' => array('additional_owners' => array(1 => array('first_name' => 'Jane')))), + $response + ); + + $account = Account::create(array('managed' => true)); + $account->legal_entity->additional_owners = array(array('first_name' => 'Bob')); + $account->save(); + $this->assertSame(1, count($account->legal_entity->additional_owners)); + $this->assertSame('Bob', $account->legal_entity->additional_owners[0]->first_name); + + $account->legal_entity->additional_owners[0]->last_name = 'Smith'; + $account->save(); + $this->assertSame(1, count($account->legal_entity->additional_owners)); + $this->assertSame('Smith', $account->legal_entity->additional_owners[0]->last_name); + + $account['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson'; + $account->save(); + $this->assertSame(1, count($account->legal_entity->additional_owners)); + $this->assertSame('Johnson', $account->legal_entity->additional_owners[0]->last_name); + + $account->legal_entity->additional_owners[0]->verification->document = 'file_123'; + $account->save(); + $this->assertSame('file_123', $account->legal_entity->additional_owners[0]->verification->document); + + $account->legal_entity->additional_owners[1] = array('first_name' => 'Jane'); + $account->save(); + $this->assertSame('Jane', $account->legal_entity->additional_owners[1]->first_name); + } +} diff --git a/vendor/stripe/stripe-php/tests/ApiRequestorTest.php b/vendor/stripe/stripe-php/tests/ApiRequestorTest.php new file mode 100644 index 0000000..859fb63 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ApiRequestorTest.php @@ -0,0 +1,68 @@ +getMethod('_encodeObjects'); + $method->setAccessible(true); + + $a = array('customer' => new Customer('abcd')); + $enc = $method->invoke(null, $a); + $this->assertSame($enc, array('customer' => 'abcd')); + + // Preserves UTF-8 + $v = array('customer' => "☃"); + $enc = $method->invoke(null, $v); + $this->assertSame($enc, $v); + + // Encodes latin-1 -> UTF-8 + $v = array('customer' => "\xe9"); + $enc = $method->invoke(null, $v); + $this->assertSame($enc, array('customer' => "\xc3\xa9")); + } + + public function testHttpClientInjection() + { + $reflector = new \ReflectionClass('Stripe\\ApiRequestor'); + $method = $reflector->getMethod('httpClient'); + $method->setAccessible(true); + + $curl = new CurlClient(); + $curl->setTimeout(10); + ApiRequestor::setHttpClient($curl); + + $injectedCurl = $method->invoke(new ApiRequestor()); + $this->assertSame($injectedCurl, $curl); + } + + public function testDefaultHeaders() + { + $reflector = new \ReflectionClass('Stripe\\ApiRequestor'); + $method = $reflector->getMethod('_defaultHeaders'); + $method->setAccessible(true); + + // no way to stub static methods with PHPUnit 4.x :( + Stripe::setAppInfo('MyTestApp', '1.2.34', 'https://mytestapp.example'); + $apiKey = 'sk_test_notarealkey'; + + $headers = $method->invoke(null, $apiKey); + + $ua = json_decode($headers['X-Stripe-Client-User-Agent']); + $this->assertSame($ua->application->name, 'MyTestApp'); + $this->assertSame($ua->application->version, '1.2.34'); + $this->assertSame($ua->application->url, 'https://mytestapp.example'); + + $this->assertSame( + $headers['User-Agent'], + 'Stripe/v1 PhpBindings/' . Stripe::VERSION . ' MyTestApp/1.2.34 (https://mytestapp.example)' + ); + + $this->assertSame($headers['Authorization'], 'Bearer ' . $apiKey); + } +} diff --git a/vendor/stripe/stripe-php/tests/ApplePayDomainTest.php b/vendor/stripe/stripe-php/tests/ApplePayDomainTest.php new file mode 100644 index 0000000..ebb3e7c --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ApplePayDomainTest.php @@ -0,0 +1,72 @@ +mockRequest( + 'POST', + '/v1/apple_pay/domains', + array('domain_name' => 'test.com'), + array( + 'id' => 'apwc_create', + 'object' => 'apple_pay_domain' + ) + ); + $d = ApplePayDomain::create(array( + 'domain_name' => 'test.com' + )); + $this->assertSame('apwc_create', $d->id); + $this->assertInstanceOf('Stripe\\ApplePayDomain', $d); + } + + public function testRetrieve() + { + $this->mockRequest( + 'GET', + '/v1/apple_pay/domains/apwc_retrieve', + array(), + array( + 'id' => 'apwc_retrieve', + 'object' => 'apple_pay_domain' + ) + ); + $d = ApplePayDomain::retrieve('apwc_retrieve'); + $this->assertSame('apwc_retrieve', $d->id); + $this->assertInstanceOf('Stripe\\ApplePayDomain', $d); + } + + public function testDeletion() + { + self::authorizeFromEnv(); + $d = ApplePayDomain::create(array( + 'domain_name' => 'jackshack.website' + )); + $this->assertInstanceOf('Stripe\\ApplePayDomain', $d); + $this->mockRequest( + 'DELETE', + '/v1/apple_pay/domains/' . $d->id, + array(), + array('deleted' => true) + ); + $d->delete(); + $this->assertTrue($d->deleted); + } + + public function testList() + { + $this->mockRequest( + 'GET', + '/v1/apple_pay/domains', + array(), + array( + 'url' => '/v1/apple_pay/domains', + 'object' => 'list' + ) + ); + $all = ApplePayDomain::all(); + $this->assertSame($all->url, '/v1/apple_pay/domains'); + } +} diff --git a/vendor/stripe/stripe-php/tests/ApplicationFeeRefundTest.php b/vendor/stripe/stripe-php/tests/ApplicationFeeRefundTest.php new file mode 100644 index 0000000..b8d266a --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ApplicationFeeRefundTest.php @@ -0,0 +1,18 @@ +id = 'refund_id'; + $refund->fee = 'fee_id'; + + $this->assertSame( + $refund->instanceUrl(), + '/v1/application_fees/fee_id/refunds/refund_id' + ); + } +} diff --git a/vendor/stripe/stripe-php/tests/ApplicationFeeTest.php b/vendor/stripe/stripe-php/tests/ApplicationFeeTest.php new file mode 100644 index 0000000..fe6df92 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ApplicationFeeTest.php @@ -0,0 +1,22 @@ +assertSame( + $applicationFee->instanceUrl(), + '/v1/application_fees/abcd%2Fefgh' + ); + } + + public function testList() + { + self::authorizeFromEnv(); + $d = ApplicationFee::all(); + $this->assertSame($d->url, '/v1/application_fees'); + } +} diff --git a/vendor/stripe/stripe-php/tests/AuthenticationErrorTest.php b/vendor/stripe/stripe-php/tests/AuthenticationErrorTest.php new file mode 100644 index 0000000..1003d69 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/AuthenticationErrorTest.php @@ -0,0 +1,16 @@ +assertSame(401, $e->getHttpStatus()); + } + } +} diff --git a/vendor/stripe/stripe-php/tests/BalanceTest.php b/vendor/stripe/stripe-php/tests/BalanceTest.php new file mode 100644 index 0000000..3d6a2a6 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/BalanceTest.php @@ -0,0 +1,15 @@ +assertSame($d->object, "balance"); + $this->assertTrue(Util\Util::isList($d->available)); + $this->assertTrue(Util\Util::isList($d->pending)); + } +} diff --git a/vendor/stripe/stripe-php/tests/BalanceTransactionTest.php b/vendor/stripe/stripe-php/tests/BalanceTransactionTest.php new file mode 100644 index 0000000..b196a28 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/BalanceTransactionTest.php @@ -0,0 +1,13 @@ +assertSame($d->url, '/v1/balance/history'); + } +} diff --git a/vendor/stripe/stripe-php/tests/BankAccountTest.php b/vendor/stripe/stripe-php/tests/BankAccountTest.php new file mode 100644 index 0000000..285078f --- /dev/null +++ b/vendor/stripe/stripe-php/tests/BankAccountTest.php @@ -0,0 +1,32 @@ +sources->create(array( + 'source' => array( + 'object' => 'bank_account', + 'account_holder_type' => 'individual', + 'account_number' => '000123456789', + 'account_holder_name' => 'John Doe', + 'routing_number' => '110000000', + 'country' => 'US' + ) + )); + + $this->assertSame($bankAccount->status, 'new'); + + $bankAccount = $bankAccount->verify(array( + 'amounts' => array(32, 45) + )); + + $this->assertSame($bankAccount->status, 'verified'); + } +} diff --git a/vendor/stripe/stripe-php/tests/BitcoinReceiverTest.php b/vendor/stripe/stripe-php/tests/BitcoinReceiverTest.php new file mode 100644 index 0000000..49fb88f --- /dev/null +++ b/vendor/stripe/stripe-php/tests/BitcoinReceiverTest.php @@ -0,0 +1,120 @@ +assertSame($classUrl, '/v1/bitcoin/receivers'); + $receiver = new BitcoinReceiver('abcd/efgh'); + $instanceUrl = $receiver->instanceUrl(); + $this->assertSame($instanceUrl, '/v1/bitcoin/receivers/abcd%2Fefgh'); + } + + public function testCreate() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $this->assertSame(100, $receiver->amount); + $this->assertNotNull($receiver->id); + } + + public function testRetrieve() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $r = BitcoinReceiver::retrieve($receiver->id); + $this->assertSame($receiver->id, $r->id); + + $this->assertInstanceOf('Stripe\\BitcoinTransaction', $r->transactions->data[0]); + } + + public function testList() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $receivers = BitcoinReceiver::all(); + $this->assertTrue(count($receivers->data) > 0); + } + + public function testListTransactions() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + $this->assertSame(0, count($receiver->transactions->data)); + + $transactions = $receiver->transactions->all(array("limit" => 1)); + $this->assertSame(1, count($transactions->data)); + } + + public function testDeleteWithCustomer() + { + self::authorizeFromEnv(); + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + $customer = Customer::create(array("source" => $receiver->id)); + $charge = Charge::create(array( + "customer" => $customer->id, + "amount" => $receiver->amount, + "currency" => $receiver->currency + )); + $receiver = BitcoinReceiver::retrieve($receiver->id); + $response = $receiver->delete(); + $this->assertTrue($response->deleted); + } + + public function testUpdateWithCustomer() + { + self::authorizeFromEnv(); + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + $customer = Customer::create(array("source" => $receiver->id)); + $receiver = BitcoinReceiver::retrieve($receiver->id); + + $receiver->description = "a new description"; + $receiver->save(); + + $base = Customer::classUrl(); + $parentExtn = $receiver['customer']; + $extn = $receiver['id']; + $this->assertEquals("$base/$parentExtn/sources/$extn", $receiver->instanceUrl()); + + $updatedReceiver = BitcoinReceiver::retrieve($receiver->id); + $this->assertEquals($receiver["description"], $updatedReceiver["description"]); + } + + public function testUpdateWithoutCustomer() + { + self::authorizeFromEnv(); + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $receiver->description = "a new description"; + $receiver->save(); + + $this->assertEquals(BitcoinReceiver::classUrl() . "/" . $receiver['id'], $receiver->instanceUrl()); + + $updatedReceiver = BitcoinReceiver::retrieve($receiver->id); + $this->assertEquals($receiver["description"], $updatedReceiver["description"]); + } + + public function testRefund() + { + self::authorizeFromEnv(); + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $receiver = BitcoinReceiver::retrieve($receiver->id); + $this->assertNull($receiver->refund_address); + + $refundAddress = "REFUNDHERE"; + $receiver->refund(array("refund_address" => $refundAddress)); + + $this->assertSame($refundAddress, $receiver->refund_address); + } +} diff --git a/vendor/stripe/stripe-php/tests/CardErrorTest.php b/vendor/stripe/stripe-php/tests/CardErrorTest.php new file mode 100644 index 0000000..09f2734 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CardErrorTest.php @@ -0,0 +1,40 @@ + '4000000000000002', + 'exp_month' => '3', + 'exp_year' => '2020' + ); + + $charge = array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ); + + try { + Charge::create($charge); + } catch (Error\Card $e) { + $this->assertSame(402, $e->getHttpStatus()); + $this->assertTrue(strpos($e->getRequestId(), "req_") === 0, $e->getRequestId()); + $actual = $e->getJsonBody(); + $this->assertSame( + array('error' => array( + 'message' => 'Your card was declined.', + 'type' => 'card_error', + 'code' => 'card_declined', + 'charge' => $actual['error']['charge'], + )), + $actual + ); + } + } +} diff --git a/vendor/stripe/stripe-php/tests/ChargeTest.php b/vendor/stripe/stripe-php/tests/ChargeTest.php new file mode 100644 index 0000000..6ec0fa1 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ChargeTest.php @@ -0,0 +1,204 @@ +assertSame(Charge::classUrl(), '/v1/charges'); + $charge = new Charge('abcd/efgh'); + $this->assertSame($charge->instanceUrl(), '/v1/charges/abcd%2Fefgh'); + } + + public function testCreate() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $c = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + $this->assertTrue($c->paid); + $this->assertFalse($c->refunded); + } + + public function testIdempotentCreate() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $c = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ), + array( + 'idempotency_key' => self::generateRandomString(), + ) + ); + + $this->assertTrue($c->paid); + $this->assertSame(200, $c->getLastResponse()->code); + } + + public function testRetrieve() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $c = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + $d = Charge::retrieve($c->id); + $this->assertSame(200, $d->getLastResponse()->code); + $this->assertSame($d->id, $c->id); + } + + public function testUpdateMetadata() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $charge = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + + $charge->metadata['test'] = 'foo bar'; + $charge->save(); + + $updatedCharge = Charge::retrieve($charge->id); + $this->assertSame('foo bar', $updatedCharge->metadata['test']); + } + + public function testUpdateMetadataAll() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $charge = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + + $charge->metadata = array('test' => 'foo bar'); + $charge->save(); + $this->assertSame(200, $charge->getLastResponse()->code); + + $updatedCharge = Charge::retrieve($charge->id); + $this->assertSame('foo bar', $updatedCharge->metadata['test']); + } + + public function testMarkAsFraudulent() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $charge = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + + $charge->refunds->create(); + $charge->markAsFraudulent(); + + $updatedCharge = Charge::retrieve($charge->id); + $this->assertSame( + 'fraudulent', + $updatedCharge['fraud_details']['user_report'] + ); + } + + public function testCreateWithBitcoinReceiverSource() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $charge = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'source' => $receiver->id + ) + ); + + $this->assertSame($receiver->id, $charge->source->id); + $this->assertSame("bitcoin_receiver", $charge->source->object); + $this->assertSame("succeeded", $charge->status); + $this->assertInstanceOf('Stripe\\BitcoinReceiver', $charge->source); + } + + public function markAsSafe() + { + self::authorizeFromEnv(); + + $card = array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $charge = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + + $charge->markAsSafe(); + + $updatedCharge = Charge::retrieve($charge->id); + $this->assertSame('safe', $updatedCharge['fraud_details']['user_report']); + } +} diff --git a/vendor/stripe/stripe-php/tests/CollectionTest.php b/vendor/stripe/stripe-php/tests/CollectionTest.php new file mode 100644 index 0000000..f8f923f --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CollectionTest.php @@ -0,0 +1,105 @@ + $id, + 'object' => 'pageablemodel' + )); + } + return array( + 'object' => 'list', + 'url' => '/v1/pageablemodels', + 'data' => $data, + 'has_more' => $hasMore + ); + } + + public function testAutoPagingOnePage() + { + $collection = Collection::constructFrom( + $this->pageableModelResponse(array('pm_123', 'pm_124'), false), + new Util\RequestOptions() + ); + + $seen = array(); + foreach ($collection->autoPagingIterator() as $item) { + array_push($seen, $item['id']); + } + + $this->assertSame($seen, array('pm_123', 'pm_124')); + } + + public function testAutoPagingThreePages() + { + $collection = Collection::constructFrom( + $this->pageableModelResponse(array('pm_123', 'pm_124'), true), + new Util\RequestOptions() + ); + $collection->setRequestParams(array('foo' => 'bar')); + + $this->mockRequest( + 'GET', + '/v1/pageablemodels', + array( + 'foo' => 'bar', + 'starting_after' => 'pm_124' + ), + $this->pageableModelResponse(array('pm_125', 'pm_126'), true) + ); + $this->mockRequest( + 'GET', + '/v1/pageablemodels', + array( + 'foo' => 'bar', + 'starting_after' => 'pm_126' + ), + $this->pageableModelResponse(array('pm_127'), false) + ); + + $seen = array(); + foreach ($collection->autoPagingIterator() as $item) { + array_push($seen, $item['id']); + } + + $this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127')); + } + + public function testIteratorToArray() + { + $collection = Collection::constructFrom( + $this->pageableModelResponse(array('pm_123', 'pm_124'), true), + new Util\RequestOptions() + ); + + $this->mockRequest( + 'GET', + '/v1/pageablemodels', + array( + 'starting_after' => 'pm_124' + ), + $this->pageableModelResponse(array('pm_125', 'pm_126'), true) + ); + $this->mockRequest( + 'GET', + '/v1/pageablemodels', + array( + 'starting_after' => 'pm_126' + ), + $this->pageableModelResponse(array('pm_127'), false) + ); + + $seen = array(); + foreach (iterator_to_array($collection->autoPagingIterator()) as $item) { + array_push($seen, $item['id']); + } + + $this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127')); + } +} diff --git a/vendor/stripe/stripe-php/tests/CountrySpecTest.php b/vendor/stripe/stripe-php/tests/CountrySpecTest.php new file mode 100644 index 0000000..19dc370 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CountrySpecTest.php @@ -0,0 +1,31 @@ +assertSame($d->object, "country_spec"); + $this->assertSame($d->id, $country); + $this->assertGreaterThan(0, count($d->supported_bank_account_currencies)); + $this->assertGreaterThan(0, count($d->supported_payment_currencies)); + $this->assertGreaterThan(0, count($d->supported_payment_methods)); + $this->assertGreaterThan(0, count($d->verification_fields)); + } + + public function testList() + { + self::authorizeFromEnv(); + + $d = CountrySpec::all(); + $this->assertSame($d->object, "list"); + $this->assertGreaterThan(0, count($d->data)); + $this->assertSame($d->data[0]->object, "country_spec"); + $this->assertInstanceOf("Stripe\\CountrySpec", $d->data[0]); + } +} diff --git a/vendor/stripe/stripe-php/tests/CouponTest.php b/vendor/stripe/stripe-php/tests/CouponTest.php new file mode 100644 index 0000000..d23163e --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CouponTest.php @@ -0,0 +1,29 @@ + 25, + 'duration' => 'repeating', + 'duration_in_months' => 5, + 'id' => $id, + ) + ); + $this->assertSame($id, $c->id); + // @codingStandardsIgnoreStart + $this->assertSame(25, $c->percent_off); + // @codingStandardsIgnoreEnd + $c->metadata['foo'] = 'bar'; + $c->save(); + + $stripeCoupon = Coupon::retrieve($id); + $this->assertEquals($c->metadata, $stripeCoupon->metadata); + } +} diff --git a/vendor/stripe/stripe-php/tests/CurlClientTest.php b/vendor/stripe/stripe-php/tests/CurlClientTest.php new file mode 100644 index 0000000..665904e --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CurlClientTest.php @@ -0,0 +1,92 @@ +assertSame(CurlClient::DEFAULT_TIMEOUT, $curl->getTimeout()); + $this->assertSame(CurlClient::DEFAULT_CONNECT_TIMEOUT, $curl->getConnectTimeout()); + + // implicitly tests whether we're returning the CurlClient instance + $curl = $curl->setConnectTimeout(1)->setTimeout(10); + $this->assertSame(1, $curl->getConnectTimeout()); + $this->assertSame(10, $curl->getTimeout()); + + $curl->setTimeout(-1); + $curl->setConnectTimeout(-999); + $this->assertSame(0, $curl->getTimeout()); + $this->assertSame(0, $curl->getConnectTimeout()); + } + + public function testDefaultOptions() + { + // make sure options array loads/saves properly + $optionsArray = array(CURLOPT_PROXY => 'localhost:80'); + $withOptionsArray = new CurlClient($optionsArray); + $this->assertSame($withOptionsArray->getDefaultOptions(), $optionsArray); + + // make sure closure-based options work properly, including argument passing + $ref = null; + $withClosure = new CurlClient(function ($method, $absUrl, $headers, $params, $hasFile) use (&$ref) { + $ref = func_get_args(); + return array(); + }); + + $withClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false); + $this->assertSame($ref, array('get', 'https://httpbin.org/status/200', array(), array(), false)); + + // this is the last test case that will run, since it'll throw an exception at the end + $withBadClosure = new CurlClient(function () { + return 'thisShouldNotWork'; + }); + $this->setExpectedException('Stripe\Error\Api', "Non-array value returned by defaultOptions CurlClient callback"); + $withBadClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false); + } + + public function testEncode() + { + $a = array( + 'my' => 'value', + 'that' => array('your' => 'example'), + 'bar' => 1, + 'baz' => null + ); + + $enc = CurlClient::encode($a); + $this->assertSame('my=value&that%5Byour%5D=example&bar=1', $enc); + + $a = array('that' => array('your' => 'example', 'foo' => null)); + $enc = CurlClient::encode($a); + $this->assertSame('that%5Byour%5D=example', $enc); + + $a = array('that' => 'example', 'foo' => array('bar', 'baz')); + $enc = CurlClient::encode($a); + $this->assertSame('that=example&foo%5B%5D=bar&foo%5B%5D=baz', $enc); + + $a = array( + 'my' => 'value', + 'that' => array('your' => array('cheese', 'whiz', null)), + 'bar' => 1, + 'baz' => null + ); + + $enc = CurlClient::encode($a); + $expected = 'my=value&that%5Byour%5D%5B%5D=cheese' + . '&that%5Byour%5D%5B%5D=whiz&bar=1'; + $this->assertSame($expected, $enc); + + // Ignores an empty array + $enc = CurlClient::encode(array('foo' => array(), 'bar' => 'baz')); + $expected = 'bar=baz'; + $this->assertSame($expected, $enc); + + $a = array('foo' => array(array('bar' => 'baz'), array('bar' => 'bin'))); + $enc = CurlClient::encode($a); + $this->assertSame('foo%5B0%5D%5Bbar%5D=baz&foo%5B1%5D%5Bbar%5D=bin', $enc); + } +} diff --git a/vendor/stripe/stripe-php/tests/CustomerTest.php b/vendor/stripe/stripe-php/tests/CustomerTest.php new file mode 100644 index 0000000..606536e --- /dev/null +++ b/vendor/stripe/stripe-php/tests/CustomerTest.php @@ -0,0 +1,278 @@ +delete(); + + $this->assertTrue($customer->deleted); + $this->assertNull($customer['active_card']); + } + + public function testSave() + { + $customer = self::createTestCustomer(); + + $customer->email = 'gdb@stripe.com'; + $customer->save(); + $this->assertSame($customer->email, 'gdb@stripe.com'); + + $stripeCustomer = Customer::retrieve($customer->id); + $this->assertSame($customer->email, $stripeCustomer->email); + + Stripe::setApiKey(null); + $customer = Customer::create(null, self::API_KEY); + $customer->email = 'gdb@stripe.com'; + $customer->save(); + + self::authorizeFromEnv(); + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame($updatedCustomer->email, 'gdb@stripe.com'); + } + + /** + * @expectedException Stripe\Error\InvalidRequest + */ + public function testBogusAttribute() + { + $customer = self::createTestCustomer(); + $customer->bogus = 'bogus'; + $customer->save(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testUpdateDescriptionEmpty() + { + $customer = self::createTestCustomer(); + $customer->description = ''; + } + + public function testUpdateDescriptionNull() + { + $customer = self::createTestCustomer(array('description' => 'foo bar')); + $customer->description = null; + + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame(null, $updatedCustomer->description); + } + + public function testUpdateMetadata() + { + $customer = self::createTestCustomer(); + + $customer->metadata['test'] = 'foo bar'; + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame('foo bar', $updatedCustomer->metadata['test']); + } + + public function testDeleteMetadata() + { + $customer = self::createTestCustomer(); + + $customer->metadata = null; + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame(0, count($updatedCustomer->metadata->keys())); + } + + public function testUpdateSomeMetadata() + { + $customer = self::createTestCustomer(); + $customer->metadata['shoe size'] = '7'; + $customer->metadata['shirt size'] = 'XS'; + $customer->save(); + + $customer->metadata['shoe size'] = '9'; + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame('XS', $updatedCustomer->metadata['shirt size']); + $this->assertSame('9', $updatedCustomer->metadata['shoe size']); + } + + public function testUpdateAllMetadata() + { + $customer = self::createTestCustomer(); + $customer->metadata['shoe size'] = '7'; + $customer->metadata['shirt size'] = 'XS'; + $customer->save(); + + $customer->metadata = array('shirt size' => 'XL'); + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $this->assertSame('XL', $updatedCustomer->metadata['shirt size']); + $this->assertFalse(isset($updatedCustomer->metadata['shoe size'])); + } + + /** + * @expectedException Stripe\Error\InvalidRequest + */ + public function testUpdateInvalidMetadata() + { + $customer = self::createTestCustomer(); + $customer->metadata = 'something'; + $customer->save(); + } + + public function testCancelSubscription() + { + $planID = 'gold-' . self::generateRandomString(20); + self::retrieveOrCreatePlan($planID); + + $customer = self::createTestCustomer( + array( + 'plan' => $planID, + ) + ); + + $customer->cancelSubscription(array('at_period_end' => true)); + $this->assertSame($customer->subscription->status, 'active'); + $this->assertTrue($customer->subscription->cancel_at_period_end); + $customer->cancelSubscription(); + $this->assertSame($customer->subscription->status, 'canceled'); + } + + public function testCustomerAddCard() + { + $token = Token::create( + array("card" => array( + "number" => "4242424242424242", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $customer = $this->createTestCustomer(); + $createdCard = $customer->sources->create(array("card" => $token->id)); + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedCards = $updatedCustomer->sources->all(); + $this->assertSame(count($updatedCards["data"]), 2); + } + + public function testCustomerUpdateCard() + { + $customer = $this->createTestCustomer(); + $customer->save(); + + $sources = $customer->sources->all(); + $this->assertSame(count($sources["data"]), 1); + + $card = $sources['data'][0]; + $card->name = "Jane Austen"; + $card->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedCards = $updatedCustomer->sources->all(); + $this->assertSame($updatedCards["data"][0]->name, "Jane Austen"); + } + + public function testCustomerDeleteCard() + { + $token = Token::create( + array("card" => array( + "number" => "4242424242424242", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $customer = $this->createTestCustomer(); + $createdCard = $customer->sources->create(array("card" => $token->id)); + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedCards = $updatedCustomer->sources->all(); + $this->assertSame(count($updatedCards["data"]), 2); + + $deleteStatus = $updatedCustomer->sources->retrieve($createdCard->id)->delete(); + $this->assertTrue($deleteStatus->deleted); + $updatedCustomer->save(); + + $postDeleteCustomer = Customer::retrieve($customer->id); + $postDeleteCards = $postDeleteCustomer->sources->all(); + $this->assertSame(count($postDeleteCards["data"]), 1); + } + + public function testCustomerAddSource() + { + self::authorizeFromEnv(); + $token = Token::create( + array("card" => array( + "number" => "4242424242424242", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $customer = $this->createTestCustomer(); + $createdSource = $customer->sources->create(array("source" => $token->id)); + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedSources = $updatedCustomer->sources->all(); + $this->assertSame(count($updatedSources["data"]), 2); + } + + public function testCustomerUpdateSource() + { + $customer = $this->createTestCustomer(); + $customer->save(); + + $sources = $customer->sources->all(); + $this->assertSame(count($sources["data"]), 1); + + $source = $sources['data'][0]; + $source->name = "Jane Austen"; + $source->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedSources = $updatedCustomer->sources->all(); + $this->assertSame($updatedSources["data"][0]->name, "Jane Austen"); + } + + public function testCustomerDeleteSource() + { + self::authorizeFromEnv(); + $token = Token::create( + array("card" => array( + "number" => "4242424242424242", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $customer = $this->createTestCustomer(); + $createdSource = $customer->sources->create(array("source" => $token->id)); + $customer->save(); + + $updatedCustomer = Customer::retrieve($customer->id); + $updatedSources = $updatedCustomer->sources->all(); + $this->assertSame(count($updatedSources["data"]), 2); + + $deleteStatus = $updatedCustomer->sources->retrieve($createdSource->id)->delete(); + $this->assertTrue($deleteStatus->deleted); + $updatedCustomer->save(); + + $postDeleteCustomer = Customer::retrieve($customer->id); + $postDeleteSources = $postDeleteCustomer->sources->all(); + $this->assertSame(count($postDeleteSources["data"]), 1); + } +} diff --git a/vendor/stripe/stripe-php/tests/DiscountTest.php b/vendor/stripe/stripe-php/tests/DiscountTest.php new file mode 100644 index 0000000..1e77029 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/DiscountTest.php @@ -0,0 +1,31 @@ + 25, + 'duration' => 'repeating', + 'duration_in_months' => 5, + 'id' => $id, + ) + ); + $customer = self::createTestCustomer(array('coupon' => $id)); + + $this->assertTrue(isset($customer->discount)); + $this->assertTrue(isset($customer->discount->coupon)); + $this->assertSame($id, $customer->discount->coupon->id); + + $customer->deleteDiscount(); + $this->assertFalse(isset($customer->discount)); + + $customer = Customer::retrieve($customer->id); + $this->assertFalse(isset($customer->discount)); + } +} diff --git a/vendor/stripe/stripe-php/tests/DisputeTest.php b/vendor/stripe/stripe-php/tests/DisputeTest.php new file mode 100644 index 0000000..8e4de49 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/DisputeTest.php @@ -0,0 +1,91 @@ +assertSame(Dispute::classUrl(), '/v1/disputes'); + $dispute = new Dispute('dp_123'); + $this->assertSame($dispute->instanceUrl(), '/v1/disputes/dp_123'); + } + + private function createDisputedCharge() + { + $card = array( + 'number' => '4000000000000259', + 'exp_month' => 5, + 'exp_year' => date('Y') + 1 + ); + + $c = Charge::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'card' => $card + ) + ); + $c = Charge::retrieve($c->id); + + $attempts = 0; + + while ($c->dispute === null) { + if ($attempts > 5) { + throw new \Exception("Charge is taking too long to be disputed"); + } + sleep(1); + $c = Charge::retrieve($c->id); + $attempts += 1; + } + + return $c; + } + + public function testAll() + { + self::authorizeFromEnv(); + + $sublist = Dispute::all( + array( + 'limit' => 3, + ) + ); + $this->assertSame(3, count($sublist->data)); + } + + + public function testUpdate() + { + self::authorizeFromEnv(); + + $c = $this->createDisputedCharge(); + + $d = $c->dispute; + $d->evidence["customer_name"] = "Bob"; + $s = $d->save(); + + $this->assertSame($d->id, $s->id); + $this->assertSame("Bob", $s->evidence["customer_name"]); + } + + public function testClose() + { + self::authorizeFromEnv(); + + $c = $this->createDisputedCharge(); + + $d = $c->dispute->close(); + $this->assertSame("lost", $d->status); + } + + public function testRetrieve() + { + self::authorizeFromEnv(); + + $c = $this->createDisputedCharge(); + + $d = Dispute::retrieve($c->dispute->id); + $this->assertSame($d->id, $c->dispute->id); + } +} diff --git a/vendor/stripe/stripe-php/tests/ErrorTest.php b/vendor/stripe/stripe-php/tests/ErrorTest.php new file mode 100644 index 0000000..7536242 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ErrorTest.php @@ -0,0 +1,61 @@ + 'bar') + ); + $this->fail("Did not raise error"); + } catch (Error\Api $e) { + $this->assertSame("hello", $e->getMessage()); + $this->assertSame(500, $e->getHttpStatus()); + $this->assertSame("{'foo':'bar'}", $e->getHttpBody()); + $this->assertSame(array('foo' => 'bar'), $e->getJsonBody()); + $this->assertSame(null, $e->getHttpHeaders()); + $this->assertSame(null, $e->getRequestId()); + } + } + + public function testResponseHeaders() + { + try { + throw new Error\Api( + "hello", + 500, + "{'foo':'bar'}", + array('foo' => 'bar'), + array('Request-Id' => 'req_bar') + ); + $this->fail("Did not raise error"); + } catch (Error\Api $e) { + $this->assertSame(array('Request-Id' => 'req_bar'), $e->getHttpHeaders()); + $this->assertSame('req_bar', $e->getRequestId()); + } + } + + public function testCode() + { + try { + throw new Error\Card( + "hello", + "some_param", + "some_code", + 400, + "{'foo':'bar'}", + array('foo' => 'bar') + ); + $this->fail("Did not raise error"); + } catch (Error\Card $e) { + $this->assertSame("some_param", $e->getStripeParam()); + $this->assertSame('some_code', $e->getStripeCode()); + } + } +} diff --git a/vendor/stripe/stripe-php/tests/ExternalAccountTest.php b/vendor/stripe/stripe-php/tests/ExternalAccountTest.php new file mode 100644 index 0000000..70c0068 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ExternalAccountTest.php @@ -0,0 +1,30 @@ + array( + 'country' => 'US', + 'routing_number' => '110000000', + 'account_number' => '000123456789', + 'account_holder_name' => 'Jane Austen', + 'account_holder_type' => 'company' + ) + ) + ); + $customer = Customer::create(); + $externalAccount = $customer->sources->create(array('bank_account' => $bankAccountToken->id)); + $verifiedAccount = $externalAccount->verify(array('amounts' => array(32, 45)), null); + + $base = Customer::classUrl(); + $parentExtn = $externalAccount['customer']; + $extn = $externalAccount['id']; + $this->assertEquals("$base/$parentExtn/sources/$extn", $externalAccount->instanceUrl()); + } +} diff --git a/vendor/stripe/stripe-php/tests/FileUploadTest.php b/vendor/stripe/stripe-php/tests/FileUploadTest.php new file mode 100644 index 0000000..7d1faf3 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/FileUploadTest.php @@ -0,0 +1,44 @@ + 'dispute_evidence', + 'file' => $fp, + ) + ); + fclose($fp); + $this->assertSame(95, $file->size); + $this->assertSame('png', $file->type); + } + + public function testCreateAndRetrieveCurlFile() + { + if (!class_exists('\CurlFile', false)) { + // Older PHP versions don't support this + return; + } + + $curlFile = new \CurlFile(dirname(__FILE__).'/../data/test.png'); + self::authorizeFromEnv(); + $file = FileUpload::create( + array( + 'purpose' => 'dispute_evidence', + 'file' => $curlFile, + ) + ); + $this->assertSame(95, $file->size); + $this->assertSame('png', $file->type); + + // Just check that we don't get exceptions + $file = FileUpload::retrieve($file->id); + $file->refresh(); + } +} diff --git a/vendor/stripe/stripe-php/tests/InvalidRequestErrorTest.php b/vendor/stripe/stripe-php/tests/InvalidRequestErrorTest.php new file mode 100644 index 0000000..6cc6d68 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/InvalidRequestErrorTest.php @@ -0,0 +1,26 @@ +assertSame(404, $e->getHttpStatus()); + } + } + + public function testBadData() + { + self::authorizeFromEnv(); + try { + Charge::create(); + } catch (Error\InvalidRequest $e) { + $this->assertSame(400, $e->getHttpStatus()); + } + } +} diff --git a/vendor/stripe/stripe-php/tests/InvoiceTest.php b/vendor/stripe/stripe-php/tests/InvoiceTest.php new file mode 100644 index 0000000..e6e5168 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/InvoiceTest.php @@ -0,0 +1,56 @@ + $customer->id, + 'amount' => 0, + 'currency' => 'usd', + )); + + $invoice = Invoice::upcoming(array( + 'customer' => $customer->id, + )); + $this->assertSame($invoice->customer, $customer->id); + $this->assertSame($invoice->attempted, false); + } + + public function testItemsAccessWithParameter() + { + self::authorizeFromEnv(); + $customer = self::createTestCustomer(); + + InvoiceItem::create(array( + 'customer' => $customer->id, + 'amount' => 100, + 'currency' => 'usd', + )); + + $invoice = Invoice::upcoming( + array( + 'customer' => $customer->id, + ) + ); + + $lines = $invoice->lines->all(array('limit' => 10)); + + $this->assertSame(count($lines->data), 1); + $this->assertSame($lines->data[0]->amount, 100); + } + + // This is really just making sure that this operation does not trigger any + // warnings, as it's highly nested. + public function testAll() + { + self::authorizeFromEnv(); + $invoices = Invoice::all(); + $this->assertTrue(count($invoices) > 0); + } +} diff --git a/vendor/stripe/stripe-php/tests/PlanTest.php b/vendor/stripe/stripe-php/tests/PlanTest.php new file mode 100644 index 0000000..9aa3589 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/PlanTest.php @@ -0,0 +1,51 @@ + 2000, + 'interval' => 'month', + 'currency' => 'usd', + 'name' => 'Plan', + 'id' => 'gold-' . self::generateRandomString(20) + )); + $p->delete(); + $this->assertTrue($p->deleted); + } + + public function testFalseyId() + { + try { + $retrievedPlan = Plan::retrieve('0'); + } catch (Error\InvalidRequest $e) { + // Can either succeed or 404, all other errors are bad + if ($e->httpStatus !== 404) { + $this->fail(); + } + } + } + + public function testSave() + { + self::authorizeFromEnv(); + $planID = 'gold-' . self::generateRandomString(20); + $p = Plan::create(array( + 'amount' => 2000, + 'interval' => 'month', + 'currency' => 'usd', + 'name' => 'Plan', + 'id' => $planID + )); + $p->name = 'A new plan name'; + $p->save(); + $this->assertSame($p->name, 'A new plan name'); + + $stripePlan = Plan::retrieve($planID); + $this->assertSame($p->name, $stripePlan->name); + } +} diff --git a/vendor/stripe/stripe-php/tests/ProductTest.php b/vendor/stripe/stripe-php/tests/ProductTest.php new file mode 100644 index 0000000..668d015 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ProductTest.php @@ -0,0 +1,158 @@ +httpStatus !== 404) { + $this->fail(); + } + } + } + + public function testProductCreateUpdateRead() + { + + Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); + $ProductID = 'gold-' . self::generateRandomString(20); + $p = Product::create(array( + 'name' => 'Gold Product', + 'id' => $ProductID, + 'url' => 'www.stripe.com/gold' + )); + $this->assertSame($p->url, 'www.stripe.com/gold'); + + $p->name = 'A new Product name'; + $p->save(); + $this->assertSame($p->name, 'A new Product name'); + $this->assertSame($p->url, 'www.stripe.com/gold'); + + $stripeProduct = Product::retrieve($ProductID); + $this->assertSame($p->name, $stripeProduct->name); + $this->assertSame($stripeProduct->url, 'www.stripe.com/gold'); + } + + public function testSKUCreateUpdateRead() + { + Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); + $ProductID = 'silver-' . self::generateRandomString(20); + $p = Product::create(array( + 'name' => 'Silver Product', + 'id' => $ProductID, + 'url' => 'www.stripe.com/silver' + )); + + $SkuID = 'silver-sku-' . self::generateRandomString(20); + $sku = SKU::create(array( + 'price' => 500, + 'currency' => 'usd', + 'id' => $SkuID, + 'inventory' => array( + 'type' => 'finite', + 'quantity' => 40 + ), + 'product' => $ProductID + )); + + $sku->price = 600; + $sku->inventory->quantity = 50; + $sku->save(); + $this->assertSame($sku->price, 600); + $this->assertSame(50, $sku->inventory->quantity); + + $stripeSku = SKU::retrieve($SkuID); + $this->assertSame($sku->price, 600); + $this->assertSame('finite', $sku->inventory->type); + $this->assertSame(50, $sku->inventory->quantity); + } + + public function testSKUProductDelete() + { + Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); + $ProductID = 'silver-' . self::generateRandomString(20); + $p = Product::create(array( + 'name' => 'Silver Product', + 'id' => $ProductID, + 'url' => 'stripe.com/silver' + )); + + $SkuID = 'silver-sku-' . self::generateRandomString(20); + $sku = SKU::create(array( + 'price' => 500, + 'currency' => 'usd', + 'id' => $SkuID, + 'inventory' => array( + 'type' => 'finite', + 'quantity' => 40 + ), + 'product' => $ProductID + )); + + $deletedSku = $sku->delete(); + $this->assertTrue($deletedSku->deleted); + + $deletedProduct = $p->delete(); + $this->assertTrue($deletedProduct->deleted); + } + + public function testOrderCreateUpdateRetrievePayReturn() + { + Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a'); + $ProductID = 'silver-' . self::generateRandomString(20); + $p = Product::create(array( + 'name' => 'Silver Product', + 'id' => $ProductID, + 'url' => 'www.stripe.com/silver', + 'shippable' => false, + )); + + $SkuID = 'silver-sku-' . self::generateRandomString(20); + $sku = SKU::create(array( + 'price' => 500, + 'currency' => 'usd', + 'id' => $SkuID, + 'inventory' => array( + 'type' => 'finite', + 'quantity' => 40 + ), + 'product' => $ProductID + )); + + $order = Order::create(array( + 'items' => array( + 0 => array( + 'type' => 'sku', + 'parent' => $SkuID, + ), + ), + 'currency' => 'usd', + 'email' => 'foo@bar.com', + )); + + $order->metadata->foo = "bar"; + $order->save(); + + $stripeOrder = Order::retrieve($order->id); + $this->assertSame($order->metadata->foo, "bar"); + + $order->pay(array( + 'source' => array( + 'object' => 'card', + 'number' => '4242424242424242', + 'exp_month' => '05', + 'exp_year' => '2017' + ), + )); + $this->assertSame($order->status, 'paid'); + + $orderReturn = $order->returnOrder(); + $this->assertSame($orderReturn->order, $order->id); + } +} diff --git a/vendor/stripe/stripe-php/tests/RateLimitErrorTest.php b/vendor/stripe/stripe-php/tests/RateLimitErrorTest.php new file mode 100644 index 0000000..2d6a6b2 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/RateLimitErrorTest.php @@ -0,0 +1,22 @@ + array(), + ); + } + + /** + * @expectedException Stripe\Error\RateLimit + */ + public function testRateLimit() + { + $this->mockRequest('GET', '/v1/accounts/acct_DEF', array(), $this->rateLimitErrorResponse(), 429); + Account::retrieve('acct_DEF'); + } +} diff --git a/vendor/stripe/stripe-php/tests/RecipientTest.php b/vendor/stripe/stripe-php/tests/RecipientTest.php new file mode 100644 index 0000000..e26bfe8 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/RecipientTest.php @@ -0,0 +1,112 @@ +delete(); + + $this->assertTrue($recipient->deleted); + } + + public function testSave() + { + $recipient = self::createTestRecipient(); + + $recipient->email = 'gdb@stripe.com'; + $recipient->save(); + $this->assertSame($recipient->email, 'gdb@stripe.com'); + + $stripeRecipient = Recipient::retrieve($recipient->id); + $this->assertSame($recipient->email, $stripeRecipient->email); + } + + /** + * @expectedException Stripe\Error\InvalidRequest + */ + public function testBogusAttribute() + { + $recipient = self::createTestRecipient(); + $recipient->bogus = 'bogus'; + $recipient->save(); + } + + public function testRecipientAddCard() + { + $token = Token::create( + array("card" => array( + "number" => "4000056655665556", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $recipient = $this->createTestRecipient(); + $createdCard = $recipient->cards->create(array("card" => $token->id)); + $recipient->save(); + + $updatedRecipient = Recipient::retrieve($recipient->id); + $updatedCards = $updatedRecipient->cards->all(); + $this->assertSame(count($updatedCards["data"]), 1); + } + + public function testRecipientUpdateCard() + { + $token = Token::create( + array("card" => array( + "number" => "4000056655665556", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $recipient = $this->createTestRecipient(); + $createdCard = $recipient->cards->create(array("card" => $token->id)); + $recipient->save(); + + $createdCards = $recipient->cards->all(); + $this->assertSame(count($createdCards["data"]), 1); + + $card = $createdCards['data'][0]; + $card->name = "Jane Austen"; + $card->save(); + + $updatedRecipient = Recipient::retrieve($recipient->id); + $updatedCards = $updatedRecipient->cards->all(); + $this->assertSame($updatedCards["data"][0]->name, "Jane Austen"); + } + + public function testRecipientDeleteCard() + { + $token = Token::create( + array("card" => array( + "number" => "4000056655665556", + "exp_month" => 5, + "exp_year" => date('Y') + 3, + "cvc" => "314" + )) + ); + + $recipient = $this->createTestRecipient(); + $createdCard = $recipient->cards->create(array("card" => $token->id)); + $recipient->save(); + + $updatedRecipient = Recipient::retrieve($recipient->id); + $updatedCards = $updatedRecipient->cards->all(); + $this->assertSame(count($updatedCards["data"]), 1); + + $deleteStatus = + $updatedRecipient->cards->retrieve($createdCard->id)->delete(); + $this->assertTrue($deleteStatus->deleted); + $updatedRecipient->save(); + + $postDeleteRecipient = Recipient::retrieve($recipient->id); + $postDeleteCards = $postDeleteRecipient->cards->all(); + $this->assertSame(count($postDeleteCards["data"]), 0); + } +} diff --git a/vendor/stripe/stripe-php/tests/RefundTest.php b/vendor/stripe/stripe-php/tests/RefundTest.php new file mode 100644 index 0000000..e9dd850 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/RefundTest.php @@ -0,0 +1,131 @@ + 100, 'charge' => $charge->id)); + $this->assertSame(100, $refund->amount); + $this->assertSame($charge->id, $refund->charge); + } + + public function testUpdateAndRetrieve() + { + $charge = self::createTestCharge(); + $ref = Refund::create(array('amount' => 100, 'charge' => $charge->id)); + $ref->metadata["key"] = "value"; + $ref->save(); + $ref = Refund::retrieve($ref->id); + $this->assertSame("value", $ref->metadata["key"], "value"); + } + + public function testListForCharge() + { + $charge = self::createTestCharge(); + $refA = Refund::create(array('amount' => 100, 'charge' => $charge->id)); + $refB = Refund::create(array('amount' => 50, 'charge' => $charge->id)); + + $all = Refund::all(array('charge' => $charge)); + $this->assertSame(false, $all['has_more']); + $this->assertSame(2, count($all->data)); + $this->assertSame($refB->id, $all->data[0]->id); + $this->assertSame($refA->id, $all->data[1]->id); + } + + public function testList() + { + $all = Refund::all(); + + // Fetches all refunds on this test account. + $this->assertSame(true, $all['has_more']); + $this->assertSame(10, count($all->data)); + } + + public function testCreateForBitcoin() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $charge = Charge::create( + array( + 'amount' => $receiver->amount, + 'currency' => $receiver->currency, + 'description' => $receiver->description, + 'source' => $receiver->id + ) + ); + + $ref = Refund::create( + array( + 'amount' => $receiver->amount, + 'refund_address' => 'ABCDEF', + 'charge' => $charge->id + ) + ); + $this->assertSame($receiver->amount, $ref->amount); + $this->assertNotNull($ref->id); + } + + // Deprecated charge endpoints: + + public function testCreateViaCharge() + { + $charge = self::createTestCharge(); + $ref = $charge->refunds->create(array('amount' => 100)); + $this->assertSame(100, $ref->amount); + $this->assertSame($charge->id, $ref->charge); + } + + public function testUpdateAndRetrieveViaCharge() + { + $charge = self::createTestCharge(); + $ref = $charge->refunds->create(array('amount' => 100)); + $ref->metadata["key"] = "value"; + $ref->save(); + $ref = $charge->refunds->retrieve($ref->id); + $this->assertSame("value", $ref->metadata["key"], "value"); + } + + public function testListViaCharge() + { + $charge = self::createTestCharge(); + $refA = $charge->refunds->create(array('amount' => 50)); + $refB = $charge->refunds->create(array('amount' => 50)); + + $all = $charge->refunds->all(); + $this->assertSame(false, $all['has_more']); + $this->assertSame(2, count($all->data)); + $this->assertSame($refB->id, $all->data[0]->id); + $this->assertSame($refA->id, $all->data[1]->id); + } + + public function testCreateForBitcoinViaCharge() + { + self::authorizeFromEnv(); + + $receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com"); + + $charge = Charge::create( + array( + 'amount' => $receiver->amount, + 'currency' => $receiver->currency, + 'description' => $receiver->description, + 'source' => $receiver->id + ) + ); + + $ref = $charge->refunds->create( + array( + 'amount' => $receiver->amount, + 'refund_address' => 'ABCDEF' + ) + ); + $this->assertSame($receiver->amount, $ref->amount); + $this->assertNotNull($ref->id); + } +} diff --git a/vendor/stripe/stripe-php/tests/RequestOptionsTest.php b/vendor/stripe/stripe-php/tests/RequestOptionsTest.php new file mode 100644 index 0000000..11546dd --- /dev/null +++ b/vendor/stripe/stripe-php/tests/RequestOptionsTest.php @@ -0,0 +1,69 @@ +assertSame("foo", $opts->apiKey); + $this->assertSame(array(), $opts->headers); + } + + public function testNull() + { + $opts = Util\RequestOptions::parse(null); + $this->assertSame(null, $opts->apiKey); + $this->assertSame(array(), $opts->headers); + } + + public function testEmptyArray() + { + $opts = Util\RequestOptions::parse(array()); + $this->assertSame(null, $opts->apiKey); + $this->assertSame(array(), $opts->headers); + } + + public function testAPIKeyArray() + { + $opts = Util\RequestOptions::parse( + array( + 'api_key' => 'foo', + ) + ); + $this->assertSame('foo', $opts->apiKey); + $this->assertSame(array(), $opts->headers); + } + + public function testIdempotentKeyArray() + { + $opts = Util\RequestOptions::parse( + array( + 'idempotency_key' => 'foo', + ) + ); + $this->assertSame(null, $opts->apiKey); + $this->assertSame(array('Idempotency-Key' => 'foo'), $opts->headers); + } + + public function testKeyArray() + { + $opts = Util\RequestOptions::parse( + array( + 'idempotency_key' => 'foo', + 'api_key' => 'foo' + ) + ); + $this->assertSame('foo', $opts->apiKey); + $this->assertSame(array('Idempotency-Key' => 'foo'), $opts->headers); + } + + /** + * @expectedException Stripe\Error\Api + */ + public function testWrongType() + { + $opts = Util\RequestOptions::parse(5); + } +} diff --git a/vendor/stripe/stripe-php/tests/SourceTest.php b/vendor/stripe/stripe-php/tests/SourceTest.php new file mode 100644 index 0000000..4ad1dfc --- /dev/null +++ b/vendor/stripe/stripe-php/tests/SourceTest.php @@ -0,0 +1,24 @@ + 'bitcoin', + 'currency' => 'usd', + 'amount' => '100', + 'owner[email]' => 'gdb@stripe.com', + ) + ); + + $this->assertSame('bitcoin', $s->type); + $source = Source::retrieve($s->id); + $this->assertSame(100, $source->amount); + } +} diff --git a/vendor/stripe/stripe-php/tests/StripeObjectTest.php b/vendor/stripe/stripe-php/tests/StripeObjectTest.php new file mode 100644 index 0000000..5f92222 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/StripeObjectTest.php @@ -0,0 +1,108 @@ +assertSame($s['foo'], 'a'); + $this->assertTrue(isset($s['foo'])); + unset($s['foo']); + $this->assertFalse(isset($s['foo'])); + } + + public function testNormalAccessorsSemantics() + { + $s = new StripeObject(); + $s->foo = 'a'; + $this->assertSame($s->foo, 'a'); + $this->assertTrue(isset($s->foo)); + unset($s->foo); + $this->assertFalse(isset($s->foo)); + } + + public function testArrayAccessorsMatchNormalAccessors() + { + $s = new StripeObject(); + $s->foo = 'a'; + $this->assertSame($s['foo'], 'a'); + + $s['bar'] = 'b'; + $this->assertSame($s->bar, 'b'); + } + + public function testKeys() + { + $s = new StripeObject(); + $s->foo = 'a'; + $this->assertSame($s->keys(), array('foo')); + } + + public function testToArray() + { + $s = new StripeObject(); + $s->foo = 'a'; + + $converted = $s->__toArray(); + + $this->assertInternalType('array', $converted); + $this->assertArrayHasKey('foo', $converted); + $this->assertEquals('a', $converted['foo']); + } + + public function testRecursiveToArray() + { + $s = new StripeObject(); + $z = new StripeObject(); + + $s->child = $z; + $z->foo = 'a'; + + $converted = $s->__toArray(true); + + $this->assertInternalType('array', $converted); + $this->assertArrayHasKey('child', $converted); + $this->assertInternalType('array', $converted['child']); + $this->assertArrayHasKey('foo', $converted['child']); + $this->assertEquals('a', $converted['child']['foo']); + } + + public function testNonexistentProperty() + { + $s = new StripeObject(); + $this->assertNull($s->nonexistent); + } + + public function testPropertyDoesNotExists() + { + $s = new StripeObject(); + $this->assertNull($s['nonexistent']); + } + + public function testJsonEncode() + { + // We can only JSON encode our objects in PHP 5.4+. 5.3 must use ->__toJSON() + if (version_compare(phpversion(), '5.4.0', '<')) { + return; + } + + $s = new StripeObject(); + $s->foo = 'a'; + + $this->assertEquals('{"foo":"a"}', json_encode($s->__toArray())); + } + + public function testReplaceNewNestedUpdatable() + { + StripeObject::init(); // Populate the $nestedUpdatableAttributes Set + $s = new StripeObject(); + + $s->metadata = array('bar'); + $this->assertSame($s->metadata, array('bar')); + $s->metadata = array('baz', 'qux'); + $this->assertSame($s->metadata, array('baz', 'qux')); + } +} diff --git a/vendor/stripe/stripe-php/tests/SubscriptionTest.php b/vendor/stripe/stripe-php/tests/SubscriptionTest.php new file mode 100644 index 0000000..e850407 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/SubscriptionTest.php @@ -0,0 +1,101 @@ +subscriptions->create(array('plan' => $planID)); + + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + + $sub->quantity = 2; + $sub->save(); + + $sub = $customer->subscriptions->retrieve($sub->id); + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + $this->assertSame($sub->quantity, 2); + + $subs = $customer->subscriptions->all(array('limit'=>3)); + $this->assertSame(get_class($subs->data[0]), 'Stripe\Subscription'); + + $sub->cancel(array('at_period_end' => true)); + + $sub = $customer->subscriptions->retrieve($sub->id); + $this->assertSame($sub->status, 'active'); + // @codingStandardsIgnoreStart + $this->assertTrue($sub->cancel_at_period_end); + // @codingStandardsIgnoreEnd + } + + public function testCreateUpdateListCancel() + { + $planID = 'gold-' . self::generateRandomString(20); + self::retrieveOrCreatePlan($planID); + + $customer = self::createTestCustomer(); + + $sub = Subscription::create(array('plan' => $planID, 'customer' => $customer->id)); + + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + + $sub->quantity = 2; + $sub->save(); + + $sub = Subscription::retrieve($sub->id); + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + $this->assertSame($sub->quantity, 2); + + // Update the quantity parameter one more time + $sub = Subscription::update($sub->id, array("quantity" => 3)); + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + $this->assertSame($sub->quantity, 3); + + $subs = Subscription::all(array('customer'=>$customer->id, 'plan'=>$planID, 'limit'=>3)); + $this->assertSame(get_class($subs->data[0]), 'Stripe\Subscription'); + + $sub->cancel(array('at_period_end' => true)); + + $sub = Subscription::retrieve($sub->id); + $this->assertSame($sub->status, 'active'); + $this->assertTrue($sub->cancel_at_period_end); + } + + public function testDeleteDiscount() + { + $planID = 'gold-' . self::generateRandomString(20); + self::retrieveOrCreatePlan($planID); + + $couponID = '25off-' . self::generateRandomString(20); + self::retrieveOrCreateCoupon($couponID); + + $customer = self::createTestCustomer(); + + $sub = $customer->subscriptions->create( + array( + 'plan' => $planID, + 'coupon' => $couponID + ) + ); + + $this->assertSame($sub->status, 'active'); + $this->assertSame($sub->plan->id, $planID); + $this->assertSame($sub->discount->coupon->id, $couponID); + + $sub->deleteDiscount(); + $sub = $customer->subscriptions->retrieve($sub->id); + $this->assertNull($sub->discount); + } +} diff --git a/vendor/stripe/stripe-php/tests/TestCase.php b/vendor/stripe/stripe-php/tests/TestCase.php new file mode 100644 index 0000000..f536db4 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/TestCase.php @@ -0,0 +1,224 @@ +mock = null; + $this->call = 0; + } + + protected function mockRequest($method, $path, $params = array(), $return = array('id' => 'myId'), $rcode = 200) + { + $mock = $this->setUpMockRequest(); + $mock->expects($this->at($this->call++)) + ->method('request') + ->with(strtolower($method), 'https://api.stripe.com' . $path, $this->anything(), $params, false) + ->willReturn(array(json_encode($return), $rcode, array())); + } + + private function setUpMockRequest() + { + if (!$this->mock) { + self::authorizeFromEnv(); + $this->mock = $this->getMock('\Stripe\HttpClient\ClientInterface'); + ApiRequestor::setHttpClient($this->mock); + } + return $this->mock; + } + + /** + * Create a valid test charge. + */ + protected static function createTestCharge(array $attributes = array()) + { + self::authorizeFromEnv(); + + return Charge::create( + $attributes + array( + 'amount' => 2000, + 'currency' => 'usd', + 'description' => 'Charge for test@example.com', + 'card' => array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 3, + ), + ) + ); + } + + /** + * Create a valid test charge. + */ + protected static function createTestTransfer(array $attributes = array()) + { + self::authorizeFromEnv(); + + $recipient = self::createTestRecipient(); + + return Transfer::create( + $attributes + array( + 'amount' => 2000, + 'currency' => 'usd', + 'description' => 'Transfer to test@example.com', + 'recipient' => $recipient->id + ) + ); + } + + /** + * Create a valid test customer. + */ + protected static function createTestCustomer(array $attributes = array()) + { + self::authorizeFromEnv(); + + return Customer::create( + $attributes + array( + 'card' => array( + 'number' => '4242424242424242', + 'exp_month' => 5, + 'exp_year' => date('Y') + 3, + ), + ) + ); + } + + /** + * Create a valid test recipient + */ + protected static function createTestRecipient(array $attributes = array()) + { + self::authorizeFromEnv(); + + return Recipient::create( + $attributes + array( + 'name' => 'PHP Test', + 'type' => 'individual', + 'tax_id' => '000000000', + 'bank_account' => array( + 'country' => 'US', + 'routing_number' => '110000000', + 'account_number' => '000123456789' + ), + ) + ); + } + + /** + * Create a test account + */ + protected static function createTestAccount(array $attributes = array()) + { + self::authorizeFromEnv(); + + return Account::create( + $attributes + array( + 'managed' => false, + 'country' => 'US', + 'email' => self::generateRandomEmail(), + ) + ); + } + + /** + * Verify that a plan with a given ID exists, or create a new one if it does + * not. + */ + protected static function retrieveOrCreatePlan($id) + { + self::authorizeFromEnv(); + + try { + $plan = Plan::retrieve($id); + } catch (Error\InvalidRequest $exception) { + $plan = Plan::create( + array( + 'id' => $id, + 'amount' => 0, + 'currency' => 'usd', + 'interval' => 'month', + 'name' => 'Gold Test Plan', + ) + ); + } + } + + /** + * Verify that a coupon with a given ID exists, or create a new one if it + * does not. + */ + protected static function retrieveOrCreateCoupon($id) + { + self::authorizeFromEnv(); + + try { + $coupon = Coupon::retrieve($id); + } catch (Error\InvalidRequest $exception) { + $coupon = Coupon::create( + array( + 'id' => $id, + 'duration' => 'forever', + 'percent_off' => 25, + ) + ); + } + } + + /** + * Genereate a semi-random string + */ + protected static function generateRandomString($length = 24) + { + $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU'; + $charactersLength = strlen($characters); + $randomString = ''; + for ($i = 0; $i < $length; $i++) { + $randomString .= $characters[rand(0, $charactersLength - 1)]; + } + return $randomString; + } + + /** + * Generate a semi-random email. + */ + protected static function generateRandomEmail($domain = 'bar.com') + { + return self::generateRandomString().'@'.$domain; + } + + protected static function createTestBitcoinReceiver($email) + { + $receiver = BitcoinReceiver::create( + array( + 'amount' => 100, + 'currency' => 'usd', + 'description' => 'some details', + 'email' => $email + ) + ); + return $receiver; + } +} diff --git a/vendor/stripe/stripe-php/tests/ThreeDSecureTest.php b/vendor/stripe/stripe-php/tests/ThreeDSecureTest.php new file mode 100644 index 0000000..8770772 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/ThreeDSecureTest.php @@ -0,0 +1,31 @@ +mockRequest( + 'POST', + '/v1/3d_secure', + array( + 'card' => 'tok_test', + 'amount' => 1500, + 'currency' => 'usd', + 'return_url' => 'https://example.org/3d-secure-result' + ), + array( + 'id' => 'tdsrc_test', + 'object' => 'three_d_secure' + ) + ); + $three_d_secure = ThreeDSecure::create(array( + 'card' => 'tok_test', + 'amount' => 1500, + 'currency' => 'usd', + 'return_url' => 'https://example.org/3d-secure-result' + )); + $this->assertSame($three_d_secure->id, 'tdsrc_test'); + } +} diff --git a/vendor/stripe/stripe-php/tests/TokenTest.php b/vendor/stripe/stripe-php/tests/TokenTest.php new file mode 100644 index 0000000..60ec76a --- /dev/null +++ b/vendor/stripe/stripe-php/tests/TokenTest.php @@ -0,0 +1,13 @@ +assertSame(Token::classUrl(), '/v1/tokens'); + $token = new Token('abcd/efgh'); + $this->assertSame($token->instanceUrl(), '/v1/tokens/abcd%2Fefgh'); + } +} diff --git a/vendor/stripe/stripe-php/tests/TransferReversalTest.php b/vendor/stripe/stripe-php/tests/TransferReversalTest.php new file mode 100644 index 0000000..414f816 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/TransferReversalTest.php @@ -0,0 +1,15 @@ +reversals->all(); + $this->assertSame(false, $all['has_more']); + $this->assertSame(0, count($all->data)); + } +} diff --git a/vendor/stripe/stripe-php/tests/TransferTest.php b/vendor/stripe/stripe-php/tests/TransferTest.php new file mode 100644 index 0000000..b6412a5 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/TransferTest.php @@ -0,0 +1,110 @@ + 100, + 'currency' => 'usd', + 'recipient' => $recipient->id + )); + $this->assertSame('pending', $transfer->status); + } + + public function testRetrieve() + { + $recipient = self::createTestRecipient(); + + self::authorizeFromEnv(); + $transfer = Transfer::create(array( + 'amount' => 100, + 'currency' => 'usd', + 'recipient' => $recipient->id + )); + $reloaded = Transfer::retrieve($transfer->id); + $this->assertSame($reloaded->id, $transfer->id); + } + + /** + * @expectedException Stripe\Error\InvalidRequest + */ + public function testCancel() + { + $recipient = self::createTestRecipient(); + + self::authorizeFromEnv(); + $transfer = Transfer::create(array( + 'amount' => 100, + 'currency' => 'usd', + 'recipient' => $recipient->id + )); + $reloaded = Transfer::retrieve($transfer->id); + $this->assertSame($reloaded->id, $transfer->id); + + $reloaded->cancel(); + } + + public function testTransferUpdateMetadata() + { + $recipient = self::createTestRecipient(); + + self::authorizeFromEnv(); + $transfer = Transfer::create(array( + 'amount' => 100, + 'currency' => 'usd', + 'recipient' => $recipient->id + )); + + $transfer->metadata['test'] = 'foo bar'; + $transfer->save(); + + $updatedTransfer = Transfer::retrieve($transfer->id); + $this->assertSame('foo bar', $updatedTransfer->metadata['test']); + } + + public function testTransferUpdateMetadataAll() + { + $recipient = self::createTestRecipient(); + + self::authorizeFromEnv(); + $transfer = Transfer::create(array( + 'amount' => 100, + 'currency' => 'usd', + 'recipient' => $recipient->id + )); + + $transfer->metadata = array('test' => 'foo bar'); + $transfer->save(); + + $updatedTransfer = Transfer::retrieve($transfer->id); + $this->assertSame('foo bar', $updatedTransfer->metadata['test']); + } + + public function testRecipientUpdateMetadata() + { + $recipient = self::createTestRecipient(); + + $recipient->metadata['test'] = 'foo bar'; + $recipient->save(); + + $updatedRecipient = Recipient::retrieve($recipient->id); + $this->assertSame('foo bar', $updatedRecipient->metadata['test']); + } + + public function testRecipientUpdateMetadataAll() + { + $recipient = self::createTestRecipient(); + + $recipient->metadata = array('test' => 'foo bar'); + $recipient->save(); + + $updatedRecipient = Recipient::retrieve($recipient->id); + $this->assertSame('foo bar', $updatedRecipient->metadata['test']); + } +} diff --git a/vendor/stripe/stripe-php/tests/UtilTest.php b/vendor/stripe/stripe-php/tests/UtilTest.php new file mode 100644 index 0000000..a1206d6 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/UtilTest.php @@ -0,0 +1,45 @@ +assertTrue(Util\Util::isList($list)); + + $notlist = array(5, 'nstaoush', array(), 'bar' => 'baz'); + $this->assertFalse(Util\Util::isList($notlist)); + } + + public function testThatPHPHasValueSemanticsForArrays() + { + $original = array('php-arrays' => 'value-semantics'); + $derived = $original; + $derived['php-arrays'] = 'reference-semantics'; + + $this->assertSame('value-semantics', $original['php-arrays']); + } + + public function testConvertStripeObjectToArrayIncludesId() + { + $customer = self::createTestCustomer(); + $this->assertTrue(array_key_exists("id", $customer->__toArray(true))); + } + + public function testUtf8() + { + // UTF-8 string + $x = "\xc3\xa9"; + $this->assertSame(Util\Util::utf8($x), $x); + + // Latin-1 string + $x = "\xe9"; + $this->assertSame(Util\Util::utf8($x), "\xc3\xa9"); + + // Not a string + $x = true; + $this->assertSame(Util\Util::utf8($x), $x); + } +} diff --git a/vendor/stripe/stripe-php/tests/bootstrap.no_autoload.php b/vendor/stripe/stripe-php/tests/bootstrap.no_autoload.php new file mode 100644 index 0000000..7358058 --- /dev/null +++ b/vendor/stripe/stripe-php/tests/bootstrap.no_autoload.php @@ -0,0 +1,4 @@ +