<?php
namespace Claromentis\Mailgun;

$GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"] ?: array()) + array("_ebb0fc48c5044fcdf4ff11de1b3a" . "be07" => base64_decode("bWFpbGd1bi" . "5sb2dnZXI="), "_12dc001a9ad5eec9b021" . "98f903676641" => base64_decode("bG9jYWxpemF0aW9uLmRvbWFpb" . "i4="), "_4d4b52c0d63f2" . "5377012a294ff3" . "e52e3" => base64_decode("L3JlY2" . "VpdmU="), "_bdade8544d16" . "a83f1bc9c4121" . "e6d64de" => base64_decode("L21haWxndW" . "4vdjE="), "_92b9ae7815960caefa1b42b16a599e" . "a5" => base64_decode("bWFpbGd1bi51c2VfY2FzZS52Y" . "WxpZGF0ZV9pbmNvbWluZw=="), "_fc12f2ed6" . "5e8a7ceac2" . "9e167ce5b6" . "830" => base64_decode("bWFpbGd1b" . "g=="), "_0995370913cd44391d39fdb" . "a6ce206c0" => base64_decode("bG9jYWxpemF0aW9uLmRvbWFpbl9mcm9tX2ZpbGVzX2ZhY3Rv" . "cnk="), "_2036db3c016e1792df6" . "4c51e9c8c2bca" => base64_decode("OjpPblJlY2VpdmVkV2ViaG9va" . "w=="), "_c056775f03d6e2a" . "eeb0388312dc4170" . "e" => base64_decode("bWFpbGd1bi5yZ" . "XBvc2l0b3J5"), "_04c851ced65682f1411090dee7ada" . "43b" => base64_decode("cm" . "Vz" . "dA" . "=="), "_89b48cb97d07bba6095d1f1" . "399d7ec96" => base64_decode("L21h" . "aWxn" . "dW4v" . "djA="), "_c7a35cdd863753e83240fbb3e7" . "32a6b7" => base64_decode("bm" . "9u" . "ZQ" . "=="));
use Claromentis\Core\Application;
use Claromentis\Core\REST\RestServiceInterface;
use Claromentis\Mailgun\Controller\RestV1;
use Claromentis\Mailgun\Repository\MailgunRepository;
use Pimple\Container;
use Pimple\ServiceProviderInterface;




class MailgunApplication implements ServiceProviderInterface, RestServiceInterface
{
    public const NAME = 'mailgun';
    
    
    
    
    
    
    
    
    
    public function register(\Pimple\Container $app)
    {
        $app[$GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_ebb0fc48c5044fcd" . "f4ff11de1b3abe07"]] = function ($app) {
            
            
            return $app->GetLogger($GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"]["_fc12f2ed65e8a7ceac29e16" . "7ce5b6830"]);
        };
        $app[$GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_c056775f03d6e2aeeb0388312dc" . "4170e"]] = function ($app) {
            return new Repository\MailgunRepository($app->db);
        };
        $app[$GLOBALS["__65da1b1ec2d6653e8" . "a0ab7848e536215"]["_92b9ae7815960caefa1b4" . "2b16a599ea5"]] = function ($app) {
            
            
            $repository = $app[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_c056775f03d6e2aee" . "b0388312dc4170e"]];
            return new UseCase\ValidateIncomingMessage($repository, $repository->GetApiKey());
        };
        $app[$GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_12dc001a9ad" . "5eec9b02198f" . "903676641"] . self::NAME] = function ($app) {
            return $app[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"]["_0995370913c" . "d44391d39fdb" . "a6ce206c0"]](self::NAME);
        };
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    public function GetRestRoutes(Application $app)
    {
        return [
            $GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_89b48cb97d07b" . "ba6095d1f1399d" . "7ec96"] => $GLOBALS["__65da1b1ec2d6653" . "e8a0ab7848e536215"]["_bdade8544d16a83f1bc" . "9c4121e6d64de"],
            
            
            $GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_bdade8544d16a83f" . "1bc9c4121e6d64de"] => function (\Claromentis\Core\ControllerCollection $_6c20f4873f12c6bcced6c1dda9a06b86) {
                $_6c20f4873f12c6bcced6c1dda9a06b86->post($GLOBALS["__65da1b1ec2d6653" . "e8a0ab7848e536215"]["_4d4b52c0d63f25377" . "012a294ff3e52e3"], RestV1::class . $GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_2036db3c016e1792d" . "f64c51e9c8c2bca"])->secure($GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_04c851ced65682f1411090dee7a" . "da43b"], $GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_c7a35cdd86375" . "3e83240fbb3e73" . "2a6b7"]);
            },
        ];
    }
}