消える飛行機雲 僕たちは見送った 眩しくて逃げた いつだって弱くて あの日から変わらず いつまでも変わらずに いられなかったこと 悔しくて指を離す あの鳥は まだ うまく飛べないけど いつかは 風を切って知る 届かない場所が まだ遠くにある 願いだけ秘めて 見つめてる 子供たちは 夏の線路 歩く 吹く風に素足をさらして 遠くには幼かった日びを 両手には 飛び立つ希望を 消える飛行機雲 追いかけて 追いかけて この丘を越えた あの日から変わらず いつまでも 真っ直ぐに 僕たちはあるように わたつみのような 強さを守れるよ きっと ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!PKUt\S recaptcha.phpnu[ env('RECAPTCHA_SITE_KEY', ''), /** * * The secret key * get secret key @ www.google.com/recaptcha/admin * */ 'api_secret_key' => env('RECAPTCHA_SECRET_KEY', ''), /** * * ReCATCHA version * Supported: "v2", "invisible", "v3", * * get more info @ https://developers.google.com/recaptcha/docs/versions * */ 'version' => 'v2', /** * * The curl timout in seconds to validate a recaptcha token * @since v3.5.0 * */ 'curl_timeout' => 10, /** * * IP addresses for which validation will be skipped * IP/CIDR netmask eg. 127.0.0.0/24, also 127.0.0.1 is accepted and /32 assumed * */ 'skip_ip' => env('RECAPTCHA_SKIP_IP', []), /** * * Default route called to check the Google reCAPTCHA token * @since v3.2.0 * */ 'default_validation_route' => 'biscolab-recaptcha/validate', /** * * The name of the parameter used to send Google reCAPTCHA token to verify route * @since v3.2.0 * */ 'default_token_parameter_name' => 'g-recaptcha-response', /** * * The default Google reCAPTCHA language code * It has no effect with v3 * @see https://developers.google.com/recaptcha/docs/language * @since v3.6.0 * */ 'default_language' => null, /** * * The default form ID. Only for "invisible" reCAPTCHA * @since v4.0.0 * */ 'default_form_id' => 'biscolab-recaptcha-invisible-form', /** * * Deferring the render can be achieved by specifying your onload callback function and adding parameters to the JavaScript resource. * It has no effect with v3 and invisible * @see https://developers.google.com/recaptcha/docs/display#explicit_render * @since v4.0.0 * Supported true, false * */ 'explicit' => false, /** * * Set API domain. You can use "www.recaptcha.net" in case "www.google.com" is not accessible. * (no check will be made on the entered value) * @see https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally * @since v4.3.0 * Default 'www.google.com' (ReCaptchaBuilder::DEFAULT_RECAPTCHA_API_DOMAIN) * */ 'api_domain' => 'www.google.com', /** * * Set `true` when the error message must be null * @since v5.1.0 * Default false * */ 'empty_message' => false, /** * * Set either the error message or the errom message translation key * @since v5.1.0 * Default 'validation.recaptcha' * */ 'error_message_key' => 'validation.recaptcha', /** * * g-recaptcha tag attributes and grecaptcha.render parameters (v2 only) * @see https://developers.google.com/recaptcha/docs/display#render_param * @since v4.0.0 */ 'tag_attributes' => [ /** * The color theme of the widget. * Supported "light", "dark" */ 'theme' => 'light', /** * The size of the widget. * Supported "normal", "compact" */ 'size' => 'normal', /** * The tabindex of the widget and challenge. * If other elements in your page use tabindex, it should be set to make user navigation easier. */ 'tabindex' => 0, /** * The name of your callback function, executed when the user submits a successful response. * The g-recaptcha-response token is passed to your callback. * DO NOT SET "biscolabOnloadCallback" */ 'callback' => null, /** * The name of your callback function, executed when the reCAPTCHA response expires and the user needs to re-verify. * DO NOT SET "biscolabOnloadCallback" */ 'expired-callback' => null, /** * The name of your callback function, executed when reCAPTCHA encounters an error (usually network connectivity) and cannot continue until connectivity is restored. * If you specify a function here, you are responsible for informing the user that they should retry. * DO NOT SET "biscolabOnloadCallback" */ 'error-callback' => null, ] ]; PKUt\6ٗ filesystems.phpnu[ env('FILESYSTEM_DISK', 'local'), /* |-------------------------------------------------------------------------- | Filesystem Disks |-------------------------------------------------------------------------- | | Here you may configure as many filesystem "disks" as you wish, and you | may even configure multiple disks of the same driver. Defaults have | been set up for each driver as an example of the required values. | | Supported Drivers: "local", "ftp", "sftp", "s3" | */ 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => public_path('uploads'), 'url' => env('APP_URL').'/uploads', 'throw' => false, ], 'public' => [ 'driver' => 'local', 'root' => public_path('uploads'), 'url' => env('APP_URL').'/uploads', 'visibility' => 'public', 'throw' => false, ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), 'visibility' => 'public', 'throw' => false, ], ], /* |-------------------------------------------------------------------------- | Symbolic Links |-------------------------------------------------------------------------- | | Here you may configure the symbolic links that will be created when the | `storage:link` Artisan command is executed. The array keys should be | the locations of the links and the values should be their targets. | */ 'links' => [ public_path('storage') => storage_path('app/public'), ], ]; PKUt\   sitemap.phpnu[ [ /* * Whether or not cookies are used in a request. */ RequestOptions::COOKIES => true, /* * The number of seconds to wait while trying to connect to a server. * Use 0 to wait indefinitely. */ RequestOptions::CONNECT_TIMEOUT => 10, /* * The timeout of the request in seconds. Use 0 to wait indefinitely. */ RequestOptions::TIMEOUT => 10, /* * Describes the redirect behavior of a request. */ RequestOptions::ALLOW_REDIRECTS => false, ], /* * The sitemap generator can execute JavaScript on each page so it will * discover links that are generated by your JS scripts. This feature * is powered by headless Chrome. */ 'execute_javascript' => false, /* * The package will make an educated guess as to where Google Chrome is installed. * You can also manually pass its location here. */ 'chrome_binary_path' => null, /* * The sitemap generator uses a CrawlProfile implementation to determine * which urls should be crawled for the sitemap. */ 'crawl_profile' => Profile::class, ]; PKUt\B paystack.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ return [ /** * Public Key From Paystack Dashboard * */ 'publicKey' => env('PAYSTACK_PUBLIC_KEY'), /** * Secret Key From Paystack Dashboard * */ 'secretKey' => env('PAYSTACK_SECRET_KEY'), /** * Paystack Payment URL * */ 'paymentUrl' => env('PAYSTACK_PAYMENT_URL'), /** * Optional email address of the merchant * */ 'merchantEmail' => env('MERCHANT_EMAIL'), ]; PKUt\g`) livewire-tables.phpnu[ 'bootstrap-5', /** * Filter Frontend Asset Options */ /** * Cache Rappasoft Frontend Assets */ 'cache_assets' => false, /** * Enable or Disable automatic injection of core assets */ 'inject_core_assets_enabled' => false, /** * Enable or Disable automatic injection of third-party assets */ 'inject_third_party_assets_enabled' => false, /** * Enable Blade Directives (Not required if automatically injecting or using bundler approaches) */ 'enable_blade_directives' => false, /** * Customise Script & Styles Paths */ 'script_base_path' => '/rappasoft/laravel-livewire-tables', /** * Filter Default Configuration Options * * */ /** * Configuration options for DateFilter */ 'dateFilter' => [ 'defaultConfig' => [ 'format' => 'Y-m-d', 'pillFormat' => 'd M Y', // Used to display in the Filter Pills ], ], /** * Configuration options for DateTimeFilter */ 'dateTimeFilter' => [ 'defaultConfig' => [ 'format' => 'Y-m-d\TH:i', 'pillFormat' => 'd M Y - H:i', // Used to display in the Filter Pills ], ], /** * Configuration options for DateRangeFilter */ 'dateRange' => [ 'defaultOptions' => [], 'defaultConfig' => [ 'allowInput' => true, // Allow manual input of dates 'altFormat' => 'F j, Y', // Date format that will be displayed once selected 'ariaDateFormat' => 'F j, Y', // An aria-friendly date format 'dateFormat' => 'Y-m-d', // Date format that will be received by the filter 'earliestDate' => null, // The earliest acceptable date 'latestDate' => null, // The latest acceptable date ], ], /** * Configuration options for NumberRangeFilter */ 'numberRange' => [ 'defaultOptions' => [ 'min' => 0, // The default start value 'max' => 100, // The default end value ], 'defaultConfig' => [ 'minRange' => 0, // The minimum possible value 'maxRange' => 100, // The maximum possible value 'suffix' => '', // A suffix to append to the values when displayed ], ], /** * Configuration options for SelectFilter */ 'selectFilter' => [ 'defaultOptions' => [], 'defaultConfig' => [], ], /** * Configuration options for MultiSelectFilter */ 'multiSelectFilter' => [ 'defaultOptions' => [], 'defaultConfig' => [], ], /** * Configuration options for MultiSelectFilter */ 'multiSelectDropdownFilter' => [ 'defaultOptions' => [], 'defaultConfig' => [], ], ]; PKUt\ U$$ hashing.phpnu[ 'bcrypt', /* |-------------------------------------------------------------------------- | Bcrypt Options |-------------------------------------------------------------------------- | | Here you may specify the configuration options that should be used when | passwords are hashed using the Bcrypt algorithm. This will allow you | to control the amount of time it takes to hash the given password. | */ 'bcrypt' => [ 'rounds' => env('BCRYPT_ROUNDS', 10), ], /* |-------------------------------------------------------------------------- | Argon Options |-------------------------------------------------------------------------- | | Here you may specify the configuration options that should be used when | passwords are hashed using the Argon algorithm. These will allow you | to control the amount of time it takes to hash the given password. | */ 'argon' => [ 'memory' => 65536, 'threads' => 1, 'time' => 4, ], ]; PKUt\5+#+# modules.phpnu[ 'Modules', /* |-------------------------------------------------------------------------- | Module Stubs |-------------------------------------------------------------------------- | | Default module stubs. | */ 'stubs' => [ 'enabled' => false, 'path' => base_path('vendor/nwidart/laravel-modules/src/Commands/stubs'), 'files' => [ 'routes/web' => 'routes/web.php', 'routes/api' => 'routes/api.php', 'views/index' => 'resources/views/index.blade.php', 'views/master' => 'resources/views/layouts/master.blade.php', 'scaffold/config' => 'config/config.php', 'composer' => 'composer.json', 'assets/js/app' => 'resources/assets/js/app.js', 'assets/sass/app' => 'resources/assets/sass/app.scss', 'vite' => 'vite.config.js', 'package' => 'package.json', ], 'replacements' => [ 'routes/web' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'CONTROLLER_NAMESPACE'], 'routes/api' => ['LOWER_NAME', 'STUDLY_NAME'], 'vite' => ['LOWER_NAME'], 'json' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'PROVIDER_NAMESPACE'], 'views/index' => ['LOWER_NAME'], 'views/master' => ['LOWER_NAME', 'STUDLY_NAME'], 'scaffold/config' => ['STUDLY_NAME'], 'composer' => [ 'LOWER_NAME', 'STUDLY_NAME', 'VENDOR', 'AUTHOR_NAME', 'AUTHOR_EMAIL', 'MODULE_NAMESPACE', 'PROVIDER_NAMESPACE', ], ], 'gitkeep' => true, ], 'paths' => [ /* |-------------------------------------------------------------------------- | Modules path |-------------------------------------------------------------------------- | | This path is used to save the generated module. | This path will also be added automatically to the list of scanned folders. | */ 'modules' => base_path('Modules'), /* |-------------------------------------------------------------------------- | Modules assets path |-------------------------------------------------------------------------- | | Here you may update the modules' assets path. | */ 'assets' => public_path('modules'), /* |-------------------------------------------------------------------------- | The migrations' path |-------------------------------------------------------------------------- | | Where you run the 'module:publish-migration' command, where do you publish the | the migration files? | */ 'migration' => base_path('database/migrations'), /* |-------------------------------------------------------------------------- | Generator path |-------------------------------------------------------------------------- | Customise the paths where the folders will be generated. | Setting the generate key to false will not generate that folder */ 'generator' => [ 'config' => ['path' => 'config', 'generate' => true], 'command' => ['path' => 'App/Console', 'generate' => false], 'channels' => ['path' => 'App/Broadcasting', 'generate' => false], 'migration' => ['path' => 'Database/migrations', 'generate' => false], 'seeder' => ['path' => 'Database/Seeders', 'generate' => true], 'factory' => ['path' => 'Database/Factories', 'generate' => false], 'model' => ['path' => 'App/Models', 'generate' => false], 'observer' => ['path' => 'App/Observers', 'generate' => false], 'routes' => ['path' => 'routes', 'generate' => true], 'controller' => ['path' => 'App/Http/Controllers', 'generate' => true], 'filter' => ['path' => 'App/Http/Middleware', 'generate' => false], 'request' => ['path' => 'App/Http/Requests', 'generate' => false], 'provider' => ['path' => 'App/Providers', 'generate' => true], 'assets' => ['path' => 'resources/assets', 'generate' => false], 'lang' => ['path' => 'lang', 'generate' => false], 'views' => ['path' => 'resources/views', 'generate' => true], 'test' => ['path' => 'tests/Unit', 'generate' => false], 'test-feature' => ['path' => 'tests/Feature', 'generate' => false], 'repository' => ['path' => 'App/Repositories', 'generate' => false], 'event' => ['path' => 'App/Events', 'generate' => false], 'listener' => ['path' => 'App/Listeners', 'generate' => false], 'policies' => ['path' => 'App/Policies', 'generate' => false], 'rules' => ['path' => 'App/Rules', 'generate' => false], 'jobs' => ['path' => 'App/Jobs', 'generate' => false], 'emails' => ['path' => 'App/Emails', 'generate' => false], 'notifications' => ['path' => 'App/Notifications', 'generate' => false], 'resource' => ['path' => 'App/resources', 'generate' => false], 'component-view' => ['path' => 'resources/views/components', 'generate' => false], 'component-class' => ['path' => 'App/View/Components', 'generate' => false], ], ], /* |-------------------------------------------------------------------------- | Package commands |-------------------------------------------------------------------------- | | Here you can define which commands will be visible and used in your | application. You can add your own commands to merge section. | */ 'commands' => ConsoleServiceProvider::defaultCommands() ->merge([ // New commands go here ])->toArray(), /* |-------------------------------------------------------------------------- | Scan Path |-------------------------------------------------------------------------- | | Here you define which folder will be scanned. By default will scan vendor | directory. This is useful if you host the package in packagist website. | */ 'scan' => [ 'enabled' => false, 'paths' => [ base_path('vendor/*/*'), ], ], /* |-------------------------------------------------------------------------- | Composer File Template |-------------------------------------------------------------------------- | | Here is the config for the composer.json file, generated by this package | */ 'composer' => [ 'vendor' => 'nwidart', 'author' => [ 'name' => 'Nicolas Widart', 'email' => 'n.widart@gmail.com', ], 'composer-output' => false, ], /* |-------------------------------------------------------------------------- | Caching |-------------------------------------------------------------------------- | | Here is the config for setting up the caching feature. | */ 'cache' => [ 'enabled' => false, 'driver' => 'file', 'key' => 'laravel-modules', 'lifetime' => 60, ], /* |-------------------------------------------------------------------------- | Choose what laravel-modules will register as custom namespaces. | Setting one to false will require you to register that part | in your own Service Provider class. |-------------------------------------------------------------------------- */ 'register' => [ 'translations' => true, /** * load files on boot or register method */ 'files' => 'register', ], /* |-------------------------------------------------------------------------- | Activators |-------------------------------------------------------------------------- | | You can define new types of activators here, file, database, etc. The only | required parameter is 'class'. | The file activator will store the activation status in storage/installed_modules */ 'activators' => [ 'file' => [ 'class' => FileActivator::class, 'statuses-file' => base_path('modules_statuses.json'), 'cache-key' => 'activator.installed', 'cache-lifetime' => 604800, ], ], 'activator' => 'file', ]; PKUt\ccbroadcasting.phpnu[ env('BROADCAST_DRIVER', 'null'), /* |-------------------------------------------------------------------------- | Broadcast Connections |-------------------------------------------------------------------------- | | Here you may define all of the broadcast connections that will be used | to broadcast events to other systems or over websockets. Samples of | each available type of connection are provided inside this array. | */ 'connections' => [ 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com', 'port' => env('PUSHER_PORT', 443), 'scheme' => env('PUSHER_SCHEME', 'https'), 'encrypted' => true, 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https', ], 'client_options' => [ // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html ], ], 'ably' => [ 'driver' => 'ably', 'key' => env('ABLY_KEY'), ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', ], 'log' => [ 'driver' => 'log', ], 'null' => [ 'driver' => 'null', ], ], ]; PKUt\̪y*y*app.phpnu[ env('APP_NAME', 'Laravel'), /* |-------------------------------------------------------------------------- | Application Environment |-------------------------------------------------------------------------- | | This value determines the "environment" your application is currently | running in. This may determine how you prefer to configure various | services the application utilizes. Set this in your ".env" file. | */ 'env' => env('APP_ENV', 'production'), /* |-------------------------------------------------------------------------- | Application Debug Mode |-------------------------------------------------------------------------- | | When your application is in debug mode, detailed error messages with | stack traces will be shown on every error that occurs within your | application. If disabled, a simple generic error page is shown. | */ 'debug' => (bool) env('APP_DEBUG', false), /* |-------------------------------------------------------------------------- | Application URL |-------------------------------------------------------------------------- | | This URL is used by the console to properly generate URLs when using | the Artisan command line tool. You should set this to the root of | your application so that it is used when running Artisan tasks. | */ 'url' => env('APP_URL', 'http://localhost'), 'media_disc' => env('MEDIA_DISK', 'public'), 'asset_url' => env('ASSET_URL', null), 'google_client_id' => env('GOOGLE_CLIENT_ID'), 'google_client_secret' => env('GOOGLE_CLIENT_SECRET'), 'google_redirect' => env('GOOGLE_REDIRECT'), 'facebook_app_id' => env('FACEBOOK_APP_ID'), 'facebook_app_secret' => env('FACEBOOK_APP_SECRET'), 'facebook_redirect' => env('FACEBOOK_REDIRECT'), 'upgrade_mode' => env('UPGRADE_MODE'), 'mail_admin' => env('MAIL_ADMIN'), 'one_signal_app_id' => env('ONESIGNAL_APP_ID'), 'mail_host' => env('MAIL_HOST'), 'mail_port' => env('MAIL_PORT'), 'mail_username' => env('MAIL_USERNAME'), 'mail_password' => env('MAIL_PASSWORD'), 'mail_encryption' => env('MAIL_ENCRYPTION'), 'mail_from_address' => env('MAIL_FROM_ADDRESS'), /* |-------------------------------------------------------------------------- | Application Timezone |-------------------------------------------------------------------------- | | Here you may specify the default timezone for your application, which | will be used by the PHP date and date-time functions. We have gone | ahead and set this to a sensible default for you out of the box. | */ 'timezone' => env('APP_TIMEZONE', 'UTC'), /* |-------------------------------------------------------------------------- | Application Locale Configuration |-------------------------------------------------------------------------- | | The application locale determines the default locale that will be used | by the translation service provider. You are free to set this value | to any of the locales which will be supported by the application. | */ 'locale' => 'en', /* |-------------------------------------------------------------------------- | Application Fallback Locale |-------------------------------------------------------------------------- | | The fallback locale determines the locale to use when the current one | is not available. You may change the value to correspond to any of | the language folders that are provided through your application. | */ 'fallback_locale' => 'en', /* |-------------------------------------------------------------------------- | Faker Locale |-------------------------------------------------------------------------- | | This locale will be used by the Faker PHP library when generating fake | data for your database seeds. For example, this will be used to get | localized telephone numbers, street address information and more. | */ 'faker_locale' => 'en_US', /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | | This key is used by the Illuminate encrypter service and should be set | to a random, 32 character string, otherwise these encrypted strings | will not be safe. Please do this before deploying an application! | */ 'key' => env('APP_KEY'), 'cipher' => 'AES-256-CBC', /* |-------------------------------------------------------------------------- | Maintenance Mode Driver |-------------------------------------------------------------------------- | | These configuration options determine the driver used to determine and | manage Laravel's "maintenance mode" status. The "cache" driver will | allow maintenance mode to be controlled across multiple machines. | | Supported drivers: "file", "cache" | */ 'maintenance' => [ 'driver' => 'file', // 'store' => 'redis', ], /* |-------------------------------------------------------------------------- | Autoloaded Service Providers |-------------------------------------------------------------------------- | | The service providers listed here will be automatically loaded on the | request to your application. Feel free to add your own services to | this array to grant expanded functionality to your applications. | */ 'providers' => ServiceProvider::defaultProviders()->merge([ Spatie\Permission\PermissionServiceProvider::class, LaravelQRCode\Providers\QRCodeServiceProvider::class, Biscolab\ReCaptcha\ReCaptchaServiceProvider::class, Unicodeveloper\Paystack\PaystackServiceProvider::class, Berkayk\OneSignal\OneSignalServiceProvider::class, InstallerErag\InstallerServiceProvider::class, /* * Package Service Providers... */ Barryvdh\Debugbar\ServiceProvider::class, Lab404\Impersonate\ImpersonateServiceProvider::class, KingFlamez\Rave\RaveServiceProvider::class, /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, App\Providers\TenancyServiceProvider::class, Mariuzzo\LaravelJsLocalization\LaravelJsLocalizationServiceProvider::class, Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class, ])->toArray(), /* |-------------------------------------------------------------------------- | Class Aliases |-------------------------------------------------------------------------- | | This array of class aliases will be registered when this application | is started. However, feel free to register as many as you wish as | the aliases are "lazy" loaded so they don't hinder performance. | */ // 'aliases' => Facade::defaultAliases()->merge([ // 'Datatables' => \Yajra\DataTables\Facades\DataTables::class, // 'Debugbar' => Barryvdh\Debugbar\Facade::class, // ])->toArray(), 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Arr' => Illuminate\Support\Arr::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, 'Blade' => Illuminate\Support\Facades\Blade::class, 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, 'Bus' => Illuminate\Support\Facades\Bus::class, 'Cache' => Illuminate\Support\Facades\Cache::class, 'Config' => Illuminate\Support\Facades\Config::class, 'Cookie' => Illuminate\Support\Facades\Cookie::class, 'Crypt' => Illuminate\Support\Facades\Crypt::class, 'Date' => Illuminate\Support\Facades\Date::class, 'DB' => Illuminate\Support\Facades\DB::class, 'Eloquent' => Illuminate\Database\Eloquent\Model::class, 'Event' => Illuminate\Support\Facades\Event::class, 'File' => Illuminate\Support\Facades\File::class, 'Gate' => Illuminate\Support\Facades\Gate::class, 'Hash' => Illuminate\Support\Facades\Hash::class, 'Http' => Illuminate\Support\Facades\Http::class, 'Js' => Illuminate\Support\Js::class, 'Lang' => Illuminate\Support\Facades\Lang::class, 'Log' => Illuminate\Support\Facades\Log::class, 'Mail' => Illuminate\Support\Facades\Mail::class, 'Notification' => Illuminate\Support\Facades\Notification::class, 'Password' => Illuminate\Support\Facades\Password::class, 'Queue' => Illuminate\Support\Facades\Queue::class, 'RateLimiter' => Illuminate\Support\Facades\RateLimiter::class, 'Redirect' => Illuminate\Support\Facades\Redirect::class, // 'Redis' => Illuminate\Support\Facades\Redis::class, 'Request' => Illuminate\Support\Facades\Request::class, 'Response' => Illuminate\Support\Facades\Response::class, 'Route' => Illuminate\Support\Facades\Route::class, 'Schema' => Illuminate\Support\Facades\Schema::class, 'Session' => Illuminate\Support\Facades\Session::class, 'Storage' => Illuminate\Support\Facades\Storage::class, 'Str' => Illuminate\Support\Str::class, 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, // 'QRCode' => LaravelQRCode\Facades\QRCode::class, //'QRCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class, 'ReCaptcha' => Biscolab\ReCaptcha\Facades\ReCaptcha::class, 'Paystack' => Unicodeveloper\Paystack\Facades\Paystack::class, 'LaravelPwa' => \Ladumor\LaravelPwa\LaravelPwa::class, 'OneSignal' => Berkayk\OneSignal\OneSignalFacade::class, 'Rave' => KingFlamez\Rave\Facades\Rave::class, ], ]; PKUt\"Ѳpermission.phpnu[ [ /* * When using the "HasPermissions" trait from this package, we need to know which * Eloquent model should be used to retrieve your permissions. Of course, it * is often just the "Permission" model but you may use whatever you like. * * The model you want to use as a Permission model needs to implement the * `Spatie\Permission\Contracts\Permission` contract. */ 'permission' => Spatie\Permission\Models\Permission::class, /* * When using the "HasRoles" trait from this package, we need to know which * Eloquent model should be used to retrieve your roles. Of course, it * is often just the "Role" model but you may use whatever you like. * * The model you want to use as a Role model needs to implement the * `Spatie\Permission\Contracts\Role` contract. */ 'role' => Spatie\Permission\Models\Role::class, ], 'table_names' => [ /* * When using the "HasRoles" trait from this package, we need to know which * table should be used to retrieve your roles. We have chosen a basic * default value but you may easily change it to any table you like. */ 'roles' => 'roles', /* * When using the "HasPermissions" trait from this package, we need to know which * table should be used to retrieve your permissions. We have chosen a basic * default value but you may easily change it to any table you like. */ 'permissions' => 'permissions', /* * When using the "HasPermissions" trait from this package, we need to know which * table should be used to retrieve your models permissions. We have chosen a * basic default value but you may easily change it to any table you like. */ 'model_has_permissions' => 'model_has_permissions', /* * When using the "HasRoles" trait from this package, we need to know which * table should be used to retrieve your models roles. We have chosen a * basic default value but you may easily change it to any table you like. */ 'model_has_roles' => 'model_has_roles', /* * When using the "HasRoles" trait from this package, we need to know which * table should be used to retrieve your roles permissions. We have chosen a * basic default value but you may easily change it to any table you like. */ 'role_has_permissions' => 'role_has_permissions', ], 'column_names' => [ /* * Change this if you want to name the related pivots other than defaults */ 'role_pivot_key' => null, //default 'role_id', 'permission_pivot_key' => null, //default 'permission_id', /* * Change this if you want to name the related model primary key other than * `model_id`. * * For example, this would be nice if your primary keys are all UUIDs. In * that case, name this `model_uuid`. */ 'model_morph_key' => 'model_id', /* * Change this if you want to use the teams feature and your related model's * foreign key is other than `team_id`. */ 'team_foreign_key' => 'team_id', ], /* * When set to true, the method for checking permissions will be registered on the gate. * Set this to false, if you want to implement custom logic for checking permissions. */ 'register_permission_check_method' => true, /* * When set to true the package implements teams using the 'team_foreign_key'. If you want * the migrations to register the 'team_foreign_key', you must set this to true * before doing the migration. If you already did the migration then you must make a new * migration to also add 'team_foreign_key' to 'roles', 'model_has_roles', and * 'model_has_permissions'(view the latest version of package's migration file) */ 'teams' => false, /* * When set to true, the required permission names are added to the exception * message. This could be considered an information leak in some contexts, so * the default setting is false here for optimum safety. */ 'display_permission_in_exception' => false, /* * When set to true, the required role names are added to the exception * message. This could be considered an information leak in some contexts, so * the default setting is false here for optimum safety. */ 'display_role_in_exception' => false, /* * By default wildcard permission lookups are disabled. */ 'enable_wildcard_permission' => false, 'cache' => [ /* * By default all permissions are cached for 24 hours to speed up performance. * When permissions or roles are updated the cache is flushed automatically. */ 'expiration_time' => \DateInterval::createFromDateString('24 hours'), /* * The cache key used to store all permissions. */ 'key' => 'spatie.permission.cache', /* * You may optionally indicate a specific cache driver to use for permission and * role caching using any of the `store` drivers listed in the cache.php config * file. Using 'default' here means to use the `default` set in cache.php. */ 'store' => 'default', ], ]; PKUt\), database.phpnu[ env('DB_CONNECTION', 'mysql'), /* |-------------------------------------------------------------------------- | Database Connections |-------------------------------------------------------------------------- | | Here are each of the database connections setup for your application. | Of course, examples of configuring each database platform that is | supported by Laravel is shown below to make development simple. | | | All database work in Laravel is done through the PHP PDO facilities | so make sure you have the driver for your particular database of | choice installed on your machine before you begin development. | */ 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'url' => env('DATABASE_URL'), 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), ], 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => false, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], 'pgsql' => [ 'driver' => 'pgsql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'prefix_indexes' => true, 'search_path' => 'public', 'sslmode' => 'prefer', ], 'sqlsrv' => [ 'driver' => 'sqlsrv', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '1433'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'prefix_indexes' => true, // 'encrypt' => env('DB_ENCRYPT', 'yes'), // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), ], ], /* |-------------------------------------------------------------------------- | Migration Repository Table |-------------------------------------------------------------------------- | | This table keeps track of all the migrations that have already run for | your application. Using this information, we can determine which of | the migrations on disk haven't actually been run in the database. | */ 'migrations' => 'migrations', /* |-------------------------------------------------------------------------- | Redis Databases |-------------------------------------------------------------------------- | | Redis is an open source, fast, and advanced key-value store that also | provides a richer body of commands than a typical key-value system | such as APC or Memcached. Laravel makes it easy to dig right in. | */ 'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), ], 'default' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DB', '0'), ], 'cache' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_CACHE_DB', '1'), ], ], ]; PKUt\w_Z Z queue.phpnu[ env('QUEUE_CONNECTION', 'sync'), /* |-------------------------------------------------------------------------- | Queue Connections |-------------------------------------------------------------------------- | | Here you may configure the connection information for each server that | is used by your application. A default configuration has been added | for each back-end shipped with Laravel. You are free to add more. | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" | */ 'connections' => [ 'sync' => [ 'driver' => 'sync', ], 'database' => [ 'driver' => 'database', 'table' => 'jobs', 'queue' => 'default', 'retry_after' => 90, 'after_commit' => false, ], 'beanstalkd' => [ 'driver' => 'beanstalkd', 'host' => 'localhost', 'queue' => 'default', 'retry_after' => 90, 'block_for' => 0, 'after_commit' => false, ], 'sqs' => [ 'driver' => 'sqs', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), 'queue' => env('SQS_QUEUE', 'default'), 'suffix' => env('SQS_SUFFIX'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 'after_commit' => false, ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'queue' => env('REDIS_QUEUE', 'default'), 'retry_after' => 90, 'block_for' => null, 'after_commit' => false, ], ], /* |-------------------------------------------------------------------------- | Failed Queue Jobs |-------------------------------------------------------------------------- | | These options configure the behavior of failed queue job logging so you | can control which database and table are used to store the jobs that | have failed. You may change them to any database / table you wish. | */ 'failed' => [ 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), 'database' => env('DB_CONNECTION', 'mysql'), 'table' => 'failed_jobs', ], ]; PKUt\view.phpnu[ [ resource_path('views'), ], /* |-------------------------------------------------------------------------- | Compiled View Path |-------------------------------------------------------------------------- | | This option determines where all the compiled Blade templates will be | stored for your application. Typically, this is within the storage | directory. However, as usual, you are free to change this value. | */ 'compiled' => env( 'VIEW_COMPILED_PATH', realpath(storage_path('framework/views')) ), ]; PKUt\!MM logging.phpnu[ env('LOG_CHANNEL', 'stack'), /* |-------------------------------------------------------------------------- | Deprecations Log Channel |-------------------------------------------------------------------------- | | This option controls the log channel that should be used to log warnings | regarding deprecated PHP and library features. This allows you to get | your application ready for upcoming major versions of dependencies. | */ 'deprecations' => [ 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), 'trace' => false, ], /* |-------------------------------------------------------------------------- | Log Channels |-------------------------------------------------------------------------- | | Here you may configure the log channels for your application. Out of | the box, Laravel uses the Monolog PHP logging library. This gives | you a variety of powerful log handlers / formatters to utilize. | | Available Drivers: "single", "daily", "slack", "syslog", | "errorlog", "monolog", | "custom", "stack" | */ 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['single'], 'ignore_exceptions' => false, ], 'single' => [ 'driver' => 'single', 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), 'replace_placeholders' => true, ], 'daily' => [ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), 'days' => 14, 'replace_placeholders' => true, ], 'slack' => [ 'driver' => 'slack', 'url' => env('LOG_SLACK_WEBHOOK_URL'), 'username' => 'Laravel Log', 'emoji' => ':boom:', 'level' => env('LOG_LEVEL', 'critical'), 'replace_placeholders' => true, ], 'papertrail' => [ 'driver' => 'monolog', 'level' => env('LOG_LEVEL', 'debug'), 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), 'handler_with' => [ 'host' => env('PAPERTRAIL_URL'), 'port' => env('PAPERTRAIL_PORT'), 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), ], 'processors' => [PsrLogMessageProcessor::class], ], 'stderr' => [ 'driver' => 'monolog', 'level' => env('LOG_LEVEL', 'debug'), 'handler' => StreamHandler::class, 'formatter' => env('LOG_STDERR_FORMATTER'), 'with' => [ 'stream' => 'php://stderr', ], 'processors' => [PsrLogMessageProcessor::class], ], 'syslog' => [ 'driver' => 'syslog', 'level' => env('LOG_LEVEL', 'debug'), 'facility' => LOG_USER, 'replace_placeholders' => true, ], 'errorlog' => [ 'driver' => 'errorlog', 'level' => env('LOG_LEVEL', 'debug'), 'replace_placeholders' => true, ], 'null' => [ 'driver' => 'monolog', 'handler' => NullHandler::class, ], 'emergency' => [ 'path' => storage_path('logs/laravel.log'), ], ], ]; PKUt\8d߁localization-js.phpnu[ [ * 'validation', * 'forum/thread', * ], */ 'messages' => [ 'js' ], /* * The default path to use for the generated javascript. */ 'path' => public_path('messages.js'), ]; PKUt\woo session.phpnu[ env('SESSION_DRIVER', 'file'), /* |-------------------------------------------------------------------------- | Session Lifetime |-------------------------------------------------------------------------- | | Here you may specify the number of minutes that you wish the session | to be allowed to remain idle before it expires. If you want them | to immediately expire on the browser closing, set that option. | */ 'lifetime' => env('SESSION_LIFETIME', 120), 'expire_on_close' => false, /* |-------------------------------------------------------------------------- | Session Encryption |-------------------------------------------------------------------------- | | This option allows you to easily specify that all of your session data | should be encrypted before it is stored. All encryption will be run | automatically by Laravel and you can use the Session like normal. | */ 'encrypt' => false, /* |-------------------------------------------------------------------------- | Session File Location |-------------------------------------------------------------------------- | | When using the native session driver, we need a location where session | files may be stored. A default has been set for you but a different | location may be specified. This is only needed for file sessions. | */ 'files' => storage_path('framework/sessions'), /* |-------------------------------------------------------------------------- | Session Database Connection |-------------------------------------------------------------------------- | | When using the "database" or "redis" session drivers, you may specify a | connection that should be used to manage these sessions. This should | correspond to a connection in your database configuration options. | */ 'connection' => env('SESSION_CONNECTION'), /* |-------------------------------------------------------------------------- | Session Database Table |-------------------------------------------------------------------------- | | When using the "database" session driver, you may specify the table we | should use to manage the sessions. Of course, a sensible default is | provided for you; however, you are free to change this as needed. | */ 'table' => 'sessions', /* |-------------------------------------------------------------------------- | Session Cache Store |-------------------------------------------------------------------------- | | While using one of the framework's cache driven session backends you may | list a cache store that should be used for these sessions. This value | must match with one of the application's configured cache "stores". | | Affects: "apc", "dynamodb", "memcached", "redis" | */ 'store' => env('SESSION_STORE'), /* |-------------------------------------------------------------------------- | Session Sweeping Lottery |-------------------------------------------------------------------------- | | Some session drivers must manually sweep their storage location to get | rid of old sessions from storage. Here are the chances that it will | happen on a given request. By default, the odds are 2 out of 100. | */ 'lottery' => [2, 100], /* |-------------------------------------------------------------------------- | Session Cookie Name |-------------------------------------------------------------------------- | | Here you may change the name of the cookie used to identify a session | instance by ID. The name specified here will get used every time a | new session cookie is created by the framework for every driver. | */ 'cookie' => env( 'SESSION_COOKIE', Str::slug(env('APP_NAME', 'laravel'), '_').'_session' ), /* |-------------------------------------------------------------------------- | Session Cookie Path |-------------------------------------------------------------------------- | | The session cookie path determines the path for which the cookie will | be regarded as available. Typically, this will be the root path of | your application but you are free to change this when necessary. | */ 'path' => '/', /* |-------------------------------------------------------------------------- | Session Cookie Domain |-------------------------------------------------------------------------- | | Here you may change the domain of the cookie used to identify a session | in your application. This will determine which domains the cookie is | available to in your application. A sensible default has been set. | */ 'domain' => env('SESSION_DOMAIN'), /* |-------------------------------------------------------------------------- | HTTPS Only Cookies |-------------------------------------------------------------------------- | | By setting this option to true, session cookies will only be sent back | to the server if the browser has a HTTPS connection. This will keep | the cookie from being sent to you when it can't be done securely. | */ 'secure' => env('SESSION_SECURE_COOKIE'), /* |-------------------------------------------------------------------------- | HTTP Access Only |-------------------------------------------------------------------------- | | Setting this value to true will prevent JavaScript from accessing the | value of the cookie and the cookie will only be accessible through | the HTTP protocol. You are free to modify this option if needed. | */ 'http_only' => true, /* |-------------------------------------------------------------------------- | Same-Site Cookies |-------------------------------------------------------------------------- | | This option determines how your cookies behave when cross-site requests | take place, and can be used to mitigate CSRF attacks. By default, we | will set this value to "lax" since this is a secure default value. | | Supported: "lax", "strict", "none", null | */ 'same_site' => "lax", ]; PKUt\7cookie-consent.phpnu[ env('COOKIE_CONSENT_ENABLED', true), /* * The name of the cookie in which we store if the user * has agreed to accept the conditions. */ 'cookie_name' => 'laravel_cookie_consent', /* * Set the cookie duration in days. Default is 365 * 20. */ 'cookie_lifetime' => 365 * 20, ]; PKUt\t/($  modules-livewire.phpnu[ 'Livewire', /* |-------------------------------------------------------------------------- | View Path |-------------------------------------------------------------------------- | */ 'view' => 'Resources/views/livewire', /* |-------------------------------------------------------------------------- | Custom modules setup |-------------------------------------------------------------------------- | */ // 'custom_modules' => [ // 'Chat' => [ // 'path' => base_path('libraries/Chat'), // 'module_namespace' => 'Libraries\\Chat', // // 'namespace' => 'Livewire', // // 'view' => 'Resources/views/livewire', // // 'name_lower' => 'chat', // ], // ], ]; PKUt\}RNNcors.phpnu[ ['api/*', 'sanctum/csrf-cookie'], 'allowed_methods' => ['*'], 'allowed_origins' => ['*'], 'allowed_origins_patterns' => [], 'allowed_headers' => ['*'], 'exposed_headers' => [], 'max_age' => 0, 'supports_credentials' => false, ]; PKUt\̋ʂ livewire.phpnu[ 'App\\Livewire', /* |--------------------------------------------------------------------------- | View Path |--------------------------------------------------------------------------- | | This value is used to specify where Livewire component Blade templates are | stored when running file creation commands like `artisan make:livewire`. | It is also used if you choose to omit a component's render() method. | */ 'view_path' => resource_path('views/livewire'), /* |--------------------------------------------------------------------------- | Layout |--------------------------------------------------------------------------- | The view that will be used as the layout when rendering a single component | as an entire page via `Route::get('/post/create', CreatePost::class);`. | In this case, the view returned by CreatePost will render into $slot. | */ 'layout' => 'components.layouts.app', /* |--------------------------------------------------------------------------- | Lazy Loading Placeholder |--------------------------------------------------------------------------- | Livewire allows you to lazy load components that would otherwise slow down | the initial page load. Every component can have a custom placeholder or | you can define the default placeholder view for all components below. | */ 'lazy_placeholder' => null, /* |--------------------------------------------------------------------------- | Temporary File Uploads |--------------------------------------------------------------------------- | | Livewire handles file uploads by storing uploads in a temporary directory | before the file is stored permanently. All file uploads are directed to | a global endpoint for temporary storage. You may configure this below: | */ 'temporary_file_upload' => [ 'disk' => null, // Example: 'local', 's3' | Default: 'default' 'rules' => null, // Example: ['file', 'mimes:png,jpg'] | Default: ['required', 'file', 'max:12288'] (12MB) 'directory' => null, // Example: 'tmp' | Default: 'livewire-tmp' 'middleware' => null, // Example: 'throttle:5,1' | Default: 'throttle:60,1' 'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs... 'png', 'gif', 'bmp', 'svg', 'wav', 'mp4', 'mov', 'avi', 'wmv', 'mp3', 'm4a', 'jpg', 'jpeg', 'mpga', 'webp', 'wma', ], 'max_upload_time' => 5, // Max duration (in minutes) before an upload is invalidated... 'cleanup' => true, // Should cleanup temporary uploads older than 24 hrs... ], /* |--------------------------------------------------------------------------- | Render On Redirect |--------------------------------------------------------------------------- | | This value determines if Livewire will run a component's `render()` method | after a redirect has been triggered using something like `redirect(...)` | Setting this to true will render the view once more before redirecting | */ 'render_on_redirect' => false, /* |--------------------------------------------------------------------------- | Eloquent Model Binding |--------------------------------------------------------------------------- | | Previous versions of Livewire supported binding directly to eloquent model | properties using wire:model by default. However, this behavior has been | deemed too "magical" and has therefore been put under a feature flag. | */ 'legacy_model_binding' => false, /* |--------------------------------------------------------------------------- | Auto-inject Frontend Assets |--------------------------------------------------------------------------- | | By default, Livewire automatically injects its JavaScript and CSS into the | and of pages containing Livewire components. By disabling | this behavior, you need to use @livewireStyles and @livewireScripts. | */ 'inject_assets' => true, /* |--------------------------------------------------------------------------- | Navigate (SPA mode) |--------------------------------------------------------------------------- | | By adding `wire:navigate` to links in your Livewire application, Livewire | will prevent the default link handling and instead request those pages | via AJAX, creating an SPA-like effect. Configure this behavior here. | */ 'navigate' => [ 'show_progress_bar' => true, 'progress_bar_color' => '#2299dd', ], /* |--------------------------------------------------------------------------- | HTML Morph Markers |--------------------------------------------------------------------------- | | Livewire intelligently "morphs" existing HTML into the newly rendered HTML | after each update. To make this process more reliable, Livewire injects | "markers" into the rendered Blade surrounding @if, @class & @foreach. | */ 'inject_morph_markers' => true, /* |--------------------------------------------------------------------------- | Pagination Theme |--------------------------------------------------------------------------- | | When enabling Livewire's pagination feature by using the `WithPagination` | trait, Livewire will use Tailwind templates to render pagination views | on the page. If you want Bootstrap CSS, you can specify: "bootstrap" | */ 'pagination_theme' => 'tailwind', ]; PKUt\6Ll l services.phpnu[ [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 'scheme' => 'https', ], 'postmark' => [ 'token' => env('POSTMARK_TOKEN'), ], 'ses' => [ 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], 'stripe' => [ 'key' => env('STRIPE_KEY'), 'secret_key' => env('STRIPE_SECRET'), ], 'google' => [ 'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('GOOGLE_REDIRECT'), ], 'facebook' => [ 'client_id' => env('FACEBOOK_APP_ID'), 'client_secret' => env('FACEBOOK_APP_SECRET'), 'redirect' => env('FACEBOOK_REDIRECT'), ], 'paystack' => [ 'public' => env('PAYSTACK_PUBLIC_KEY'), 'secret' => env('PAYSTACK_SECRET_KEY'), 'payment_url' => env('PAYSTACK_PAYMENT_URL', 'https://api.paystack.co'), ], 'claude' => [ 'api_key' => env('CLAUDE_API_KEY', 'sk-ant-CONFIGURE_ME'), 'model' => env('CLAUDE_MODEL', 'claude-haiku-4-5'), ], 'asaas' => [ 'api_key' => env('ASAAS_API_KEY', ''), 'sandbox' => env('ASAAS_SANDBOX', true), 'webhook_token' => env('ASAAS_WEBHOOK_TOKEN', ''), 'base_url' => env('ASAAS_SANDBOX', true) ? 'https://sandbox.asaas.com/api/v3' : 'https://api.asaas.com/api/v3', ], 'ifthen' => [ 'entity_key' => env('IFTHEN_ENTITY_KEY', ''), 'sub_entity_key' => env('IFTHEN_SUB_ENTITY_KEY', ''), 'anti_phishing' => env('IFTHEN_ANTI_PHISHING', ''), 'backoffice_key' => env('IFTHEN_BACKOFFICE_KEY', ''), ], ];PKUt\W..66 purifier.phpnu[set('Core.Encoding', $this->config->get('purifier.encoding')); * $config->set('Cache.SerializerPath', $this->config->get('purifier.cachePath')); * if ( ! $this->config->get('purifier.finalize')) { * $config->autoFinalize = false; * } * $config->loadArray($this->getConfig()); * * You must NOT delete the default settings * anything in settings should be compacted with params that needed to instance HTMLPurifier_Config. * * @link http://htmlpurifier.org/live/configdoc/plain.html */ return [ 'encoding' => 'UTF-8', 'finalize' => true, 'ignoreNonStrings' => false, 'cachePath' => storage_path('app/purifier'), 'cacheFileMode' => 0755, 'settings' => [ 'default' => [ 'HTML.Doctype' => 'HTML 4.01 Transitional', 'HTML.Allowed' => 'div,b,strong,i,em,u,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]', 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', 'AutoFormat.AutoParagraph' => true, 'AutoFormat.RemoveEmpty' => true, ], 'test' => [ 'Attr.EnableID' => 'true', ], "youtube" => [ "HTML.SafeIframe" => 'true', "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/)%", ], 'custom_definition' => [ 'id' => 'html5-definitions', 'rev' => 1, 'debug' => false, 'elements' => [ // http://developers.whatwg.org/sections.html ['section', 'Block', 'Flow', 'Common'], ['nav', 'Block', 'Flow', 'Common'], ['article', 'Block', 'Flow', 'Common'], ['aside', 'Block', 'Flow', 'Common'], ['header', 'Block', 'Flow', 'Common'], ['footer', 'Block', 'Flow', 'Common'], // Content model actually excludes several tags, not modelled here ['address', 'Block', 'Flow', 'Common'], ['hgroup', 'Block', 'Required: h1 | h2 | h3 | h4 | h5 | h6', 'Common'], // http://developers.whatwg.org/grouping-content.html ['figure', 'Block', 'Optional: (figcaption, Flow) | (Flow, figcaption) | Flow', 'Common'], ['figcaption', 'Inline', 'Flow', 'Common'], // http://developers.whatwg.org/the-video-element.html#the-video-element ['video', 'Block', 'Optional: (source, Flow) | (Flow, source) | Flow', 'Common', [ 'src' => 'URI', 'type' => 'Text', 'width' => 'Length', 'height' => 'Length', 'poster' => 'URI', 'preload' => 'Enum#auto,metadata,none', 'controls' => 'Bool', ]], ['source', 'Block', 'Flow', 'Common', [ 'src' => 'URI', 'type' => 'Text', ]], // http://developers.whatwg.org/text-level-semantics.html ['s', 'Inline', 'Inline', 'Common'], ['var', 'Inline', 'Inline', 'Common'], ['sub', 'Inline', 'Inline', 'Common'], ['sup', 'Inline', 'Inline', 'Common'], ['mark', 'Inline', 'Inline', 'Common'], ['wbr', 'Inline', 'Empty', 'Core'], // http://developers.whatwg.org/edits.html ['ins', 'Block', 'Flow', 'Common', ['cite' => 'URI', 'datetime' => 'CDATA']], ['del', 'Block', 'Flow', 'Common', ['cite' => 'URI', 'datetime' => 'CDATA']], ], 'attributes' => [ ['iframe', 'allowfullscreen', 'Bool'], ['table', 'height', 'Text'], ['td', 'border', 'Text'], ['th', 'border', 'Text'], ['tr', 'width', 'Text'], ['tr', 'height', 'Text'], ['tr', 'border', 'Text'], ], ], 'custom_attributes' => [ ['a', 'target', 'Enum#_blank,_self,_target,_top'], ], 'custom_elements' => [ ['u', 'Inline', 'Inline', 'Common'], ], ], ]; PKUt\r_ tenancy.phpnu[ \App\Models\MultiTenant::class, 'id_generator' => Stancl\Tenancy\UUIDGenerator::class, 'domain_model' => Domain::class, /** * The list of domains hosting your central app. * * Only relevant if you're using the domain or subdomain identification middleware. */ 'central_domains' => [ '127.0.0.1', 'localhost', ], /** * Tenancy bootstrappers are executed when tenancy is initialized. * Their responsibility is making Laravel features tenant-aware. * * To configure their behavior, see the config keys below. */ 'bootstrappers' => [ Stancl\Tenancy\Bootstrappers\DatabaseTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\CacheTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\FilesystemTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\QueueTenancyBootstrapper::class, // Stancl\Tenancy\Bootstrappers\RedisTenancyBootstrapper::class, // Note: phpredis is needed ], /** * Database tenancy config. Used by DatabaseTenancyBootstrapper. */ 'database' => [ 'central_connection' => env('DB_CONNECTION', 'central'), /** * Connection used as a "template" for the tenant database connection. */ 'template_tenant_connection' => null, /** * Tenant database names are created like this: * prefix + tenant_id + suffix. */ 'prefix' => 'tenant', 'suffix' => '', /** * TenantDatabaseManagers are classes that handle the creation & deletion of tenant databases. */ 'managers' => [ 'sqlite' => Stancl\Tenancy\TenantDatabaseManagers\SQLiteDatabaseManager::class, 'mysql' => Stancl\Tenancy\TenantDatabaseManagers\MySQLDatabaseManager::class, 'pgsql' => Stancl\Tenancy\TenantDatabaseManagers\PostgreSQLDatabaseManager::class, /** * Use this database manager for MySQL to have a DB user created for each tenant database. * You can customize the grants given to these users by changing the $grants property. */ // 'mysql' => Stancl\Tenancy\TenantDatabaseManagers\PermissionControlledMySQLDatabaseManager::class, /** * Disable the pgsql manager above, and enable the one below if you * want to separate tenant DBs by schemas rather than databases. */ // 'pgsql' => Stancl\Tenancy\TenantDatabaseManagers\PostgreSQLSchemaManager::class, // Separate by schema instead of database ], ], /** * Cache tenancy config. Used by CacheTenancyBootstrapper. * * This works for all Cache facade calls, cache() helper * calls and direct calls to injected cache stores. * * Each key in cache will have a tag applied on it. This tag is used to * scope the cache both when writing to it and when reading from it. * * You can clear cache selectively by specifying the tag. */ 'cache' => [ 'tag_base' => 'tenant', // This tag_base, followed by the tenant_id, will form a tag that will be applied on each cache call. ], /** * Filesystem tenancy config. Used by FilesystemTenancyBootstrapper. * https://tenancyforlaravel.com/docs/v3/tenancy-bootstrappers/#filesystem-tenancy-boostrapper. */ 'filesystem' => [ /** * Each disk listed in the 'disks' array will be suffixed by the suffix_base, followed by the tenant_id. */ 'suffix_base' => 'tenant', 'disks' => [ 'local', 'public', // 's3', ], /** * Use this for local disks. * * See https://tenancyforlaravel.com/docs/v3/tenancy-bootstrappers/#filesystem-tenancy-boostrapper */ 'root_override' => [ // Disks whose roots should be overriden after storage_path() is suffixed. 'local' => '%storage_path%/app/', 'public' => '%storage_path%/app/public/', ], /** * Should storage_path() be suffixed. * * Note: Disabling this will likely break local disk tenancy. Only disable this if you're using an external file storage service like S3. * * For the vast majority of applications, this feature should be enabled. But in some * edge cases, it can cause issues (like using Passport with Vapor - see #196), so * you may want to disable this if you are experiencing these edge case issues. */ 'suffix_storage_path' => true, /** * By default, asset() calls are made multi-tenant too. You can use global_asset() and mix() * for global, non-tenant-specific assets. However, you might have some issues when using * packages that use asset() calls inside the tenant app. To avoid such issues, you can * disable asset() helper tenancy and explicitly use tenant_asset() calls in places * where you want to use tenant-specific assets (product images, avatars, etc). */ 'asset_helper_tenancy' => true, ], /** * Redis tenancy config. Used by RedisTenancyBoostrapper. * * Note: You need phpredis to use Redis tenancy. * * Note: You don't need to use this if you're using Redis only for cache. * Redis tenancy is only relevant if you're making direct Redis calls, * either using the Redis facade or by injecting it as a dependency. */ 'redis' => [ 'prefix_base' => 'tenant', // Each key in Redis will be prepended by this prefix_base, followed by the tenant id. 'prefixed_connections' => [ // Redis connections whose keys are prefixed, to separate one tenant's keys from another. // 'default', ], ], /** * Features are classes that provide additional functionality * not needed for tenancy to be bootstrapped. They are run * regardless of whether tenancy has been initialized. * * See the documentation page for each class to * understand which ones you want to enable. */ 'features' => [ // Stancl\Tenancy\Features\UserImpersonation::class, // Stancl\Tenancy\Features\TelescopeTags::class, // Stancl\Tenancy\Features\UniversalRoutes::class, // Stancl\Tenancy\Features\TenantConfig::class, // https://tenancyforlaravel.com/docs/v3/features/tenant-config // Stancl\Tenancy\Features\CrossDomainRedirect::class, // https://tenancyforlaravel.com/docs/v3/features/cross-domain-redirect ], /** * Should tenancy routes be registered. * * Tenancy routes include tenant asset routes. By default, this route is * enabled. But it may be useful to disable them if you use external * storage (e.g. S3 / Dropbox) or have a custom asset controller. */ 'routes' => true, /** * Parameters used by the tenants:migrate command. */ 'migration_parameters' => [ '--force' => true, // This needs to be true to run migrations in production. '--path' => [database_path('migrations/tenant')], '--realpath' => true, ], /** * Parameters used by the tenants:seed command. */ 'seeder_parameters' => [ '--class' => 'DatabaseSeeder', // root seeder class // '--force' => true, ], ]; PKUt\H]] phonepe.phpnu[ env('PHONEPE_MERCHANT_ID'), 'merchantUserId' => env('PHONEPE_MERCHANT_USER_ID'), 'env' => env('PHONEPE_ENV'), 'saltKey' => env('PHONEPE_SALT_KEY'), 'saltIndex' => env('PHONEPE_SALT_INDEX'), 'redirectUrl' => env('PHONEPE_REDIRECT_URL'), 'callBackUrl' => env('PHONEPE_CALLBACK_URL') ); PKUt\튑VV error_lognu[[16-Jul-2026 11:34:58 UTC] PHP Fatal error: Uncaught Error: Call to undefined function env() in /home/cardxfeb/public_html/vendor/spatie/laravel-ignition/config/ignition.php:42 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/spatie/laravel-ignition/config/ignition.php on line 42 [16-Jul-2026 12:51:32 UTC] PHP Fatal error: Uncaught Error: Call to undefined function env() in /home/cardxfeb/public_html/vendor/spatie/laravel-ignition/config/flare.php:28 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/spatie/laravel-ignition/config/flare.php on line 28 PKUt\xflutterwave.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ return [ /** * Public Key: Your Rave publicKey. Sign up on https://dashboard.flutterwave.com/ to get one from your settings page * */ 'publicKey' => env('FLW_PUBLIC_KEY'), /** * Secret Key: Your Rave secretKey. Sign up on https://dashboard.flutterwave.com/ to get one from your settings page * */ 'secretKey' => env('FLW_SECRET_KEY'), /** * Prefix: Secret hash for webhook * */ 'secretHash' => env('FLW_SECRET_HASH', ''), ]; PKUt\pmail.phpnu[ env('MAIL_MAILER', 'smtp'), /* |-------------------------------------------------------------------------- | Mailer Configurations |-------------------------------------------------------------------------- | | Here you may configure all of the mailers used by your application plus | their respective settings. Several examples have been configured for | you and you are free to add your own as your application requires. | | Laravel supports a variety of mail "transport" drivers to be used while | sending an e-mail. You will specify which one you are using for your | mailers below. You are free to add additional mailers as required. | | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", | "postmark", "log", "array", "failover" | */ 'mailers' => [ 'smtp' => [ 'transport' => 'smtp', 'url' => env('MAIL_URL'), 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'local_domain' => env('MAIL_EHLO_DOMAIN'), ], 'ses' => [ 'transport' => 'ses', ], 'mailgun' => [ 'transport' => 'mailgun', // 'client' => [ // 'timeout' => 5, // ], ], 'postmark' => [ 'transport' => 'postmark', // 'client' => [ // 'timeout' => 5, // ], ], 'sendmail' => [ 'transport' => 'sendmail', 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), ], 'log' => [ 'transport' => 'log', 'channel' => env('MAIL_LOG_CHANNEL'), ], 'array' => [ 'transport' => 'array', ], 'failover' => [ 'transport' => 'failover', 'mailers' => [ 'smtp', 'log', ], ], ], /* |-------------------------------------------------------------------------- | Global "From" Address |-------------------------------------------------------------------------- | | You may wish for all e-mails sent by your application to be sent from | the same address. Here, you may specify a name and address that is | used globally for all e-mails that are sent by your application. | */ 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 'name' => env('MAIL_FROM_NAME', 'Example'), ], /* |-------------------------------------------------------------------------- | Markdown Mail Settings |-------------------------------------------------------------------------- | | If you are using Markdown based email rendering, you may configure your | theme and component paths here, allowing you to customize the design | of the emails. Or, you may simply stick with the Laravel defaults! | */ 'markdown' => [ 'theme' => 'default', 'paths' => [ resource_path('views/vendor/mail'), ], ], ]; PKUt\^cv sanctum.phpnu[ explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( '%s%s', 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', Sanctum::currentApplicationUrlWithPort() ))), /* |-------------------------------------------------------------------------- | Sanctum Guards |-------------------------------------------------------------------------- | | This array contains the authentication guards that will be checked when | Sanctum is trying to authenticate a request. If none of these guards | are able to authenticate the request, Sanctum will use the bearer | token that's present on an incoming request for authentication. | */ 'guard' => ['web'], /* |-------------------------------------------------------------------------- | Expiration Minutes |-------------------------------------------------------------------------- | | This value controls the number of minutes until an issued token will be | considered expired. This will override any values set in the token's | "expires_at" attribute, but first-party sessions are not affected. | */ 'expiration' => null, /* |-------------------------------------------------------------------------- | Token Prefix |-------------------------------------------------------------------------- | | Sanctum can prefix new tokens in order to take advantage of numerous | security scanning initiatives maintained by open source platforms | that notify developers if they commit tokens into repositories. | | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning | */ 'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''), /* |-------------------------------------------------------------------------- | Sanctum Middleware |-------------------------------------------------------------------------- | | When authenticating your first-party SPA with Sanctum you may need to | customize some of the middleware Sanctum uses while processing the | request. You may change the middleware listed below as required. | */ 'middleware' => [ 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, ], ]; PKϭ\ D tinker.phpnu[ [ // App\Console\Commands\ExampleCommand::class, ], /* |-------------------------------------------------------------------------- | Auto Aliased Classes |-------------------------------------------------------------------------- | | Tinker will not automatically alias classes in your vendor namespaces | but you may explicitly allow a subset of classes to get aliased by | adding the names of each of those classes to the following list. | */ 'alias' => [ // ], /* |-------------------------------------------------------------------------- | Classes That Should Not Be Aliased |-------------------------------------------------------------------------- | | Typically, Tinker automatically aliases classes as you require them in | Tinker. However, you may wish to never alias certain classes, which | you may accomplish by listing the classes in the following array. | */ 'dont_alias' => [ 'App\Nova', ], ]; PK\blade-heroicons.phpnu[ 'heroicon', /* |----------------------------------------------------------------- | Fallback Icon |----------------------------------------------------------------- | | This config option allows you to define a fallback | icon when an icon in this set cannot be found. | */ 'fallback' => '', /* |----------------------------------------------------------------- | Default Set Classes |----------------------------------------------------------------- | | This config option allows you to define some classes which | will be applied by default to all icons within this set. | */ 'class' => '', /* |----------------------------------------------------------------- | Default Set Attributes |----------------------------------------------------------------- | | This config option allows you to define some attributes which | will be applied by default to all icons within this set. | */ 'attributes' => [ // 'width' => 50, // 'height' => 50, ], ]; PK!\  LICENSE.mdnu[BSD 3-Clause License Copyright (c) 2022, Colin O'Dell. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PK!\1؊ composer.jsonnu[{ "name": "league/config", "type": "library", "description": "Define configuration arrays with strict schemas and access values with dot notation", "keywords": ["configuration","config","schema","array","nested","dot","dot-access"], "homepage": "https://config.thephpleague.com", "license": "BSD-3-Clause", "authors": [ { "name": "Colin O'Dell", "email": "colinodell@gmail.com", "homepage": "https://www.colinodell.com", "role": "Lead Developer" } ], "support": { "docs": "https://config.thephpleague.com/", "issues": "https://github.com/thephpleague/config/issues", "rss": "https://github.com/thephpleague/config/releases.atom", "source": "https://github.com/thephpleague/config" }, "require": { "php": "^7.4 || ^8.0", "dflydev/dot-access-data": "^3.0.1", "nette/schema": "^1.2" }, "require-dev": { "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.5", "scrutinizer/ocular": "^1.8.1", "unleashedtech/php-coding-standard": "^3.1", "vimeo/psalm": "^4.7.3" }, "minimum-stability": "dev", "prefer-stable": true, "autoload": { "psr-4": { "League\\Config\\": "src" } }, "autoload-dev": { "psr-4": { "League\\Config\\Tests\\": "tests" } }, "scripts": { "phpcs": "phpcs", "phpstan": "phpstan analyse", "phpunit": "phpunit --no-coverage", "psalm": "psalm", "test": [ "@phpcs", "@phpstan", "@psalm", "@phpunit" ] }, "extra": { "branch-alias": { "dev-main": "1.2-dev" } }, "config": { "sort-packages": true, "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true } } } PK!\C} README.mdnu[# league/config [![Latest Version](https://img.shields.io/packagist/v/league/config.svg?style=flat-square)](https://packagist.org/packages/league/config) [![Total Downloads](https://img.shields.io/packagist/dt/league/config.svg?style=flat-square)](https://packagist.org/packages/league/config) [![Software License](https://img.shields.io/badge/License-BSD--3-brightgreen.svg?style=flat-square)](LICENSE) [![Build Status](https://img.shields.io/github/workflow/status/thephpleague/config/Tests/main.svg?style=flat-square)](https://github.com/thephpleague/config/actions?query=workflow%3ATests+branch%3Amain) [![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/thephpleague/config.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/config/code-structure) [![Quality Score](https://img.shields.io/scrutinizer/g/thephpleague/config.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/config) [![Sponsor development of this project](https://img.shields.io/badge/sponsor%20this%20package-%E2%9D%A4-ff69b4.svg?style=flat-square)](https://www.colinodell.com/sponsor) **league/config** helps you define nested configuration arrays with strict schemas and access configuration values with dot notation. It was created by [Colin O'Dell][@colinodell]. ## 📦 Installation This project requires PHP 7.4 or higher. To install it via [Composer] simply run: ```bash composer require league/config ``` ## 🧰️ Basic Usage The `Configuration` class provides everything you need to define the configuration structure and fetch values: ```php use League\Config\Configuration; use Nette\Schema\Expect; // Define your configuration schema $config = new Configuration([ 'database' => Expect::structure([ 'driver' => Expect::anyOf('mysql', 'postgresql', 'sqlite')->required(), 'host' => Expect::string()->default('localhost'), 'port' => Expect::int()->min(1)->max(65535), 'ssl' => Expect::bool(), 'database' => Expect::string()->required(), 'username' => Expect::string()->required(), 'password' => Expect::string()->nullable(), ]), 'logging' => Expect::structure([ 'enabled' => Expect::bool()->default($_ENV['DEBUG'] == true), 'file' => Expect::string()->deprecated("use logging.path instead"), 'path' => Expect::string()->assert(function ($path) { return \is_writeable($path); })->required(), ]), ]); // Set the values, either all at once with `merge()`: $config->merge([ 'database' => [ 'driver' => 'mysql', 'port' => 3306, 'database' => 'mydb', 'username' => 'user', 'password' => 'secret', ], ]); // Or one-at-a-time with `set()`: $config->set('logging.path', '/var/log/myapp.log'); // You can now retrieve those values with `get()`. // Validation and defaults will be applied for you automatically $config->get('database'); // Fetches the entire "database" section as an array $config->get('database.driver'); // Fetch a specific nested value with dot notation $config->get('database/driver'); // Fetch a specific nested value with slash notation $config->get('database.host'); // Returns the default value "localhost" $config->get('logging.path'); // Guaranteed to be writeable thanks to the assertion in the schema // If validation fails an `InvalidConfigurationException` will be thrown: $config->set('database.driver', 'mongodb'); $config->get('database.driver'); // InvalidConfigurationException // Attempting to fetch a non-existent key will result in an `InvalidConfigurationException` $config->get('foo.bar'); // You could avoid this by checking whether that item exists: $config->exists('foo.bar'); // Returns `false` ``` ## 📓 Documentation Full documentation can be found at [config.thephpleague.com][docs]. ## 💭 Philosophy This library aims to provide a **simple yet opinionated** approach to configuration with the following goals: - The configuration should operate on **arrays with nested values** which are easily accessible - The configuration structure should be **defined with strict schemas** defining the overall structure, allowed types, and allowed values - Schemas should be defined using a **simple, fluent interface** - You should be able to **add and combine schemas but never modify existing ones** - Both the configuration values and the schema should be **defined and managed with PHP code** - Schemas should be **immutable**; they should never change once they are set - Configuration values should never define or influence the schemas As a result, this library will likely **never** support features like: - Loading and/or exporting configuration values or schemas using YAML, XML, or other files - Parsing configuration values from a command line or other user interface - Dynamically changing the schema, allowed values, or default values based on other configuration values If you need that functionality you should check out other libraries like: - [symfony/config] - [symfony/options-resolver] - [hassankhan/config] - [consolidation/config] - [laminas/laminas-config] ## 🏷️ Versioning [SemVer](http://semver.org/) is followed closely. Minor and patch releases should not introduce breaking changes to the codebase. Any classes or methods marked `@internal` are not intended for use outside this library and are subject to breaking changes at any time, so please avoid using them. ## 🛠️ Maintenance & Support When a new **minor** version (e.g. `1.0` -> `1.1`) is released, the previous one (`1.0`) will continue to receive security and critical bug fixes for *at least* 3 months. When a new **major** version is released (e.g. `1.1` -> `2.0`), the previous one (`1.1`) will receive critical bug fixes for *at least* 3 months and security updates for 6 months after that new release comes out. (This policy may change in the future and exceptions may be made on a case-by-case basis.) ## 👷‍️ Contributing Contributions to this library are **welcome**! We only ask that you adhere to our [contributor guidelines] and avoid making changes that conflict with our Philosophy above. ## 🧪 Testing ```bash composer test ``` ## 📄 License **league/config** is licensed under the BSD-3 license. See the [`LICENSE.md`][license] file for more details. ## 🗺️ Who Uses It? This project is used by [league/commonmark][league-commonmark]. [docs]: https://config.thephpleague.com/ [@colinodell]: https://www.twitter.com/colinodell [Composer]: https://getcomposer.org/ [PHP League]: https://thephpleague.com [symfony/config]: https://symfony.com/doc/current/components/config.html [symfony/options-resolver]: https://symfony.com/doc/current/components/options_resolver.html [hassankhan/config]: https://github.com/hassankhan/config [consolidation/config]: https://github.com/consolidation/config [laminas/laminas-config]: https://docs.laminas.dev/laminas-config/ [contributor guidelines]: https://github.com/thephpleague/config/blob/main/.github/CONTRIBUTING.md [license]: https://github.com/thephpleague/config/blob/main/LICENSE.md [league-commonmark]: https://commonmark.thephpleague.com PK!\(T CHANGELOG.mdnu[# Change Log All notable changes to this project will be documented in this file. Updates should follow the [Keep a CHANGELOG](https://keepachangelog.com/) principles. ## [Unreleased][unreleased] ## [1.2.0] - 2022-12-11 ### Changed - Values can now be set prior to the corresponding schema being registered. - `exists()` and `get()` now only trigger validation for the relevant schema, not the entire config at once. ## [1.1.1] - 2021-08-14 ### Changed - Bumped the minimum version of dflydev/dot-access-data for PHP 8.1 support ## [1.1.0] - 2021-06-19 ### Changed - Bumped the minimum PHP version to 7.4+ - Bumped the minimum version of nette/schema to 1.2.0 ## [1.0.1] - 2021-05-31 ### Fixed - Fixed the `ConfigurationExceptionInterface` marker interface not extending `Throwable` (#2) ## [1.0.0] - 2021-05-31 Initial release! 🎉 [unreleased]: https://github.com/thephpleague/config/compare/v1.2.0...main [1.2.0]: https://github.com/thephpleague/config/compare/v1.1.1...v.1.2.0 [1.1.1]: https://github.com/thephpleague/config/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/thephpleague/config/compare/v1.0.1...v1.1.0 [1.0.1]: https://github.com/thephpleague/config/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/thephpleague/config/releases/tag/v1.0.0 PK!\ JJsrc/SchemaBuilderInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; use Nette\Schema\Schema; /** * Interface that allows new schemas to be added to a configuration */ interface SchemaBuilderInterface { /** * Registers a new configuration schema at the given top-level key */ public function addSchema(string $key, Schema $schema): void; } PK!\WVTTsrc/Configuration.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; use Dflydev\DotAccessData\Data; use Dflydev\DotAccessData\DataInterface; use Dflydev\DotAccessData\Exception\DataException; use Dflydev\DotAccessData\Exception\InvalidPathException; use Dflydev\DotAccessData\Exception\MissingPathException; use League\Config\Exception\UnknownOptionException; use League\Config\Exception\ValidationException; use Nette\Schema\Expect; use Nette\Schema\Processor; use Nette\Schema\Schema; use Nette\Schema\ValidationException as NetteValidationException; final class Configuration implements ConfigurationBuilderInterface, ConfigurationInterface { /** @psalm-readonly */ private Data $userConfig; /** * @var array * * @psalm-allow-private-mutation */ private array $configSchemas = []; /** @psalm-allow-private-mutation */ private Data $finalConfig; /** * @var array * * @psalm-allow-private-mutation */ private array $cache = []; /** @psalm-readonly */ private ConfigurationInterface $reader; /** * @param array $baseSchemas */ public function __construct(array $baseSchemas = []) { $this->configSchemas = $baseSchemas; $this->userConfig = new Data(); $this->finalConfig = new Data(); $this->reader = new ReadOnlyConfiguration($this); } /** * Registers a new configuration schema at the given top-level key * * @psalm-allow-private-mutation */ public function addSchema(string $key, Schema $schema): void { $this->invalidate(); $this->configSchemas[$key] = $schema; } /** * {@inheritDoc} * * @psalm-allow-private-mutation */ public function merge(array $config = []): void { $this->invalidate(); $this->userConfig->import($config, DataInterface::REPLACE); } /** * {@inheritDoc} * * @psalm-allow-private-mutation */ public function set(string $key, $value): void { $this->invalidate(); try { $this->userConfig->set($key, $value); } catch (DataException $ex) { throw new UnknownOptionException($ex->getMessage(), $key, (int) $ex->getCode(), $ex); } } /** * {@inheritDoc} * * @psalm-external-mutation-free */ public function get(string $key) { if (\array_key_exists($key, $this->cache)) { return $this->cache[$key]; } try { $this->build(self::getTopLevelKey($key)); return $this->cache[$key] = $this->finalConfig->get($key); } catch (InvalidPathException | MissingPathException $ex) { throw new UnknownOptionException($ex->getMessage(), $key, (int) $ex->getCode(), $ex); } } /** * {@inheritDoc} * * @psalm-external-mutation-free */ public function exists(string $key): bool { if (\array_key_exists($key, $this->cache)) { return true; } try { $this->build(self::getTopLevelKey($key)); return $this->finalConfig->has($key); } catch (InvalidPathException | UnknownOptionException $ex) { return false; } } /** * @psalm-mutation-free */ public function reader(): ConfigurationInterface { return $this->reader; } /** * @psalm-external-mutation-free */ private function invalidate(): void { $this->cache = []; $this->finalConfig = new Data(); } /** * Applies the schema against the configuration to return the final configuration * * @throws ValidationException|UnknownOptionException|InvalidPathException * * @psalm-allow-private-mutation */ private function build(string $topLevelKey): void { if ($this->finalConfig->has($topLevelKey)) { return; } if (! isset($this->configSchemas[$topLevelKey])) { throw new UnknownOptionException(\sprintf('Missing config schema for "%s"', $topLevelKey), $topLevelKey); } try { $userData = [$topLevelKey => $this->userConfig->get($topLevelKey)]; } catch (DataException $ex) { $userData = []; } try { $schema = $this->configSchemas[$topLevelKey]; $processor = new Processor(); $processed = $processor->process(Expect::structure([$topLevelKey => $schema]), $userData); $this->raiseAnyDeprecationNotices($processor->getWarnings()); $this->finalConfig->import((array) self::convertStdClassesToArrays($processed)); } catch (NetteValidationException $ex) { throw new ValidationException($ex); } } /** * Recursively converts stdClass instances to arrays * * @phpstan-template T * * @param T $data * * @return mixed * * @phpstan-return ($data is \stdClass ? array : T) * * @psalm-pure */ private static function convertStdClassesToArrays($data) { if ($data instanceof \stdClass) { $data = (array) $data; } if (\is_array($data)) { foreach ($data as $k => $v) { $data[$k] = self::convertStdClassesToArrays($v); } } return $data; } /** * @param string[] $warnings */ private function raiseAnyDeprecationNotices(array $warnings): void { foreach ($warnings as $warning) { @\trigger_error($warning, \E_USER_DEPRECATED); } } /** * @throws InvalidPathException */ private static function getTopLevelKey(string $path): string { if (\strlen($path) === 0) { throw new InvalidPathException('Path cannot be an empty string'); } $path = \str_replace(['.', '/'], '.', $path); $firstDelimiter = \strpos($path, '.'); if ($firstDelimiter === false) { return $path; } return \substr($path, 0, $firstDelimiter); } } PK!\N""src/ReadOnlyConfiguration.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; /** * Provides read-only access to a given Configuration object */ final class ReadOnlyConfiguration implements ConfigurationInterface { private Configuration $config; public function __construct(Configuration $config) { $this->config = $config; } /** * {@inheritDoc} */ public function get(string $key) { return $this->config->get($key); } public function exists(string $key): bool { return $this->config->exists($key); } } PK!\߈C(src/Exception/UnknownOptionException.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config\Exception; use Throwable; final class UnknownOptionException extends \InvalidArgumentException implements ConfigurationExceptionInterface { private string $path; public function __construct(string $message, string $path, int $code = 0, ?Throwable $previous = null) { parent::__construct($message, $code, $previous); $this->path = $path; } public function getPath(): string { return $this->path; } } PK!\ v/^^%src/Exception/ValidationException.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config\Exception; use Nette\Schema\ValidationException as NetteException; final class ValidationException extends InvalidConfigurationException { /** @var string[] */ private array $messages; public function __construct(NetteException $innerException) { parent::__construct($innerException->getMessage(), (int) $innerException->getCode(), $innerException); $this->messages = $innerException->getMessages(); } /** * @return string[] */ public function getMessages(): array { return $this->messages; } } PK!\/src/Exception/InvalidConfigurationException.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config\Exception; class InvalidConfigurationException extends \UnexpectedValueException implements ConfigurationExceptionInterface { /** * @param string $option Name/path of the option * @param mixed $valueGiven The invalid option that was provided * @param ?string $description Additional text describing the issue (optional) */ public static function forConfigOption(string $option, $valueGiven, ?string $description = null): self { $message = \sprintf('Invalid config option for "%s": %s', $option, self::getDebugValue($valueGiven)); if ($description !== null) { $message .= \sprintf(' (%s)', $description); } return new self($message); } /** * @param mixed $value * * @psalm-pure */ private static function getDebugValue($value): string { if (\is_object($value)) { return \get_class($value); } return \print_r($value, true); } } PK!\]3ڕsrc/Exception/error_lognu[[17-Jun-2026 14:34:03 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php on line 16 [18-Jun-2026 03:57:11 UTC] PHP Fatal error: Uncaught Error: Class "League\Config\Exception\InvalidConfigurationException" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php on line 18 [18-Jun-2026 05:18:22 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php on line 18 [19-Jun-2026 12:30:01 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php on line 16 [20-Jun-2026 09:19:21 UTC] PHP Fatal error: Uncaught Error: Class "League\Config\Exception\InvalidConfigurationException" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php on line 18 [17-Jul-2026 10:02:25 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php on line 18 [17-Jul-2026 10:04:09 UTC] PHP Fatal error: Uncaught Error: Class "League\Config\Exception\InvalidConfigurationException" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php on line 18 [17-Jul-2026 10:05:07 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php on line 16 [17-Jul-2026 16:20:39 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/UnknownOptionException.php on line 18 [17-Jul-2026 16:20:40 UTC] PHP Fatal error: Uncaught Error: Class "League\Config\Exception\InvalidConfigurationException" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php:18 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/ValidationException.php on line 18 [17-Jul-2026 16:20:43 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\Exception\ConfigurationExceptionInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php:16 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Exception/InvalidConfigurationException.php on line 16 PK!\Ė1src/Exception/ConfigurationExceptionInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config\Exception; /** * Marker interface for any/all exceptions thrown by this library */ interface ConfigurationExceptionInterface extends \Throwable { } PK!\1A7&src/ConfigurationProviderInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; /** * Interface for a service which provides a readable configuration object */ interface ConfigurationProviderInterface { public function getConfiguration(): ConfigurationInterface; } PK!\7#src/ConfigurationAwareInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; /** * Implement this class to facilitate setter injection of the configuration where needed */ interface ConfigurationAwareInterface { public function setConfiguration(ConfigurationInterface $configuration): void; } PK!\_Wsrc/ConfigurationInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; use League\Config\Exception\UnknownOptionException; use League\Config\Exception\ValidationException; /** * Interface for reading configuration values */ interface ConfigurationInterface { /** * @param string $key Configuration option path/key * * @psalm-param non-empty-string $key * * @return mixed * * @throws ValidationException if the schema failed to validate the given input * @throws UnknownOptionException if the requested key does not exist or is malformed */ public function get(string $key); /** * @param string $key Configuration option path/key * * @psalm-param non-empty-string $key * * @return bool Whether the given option exists * * @throws ValidationException if the schema failed to validate the given input */ public function exists(string $key): bool; } PK!\K"%src/ConfigurationBuilderInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; /** * An interface that provides the ability to set both the schema and configuration values */ interface ConfigurationBuilderInterface extends MutableConfigurationInterface, SchemaBuilderInterface { } PK!\(r< src/error_lognu[[17-Jun-2026 02:58:16 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\ConfigurationBuilderInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Configuration.php:28 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Configuration.php on line 28 [17-Jun-2026 02:58:27 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\ConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php on line 19 [17-Jun-2026 02:58:42 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\MutableConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php on line 19 [19-Jun-2026 08:42:42 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\ConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php on line 19 [19-Jun-2026 08:43:42 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\ConfigurationBuilderInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/Configuration.php:28 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/Configuration.php on line 28 [20-Jun-2026 04:40:26 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\MutableConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php on line 19 [22-Jun-2026 08:29:22 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\MutableConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php on line 19 [17-Jul-2026 00:13:32 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\ConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ReadOnlyConfiguration.php on line 19 [17-Jul-2026 00:26:32 UTC] PHP Fatal error: Uncaught Error: Interface "League\Config\MutableConfigurationInterface" not found in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php:19 Stack trace: #0 {main} thrown in /home/cardxfeb/public_html/vendor/league/config/src/ConfigurationBuilderInterface.php on line 19 PK!\A[eo22%src/MutableConfigurationInterface.phpnu[ * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\Config; use League\Config\Exception\UnknownOptionException; /** * Interface for setting/merging user-defined configuration values into the configuration object */ interface MutableConfigurationInterface { /** * @param mixed $value * * @throws UnknownOptionException if $key contains a nested path which doesn't point to an array value */ public function set(string $key, $value): void; /** * @param array $config */ public function merge(array $config = []): void; } PK"'\X*kQ]]blade-icons.phpnu[ [ // 'default' => [ // // /* // |----------------------------------------------------------------- // | Icons Path // |----------------------------------------------------------------- // | // | Provide the relative path from your app root to your SVG icons // | directory. Icons are loaded recursively so there's no need to // | list every sub-directory. // | // | Relative to the disk root when the disk option is set. // | // */ // // 'path' => 'resources/svg', // // /* // |----------------------------------------------------------------- // | Filesystem Disk // |----------------------------------------------------------------- // | // | Optionally, provide a specific filesystem disk to read // | icons from. When defining a disk, the "path" option // | starts relatively from the disk root. // | // */ // // 'disk' => '', // // /* // |----------------------------------------------------------------- // | Default Prefix // |----------------------------------------------------------------- // | // | This config option allows you to define a default prefix for // | your icons. The dash separator will be applied automatically // | to every icon name. It's required and needs to be unique. // | // */ // // 'prefix' => 'icon', // // /* // |----------------------------------------------------------------- // | Fallback Icon // |----------------------------------------------------------------- // | // | This config option allows you to define a fallback // | icon when an icon in this set cannot be found. // | // */ // // 'fallback' => '', // // /* // |----------------------------------------------------------------- // | Default Set Classes // |----------------------------------------------------------------- // | // | This config option allows you to define some classes which // | will be applied by default to all icons within this set. // | // */ // // 'class' => '', // // /* // |----------------------------------------------------------------- // | Default Set Attributes // |----------------------------------------------------------------- // | // | This config option allows you to define some attributes which // | will be applied by default to all icons within this set. // | // */ // // 'attributes' => [ // // 'width' => 50, // // 'height' => 50, // ], // // ], ], /* |-------------------------------------------------------------------------- | Global Default Classes |-------------------------------------------------------------------------- | | This config option allows you to define some classes which | will be applied by default to all icons. | */ 'class' => '', /* |-------------------------------------------------------------------------- | Global Default Attributes |-------------------------------------------------------------------------- | | This config option allows you to define some attributes which | will be applied by default to all icons. | */ 'attributes' => [ // 'width' => 50, // 'height' => 50, ], /* |-------------------------------------------------------------------------- | Global Fallback Icon |-------------------------------------------------------------------------- | | This config option allows you to define a global fallback | icon when an icon in any set cannot be found. It can | reference any icon from any configured set. | */ 'fallback' => '', /* |-------------------------------------------------------------------------- | Components |-------------------------------------------------------------------------- | | These config options allow you to define some | settings related to Blade Components. | */ 'components' => [ /* |---------------------------------------------------------------------- | Disable Components |---------------------------------------------------------------------- | | This config option allows you to disable Blade components | completely. It's useful to avoid performance problems | when working with large icon libraries. | */ 'disabled' => false, /* |---------------------------------------------------------------------- | Default Icon Component Name |---------------------------------------------------------------------- | | This config option allows you to define the name | for the default Icon class component. | */ 'default' => 'icon', ], ]; PKM\s33 onesignal.phpnu[ env('ONESIGNAL_APP_ID'), /* |-------------------------------------------------------------------------- | Rest API Key |-------------------------------------------------------------------------- | | | */ 'rest_api_key' => env('ONESIGNAL_REST_API_KEY'), 'user_auth_key' => env('USER_AUTH_KEY'), /* |-------------------------------------------------------------------------- | Guzzle Timeout |-------------------------------------------------------------------------- | | | */ 'guzzle_client_timeout' => env('ONESIGNAL_GUZZLE_CLIENT_TIMEOUT', 0), ); PKs\M-- ignition.phpnu[ env('IGNITION_EDITOR', 'phpstorm'), /* |-------------------------------------------------------------------------- | Theme |-------------------------------------------------------------------------- | | Here you may specify which theme Ignition should use. | | Supported: "light", "dark", "auto" | */ 'theme' => env('IGNITION_THEME', 'auto'), /* |-------------------------------------------------------------------------- | Sharing |-------------------------------------------------------------------------- | | You can share local errors with colleagues or others around the world. | Sharing is completely free and doesn't require an account on Flare. | | If necessary, you can completely disable sharing below. | */ 'enable_share_button' => env('IGNITION_SHARING_ENABLED', true), /* |-------------------------------------------------------------------------- | Register Ignition commands |-------------------------------------------------------------------------- | | Ignition comes with an additional make command that lets you create | new solution classes more easily. To keep your default Laravel | installation clean, this command is not registered by default. | | You can enable the command registration below. | */ 'register_commands' => env('REGISTER_IGNITION_COMMANDS', false), /* |-------------------------------------------------------------------------- | Solution Providers |-------------------------------------------------------------------------- | | You may specify a list of solution providers (as fully qualified class | names) that shouldn't be loaded. Ignition will ignore these classes | and possible solutions provided by them will never be displayed. | */ 'solution_providers' => [ // from spatie/ignition BadMethodCallSolutionProvider::class, MergeConflictSolutionProvider::class, UndefinedPropertySolutionProvider::class, // from spatie/laravel-ignition IncorrectValetDbCredentialsSolutionProvider::class, MissingAppKeySolutionProvider::class, DefaultDbNameSolutionProvider::class, TableNotFoundSolutionProvider::class, MissingImportSolutionProvider::class, InvalidRouteActionSolutionProvider::class, ViewNotFoundSolutionProvider::class, RunningLaravelDuskInProductionProvider::class, MissingColumnSolutionProvider::class, UnknownValidationSolutionProvider::class, MissingMixManifestSolutionProvider::class, MissingViteManifestSolutionProvider::class, MissingLivewireComponentSolutionProvider::class, UndefinedViewVariableSolutionProvider::class, GenericLaravelExceptionSolutionProvider::class, OpenAiSolutionProvider::class, ], /* |-------------------------------------------------------------------------- | Ignored Solution Providers |-------------------------------------------------------------------------- | | You may specify a list of solution providers (as fully qualified class | names) that shouldn't be loaded. Ignition will ignore these classes | and possible solutions provided by them will never be displayed. | */ 'ignored_solution_providers' => [ ], /* |-------------------------------------------------------------------------- | Runnable Solutions |-------------------------------------------------------------------------- | | Some solutions that Ignition displays are runnable and can perform | various tasks. By default, runnable solutions are only enabled when your | app has debug mode enabled and the environment is `local` or | `development`. | | Using the `IGNITION_ENABLE_RUNNABLE_SOLUTIONS` environment variable, you | can override this behaviour and enable or disable runnable solutions | regardless of the application's environment. | | Default: env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS') | */ 'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS'), /* |-------------------------------------------------------------------------- | Remote Path Mapping |-------------------------------------------------------------------------- | | If you are using a remote dev server, like Laravel Homestead, Docker, or | even a remote VPS, it will be necessary to specify your path mapping. | | Leaving one, or both of these, empty or null will not trigger the remote | URL changes and Ignition will treat your editor links as local files. | | "remote_sites_path" is an absolute base path for your sites or projects | in Homestead, Vagrant, Docker, or another remote development server. | | Example value: "/home/vagrant/Code" | | "local_sites_path" is an absolute base path for your sites or projects | on your local computer where your IDE or code editor is running on. | | Example values: "/Users//Code", "C:\Users\\Documents\Code" | */ 'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', base_path()), 'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''), /* |-------------------------------------------------------------------------- | Housekeeping Endpoint Prefix |-------------------------------------------------------------------------- | | Ignition registers a couple of routes when it is enabled. Below you may | specify a route prefix that will be used to host all internal links. | */ 'housekeeping_endpoint_prefix' => '_ignition', /* |-------------------------------------------------------------------------- | Settings File |-------------------------------------------------------------------------- | | Ignition allows you to save your settings to a specific global file. | | If no path is specified, a file with settings will be saved to the user's | home directory. The directory depends on the OS and its settings but it's | typically `~/.ignition.json`. In this case, the settings will be applied | to all of your projects where Ignition is used and the path is not | specified. | | However, if you want to store your settings on a project basis, or you | want to keep them in another directory, you can specify a path where | the settings file will be saved. The path should be an existing directory | with correct write access. | For example, create a new `ignition` folder in the storage directory and | use `storage_path('ignition')` as the `settings_file_path`. | | Default value: '' (empty string) */ 'settings_file_path' => '', /* |-------------------------------------------------------------------------- | Recorders |-------------------------------------------------------------------------- | | Ignition registers a couple of recorders when it is enabled. Below you may | specify a recorders will be used to record specific events. | */ 'recorders' => [ DumpRecorder::class, JobRecorder::class, LogRecorder::class, QueryRecorder::class, ], /* * When a key is set, we'll send your exceptions to Open AI to generate a solution */ 'open_ai_key' => env('IGNITION_OPEN_AI_KEY'), /* |-------------------------------------------------------------------------- | Include arguments |-------------------------------------------------------------------------- | | Ignition show you stack traces of exceptions with the arguments that were | passed to each method. This feature can be disabled here. | */ 'with_stack_frame_arguments' => true, /* |-------------------------------------------------------------------------- | Argument reducers |-------------------------------------------------------------------------- | | Ignition show you stack traces of exceptions with the arguments that were | passed to each method. To make these variables more readable, you can | specify a list of classes here which summarize the variables. | */ 'argument_reducers' => [ \Spatie\Backtrace\Arguments\Reducers\BaseTypeArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\ArrayArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\StdClassArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\EnumArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\ClosureArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\DateTimeArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\DateTimeZoneArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\SymphonyRequestArgumentReducer::class, \Spatie\LaravelIgnition\ArgumentReducers\ModelArgumentReducer::class, \Spatie\LaravelIgnition\ArgumentReducers\CollectionArgumentReducer::class, \Spatie\Backtrace\Arguments\Reducers\StringableArgumentReducer::class, ], ]; PKs\bS1 1 flare.phpnu[ env('FLARE_KEY'), /* |-------------------------------------------------------------------------- | Middleware |-------------------------------------------------------------------------- | | These middleware will modify the contents of the report sent to Flare. | */ 'flare_middleware' => [ RemoveRequestIp::class, AddGitInformation::class, AddNotifierName::class, AddEnvironmentInformation::class, AddExceptionInformation::class, AddDumps::class, AddLogs::class => [ 'maximum_number_of_collected_logs' => 200, ], AddQueries::class => [ 'maximum_number_of_collected_queries' => 200, 'report_query_bindings' => true, ], AddJobs::class => [ 'max_chained_job_reporting_depth' => 5, ], CensorRequestBodyFields::class => [ 'censor_fields' => [ 'password', 'password_confirmation', ], ], CensorRequestHeaders::class => [ 'headers' => [ 'API-KEY', ] ] ], /* |-------------------------------------------------------------------------- | Reporting log statements |-------------------------------------------------------------------------- | | If this setting is `false` log statements won't be sent as events to Flare, | no matter which error level you specified in the Flare log channel. | */ 'send_logs_as_events' => true, ]; PK\.gitkeepnu[PK\t?)) config.phpnu[ 'Test', ]; PK*\#V((media-library.phpnu[ env('MEDIA_DISK', 'public'), /* * The maximum file size of an item in bytes. * Adding a larger file will result in an exception. */ 'max_file_size' => 1024 * 1024 * 10, // 10MB /* * This queue connection will be used to generate derived and responsive images. * Leave empty to use the default queue connection. */ 'queue_connection_name' => env('QUEUE_CONNECTION', 'sync'), /* * This queue will be used to generate derived and responsive images. * Leave empty to use the default queue. */ 'queue_name' => '', /* * By default all conversions will be performed on a queue. */ 'queue_conversions_by_default' => env('QUEUE_CONVERSIONS_BY_DEFAULT', true), /* * The fully qualified class name of the media model. */ 'media_model' => Spatie\MediaLibrary\MediaCollections\Models\Media::class, /* * When enabled, media collections will be serialised using the default * laravel model serialization behaviour. * * Keep this option disabled if using Media Library Pro components (https://medialibrary.pro) */ 'use_default_collection_serialization' => false, /* * The fully qualified class name of the model used for temporary uploads. * * This model is only used in Media Library Pro (https://medialibrary.pro) */ 'temporary_upload_model' => Spatie\MediaLibraryPro\Models\TemporaryUpload::class, /* * When enabled, Media Library Pro will only process temporary uploads that were uploaded * in the same session. You can opt to disable this for stateless usage of * the pro components. */ 'enable_temporary_uploads_session_affinity' => true, /* * When enabled, Media Library pro will generate thumbnails for uploaded file. */ 'generate_thumbnails_for_temporary_uploads' => true, /* * This is the class that is responsible for naming generated files. */ 'file_namer' => Spatie\MediaLibrary\Support\FileNamer\DefaultFileNamer::class, /* * The class that contains the strategy for determining a media file's path. */ 'path_generator' => Spatie\MediaLibrary\Support\PathGenerator\DefaultPathGenerator::class, /* * Here you can specify which path generator should be used for the given class. */ 'custom_path_generators' => [ // Model::class => PathGenerator::class // or // 'model_morph_alias' => PathGenerator::class ], /* * When urls to files get generated, this class will be called. Use the default * if your files are stored locally above the site root or on s3. */ 'url_generator' => Spatie\MediaLibrary\Support\UrlGenerator\DefaultUrlGenerator::class, /* * Moves media on updating to keep path consistent. Enable it only with a custom * PathGenerator that uses, for example, the media UUID. */ 'moves_media_on_update' => false, /* * Whether to activate versioning when urls to files get generated. * When activated, this attaches a ?v=xx query string to the URL. */ 'version_urls' => false, /* * The media library will try to optimize all converted images by removing * metadata and applying a little bit of compression. These are * the optimizers that will be used by default. */ 'image_optimizers' => [ Spatie\ImageOptimizer\Optimizers\Jpegoptim::class => [ '-m85', // set maximum quality to 85% '--force', // ensure that progressive generation is always done also if a little bigger '--strip-all', // this strips out all text information such as comments and EXIF data '--all-progressive', // this will make sure the resulting image is a progressive one ], Spatie\ImageOptimizer\Optimizers\Pngquant::class => [ '--force', // required parameter for this package ], Spatie\ImageOptimizer\Optimizers\Optipng::class => [ '-i0', // this will result in a non-interlaced, progressive scanned image '-o2', // this set the optimization level to two (multiple IDAT compression trials) '-quiet', // required parameter for this package ], Spatie\ImageOptimizer\Optimizers\Svgo::class => [ '--disable=cleanupIDs', // disabling because it is known to cause troubles ], Spatie\ImageOptimizer\Optimizers\Gifsicle::class => [ '-b', // required parameter for this package '-O3', // this produces the slowest but best results ], Spatie\ImageOptimizer\Optimizers\Cwebp::class => [ '-m 6', // for the slowest compression method in order to get the best compression. '-pass 10', // for maximizing the amount of analysis pass. '-mt', // multithreading for some speed improvements. '-q 90', //quality factor that brings the least noticeable changes. ], Spatie\ImageOptimizer\Optimizers\Avifenc::class => [ '-a cq-level=23', // constant quality level, lower values mean better quality and greater file size (0-63). '-j all', // number of jobs (worker threads, "all" uses all available cores). '--min 0', // min quantizer for color (0-63). '--max 63', // max quantizer for color (0-63). '--minalpha 0', // min quantizer for alpha (0-63). '--maxalpha 63', // max quantizer for alpha (0-63). '-a end-usage=q', // rate control mode set to Constant Quality mode. '-a tune=ssim', // SSIM as tune the encoder for distortion metric. ], ], /* * These generators will be used to create an image of media files. */ 'image_generators' => [ Spatie\MediaLibrary\Conversions\ImageGenerators\Image::class, Spatie\MediaLibrary\Conversions\ImageGenerators\Webp::class, Spatie\MediaLibrary\Conversions\ImageGenerators\Avif::class, Spatie\MediaLibrary\Conversions\ImageGenerators\Pdf::class, Spatie\MediaLibrary\Conversions\ImageGenerators\Svg::class, Spatie\MediaLibrary\Conversions\ImageGenerators\Video::class, ], /* * The path where to store temporary files while performing image conversions. * If set to null, storage_path('media-library/temp') will be used. */ 'temporary_directory_path' => null, /* * The engine that should perform the image conversions. * Should be either `gd` or `imagick`. */ 'image_driver' => env('IMAGE_DRIVER', 'gd'), /* * FFMPEG & FFProbe binaries paths, only used if you try to generate video * thumbnails and have installed the php-ffmpeg/php-ffmpeg composer * dependency. */ 'ffmpeg_path' => env('FFMPEG_PATH', '/usr/bin/ffmpeg'), 'ffprobe_path' => env('FFPROBE_PATH', '/usr/bin/ffprobe'), /* * Here you can override the class names of the jobs used by this package. Make sure * your custom jobs extend the ones provided by the package. */ 'jobs' => [ 'perform_conversions' => Spatie\MediaLibrary\Conversions\Jobs\PerformConversionsJob::class, 'generate_responsive_images' => Spatie\MediaLibrary\ResponsiveImages\Jobs\GenerateResponsiveImagesJob::class, ], /* * When using the addMediaFromUrl method you may want to replace the default downloader. * This is particularly useful when the url of the image is behind a firewall and * need to add additional flags, possibly using curl. */ 'media_downloader' => Spatie\MediaLibrary\Downloaders\DefaultDownloader::class, 'remote' => [ /* * Any extra headers that should be included when uploading media to * a remote disk. Even though supported headers may vary between * different drivers, a sensible default has been provided. * * Supported by S3: CacheControl, Expires, StorageClass, * ServerSideEncryption, Metadata, ACL, ContentEncoding */ 'extra_headers' => [ 'CacheControl' => 'max-age=604800', ], ], 'responsive_images' => [ /* * This class is responsible for calculating the target widths of the responsive * images. By default we optimize for filesize and create variations that each are 30% * smaller than the previous one. More info in the documentation. * * https://docs.spatie.be/laravel-medialibrary/v9/advanced-usage/generating-responsive-images */ 'width_calculator' => Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, /* * By default rendering media to a responsive image will add some javascript and a tiny placeholder. * This ensures that the browser can already determine the correct layout. */ 'use_tiny_placeholders' => true, /* * This class will generate the tiny placeholder used for progressive image loading. By default * the media library will use a tiny blurred jpg image. */ 'tiny_placeholder_generator' => Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, ], /* * When enabling this option, a route will be registered that will enable * the Media Library Pro Vue and React components to move uploaded files * in a S3 bucket to their right place. */ 'enable_vapor_uploads' => env('ENABLE_MEDIA_LIBRARY_VAPOR_UPLOADS', false), /* * When converting Media instances to response the media library will add * a `loading` attribute to the `img` tag. Here you can set the default * value of that attribute. * * Possible values: 'lazy', 'eager', 'auto' or null if you don't want to set any loading instruction. * * More info: https://css-tricks.com/native-lazy-loading/ */ 'default_loading_attribute_value' => null, /* * You can specify a prefix for that is used for storing all media. * If you set this to `/my-subdir`, all your media will be stored in a `/my-subdir` directory. */ 'prefix' => env('MEDIA_PREFIX', ''), ]; PKUt\S recaptcha.phpnu[PKUt\6ٗ filesystems.phpnu[PKUt\   sitemap.phpnu[PKUt\B #$paystack.phpnu[PKUt\g`) ''livewire-tables.phpnu[PKUt\ U$$ 2hashing.phpnu[PKUt\5+#+# P9modules.phpnu[PKUt\cc\broadcasting.phpnu[PKUt\̪y*y*Yeapp.phpnu[PKUt\"Ѳ permission.phpnu[PKUt\), database.phpnu[PKUt\w_Z Z queue.phpnu[PKUt\view.phpnu[PKUt\!MM logging.phpnu[PKUt\8d߁ilocalization-js.phpnu[PKUt\woo Bsession.phpnu[PKUt\7cookie-consent.phpnu[PKUt\t/($  modules-livewire.phpnu[PKUt\}RNN)cors.phpnu[PKUt\̋ʂ livewire.phpnu[PKUt\6Ll l tservices.phpnu[PKUt\W..66 %purifier.phpnu[PKUt\r_ 6tenancy.phpnu[PKUt\H]] ^Tphonepe.phpnu[PKUt\튑VV Uerror_lognu[PKUt\xXflutterwave.phpnu[PKUt\p[mail.phpnu[PKUt\^cv jsanctum.phpnu[PKϭ\ D vtinker.phpnu[PK\|blade-heroicons.phpnu[PK!\  LICENSE.mdnu[PK!\1؊ composer.jsonnu[PK!\C} README.mdnu[PK!\(T 'CHANGELOG.mdnu[PK!\ JJfsrc/SchemaBuilderInterface.phpnu[PK!\WVTTsrc/Configuration.phpnu[PK!\N""src/ReadOnlyConfiguration.phpnu[PK!\߈C(src/Exception/UnknownOptionException.phpnu[PK!\ v/^^%Jsrc/Exception/ValidationException.phpnu[PK!\/src/Exception/InvalidConfigurationException.phpnu[PK!\]3ڕ_src/Exception/error_lognu[PK!\Ė1src/Exception/ConfigurationExceptionInterface.phpnu[PK!\1A7&src/ConfigurationProviderInterface.phpnu[PK!\7#src/ConfigurationAwareInterface.phpnu[PK!\_W7src/ConfigurationInterface.phpnu[PK!\K"%src/ConfigurationBuilderInterface.phpnu[PK!\(r< bsrc/error_lognu[PK!\A[eo22%qsrc/MutableConfigurationInterface.phpnu[PK"'\X*kQ]] blade-icons.phpnu[PKM\s33 #onesignal.phpnu[PKs\M-- 'ignition.phpnu[PKs\bS1 1 Tflare.phpnu[PK\V_.gitkeepnu[PK\t?)) _config.phpnu[PK*\#V((_media-library.phpnu[PK77